AGENTES DE IA
SIMBÓLICA
Prof. Pablo A. Sampaio
AGENTES
Elementos principais: Percepções Ações Como é o processo de decisão?IA SIMBÓLICA
Paradigma da IA que propõe criar sistemas assim: Identificar o conhecimento do mundo
Representar o conhecimento
Criar um mecanismo de raciocínio, para concluir as (melhores?) ações
Este paradigma já foi o dominante, mas a área de aprendizagem de máquina tem dominado...
1. AGENTES
LÓGICOS
AGENTES LÓGICOS
Eles possuem uma base de conhecimento do mundo Contém tudo o que o agente sabe
Representada por uma linguagem de representação do conhecimento
Baseada em lógica
Declarativa
Motor de inferência
Atua na base de conhecimento para descobrir novos fatos ou escolher a ação
BASE DE CONHECIMENTO
Conjunto de sentenças (fórmulas) lógicas Guarda conhecimento do mundo
Obtido por um especialista
Novas percepções
Viram novos fatos na base (representado por sentenças lógicas)
O motor de inferência pode tirar novas conclusões Viram novos fatos na base
MUNDO DE
WUMPUS
Desempenho ouro +1000, morte-1000 passo -1 , flecha -10 Ambiente quadrados próximos ao wumpus fedem
próximos ao poço: brisa quadrado do ouro: brilho uma flecha somente
atirar mata wumpus se em frente Pegar ouro no quad., deixa ouro
no quad. Sensores:
[fedor, brisa, brilho, impacto, grito]
Atuadores: esquerda, direita, pegar, deixar, atirar
EXPLORANDO O MUNDO
DE WUMPUS
Primeira percepção: [nada, nada, nada, nada, nada]
EXPLORANDO O MUNDO
DE WUMPUS
EXPLORANDO O MUNDO
DE WUMPUS
Dedução: poço em [3,1] ou [2,2]
quadrado vazio em [2,1]
EXPLORANDO O MUNDO
DE WUMPUS
Nova percepção: [fedor , nada , nada , nada , nada]
Nova dedução: wumpus em [1,3]
EXPLORANDO O MUNDO
DE WUMPUS
Nova dedução: wumpus em [1,3] e poço em [3,1]
(pois não havia fedor em [2,1], nem brisa em [1,2])
LINGUAGENS DE
REPRESENTAÇÃO DO
CONHECIMENTO
Veremos exemplos baseados em: Lógica proposicional
Lógica de primeira ordem
LÓGICA PROPOSICIONAL:
EXEMPLOS DE SENTENÇAS
P Verdadeiro P ∧ Q (P ∨ Q) ⇒ S (P ∧ Q) ∨ R ⇒ S ¬(P ∨ Q) ¬(P ∨ Q) ⇒ R ∧ SLÓGICA
PROPOSICIONAL:
NO MUNDO DE WUMPUS
Base de Conhecimento:
R1: ¬P
1,1R2: B
1,1⇔ (P
1,2∨ P
2,1)
R3: B
2,1⇔ (P
1,1∨ P
2,2∨ P
3,1)
R4: ¬B
1,1R5: B
2,1Um quadrado tem uma brisa se e somente se existe um poço em um quadrado vizinho (todos os
quadrados devem ser declarados). Não há poço em [1,1].
Percepções adquiridas pelo agente do mundo em que ele se encontra.
LÓGICA DE 1ª ORDEM
Mais poderosa, permite generalizar múltiplas fórmulas proposicionais com: “para todo” “existe” objetos funções relaçõesTem regras de inferência próprias, que estendem as da Lógica Proposicional
Vantagens: mais sucinta e modular
Por exemplo: se mudar as dimensões do mundo do Wumpus
18
LÓGICA DE 1ª ORDEM
Exemplos de sentenças, para o mundo do Wumpus:
" f,v,c,g,t Percepção([f,v, Brilho,c,g], t) Þ Perto-Ouro(Pegar, t) " v,b,c,g,t Percepção([Fedor,v,b,c,g], t) Þ Fedor (t) " f,b,c,g,t Percepção([f,Vento,b,c,g], t) Þ Vento (t) " f,v,c,g,t Percepção([f,v,Brilho,c,g], t) Þ Junto-do-Ouro (t) " t Perto-Ouro (t) Þ Ação(Pegar, t)
OUTRAS OPÇÕES –
RESUMO
Alguns dos formalismos que podem ser usados para raciocínio:
AGENTE BASEADO EM
CONHECIMENTO
Agente genérico baseado em conhecimento:
function KB-AGENT(percept) returns an action static: KB, a knowledge base
t, a counter, initially 0, indicating time
TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t)) action ← ASK(KB,MAKE-ACTION-QUERY(t)) TELL(KB,MAKE-ACTION-SENTENCE(action, t)) tt + 1 return action end
AGENTE BASEADO EM
CONHECIMENTO
Processo de execução:
(1) Informa à base de conhecimento as percepções
(2) Pergunta à base de conhecimento qual a próxima ação
que deve ser executada
um extensivo processo de raciocínio lógico é realizada sobre a base para decidir
(3) Realiza a ação escolhida e informa a base de
ALGORITMOS DE
INFERÊNCIA
Duas estratégias principais:
Encadeamento para a frente: parte da base, produz novos fatos
sucessivamente
Encadeamento para trás: parte do objetivo, encontra as condições para
atingi-lo, e tenta satisfazer cada uma delas
Inferência é um tipo de busca
Para responder uma pergunta (próxima ação) são, pelo menos, exponenciais, no pior caso...
EXEMPLO –
ENCADEAMENTO PARA
TRÁS
Base de conhecimento inicial
Fritz coacha
Fritz come mosca
Se X tem pena e canta, então é um canário Se X coacha e come mosca, então é um sapo Se X é um sapo, então a cor de X é verde
Se X é um canário, então a cor de X é amarela
EXEMPLO –
ENCADEAMENTO PARA
TRÁS
Duas regras podem levar a conclusões: Se X é um sapo, então a cor de X é verde
Se X é um canário, então a cor de X é amarela
Vamos tentar provar pela primeira delas
Para isso, precisamos saber: Fritz é um sapo? Somente esta regra permite provar isto:
EXEMPLO –
ENCADEAMENTO PARA
TRÁS
Fritz coacha e come mosca? Na base tem:
Fritz coacha (ok)
Fritz come mosca (ok)
CASO ESPECIAL:
SISTEMAS ESPECIALISTAS
São agentes “incompletos” desacoplados do ambiente da tarefa
sistemas de consulta, baseado em regras (lógica e afins)
Sucesso até os anos 1980
Dois terços das empresas da lista “Fortune 500” aplicavam esta tecnologia
DENDRAL (1969) – infere a estrutura molecular a partir de um espectômetro de massa
MYCIN (anos 70) – diagnóstico de infecção de sangue
SID (1982) – ajudou no design do computador VAX 9000
PLANEJAMENTO
Tarefa de encontrar uma sequência de ações para alcançar um objetivo
Também segue a abordagem simbólica para IA Representação explícita do conhecimento do mundo
Processo de raciocínio antes de agir
Diferença em relação aos agentes baseados em lógica Computa todas as ações antes de agir
EXEMPLO
REPRESENTAÇÃO DO
CONHECIMENTO
Estados
Exemplo: Livre(B) ^ Sobre(C,A) ^ Sobre(A,Mesa)
Objetivos
Exemplo: Sobre(A,B) ^ Sobre(B,C)
Ações
Exemplo: Ação Empilhar(bloco,origem,destino)
Pre-Condição: Sobre(bloco,origem) ^ Livre(bloco) ^ Livre(destino),
LINGUAGENS DE
PLANEJAMENTO
Usadas para descrever o estado do mundo, as ações (com suas pré-condições e efeitos) e os objetivos
STRIPS ADL
PDDL (Planning Domain Definition Language)
Tentativa de padronizar linguagens de planejamento
ALGORITMOS
Planejamento é uma busca com estados e ações representados logicamente
Estado: conjunto de fórmulas lógicas
Algoritmos de busca (como A*) adaptados para a linguagem
se aplicam de vária formas
Busca para frente – do estado inicial para o objetivo
Busca para trás (regressão) - tem analogia com o encadeamento regressivo
Ações relevantes: que adicionam um elemento do objetivo, sem negar nenhum outro
ALGORITMOS
Como toda busca: exponencial
ALGORITMOS
Há várias outras abordagens Busca em grafos de planejamento
Algoritmos baseados em satisfatibilidade booleana, etc
International Planning Competition: disputa a cada 2, 3
ou 4 anos entre algoritmos
Planejamento é PSPACE-difícil !!!
“Planejamento é um exercício de controle de explosão combinatória” (Russel e Norvig)
PLANEJAMENTO
MULTIAGENTE
Genericamente, há três formas de abordar:
1. Planejador central, execução distribuída
Um agente “mestre” planeja e distribui aos “escravos”
Agentes representados como objetos do mundo
Ação tem o agente como parâmetro
2. Planejador distribuído, execução central
Vários planejam, mas um só executa
Adequado para agentes “especialistas” em partes distintas do plano
PLANEJAMENTO
MULTIAGENTE
3. Planejador distribuído, execução distribuída
Agentes cooperam para criar planos separados para cada um
Eles podem ser self-interested – podem surgir conflitos entre os planos
Caso mais difícil
Passo central nas abordagens 2 e 3 – plan merging
Necessita analisar interações entre as ações dos agentes e resolver os casos problemáticos (criando formas de sincronização, etc)
BUSCA CLÁSSICA X
PLANEJAMENTO
Ambas acham “planos”
A diferença é que, na busca clássica, o estado, os operadores e as heurísticas são implementados de forma específica
Dependentes de domínio
No planejamento, são usadas representações e heurísticas “gerais” Obs.: Busca pode ser usada para múltiplos agentes também
Na descrição do estado do mundo, incluir os agentes
Cada ação é uma combinação (tupla) das ações dos agentes
DECLÍNIO DA ÁREA (?)
“In the mid 1980s, Chapman established some theoretical results which indicate that even […] refined techniques will ultimately turn out to be unusable in any time-constrained system [Chapman, 1987]. These results have had a
profound influence on subsequent AI planning research; perhaps more than any other, they have caused some researchers to question the whole symbolic AI paradigm”
http://
www.cs.ox.ac.uk/people/michael.wooldridge/pubs/ker95/subsubsectionsta r3_3_1_1.html
Apesar disso, trabalhos importantes ainda foram propostos depois e têm sido propostos, hoje em dia
IA SIMBÓLICA
Vimos duas técnicas tradicionais da IA simbólica para o desenvolvimento de agentes
Hoje, existem muitas extensões, inclusive para lidar com agentes...
Foram “mainstream” até os anos 80 Mas não morreram
REFERÊNCIAS
Aula de “Agentes Lógicos”, prof. Edirlei, PUC-RIO
Livro “Inteligência Artificial”, 3 ed., S. Russel e P. Norvig Livro “An Introduction to Multiagent Systems”, M.
Wooldridge
“Feliz o homem constante no temor de Deus; mas o
que endurece o coração, cairá no mal.”