Logo Passei Direto
Buscar
Material

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

INTELIGÊNCIA ARTIFICIAL 
 
Introdução à Inteligência Artificial 
Visão Geral da Área 
MOTIVAÇÃO (Quebra-cabeça) 
MOTIVAÇÃO (2 x 2) 
24 
24 
combinações 
possíveis 
MOTIVAÇÃO (3 x 3) 
24 
362.880 
combinações 
possíveis 
MOTIVAÇÃO (8 x 8) 
24 
1.2688 x 1089 
combinações 
possíveis 
MOTIVAÇÃO (8 x 8) 
 1.2688 x 1089 de combinações 
 
Testando um bilhão de combinações 
por segundo, cerca de 4 x 1069 
milênios... 
MOTIVAÇÃO 
Então, por que é que nós humanos, 
podemos resolvê-lo muito mais rápido? 
 
Porque utilizamos conhecimento do 
problema de forma inteligente. 
 
MOTIVAÇÃO 
Podemos programar um computador 
para utilizar conhecimento de um 
problema de forma inteligente? 
O QUE É IA? 
1. Pensar como humanos 
2. Pensar de forma racional 
3. Agir como humanos 
4. Agir de forma racional 
O QUE É IA? 
“IA Forte” versus “IA Fraca” 
 
Turing (1950): ao invés de perguntar se 
podem “pensar”, perguntar se podem 
“passar teste de comportamento”. 
 
TESTE DE TURING 
O examinador e o examinado 
“conversam” através de um teclado. 
 
Um sistema passa no teste se o 
interrogador não consegue dizer se é um 
humano ou um computador. 
 
HABILIDADES 
● Processamento de Linguagem Natural. 
● Representação do Conhecimento. 
● Raciocıńio Automático. 
● Aprendizado de Máquina. 
 
 
HABILIDADES 
● Processamento de Linguagem Natural. 
● Representação do Conhecimento. 
● Raciocıńio Automático. 
● Aprendizado de Máquina. 
 
 
ABORDAGENS EM IA 
1. Pensar como humanos - cognitiva 
2. Pensar de forma racional - lógica 
3. Agir como humanos - teste de Turing 
4. Agir de forma racional 
 
 
PRÉ-HISTÓRIA 
● Filosofia 
● Lógica 
● Matemática 
● Economia 
 
 
 
● Psicologia 
● Neurociência 
● Linguística 
● ... 
O INÍCIO (Neurônios Artificiais) 
Warren McCulloch e Walter Pitts (1943) 
 
● Cada neurônio poderia estar “ligado” 
ou “desligado”. 
● Baseado em conhecimento sobre 
fisiologia e as funções dos neurônios. 
 
O INÍCIO (Dartmouth) 
John McCarthy propõe encontro em 
1956 e usa o termo Inteligência Artificial. 
 
Participantes: Claude Shannon, Marvin 
Minsky, Herbert Simon, ... 
 
O INÍCIO (McCarthy) 
“Programs with Common Sense” - 1959 
 
Uso de lógica para resolver problemas. 
 
O INÍCIO 
Primeiros sistemas especialistas: uso de 
conhecimento para resolver problemas. 
 
Dendral (~1965), MYCYN (~1975) 
O INÍCIO 
Primeiro algoritmo de aprendizado de 
máquina: Tom Mitchell (~1978) 
 
APLICAÇÕES 
Veículos Autônomos 
Sistemas de Recomendação (Netflix, 
YouTube, Spotify, …) 
Jogos (DeepBlue, AlphaGo) 
... 
 
VISÃO GERAL DO CURSO 
Resolução de Problemas 
 
 Como representar um problema? 
 
 Como buscar soluções? 
VISÃO GERAL DO CURSO 
Busca por soluções 
 
 Sem informação sobre o domínio 
 
 Informada (heurísticas) 
VISÃO GERAL DO CURSO 
Resolução de Problemas 
 
 Usando lógica 
 
 Planejando ações 
PROBLEMAS 
Quebra-cabeças 
 
Xadrez 
 
Encontrar um caminho 
PROBLEMAS 
Estado Inicial 
Ações 
Teste de Objetivo 
Custo 
 
PROBLEMAS 
Solução: sequência de ações que levam 
de um estado inicial a um objetivo. 
 
Solução ótima: solução de custo mínimo 
EXEMPLO 
Chegar da minha casa ao trabalho. 
 
Ações possíveis: andar, pegar ônibus, 
dirigir, pegar bicicleta… 
 
Custo: financeiro, tempo, distância 
 
INTELIGÊNCIA ARTIFICIAL 
 
Introdução à Inteligência Artificial 
Visão Geral da Área 
• 1) Desenhe a porção do espaço de estados correspondente 
aos estados 1 a 15.Resposta 









• 2) Suponha que o estado objetivo seja 11. Liste a ordem em 
que os nós serão visitados no caso: a) da busca em largura 
b) da busca em profundidade limitada com limite 3; e c) da 
busca por aprofundamento iterativo.
• busca em largura 1,2,3,4,5,6,7,8,9,10,11
• Busca em profundidade limitada com limite 
3: 1,2,4,8,9,5,10,11
• Busca por aprofundamento iterativo: 1; 1,2,3; 
1,2,4,5,3,6,7; 1,2,4,8,9,5,10,11
• 

(Adaptado do livro de Russell e Norvig, exercício 3.9) Problema dos 
missionários e canibais: três missionários e três canibais estão em 
um lado de um rio, juntamente com um barco que pode conter 
uma ou duas pessoas. Descubra um meio de fazer todos 
atravessarem o rio, sem deixar que um grupo de missionários de 
um lado fique em número menor que o número de canibais.
• 1) Formule o problema precisamente (estados, ações, estado 
inicial, estado final). Trace um diagrama do espaço de estados 
completo.Uma representação possível: um estado é um vetor 
com três inteiros listando o número de missionários, canibais e 
barcos na margem inicial do rio. Sendo assim, o estado inicial é 
(3,3,1) e o estado objetivo é (0,0,0). O teste de objetivo verifica se 
o estado objetivo (0,0,0) foi alcançado. A função de custo tem 
valor 1 para cada ação. Os sucessores de um estado são todos 
os estados que movem uma ou duas pessoas e um barco de um 
lado para o outro, sem que o número de missionários de um lado 
fique menor do que o número de canibais. 

Espaço de estados:









• 2) Resolva o problema de forma ótima, utilizando um algoritmo de 
busca apropriado. Explique sua solução (basta dizer qual o 
algoritmo escolhido e mostrar a árvore de busca).Vamos usar 
busca em largura para encontrar a solução ótima. A árvore de 
busca desconsidera estados repetidos (rotulados com um *) e 
estados inválidos (com maior número de canibais do que 
missionários do mesmo lado).









• 3) É uma boa ideia verificar a existência de estados repetidos? 
Como ficaria a busca sem a verificação?Sim. Se não verificarmos 
os estados repetidos, cada nó marcado com * na árvore gerada 
na questão 4 seria expandido e geraria vários laços. 



•
 
INTELIGÊNCIA ARTIFICIAL 
 
Resolução de Problemas 
através de Busca 
 PROBLEMA 
Estado Inicial 
Ações 
Teste de Objetivo 
Custo 
 
PROBLEMAS 
Solução: sequência de ações que levam 
de um estado inicial a um objetivo. 
 
Solução ótima: solução de custo mínimo 
 ESPAÇO DE ESTADOS 
O conjunto de todos os estados 
acessíveis a partir de um estado 
inicial é chamado de espaço de 
estados. 
 
 ESPAÇO DE ESTADOS 
O espaço de estados pode ser 
interpretado como um grafo em que 
os nós são estados e os arcos são 
ações. 
 ESPAÇO DE ESTADOS 
Abstração do mundo real. 
 
Exemplo: Caminho de casa até o 
trabalho. Estados dados pela posição 
exata ou discretizados? 
 EXEMPLO (Aspirador de Pó) 
 EXEMPLO (Aspirador de Pó) 
• Estados: Posição do robô e sujeira (8) 
• Estado inicial: Qualquer um 
• Ações: esquerda (L), direita (R), 
aspirar(S) 
• Teste de objetivo: todas as posições 
estão limpas? 
• Custo do caminho: 1 cada passo 
 EXEMPLO (8 rainhas) 
 EXEMPLO (8 rainhas) 
• Estados: Qualquer disposição de 0 a 8 
rainhas 
• Estado inicial: Nenhuma rainha 
• Ações: colocar mais uma rainha 
• Teste de objetivo: 8 rainhas, 0 ataques 
 
64x63x...57 = 3x1014 possibilidades! 
 EXEMPLO (8 rainhas) 
• Estados: n rainhas nas n primeiras 
colunas, sem ataque 
• Ações: colocar uma rainha na próxima 
coluna, sem ataque. 
 
2.057 estados possíveis 
 
 BUSCA EM ÁRVORE 
Fronteira: nós a serem expandidos 
(começa com o estado inicial) 
 
A função Expande cria novos nós, 
usando as ações aplicáveis para gerar 
os estados correspondentes. 
 
 
 
 
 
 BUSCA EM ÁRVORE 
1. Retira o primeiro nó da fronteira (falha 
se vazia) 
2. Testa se é um estado final (solução): 
se for, devolve nó, sucesso 
3. Expande nó; 
4. Insere os nós gerados na fronteira e 
volta para o passo 1 
 
 ESTRATÉGIAS DE BUSCA 
A estratégia usada define a ordem 
em que os nós são expandidos, ou 
seja, retirados da fronteira. 
BUSCA CEGA (não informada) 
● Em Largura 
● Em Profundidade 
● Profundidade Limitada 
● Aprofundamento Iterativo 
 BUSCA EM LARGURA 
Nós são expandidos na ordem em 
que foram criados.BUSCA EM LARGURA 
 
 
 BUSCA EM LARGURA 
 
 
 BUSCA EM LARGURA 
 
 
 BUSCA EM LARGURA 
• Completa Se número de ações é finito 
• Ótima Se ações tem custo 1 
 
• Espaço mantém todos os nós na 
memória... 
 
 BUSCA EM PROFUNDIDADE 
O último nó criado é o primeiro a 
ser expandido. 
 BUSCA EM PROFUNDIDADE 
 BUSCA EM PROFUNDIDADE 
 BUSCA EM PROFUNDIDADE 
 BUSCA EM PROFUNDIDADE 
 BUSCA EM PROFUNDIDADE 
 BUSCA EM PROFUNDIDADE 
 BUSCA EM PROFUNDIDADE 
• Não é Completa (ramo pode ser 
infinito) 
• Não é ótima (encontra a primeira 
solução e não a de menor custo) 
 
Mas: só guarda nós do caminho atual! 
 
 PROFUNDIDADE LIMITADA 
Coloca um limite l na busca em 
profundidade. Nós de profundidade 
l são considerados como terminais. 
 PROFUNDIDADE ITERATIVA 
Repete a busca com profundidade 
limitada para valores de l cada vez 
maiores. 
Combina vantagens da busca em 
profundidade com a busca em 
largura! 
 PROFUNDIDADE ITERATIVA 
 PROFUNDIDADE ITERATIVA 
 PROFUNDIDADE ITERATIVA 
 PROFUNDIDADE ITERATIVA 
 PROFUNDIDADE ITERATIVA 
• Completa Se número de ações é finito 
• Ótima Se ações tem custo 1 
 
• Espaço mantém apenas o caminho 
atual na memória! 
 
 
 PROFUNDIDADE ITERATIVA 
Repete a busca com profundidade 
limitada para valores de l cada vez 
maiores. 
Combina vantagens da busca em 
profundidade com a busca em 
largura! 
 
INTELIGÊNCIA ARTIFICIAL 
 
Resolução de Problemas 
através de Busca 
 
 
INTELIGÊNCIA ARTIFICIAL 
 
Busca Informada 
Heurísticas 
 PROBLEMA 
Estado Inicial 
Ações 
Teste de Objetivo 
Custo 
 
 ESTADOS ⨯ NÓS 
PROBLEMAS 
Solução: sequência de ações que levam de um 
estado inicial a um objetivo. 
 
Solução ótima: solução de custo 
mínimo 
BUSCA INFORMADA 
Utiliza conhecimento específico sobre o 
problema para encontrar soluções de forma 
mais eficiente do que a busca cega. 
 
BUSCA INFORMADA 
Abordagem geral: busca pela melhor 
escolha. 
 
● Utiliza função de avaliação para nós. 
● Expande o nó com melhor avaliação. 
● Estratégia de busca depende 
da função. 
 
MELHOR ESCOLHA 
Ideia: função de avaliação f(n) dá 
uma estimativa do valor do nó n 
 
→Expandir nó mais desejável que 
ainda não foi expandido 
 
 
MELHOR ESCOLHA 
Implementação: 
 Ordenar nós na fronteira de acordo com f 
 
• Casos especiais: 
– Busca gulosa pela melhor escolha 
– Busca A* 
 
 
 
ROMÊNIA (Distância em KM) 
BUSCA GULOSA 
• Função de avaliação f(n) = h(n) (heurística) 
 = estimativa do custo de n até o objetivo 
 ex., hDLR(n) = distância em linha reta de n até 
Bucareste. 
 
• Busca gulosa pela melhor escolha 
expande o nó que parece mais 
próximo ao objetivo de acordo com 
a função heurística. 
ROMÊNIA (Distância Linha Reta) 
BUSCA GULOSA (Exemplo) 
BUSCA GULOSA (Exemplo) 
BUSCA GULOSA (Exemplo) 
BUSCA GULOSA (Exemplo) 
BUSCA GULOSA 
 
Segue o melhor passo considerando somente 
o estado atual. 
 
→Pode haver um caminho melhor 
seguindo algumas opções piores 
em alguns pontos da árvore de 
busca. 
 
BUSCA GULOSA 
 
Minimizar h(n) é suscetível a falsos inícios. 
 
– Ex. Ir de Iasi a Fagaras 
• Heurística sugerirá ir a Neamt, que 
é um beco sem saída. 
• Se repetições não forem detectadas 
a busca entrará em loop. 
BUSCA GULOSA 
 
• Não é Completa (pode ficar presa em laços, 
como, Iasi → Neamt → Iasi → Neamt) 
• Não é ótima 
 
• Espaço Mantém todos os nós na memória. 
 
BUSCA A* 
Ideia: evitar expandir caminhos caros 
 
Função de avaliação f(n) = g(n) + h(n) 
 
– g(n) = custo para alcançar n 
– h(n) = custo estimado de n até o 
objetivo 
– f(n) = custo total estimado do 
caminho através de n até o objetivo. 
BUSCA A* (Exemplo) 
BUSCA A* (Exemplo) 
BUSCA A* (Exemplo) 
BUSCA A* (Exemplo) 
BUSCA A* (Exemplo) 
BUSCA A* (Exemplo) 
HEURÍSTICA ADMISSÍVEL 
Uma heurística admissível nunca 
superestima o custo de alcançar o objetivo - 
ela é otimista. 
 
→ Exemplo: distância em linha reta 
nunca é maior que distância pela 
estrada. 
 
BUSCA A* 
• Completa 
• Ótima Se a heurística for admissível. 
 
• Espaço Mantém todos os nós na 
memória. 
 
 
BUSCA A* 
Nenhum outro algoritmo de busca ótimo tem 
garantia de expandir um número de nós menor 
que A*. 
 
Isso porque qualquer algoritmo que não 
expande todos os nós com f(n) menor 
que o custo ótimo corre o risco de 
omitir uma solução ótima. 
 
EXEMPLO (Heurísticas) 
EXEMPLO (Heurísticas) 
 
– h1(n) = número de peças fora da posição 
 
– h2(n) = distância “Manhattan” total (soma 
das distâncias de cada peça até a sua 
posição) 
EXEMPLO (Heurísticas) 
h1(S) = 6 
h2(S) = 4+0+3+3+1+0+2+2 = 15 
DOMINÂNCIA 
h2 sempre melhor que h1 pois ∀n h2(n) ≥h1(n) 
 
h2 domina h1 
 
Menos nós expandidos pela heurística 
dominante. 
(Escolhe nós mais próximos da 
solução.) 
DOMINÂNCIA 
 
Para profundidade 14: 
 
IDS = 3.473.941 nós 
A∗(h1) = 539 nós 
A∗(h2) = 113 nós 
 
 
DOMINÂNCIA 
 
Para profundidade 24: 
 
IDS = 54 bilhões de nós 
A∗(h1) = 39.135 nós 
A∗(h2) = 1.641 nós 
 
 
COMO CRIAR HEURÍSTICAS 
A solução de uma simplificação de um 
problema (problema relaxado) é uma heurística 
para o problema original. 
 
– Admissível: a solução do problema 
relaxado não vai superestimar a do 
problema original. 
EXEMPLO 
• h1 daria a solução para um problema em que 
as peças pudessem se deslocar para qualquer 
lugar. 
 
• h2 daria a solução para um problema 
em que as peças pudessem se mover 
um quadrado por vez em qualquer 
direção. 
 
COMO CRIAR HEURÍSTICAS 
Usar o custo da solução de um 
subproblema do problema original. 
 
 
INTELIGÊNCIA ARTIFICIAL 
 
Busca Informada 
Heurísticas 
• 	 (Adaptado de Russell e Norvig, ex. 5.8) Considere o seguinte 
jogo de dois jogadores, partindo do estado inicial ilustrado 
abaixo:
• 	 

O jogador A joga primeiro e os dois jogadores se revezam. Cada 
jogador deve mover sua ficha para um espaço adjacente aberto 
em qualquer sentido. Se o oponente ocupar um espaço 
adjacente, o outro jogador pode saltar sobre seu oponente até o 
próximo espaço aberto, se houver (por exemplo, se A estiver em 3 
e B estiver em 2, A poderá voltar a 1). O jogo termina quando um 
jogador chegar à extremidade oposta do tabuleiro. Se o jogador A 
alcançar o espaço 4 primeiro, o valor do jogo para A será +1; se o 
jogador B alcançar o espaço 1 primeiro, o valor do jogo para A 
será −1.

 
• 	 Desenhe a árvore de jogo completa, usando as 
convenções a seguir:
• 	 Escreva cada estado com (sA, sB), em que sA e 
sB denotam as posições das fichas.
• 	 Coloque cada estado terminal em um quadrado e 
escreva o seu valor em um círculo.
• 	 Insira os estados repetidos em quadrados duplos. 
Tendo em vista que não está clara a maneira de atribuir 
valores a esses estados, identifique cada estado com 
um “?”.
• 	 Resposta:







• 	 
•
•
• Agora marque cada nó com seu valor minimax propagado. 
Explique como você tratou os valores “?” e por que fez 
desse jeito.Os valores “?” são tratados supondo que um 
agente que possa escolher entre ganhar o jogo e entrar num 
estado “?” sempre escolherá ganhar. Isso quer dizer que 
min(-1,?) = -1 e max(+1,?) = +1. Se todos os sucessores são 
“?”, o valor propagado é “?”.



• 	 
• 	 
• 	 Explique por que o algoritmo minimax padrão falharia 
nessa árvore.O minimax padrão é uma busca em 
profundidade e entraria em loop infinito.



• 	 



• 	 (Adaptado de Russell e Norvig, ex. 5.16) A figura a seguir 
mostra a árvore de jogo completa para um jogo trivial:

 

Suponha que os nós folha sejam avaliados na ordem da esquerda 
para a direita e que, antes de um nó folha ser avaliado, nãosabemos nada sobre o seu valor, sendo que a faixa de valores 
possíveis é  − 
∞ 


 até  ∞ 




• 	 Copie a figura, marque o valor de todos os nós internos 
e indique a melhor jogada na raiz com uma seta.Resposta:





• 	 
• 	 
• 	 Dados os valores das primeiras seis folhas, será 
preciso avaliar a sétima e a oitava folhas?Sim, pois os 
valores da sétima e oitava folhas poderiam ser grandes o 
suficiente para dar mais do que 1,5 no nó de acaso da 
direita.



• 	 
• 	 
• 	 Dados os valores das sete primeiras folhas, será 
preciso avaliar a oitava folha?Não, pois após avaliar a sétima 
folha, já sabemos que min vai escolher no máximo -1, e, 
portanto, o nó de acaso da direita terá valor no máximo -0,5. 



• 	 
• 	 
• 	 Suponha que os valores dos nós folha estejam entre −2 
e 2, inclusive. Após as duas primeiras folhas serem 
avaliadas, qual é o intervalo de valor para o nó de acaso da 
esquerda?O intervalo é [0,2]. 



• 	 
• 	 
• 	 Quais as folhas que não precisam ser avaliadas se 
todos os valores estiverem em [-2,2]?A sexta, a sétima e a 
oitava folhas, pois, ao saber que o nó de acaso da esquerda 
vale 1,5 e que a quinta folha vale 0, já não há como fazer o 
nó de acaso da direita ser maior que 1,5.



•
 
INTELIGÊNCIA ARTIFICIAL 
 
 
Jogos Adversariais 
 
ATÉ AGORA... 
 
• Problemas sem interação com outro agente. 
• O agente possui total controle sobre suas ações e 
sobre o efeito de suas ações. 
• Muitas vezes encontrar a solução ótima é factível. 
2 
JOGOS VS. BUSCA 
 
O oponente é “imprevisível” 
 
– O agente precisa considerar todos 
os movimentos possíveis do 
oponente. 
3 
DECISÕES ÓTIMAS 
Consideraremos jogos com dois 
jogadores: 
– MAX e MIN 
– MAX faz o primeiro movimento e depois 
eles se revezam até o jogo terminar. 
 
4 
JOGOS COMO BUSCA 
– estado inicial 
– função sucessor (-> movimento, 
estado) 
– teste de objetivo 
– função utilidade: valor numérico 
para os estados terminais 
5 
EXEMPLO (Jogo da Velha) 
6 
ESTRATÉGIAS ÓTIMAS 
A solução ótima para MAX 
depende dos movimentos de MIN. 
 
– MAX busca estratégia de 
contingência especificando seu 
movimento no estado inicial e 
depois nos estados resultantes 
de cada movimento de MIN. 
7 
ESTRATÉGIAS ÓTIMAS 
A estratégia ótima pode ser 
determinada a partir do valor 
minimax de cada nó. 
 
 O valor minimax (para MAX) é a 
utilidade de MAX para cada estado, 
assumindo que MIN escolhe os 
estados mais vantajosos para ele 
mesmo. 
8 
MINIMAX 
Melhor estratégia para jogos 
determinísticos 
 
Ideia: escolher a jogada com o melhor 
retorno possível supondo que o 
oponente também vai fazer a melhor 
jogada possível. 
 
 
9 
MINIMAX 
 
VALOR-MINIMAX(n) = 
• UTILIDADE(n) se n é terminal 
• maxx∈Succ(n)Valor Minimax(x) se n é 
um nó MAX 
• minx∈Succ(n)Valor Minimax(x) se n é 
um nó MIN 
10 
EXEMPLO 
12 8 5 2 3 2 14 4 6 
max 
min 
ALGORITMO MINIMAX 
Busca completa em profundidade na árvore 
do jogo. 
 
• Completo? Sim (Se a árvore é finita) 
• Ótimo? Sim (contra um oponente ótimo) 
 
 
 
12 
ALGORITMO MINIMAX 
Busca completa em profundidade na árvore do jogo. 
 
Para xadrez: ações possíveis ≈ 35 
 profundidade da árvore ≈100 
 
 → solução exata não é possível 
13 
PODA α-β 
• Algoritmo minimax: no de estados do jogo é 
exponencial em relação ao no de movimentos 
• Poda α-β: 
– calcular a decisão correta 
sem examinar todos os nós 
da árvore. 
– retorna o mesmo que minimax. 
14 
PODA α-β 
15 
PODA α-β 
16 
PODA α-β 
17 
PODA α-β 
18 
PODA α-β 
19 
PODA α-β 
• Depende da ordem em que os 
sucessores são examinados. 
• Com a melhor ordem possível, 
dobra a profundidade da busca que 
conseguimos fazer. 
 
20 
DECISÕES IMPERFEITAS 
• Minimax gera o espaço de busca todo. 
• Poda α-β ainda tem que chegar até os 
estados terminais. 
 Ineficientes para jogos com 
muitos passos até os estados 
terminais (quase todos os jogos 
interessantes!). 
21 
DECISÕES IMPERFEITAS 
Ideia (Shannon, 1950): 
– Substituir utilidade por heurística e teste de 
objetivo por teste de corte. 
– Função de avaliação retorna uma 
estimativa da utilidade esperada. 
– Nós não terminais se transformam 
em nós terminais para minimax 
ou poda α-β. 
 
22 
DECISÕES IMPERFEITAS 
– Heurística deve ordenar nós-terminais 
da mesma forma que a função utilidade; 
– A computação deve ser rápida; 
– Em estados não terminais, avaliação 
deve estar relacionada com as chances 
reais de vitória. 
 
23 
DECISÕES IMPERFEITAS 
 
• Exemplo de características de estado 
para xadrez: peão=1, cavalo ou 
bispo=3, torre=5, rainha=9 
• Função de avaliação: função linear 
ponderada das características 
Aval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s) 
 
24 
DECISÕES IMPERFEITAS 
Ignora o fato de um bispo ser mais 
valioso no fim do jogo. 
 
• É possível usar combinações 
não lineares. 
– Par de bispos pode valer mais 
que o dobro do valor de dois 
bispos. 25 
DECISÕES IMPERFEITAS 
 
Características e pesos não fazem parte das 
regras do jogo. 
– Foram aprendidos ao longo dos anos. 
– Pesos podem ser estimados usando 
técnicas de aprendizado automático. 
26 
JOGOS DE AZAR 
 
• Elemento aleatório proveniente de 
jogo de dados, sorteio de cartas, etc. 
• O estudo de algoritmos para jogos 
com elemento aleatório é um passo 
em direção a algoritmos que podem 
ser aplicados no mundo real. 
27 
JOGOS DE AZAR 
• Árvore de jogo não determinístico 
deve incluir nós de acaso além de 
nós minimax. 
• Ramificações que saem dos nós de 
acaso denotam “resultados de dados 
possíveis” (anotadas com a 
probabilidade de cada mudança de 
estado). 
 
28 
EXEMPLO: GAMÃO 
Jogadas (5→10,5→11), (5→11,19→24), 
(5→10,10→16) e (5→11,11→16). 
29 
EXEMPLO: GAMÃO 
• [1,1],...,[6,6] tem probabilidade 1/36, todas 
as outras combinações têm probabilidade 
1/18. 
• Não é possível calcular o valor minimax 
exato, só o valor minimax esperado. 
30 
EXEMPLO: GAMÃO 
31 
EXPECTIMINIMAX 
32 
Resultado médio para jogadas ótimas: 
● Nós de acaso são como os min, mas o 
resultado é incerto. 
● Calcular utilidades esperadas (média 
ponderada dos filhos). 
 
EXPECTIMINIMAX 
33 
 
INTELIGÊNCIA ARTIFICIAL 
 
 
Jogos Adversariais 
 
Hunt the Wumpus
Arrows remaining: 5
About Hunt the Wumpus
The original version of Hunt the Wumpus was created by Gregory Yob in 1972. The original version was quite a bit different than this version: it was text based, and was based on
the vertices of a collapsed dodecahedron (rather than a grid). Each room (vertex) connected to 3 others (rather than four). You can read more about it in the author's Hunt the
Wumpus.
Rules (for this version)
1. There are 3 hazards:
1. A bottomless pit (you will feel a breeze nearby).
2. A colony of bats that will pick you up and drop you in a random space--including potentially deadly spaces (you will hear flapping nearby).
3. A fearsome, hungry, and unbathed wumpus (you will smell it nearby).
2. The wumpus is heavy; bats cannot lift him.
3. The wumpus is covered in suckers; he won't fall down the bottomless pit.
4. Firing an arrow that misses the wumpus may cause it to move.
5. You have 5 wumpus-piercing arrows.
6. You may find an arrow dropped by a previous hunter.
Keyboard Shortcuts
Use CTRL+arrow keys to move
Use ALT+arrow keys to fire arrows
Move (ctrl+arrow) Shoot (alt+arrow)
You are at 3,3 
You hear flapping 
http://www.atariarchives.org/bcc1/showpage.php?page=247
Javascript Keyboard Shortcuts from OpenJS
Play Hunt the Wumpus on twitter! Follow @wumpus_bot on twitter, and once it follows you back send a DM with the message "new game" to start playing. This is in beta, so let me
know if you notice any bugs: chris @ osric . com.
Find more games on osric.com.
http://www.openjs.com/scripts/events/keyboard_shortcuts/
http://www.openjs.com/https://twitter.com/wumpus_bot
https://osric.com/games/
INTELIGÊNCIA ARTIFICIAL 
 
Lógica em 
Inteligência Artificial 
 
ATÉ AGORA 
 
• Semana 3: conhecimento melhorando a busca. 
• Que tipo de conhecimento? 
2 
 
• Semana 3: conhecimento melhorando a busca. 
• Que tipo de conhecimento? Heurísticas. 
 
3 
ATÉ AGORA 
 
• Semana 3: conhecimento melhorando a busca. 
• Que tipo de conhecimento? Heurísticas. 
• Às vezes precisamos de mais 
flexibilidade... 
4 
ATÉ AGORA 
AGENTES LÓGICOS 
• Queremos representar o 
conhecimento formalmente. 
• Queremos poder deduzir 
conhecimento adicional ao 
acrescentar novas informações. 
• Sistemas Baseados em 
Conhecimento. 
5 
BASE DE CONHECIMENTO 
 
Conjunto de sentenças em uma linguagem 
formal (por exemplo, lógica proposicional) 
 
Sentenças podem ser adicionadas 
por uma operação TELL. 
6 
CONSULTAS À BASE 
 
A operação ASK pode ser usada para 
consultar a base de conhecimento. 
 
A resposta deve seguir do que está 
armazenado na base, eventualmente 
envolvendo inferências. 
7 
O MUNDO WUMPUS 
8 
Ambiente: 
– próximos ao wumpus: cheiro 
– próximos ao poço: brisa 
– quadrado do ouro: brilho 
– uma flecha somente 
– atirar mata wumpus, se em frente 
– pegar ou soltar ouro no 
mesmo quadrado 
 
9 
O MUNDO WUMPUS 
Desempenho: 
– ouro +1000, morte-1000 
– passo -1 , flecha -10 
Sensores: cheiro, brisa, brilho, 
impacto, grito 
Ações: esquerda, direita, pegar, 
soltar, atirar 
10 
O MUNDO WUMPUS 
EXPLORANDO O MUNDO 
11 
12 
EXPLORANDO O MUNDO 
13 
EXPLORANDO O MUNDO 
14 
EXPLORANDO O MUNDO 
15 
EXPLORANDO O MUNDO 
16 
EXPLORANDO O MUNDO 
17 
EXPLORANDO O MUNDO 
18 
EXPLORANDO O MUNDO 
WUMPUS EM LÓGICA 
Pij: existe um poço em [i, j] 
Bij: há brisa em [i, j] 
 
 ¬P11 
 ¬B11 
 B21 
 
 
19 
B 
WUMPUS EM LÓGICA 
Poços causam brisa em quadrados adjacentes 
 
 B11 ⇔ (P12∨ P21) 
 B21⇔ (P11∨ P22∨ P31) 
 
20 
WUMPUS EM LÓGICA 
Poços causam brisa em quadrados adjacentes 
 
 B11 ⇔ (P12∨ P21) 
 B21⇔ (P11∨ P22∨ P31) 
 
“Brisa se e somente se 
tem poço adjacente” 
21 
SEMÂNTICA 
Suponha que o agente 
verificou brisa em [1,2]. 
 
Antes de se mover 
novamente, ele quer saber 
se há poços em [2,1], [2,2] e 
[1,3]. 
22 
SEMÂNTICA 
Suponha que o agente 
verificou brisa em [1,2]. 
 
Antes de se mover 
novamente, ele quer saber 
se há poços em [2,1], [2,2] e 
[1,3]. 
 Há 8 possibilidades. 
23 
MODELOS 
24 
25 
¬P11 
¬B11 
 B21 
MODELOS 
26 
¬P11 
¬B11 
 B21 
 
B21⇔ 
P22∨ P31 
MODELOS 
MODELOS 
27 
¬P11 
¬B11 
 B21 
 
α1: ¬P21 
 
KB ⊨ α1 
MODELOS 
28 
¬P11 
¬B11 
 B21 
 
α2: ¬P22 
 
KB ⊭ α2 
PROPOSICIONAL? 
Poços causam brisa em quadrados adjacentes 
 B11 ⇔ (P12∨ P21) 
 B21⇔ (P11∨ P22∨ P31) 
 B31⇔ (P21∨ P32∨ P41) 
 B41⇔ (P31∨ P42) 
 B12⇔ (P11∨ P22∨ P13) 
 ... 
 
29 
PRIMEIRA ORDEM 
Poços causam brisa em quadrados adjacentes 
 
∀y(B(y) ⇔ ∃x(P(x) ∧ Adj(x,y))) 
30 
PRIMEIRA ORDEM 
Poços causam brisa em quadrados adjacentes 
 
∀y(B(y) ⇔ ∃x(P(x) ∧ Adj(x,y))) 
 
“Brisa se e somente se 
tem poço adjacente” 
31 
INTELIGÊNCIA ARTIFICIAL 
 
Lógica em 
Inteligência Artificial 
 
 
INTELIGÊNCIA ARTIFICIAL 
 
Representação de 
Conhecimento 
 
AGENTES LÓGICOS 
 
• Queremos representar o 
conhecimento formalmente. 
• Queremos poder deduzir 
conhecimento adicional ao 
acrescentar novas informações. 
• Sistemas Baseados em 
Conhecimento. 
O MUNDO WUMPUS 
PROPOSICIONAL? 
Poços causam brisa em quadrados adjacentes 
 B11 ⇔ (P12∨ P21) 
 B21⇔ (P11∨ P22∨ P31) 
 B31⇔ (P21∨ P32∨ P41) 
 B41⇔ (P31∨ P42) 
 B12⇔ (P11∨ P22∨ P13) 
 ... 
 
PRIMEIRA ORDEM 
 
∀y(B(y) ⇔ ∃x(P(x) ∧ Adj(x,y))) 
 
 
 
∀y(B(y) ⇔ ∃x(P(x) ∧ Adj(x,y))) 
 
∀x,y,x’,y’ (Adj([x,y],[x’,y’]) ⇔ 
 [x’,y’] ∈ {[x+1,y], [x-1,y],[x,y+1],[x,y-1]}) 
 
PRIMEIRA ORDEM 
 
Wumpus causa cheiro em quadrado adjacente: 
 
∀y(C(y) ⇔ ∃x(W(x) ∧ Adj(x,y))) 
 
 
 
PRIMEIRA ORDEM 
 
Wumpus pode estar em um único quadrado: 
 
 ∀x,y(W(x) ∧ W(y) ⇒ x=y) 
 
 
PRIMEIRA ORDEM 
 
Wumpus não pode estar em um poço: 
 
 ∀x(W(x) ⇒ ¬P(x)) 
 
 
PRIMEIRA ORDEM 
REPRESENTAÇÃO 
Lógica proposicional: somente fatos 
(verdadeiros ou falsos) 
 
Lógica de primeira ordem: objetos, 
propriedades, relações, funções... 
 
 
REPRESENTAÇÃO 
Objetos: agente, ouro, quadrado, Wumpus, … 
 
Propriedades: tem cheiro, tem brisa, … 
 
Relações: adjacente, localizado em, … 
 
Funções: coordenada x, coordenada y, … 
REPRESENTAÇÃO 
Lógica proposicional: somente fatos 
(verdadeiros ou falsos) 
 
Lógica de primeira ordem: objetos, 
propriedades, relações, funções... 
 
 
REPRESENTAÇÃO 
Lógica proposicional: somente fatos 
(verdadeiros ou falsos) 
 
Lógica de primeira ordem: objetos, 
propriedades, relações, funções... 
 
 (verdadeiro ou falso) 
REPRESENTAÇÃO 
Lógica proposicional: somente fatos 
(verdadeiros ou falsos) 
 
Lógica de primeira ordem: objetos, 
propriedades, relações, funções… 
 
 
 (objetos) 
 
 
ESCOLHAS 
W(x) ou LocalizadoEm(w,x) 
 
 Adj(x,y) ou Adj(x,y,x’,y’) 
 
 B(x) ou Percebe(a,x,b) 
 
 
ESCOLHAS 
W(x) ou LocalizadoEm(w,x) 
 
 Adj(x,y) ou Adj(x,y,x’,y’) 
 
 B(x) ou Percebe(a,x,b) 
 
 Decisões ontológicas! 
 
ENGENHARIA 
1. Definir uma tarefa; 
2. Agregar conhecimento relevante; 
3. Definir um vocabulário de predicados, 
funções e constantes; 
4. Codificar conhecimento geral 
sobre o domínio; 
 
ENGENHARIA 
 
5. Codificar uma descrição da instância 
específica do problema; 
6. Formular consultas ao procedimento 
de inferência e obter respostas; 
7. Depurar a base de conhecimento. 
EXEMPLO: somador 
EXEMPLO: somador 
1. Identificar a tarefa: 
– O circuito adiciona de maneira correta? 
– Se todas as entradas são 1, qual a saída 
de A2? 
– ... 
Não queremos saber: custo de 
produção, consumo de energia, ... 
 
EXEMPLO: somador 
2. Agregar conhecimento relevante: 
– Composto de cabos e portas 
– Tipos de portas (AND, OR, XOR, NOT) 
– Cada porta recebe sinais de 
entrada e produz um sinal de saída 
– ... 
Irrelevante: tamanho, forma, cor, ... 
 
EXEMPLO: somador 
3. Decidir um vocabulário: 
– Constantes: A1, A2, X1, X2, O1, C 
– Terminais: X1In1 vs. In(1, X1) 
– Connected(Out(1, X1 ), In(1, X2 )) 
– Sinal: constantes 1 e 0 e 
função Signal 
 
 
EXEMPLO: somador 
– Type(X1) = XOR (função e constante XOR) 
– Type(X1,XOR) (predicado e constante XOR) 
– XOR(X1) (predicado XOR) 
 
 
 
EXEMPLO: somador 
– Type(X1) = XOR (função e constante XOR) 
– Type(X1,XOR) (predicado e constante XOR) 
– XOR(X1) (predicado XOR) 
 
Função assegura um único tipo 
para cada porta! 
 
 
EXEMPLO: somador 
4.Codificar o conhecimento geral: 
– ∀t1,t2 Connected(t1,t2) ⇒ Signal(t1) = Signal(t2) 
– ∀t Signal(t) = 1 ∨ Signal(t) = 0 
– ∀t1,t2 Connected(t1, t2) ⇒ 
Connected(t2, t1) 
– ∀g Type(g) = OR ⇒ Signal(Out(1,g)) 
= 1 ⇔ ∃n Signal(In(n,g)) = 1 
 
EXEMPLO: somador 
5.Codificar a instância específica: 
Type(X1) = XOR Type(X2) = XOR 
Type(A1) = AND Type(A2)= AND 
 
Connected(Out(1,X1),In(1,X2)) 
Connected(Out(1,X1),In(2,A2)) 
Connected(Out(1,A2),In(1,O1)) 
EXEMPLO: somador 
6.Formular consultas e obter respostas: 
 
– Que combinações de entradas fariam a 
primeira saída de C (o bit de soma) 
ser 0 e a segunda saída de C 
(o bit de transporte) ser 1? 
 
EXEMPLO: somador 
6.Formular consultas e obter respostas: 
 
∃i1,i2,i3 Signal(In(1,C1))=i1 ∧ Signal(In(2,C1))=i2 
∧ Signal(In(3,C1))=i3 ∧ Signal(Out(1,C1))=0 
∧ Signal(Out(2,C1)) = 1 
 
Resposta: valores para i1, i2 e i3 
(ex. i1/1, i2/1, i3/0) 
 
EXEMPLO: somador 
7. Depurar a base de conhecimento: 
 
Pode ter havido omissões como 1 ≠ 0 
 
Testar perguntas com 
respostas conhecidas. 
 
INTELIGÊNCIA ARTIFICIAL 
 
Representação de 
Conhecimento 
 
 Linha de discussão: Fórum de dúvidas - Semana 6Inteligência Arti�cial - EEI101 - Turma 002 Fórum de discussão Fórum: Fórum de dúvidas - Semana 6
Linha de discussão: Fórum de dúvidas - Semana 6 
5 Postagem(ns) nesta linha de discussão 0 Não Lida 0 Respostas não lidas para mim
Selecionar: 
 
Todos Nenhum
Ações de mensagem  Expandir tudo Fechar tudo
Anônimo
 
Fórum de dúvidas - Semana 6
há 1 ano
Responder 
Discussões sobre o conteúdo da semana.
 
RE: Fórum de dúvidas - Semana 6
5 dias atrásGustavo Delgado Sacilotto 
Olá a todos!
Estamos iniciando a nossa penúltima semana de estudos.
O conteúdo referente a Semana 6 já está disponível. O tema dessa semana é Representação de conhecimento
E não se esqueçam da atividade avaliativa desta semana, para não perderam o prazo.
Quaisquer dúvidas que tiverem podem ser tiradas durante as Lives ou aqui no Fórum.
?
Atualizarr PesquisarF
https://ava.univesp.br/webapps/blackboard/execute/courseMain?course_id=_5968_1
https://ava.univesp.br/webapps/discussionboard/do/conference?action=list_forums&course_id=_5968_1&nav=discussion_board
https://ava.univesp.br/webapps/discussionboard/do/forum?action=list_threads&forum_id=_99743_1&conf_id=_29142_1&course_id=_5968_1&nav=discussion_board
javascript:expandAllMessagesInTheTree();
javascript:collapseAllMessagesInTheTree();
javascript:toggleReadByIcon('_315232_1')
javascript:toggleFlagByIcon('_315232_1')
Lembrando que vocês podem participar da live de todas as turmas (1 e 2). E devido ao feriado nesta semana, a nossa Live de quinta-
feira foi reagendada para terça-feira no mesmo horário. 
E em relação aos textos de apoio, eles servem como um complemento para o conteúdo, não sendo obrigatório a sua leitura.
Obrigado a todos e bons estudos!
Gustavo D. Sacilotto.
 
RE: Fórum de dúvidas - Semana 6
5 dias atrásRafael Fernandes Novais 
Prezado Gustavo, 
Boa noite!
No meu entendimento, a sentença III da questão anexa não pode estar correta. Pois ela afirma que existe um bloco "x", para todo
bloco "y" e "z", onde o bloco "x" está sobre o bloco "y" e o bloco "y" está sobre o bloco "z". Para que isso fosse verdade precisaríamos
ter tres blocos empilhados, afinal de contas, um bloco não pode estar empilhado sobre ele mesmo. Assim sendo, conforme a figura
mostra, se A está sobre B e B está sobre a mesa, e não sobre outro bloco, a sentença é falsa. Por gentileza, me ajude a entender a
materia se eu estiver enganado. Mas se voce concorda comigo, por favor, solicite a revisão do gabarito.
Muito obrigado Professor!
▲ Ocultar 2 respostas
 
RE: Fórum de dúvidas - Semana 6 
5 dias atrásRafael Fernandes Novais 
FECHAR
  inteligenciaArti�cialSemana6.jpg (90,507 KB)  
javascript:toggleReadByIcon('_315622_1')
javascript:toggleFlagByIcon('_315622_1')
javascript:toggleReadByIcon('_315623_1')
javascript:toggleFlagByIcon('_315623_1')
https://ava.univesp.br/courses/1/EEI101-2022S1B2-T002/db/_315623_1/inteligenciaArtificialSemana6.jpg
Selecionar: 
 
Responder Citar Autor do e-mail
 
RE: Fórum de dúvidas - Semana 6
4 dias atrásGustavo Delgado Sacilotto 
Boa tarde Rafael,
Vou estar repassando, ao supervisor, o seu questionamento sobre a questao desta semana.
Agradeço o empenho e bons estudos. 
Att
Gustavo D. Sacilotto
Todos Nenhum
Ações de mensagem  Expandir tudo Fechar tudo
← OK
javascript:toggleReadByIcon('_316030_1')
javascript:toggleFlagByIcon('_316030_1')
javascript:expandAllMessagesInTheTree();
javascript:collapseAllMessagesInTheTree();
 
INTELIGÊNCIA ARTIFICIAL 
 
Planejamento 
 
O QUE É UM PLANO? 
 
Objetivo: comprar leite, bananas e um martelo. 
 
Plano: ir ao supermercado, ir à seção de 
frutas, pegar as bananas, ir à seção de 
leite, pegar o leite, ir ao caixa, pagar tudo, 
ir a uma loja de ferramentas, ..., 
voltar para casa. 
 
2 
PLANO COMO BUSCA 
● Estado inicial: Em casa, sem objetos 
● Estado final: Em casa, com objetos 
● Operadores: Tudo o que o agente 
pode fazer 
● Heurística: Número de objetos 
ainda não obtidos. 
3 
LIMITAÇÕES 
 
● Considera as ações em sequência 
● Ramificação muito grande 
(muitas ações) 
● Não há uma abstração de 
estados parciais 
 
 4 
IDEIAS PRINCIPAIS 
Representação dos estados, objetivos e 
ações usando lógica (descrições parciais 
dos estados). 
 
Exemplo: 
Estado: Have (Milk) 
Ação: Buy (Milk) => Have (Milk) 
 
IDEIAS PRINCIPAIS 
Conectar diretamente estados (sentenças) e 
ações (pré condições + efeitos) 
 
 
Have(Money) Buy(Milk) Have(Milk) 
 
IDEIAS PRINCIPAIS 
Conectar diretamente estados (sentenças) e 
ações (pré condições + efeitos) 
 
 Have(Money) 
Have(Money) Buy(Milk) Have(Milk) 
 Have(Milk) 
IDEIAS PRINCIPAIS 
Conectar diretamente estados (sentenças) e 
ações (pré condições + efeitos) 
 
 Have(Money) 
Have(Money) Buy(Milk) Have(Milk) 
 Have(Milk) 
IDEIAS PRINCIPAIS 
Conectar diretamente estados (sentenças) e 
ações (pré condições + efeitos) 
 
 Have(Money) 
Have(Money) Buy(Milk) Have(Milk) 
 Have(Milk) 
IDEIAS PRINCIPAIS 
Adicionar ações ao plano quando necessárias. 
Ordem de planejamento ≠ ordem de execução 
Primeiro, o que é importante: Buy (Milk) 
 
Diminui fator de ramificação! 
IDEIAS PRINCIPAIS 
Aproveitar independência entre partes do mundo 
Subplano supermercado, 
Subplano loja de ferramentas. 
 
 
IDEIAS PRINCIPAIS 
Aproveitar independência entre partes do mundo 
Subplano supermercado, 
Subplano loja de ferramentas. 
 
 Não funciona sempre!!! 
LINGUAGENS 
● Suficientemente expressiva para descrever 
uma grande variedade de problemas. 
 
● Restritiva o bastante para permitir 
que algoritmos eficientes operem 
sobre ela. 
 
● Permitir decomposição 
em subproblemas. 
 
LINGUAGENS 
STRIPS: Stanford Research Institute Problem 
 Solver 
ADL: Action Description Language 
… 
PDDL: Planning Domain 
Definition Language 
CARACTERÍSTICAS 
Estado como conjunção de literais positivos. 
● literais proposicionais 
● literais de 1a ordem (sem variáveis e funções): 
Have(Milk) ∧ Have(Banana) 
 
Hipótese de mundo fechado: 
Literais não mencionados são falsos 
 
CARACTERÍSTICAS 
Objetivos: estados parcialmente especificados 
 
Um estado s satisfaz um objetivo 
g se s contém todos os literais de 
g (e possivelmente outros) 
 
CARACTERÍSTICAS 
Ação = Precondição + Efeito 
 
Action(Fly(p,from, to), 
 PRECOND: At(p,from) ∧ Plane(p) ∧ 
Airport(from) ∧ Airport(to) 
 EFFECT: ¬AT(p,from) ∧ At(p,to)) 
 
 
APLICAÇÃO DE AÇÕES 
Ação éaplicável em todos os estados que 
satisfazem as suas precondições. 
 
Resultado da execução de a em s é s’ 
obtido de s a partir dos efeitos de a: 
Literais positivos P adicionados a s’ 
Literais negativos ¬P removidos de s’ 
 
 
 
 
APLICAÇÃO DE AÇÕES 
 
s: Have(Money) 
 
Buy(Milk): pré-condição Have(Money) 
 efeito Have(Milk) ∧ ¬Have(Money) 
 
s’: Have(Milk) 
 
 
PLANEJAMENTO DE 
ORDEM PARCIAL 
 
Algoritmo que funciona 
independentemente sobre vários 
subobjetivos, os resolve com 
subplanos e depois combina os 
subplanos. 
 
PLANEJAMENTO DE 
ORDEM PARCIAL 
 
Estratégia do compromisso mínimo: 
retardar a escolha da ordem de 
aplicação de algumas ações 
durante a busca. 
 
 
EXEMPLO: calçar sapatos 
Goal(RightShoeOn ∧ LeftShoeOn) 
Init() 
 
Action(RightShoe, PRECOND: RightSockOn 
 EFFECT: RightShoeOn) 
Action(RightSock, PRECOND: 
 EFFECT: RightSockOn) 
 
 
Combinar duas sequências de ações: 
(1)leftsock, leftshoe 
(2)rightsock, rightshoe 
EXEMPLO: calçar sapatos 
PLANEJAMENTO DE 
ORDEM PARCIAL 
 
Qualquer algoritmo de planejamento 
que possa inserir duas ações em 
um plano sem especificar qual 
delas deve ser executada primeiro. 
 
ORDEM PARCIAL 
POP: BUSCA 
Estados são planos parciais. 
 
Cada plano possui 4 componentes: 
Um conjunto de ações (passos do plano) 
Um conjunto de restrições de ordem: A < B 
Um conjunto de vínculos causais 
Um conjunto de precondições abertas. 
 
POP: BUSCA 
Um plano é consistente se não 
existirem ciclos nas restrições de 
ordenação e nem conflitos com os 
vínculos causais. 
 
Um plano consistente sem 
precondições abertas é uma solução. 
 
POP: BUSCA 
 
Toda linearização de uma solução 
de ordem parcial é uma solução de 
ordem total cuja execução a partir 
do estado inicial alcançará um 
estado objetivo. 
RESOLVENDO POP 
O plano inicial contém Start e 
Finish, a restrição de ordenação 
Start < Finish, nenhum vínculo 
causal, e todas as precondições 
em Finish abertas. 
 
RESOLVENDO POP 
Função sucessor: 
● escolhe uma precondição aberta p em B 
● gera um plano sucessor para cada 
modo consistente de escolher 
uma ação que alcance p. 
● Teste de objetivo: nenhuma 
pré-condição aberta 
CONSISTÊNCIA 
● O vínculo causal A--p->B e a restrição de 
ordenação A < B são adicionados ao plano. 
 
● Resolver conflitos entre novos 
vínculos causais e B<C 
adicionando C<A ou A<B 
(exemplo - ir à loja de ferramentas 
antes de terminar compra no mercado) 
RESUMO DO PROCESSO 
Operadores em planos parciais 
Adicionar link de plano existente para 
precondição aberta. 
Adicionar um passo para satisfazer 
uma condição aberta. 
Ordenar dois passos para remover 
possíveis conflitos. 
 
RESUMO DO PROCESSO 
Gradualmente mover de planos 
incompletos para planos 
completos e corretos. 
 
Retroceder se uma condição 
aberta não for satisfazível ou se 
um conflito não tem solução. 
 
INTELIGÊNCIA ARTIFICIAL 
 
Planejamento 
 
 Linha de discussão: Fórum de dúvidas - Semana 7Inteligência Arti�cial - EEI101 - Turma 002 Fórum de discussão Fórum: Fórum de dúvidas - Semana 7
Linha de discussão: Fórum de dúvidas - Semana 7 
6 Postagem(ns) nesta linha de discussão 0 Não Lida 0 Respostas não lidas para mim
Selecionar: 
 
Todos Nenhum
Ações de mensagem  Expandir tudo Fechar tudo
Anônimo
 
Fórum de dúvidas - Semana 7
há 1 ano
Responder 
Discussões sobre o conteúdo da semana.
Citar
 
RE: Fórum de dúvidas - Semana 7
4 dias atrásGustavo Delgado Sacilotto 
Olá a todos!
Estamos iniciando a nossa última semana de estudos.
O conteúdo referente a Semana 7 já está disponível. O tema dessa semana é Planejamento: técnicas clássicas de construção de
sequências de ações.
Nesta semana também temos a nossa revisão de disciplina, na vídeo aula 08. Afinal a prova da disciplina já está marcada para a
próxima semana.
?
Atualizarr PesquisarF
https://ava.univesp.br/webapps/blackboard/execute/courseMain?course_id=_5968_1
https://ava.univesp.br/webapps/discussionboard/do/conference?action=list_forums&course_id=_5968_1&nav=discussion_board
https://ava.univesp.br/webapps/discussionboard/do/forum?action=list_threads&forum_id=_99744_1&conf_id=_29142_1&course_id=_5968_1&nav=discussion_board
javascript:expandAllMessagesInTheTree();
javascript:collapseAllMessagesInTheTree();
javascript:toggleReadByIcon('_318572_1')
javascript:toggleFlagByIcon('_318572_1')
E não se esqueçam da atividade avaliativa desta semana, para não perderam o prazo.
Quaisquer dúvidas que tiverem podem ser tiradas durante as Lives ou aqui no Fórum.
Lembrando que vocês podem participar da live de todas as turmas (1 e 2).
E em relação aos conteúdos de apoio, eles servem como um complemento para o conteúdo, não sendo obrigatório a sua leitura.
Obrigado a todos e bons estudos!
Gustavo D. Sacilotto.
▲ Ocultar 2 respostas
 
RE: Fórum de dúvidas - Semana 7
2 dias atrásRafael Fernandes Novais 
Olá!
Tudo bem?
Alguma devolutiva das questoes levantadas na semana 5?
Obrigado!
▲ Ocultar 1 resposta
 
RE: Fórum de dúvidas - Semana 7
1 dia atrásGustavo Delgado Sacilotto 
Olá Rafael,
Eu passei a devolutiva lá na semana em que você me mandou as questões, caso não consiga ver ou se tem alguma dúvida me
fala, por favor.
javascript:toggleReadByIcon('_320358_1')
javascript:toggleFlagByIcon('_320358_1')
javascript:toggleReadByIcon('_320762_1')
javascript:toggleFlagByIcon('_320762_1')
Selecionar: 
Obrigado
Gustavo D. Sacilotto.
 
RE: Fórum de dúvidas - Semana 7
4 dias atrásIgor Estevao Carrion 
Olá boa noite
Poderia disponibilizar um material de Revisao (em formato - texto) para facilitar a retomada dos conteúdos e auxiliar para a prova?
Grato.
▲ Ocultar 1 resposta
 
RE: Fórum de dúvidas - Semana 7
1 dia atrásGustavo Delgado Sacilotto 
Olá, boa noite,
Infelizmente eu só posso disponibilizar o que o professor autor publicou, que no caso é o vídeo com a revisão. 
Obrigado e bons estudos.
Gustavo D. Sacilotto.
Todos Nenhum
javascript:toggleReadByIcon('_318845_1')
javascript:toggleFlagByIcon('_318845_1')
javascript:toggleReadByIcon('_320897_1')
javascript:toggleFlagByIcon('_320897_1')
 Ações de mensagem  Expandir tudo Fechar tudo
← OK
javascript:expandAllMessagesInTheTree();
javascript:collapseAllMessagesInTheTree();
• 	 Descreva:
• 	 as seis ações de Shakey;Ações de Sharkey: 
• 	 Ir(x, y, r) 

Precondição: Em(Shakey, x)^Em(x, r)^Em(y, r)

Efeito: Em(Shakey, y)^¬Em(Shakey, x)
• 	 Empurrar(b, x, y, r)

Precondição: Em(Shakey, x)^Em(x, r)^Caixa(b)^Em(b, 
x)^Pode_empurrar(b)

Efeito: Em(b, y)^¬Em(b, x)^Em(Shakey, y)^¬Em(Shakey, 
x)
• 	 Subir(x, b)

Precondição: Em(Shakey, x)^Em(b, x)^Sobre(Shakey, 
Piso)^Caixa(b)

Efeito: Sobre(Shakey, b)^¬Sobre(Shakey, Piso)
• 	 Descer(b, x)

Precondição: Em(Shakey, x)^Em(b, x)^Sobre(Shakey, b) 

Efeito: Sobre(Shakey, Piso)^¬Sobre(Shakey, b)
• 	 Ligar(s, b)

Precondição: Sobre(Shakey, b)^Em(Shakey, x)^Em(s, 
x)^¬Ligado(s)

Efeito: Ligado(s)
• 	 Desligar(s, b)

Precondição: Sobre(Shakey, b)^Em(Shakey, x)^Em(s, 
x)^Ligado(s)

Efeito: ¬Ligado(s)
• 	 





• 	 o estado inicial da figura.Estado 
inicial:Em(Interruptor1, Sala1)^Em(Porta1, 
Sala1)^Em(Porta1, Corredor)^ 

Em(Interruptor2, Sala2)^Em(Porta2, Sala2)^Em(Porta2, 
Corredor)^ 

Em(Interruptor3, Sala3)^Em(Porta3, Sala3)^Em(Porta3, 
Corredor)^ 

Em(Interruptor4, Sala4)^Em(Porta4, Sala4)^Em(Porta4, 
Corredor)^ 

Em(Shakey, Sala3)^Em(Shakey, Xs)^Sobre(Shakey, Piso)^

Em(Caixa1, Sala1)^Em(Caixa2, Sala1)^Em(Caixa3, 
Sala1)^Em(Caixa4, Sala1)^

Em(Caixa1, X1)^Em(Caixa2, X2)^Em(Caixa3, X3)^Em(Caixa4, 
X4)^

Ligado(Interruptor1)^Ligado(Interruptor4)







• 	 Construa um planopara Shakey colocar a Caixa 2 na Sala 
2.Plano:

Ir(Xsl, Porta3, Sala3) 

Ir(Porta3, Porta1, Corredor) 

Ir(Porta1, X2, Sala1) 

Empurrar(Caixa2, X2, Porta1, Sala1) 

Empurrar(Caixa2, Porta1, Porta2, Corredor) 

Empurrar(Caixa2, Porta2, Xfinal, Sala2)



•

Mais conteúdos dessa disciplina