Você está na página 1de 15

aInteligência Artificial

Capítulo 1- Introdução à Inteligência Artificial/Problemas e espaço de


problemas

Vídeo 1 - Problemas e espaço de problemas

O sistema de produção é formado por 3 partes: Base de Dados, regras de


produção e estratégias de controle.

A base de dados contém todas as informações do problema de forma


estruturada.

As regras de produção operam sobre a base de dados e são representadas


pelos tipos: condição e ação. Uma condição diz quando uma regra será
aplicada, e a ação representa um passo para se atingir a solução do problema.

As estratégias de controle te 3 papéis fundamentais: selecionam a ordem de


aplicação das regras, registram a sequência das regras aplicadas e o estado
associado a cada um deles e identificam quando um estado-meta foi
alcançado. As estratégias de controle podem ser de 2 tipos: irrevogáveis e por
tentativa.

Estratégias irrevogáveis: uma regra só será selecionada se produzir um estado


na base de dados que gere um valor maior ou igual ao valor atual para a
função. Ex: puzzle dor 8 números

A movimentação da peça em branco deve sempre ser na direção em que a


função heurística f(x) diminua de valor.
Estratégia de controle por tentativa: uma regra é selecionada. Caso a aplicação
dessa regra não produza um resultado satisfatório, acontece um retrocesso e
outra regra é aplicada.

Ex: Backtracking.

Contexto: Dado um tabuleiro 4x4, deve-se posicionar 4 rainhas de forma que


nenhuma rainha ataque a outra.

Condição de ataque: linha, coluna ou diagonal.


Vídeo 2 – Resolução da lista de exercícios

1) Um paradigma pode ser definido como um modelo, uma representação


de um padrão ou uma referência inicial para estudos e pesquisas e, um
paradigma se distingue de outro em três aspectos: 1) a forma com que
adquire o conhecimento, 2) a forma de representar o conhecimento
(entrada, saída e interno) e, 3) a forma de raciocinar utilizando o
conhecimento adquirido. Neste sentido, deseja-se saber: qual as
principais características de cada um dos três paradigmas da
Inteligência Artificial?

Resposta:
1- Paradigma cognitivo (simbólico): se fundamenta na hipótese de que a
inteligência é consequência da manipulação formal de símbolos, e se
inspira nos processos mentais de alto nível para representar o
conhecimento. Ex: Lógica proposicional, lógica de predicados de
primeira ordem e sistema baseado de regras.
2- Paradigma conexionista (sub simbólico): se fundamenta no
funcionamento do cérebro humano e, tem como princípio que, se for
possível fazer um modelo preciso do cérebro humano, este modelo será
capaz de reproduzir a inteligência que um cérebro real possui. Sua
vantagem é que seus algoritmos são treinados ao invés de serem pré-
programados. Ex: Redes neurais.
3- Paradigma evolucionista: este paradigma se baseia nos princípios da
evolução de Darwin, ou seja, favorece o que é bom e rejeita o que é
ruim.

2) O problema do fazendeiro, lobo, carneiro e um maço de alfafa é um


clássico quebracabeça de travessia de rio, remonta ao século IX, entrou
para o folclore de uma série de grupos éticos e pode ser descrito da
seguinte forma: era uma vez, um fazendeiro que foi ao mercado e
comprou um lobo, um carneiro e um maço de alfafa. No caminho para
casa, o fazendeiro chegou à margem do rio e arrendou um barco. Mas,
na travessia do rio por barco, o fazendeiro poderia levar apenas a si
mesmo e uma única de suas compras – o lobo, o carneiro ou o maço de
alfafa. Se fossem deixados sozinhos em uma mesma margem, o lobo
devovaria o carneiro e, o carneiro devovaria o maço de alfafa. O desafio
do fazendeiro é atravessar a si mesmo e as suas compras para a
margem oposta do rio, deixando cada compra intacta e, o seu desafio é
ajudá-lo! A partir da descrição deste problema, desenvolva um sistema
de produção definindo a base de dados, regras de produção (que
deverão conter a ordem de aplicação das regras para que o objetivo seja
atingido), as estratégias de controle, o estado inicial, o estado final e,
ajude o fazendeiro a resolver este problema.

Resposta:

Base de dados- irá conter todas as informações do problema.

Regras de produção – operam sobre a base de dados e são representadas por


regras do tipo condição/ação. Representa todos os movimentos possíveis.

Estratégias de controle – escolhe quais regras serão aplicáveis e identifica


quando o problema foi solucionado.

Base de dados:

L1 – lado do rio onde o homem está

L2 – lado do rio onde o homem quer chegar

Regras de produção:

R1- atravessa homem e carneiro

R2 – deixa o carneiro em L2 e volta o homem para L1

R3- atravessa homem e lobo

R4 – deixa o lobo em L2 e volta o homem e carneiro para L1


R5- atravessa homem e maço de alfafa

R6 – deixa o maço de alfafa em L2 e volta o homem para L1

R7- atravessa homem e carneiro

Estratégias de controle:

Sucesso:

L1 – vazio

L2 – homem, maço de alfafa, lobo e carneiro

Falha: lobo e carneiro juntos, carneiro e maço de alfafa juntos.

Estado inicial:

L1 – homem, maço de alfafa, lobo e carneiro vazio

L2 – vazio

Estado final:

L1 – vazio

L2 – homem, maço de alfafa, lobo e carneiro

3) Em um sistema de produção, as estratégias de controle têm, entre suas


funções, o papel de selecionar a ordem de aplicação das regras. Essa
ordem com que as regras serão executadas varia em função do
algoritmo escolhido. Neste contexto, a busca em profundidade e a busca
em largura fazem parte destas estratégias e tem comportamentos
bastante distintos. De acordo com essa informação, deseja-se saber:
qual é a ordem com que os nós serão visitados, considerando a busca
em largura e a busca em profundidade, no grafo dado abaixo?
Resposta:

Busca em largura: Visita todos os nós de cada nível da esquerda para a direita,
terminado um nível a busca passa para o próximo nível

Neste modelo, soluções dos níveis mais rasos serão encontrados antes das
soluções em níveis mais profundos, gerando uma economia computacional.

Busca por nível: visita os nós mais profundos sempre da esquerda para a
direita.
Neste modelo, as soluções mais profundas são visitadas primeiro. Se a solução
estiver no primeiro nó será excelente, mas se estiver em um nó mais distante
demora mais a busca.

4) Nas estratégias de busca desinformada, tem-se vários algoritmos,


porém dois deles tem comportamento bastante parecido. Estes dois
algoritmos são a Heurística do Vizinho mais Próximo (NN) e, o Algoritmo
A*. Neste contexto, descreva o funcionamento destes dois algoritmos,
destacando, onde eles se diferem.

Resposta:

Na Heurística do Vizinho mais Próximo (NN) é levado em consideração apenas


o nó que esteja mais próximo do nó atual. Sem levar em consideração, se
seguir por aquele caminho torna o destino mais longe ou não.

No Algoritmo A*, para minimizar o custo estimado da solução, é utilizada uma


função real g(n) associada a uma função heurística h(n), de forma que a função
de avaliação seja representada por: f(n) = g(n) + h(n).

Para representar os algoritmos, seja o seguinte grafo onde se deseja ir de A


para H
A partir de A são possíveis 3 caminhos: A para B (custo 5), A para F (custo 12)
A para D (custo 20).

Pelo algoritmo NN escolheríamos o ponto B, pois sua trajetória de A para B é a


de menor custo (vizinho mais próximo).

Pelo algoritmo A*, além da distância real, levamos em consideração uma


função heurística que, neste caso, pode ser uma linha reta entre o ponto atual
e o ponto de destino (H).

Assim, partindo do ponto A temos os possíveis caminhos:

Para B: f(n) = 5 + 23 = 28

Para D: f(n) = 20 +13 = 33

Para F: f(n) = 12 + 15 = 27

Logo, o nó escolhido seria o nó F, pois é o de menor custo para o algoritmo A*.

OBS: O custo total não pode ser calculado pelo algoritmo A*, pois ele não elva
em consideração a função heurística.

Vídeo 3 – Introdução a Inteligência Artificial


Inteligência é a capacidade de aprender ou compreender, é uma habilidade
mental.

Características de um sistema inteligente:

 aprendizado por experiência, utilização de conhecimento adquirido por


experiência,
 capacidade de solucionar problemas mesmo na ausência de algumas
informações,
 reação imediata perante uma nova situação,
 capacidade de se determinar o que é relevante ou não,
 capacidade de raciocínio,
 capacidade de entender imagens visuais e processar símbolos,
 ter criatividade e imaginação,
 fazer uso de heurística, verificar se a solução resolveu o problema

O teste de Turing é um dos primeiros experimentos que visaram estudar e


compreender a capacidade de inteligência nas máquinas.

Neste teste uma pessoa C, faria perguntas para uma pessoa B e para uma
máquina A. Seu objetivo é saber, através das respostas, quem era a máquina e
quem era a pessoa. Se a pessoa C não souber diferenciar a pessoa da
máquina, podemos dizer que a máquina é inteligente.

Dificuldades no desenvolvimento de dispositivos inteligentes:


 A grande complexidade devido ao número, a variedade e a natureza das
tarefas.
 Não terem solução algorítmica.
 Envolvem modelagem do comportamento de um se inteligente que seja
capaz de aprender, tomar decisões, ter iniciativa, etc.

O que é a inteligência Artificial? – Inteligência artificial é um ramo da ciência


computacional dedicado a automação de comportamento inteligente. É uma
forma de habilitar o computador a realizar tarefas que, até então, só podem
ser realizadas por humanos.

Unidade 2 – Teoria de Jogos

Vídeo 1 – Resolução da lista

1- O algoritmo MINIMAX é o mais comumente utilizado em jogos que


envolvem apenas dois jogadores e é de busca desinformada em
profundidade com profundidade limitada. Neste contexto, considerando
a utilização deste algoritmo na árvore de busca dada a seguir, responda:
Qual valor será propagado para os nós intermediários e para o nó raiz
da árvore?

Resposta:

A ideia básica do algoritmo é:

 Gerar a árvore inteira até os estados terminais;

 Aplicar a função de avaliação a esses estados;


 Propagar os valores dessa função em direção à raiz através do MINIMAX;

 Determinar qual valor será escolhido por MAX

As imagens abaixo mostram a execução passo a passo do algoritmo na árvore


dada.
2- O Corte Alfa Beta é uma variação do algoritmo MINIMAX cujo objetivo é
reduzir o número de nós a serem visitados em uma árvore de busca.
Dessa forma, considerando a utilização do corte Alfa Beta na árvore
MINIMAX dada, responda: quantas folhas serão visitadas e quais
valores serão propagados para os nós intermediários e para o nó raiz?
Justifique sua resposta através da descrição passo a passo dos cortes
realizados.

Resposta:

O corte alfa beta busca examinar menos nós que o algoritmo MINIMAX (que
examina todos). Ele utiliza o conceito de ramificar e podar. Se um caminho
parcial, já tem custo maior que o caminho total, não tem sentido continuar
examinando aquele caminho.

No primeiro ramo, todos os nós serão avaliados, portanto, MIN entre 6, 1, 1 e


-2 irá propagar o -2. Quando a busca passa para o segundo ramo, procura-se
por um valor <= -2. A busca se inicia na folha de valor 1, uma vez que 1 não é
<= -2, a busca passa para a próxima folha. O teste então será: 3 <= -2? Não. A
busca agora vai para o nó cujo valor é -1, -1 é <= -2? Não. E a busca
prossegue para a última folha cujo valor é -5. Uma vez que -5 é <= -2, o valor
-5 será propagado para o nó superior. Nesta fase, a busca passa para o
terceiro ramo, procurando-se por uma folha que tenha um valor <= -2. Assim, a
primeira folha cujo valor é -1 será visitada, como -1 não é <= -2, a busca
prossegue para a folha seguinte com valor -3, como -3 é <= -2, a condição de
busca é satisfeita e, para este ramo, será selecionado o valor -3. As folhas
seguintes com valor 5 e - 2 serão cortadas. A busca passa para o quarto ramo,
procurando-se por uma folha que tenha um valor <= -2. Assim, a primeira folha
cujo valor é -2 será visitada. Uma vez que -2 é <= a -2, a busca neste ramo se
encerra, e o valor -2 será propagado. As folhas com valores 5, 1 e 3 serão
cortadas. Terminada a visita nas folhas, a busca passa para o nível superior. O
nó raiz já espera por um valor >= -2 (-2 foi o valor encontrado na visita ao
primeiro ramo), então, o algoritmo devolve o valor máximo entre: -2, -5, -3 e -2,
ou seja, -2 e este valor é atribuído ao nó raiz. Com isso, serão visitadas 11
folhas, e 5 folhas serão cortadas (folhas são nós que não possuem
sucessores). Os valores propagados estão ilustrados na figura a seguir.

Importante: a visita às folhas sempre acontece da esquerda para a direita. Uma


folha nunca será visitada se a folha imediatamente a sua esquerda não tiver
sido. Além disso, só são consideradas folhas os nós que não possuem filhos!

Importante: se nenhum valor for <= (menor ou igual) ao valor procurado,


propagamos o menor valor daquele ramo.