Introdução aos Agentes Inteligentes
Representação do Conhecimento Baseada em
Lógica de 1ª ordem
Aula resumida...
Flávia Barros
1
Plano de Aula
Contexto
LPO
Sintaxe e semântica
Um exemplo de construção de BC
2
Engenharia do Conhecimento
Etapas
Aquisição do conhecimento
Formalização do conhecimento
Ontologias
Nível semi-formal
LPO
nível formal
Construção da BC
Regras de produção, objetos com regras, Prolog...
3
Lógica de Primeira Ordem - LPO
É um formalismo de referência para representação
de conhecimento
o mais estudado e o melhor formalizado
Satisfaz em grande parte os seguintes critérios:
adequação representacional
permite representar o mundo (expressividade)
adequação inferencial
permite inferência
eficiência aquisicional
facilidade de adicionar conhecimento
modularidade
4
Engajamento Ontológico
Natureza da realidade, descrição do mundo
Na Lógica Proposicional, o mundo consiste em fatos.
Na Lógica de Primeira Ordem, o mundo consiste em:
objetos: “coisas” com identidade própria
ex. pessoas, casas, Wumpus, caverna, etc.
relações entre esses objetos
ex. irmão-de, tem-cor, parte-de, adjacente, etc.
propriedades (que distinguem esses objetos)
ex. vermelho, redondo, fundo, fedorento, etc.
funções: um ou mais objetos se relacionam com um único
objeto
ex. dobro, distância, pai_de, etc.
5
Engajamento Ontológico
Além disso, a LPO exprime:
fatos sobre todos objetos do universo
fatos sobre objetos particulares ()
()
Exemplos:
1 + 1 = 2
objetos: 1, 2; relação: =; função: +.
Todas as Cavernas adjacentes ao Wumpus são fedorentas.
objetos: cavernas, Wumpus; propriedade: fedorento; relação:
adjacente.
A LPO não faz engajamentos ontológicos para tempo, categorias
e eventos...
neutralidade favorece flexibilidade
6
Engajamento Epistemológico
Estados do conhecimento (crenças)
A LPO tem o mesmo engajamento epistemológico
que a lógica proposicional
tudo é verdadeiro ou falso
Para tratar incerteza, usamos
Outras lógicas (n-valoradas, fuzzy, para-consistente, etc.)
Probabilidade
7
Resumo
Linguagem
Engajamento Engajamento
Ontológico Epistemológico
L. Proposicional
Fatos
V, F, ?
LPO
Fatos, objetos,
relações
V, F, ?
L. Temporal
Fatos, objetos,
relações, tempo
V, F, ?
Probabilidade
Fatos
Grau de crença:
0-1
L. Difusa
Grau de verdade
sobre fatos,
objetos, relações
Grau de crença:
0-1
8
Sistema Formal em LPO
Cálculo
= Cálculo de Predicados
Linguagem Regras de derivação
= LPO
= regras de inferência
Teoria
Axiomas
= fatos +
regras gerais
Teoremas
= fatos derivados
(axiomas + regras
de inferência)
síncronas diacrônicas
sintaxe + semântica
Base de Conhecimento = fatos e regras gerais do domínio (só axiomas)
Memória de Trabalho = fatos particulares à instância do problema e fatos
derivados (só fatos)
Máquina de Inferência = regras de inferência (de derivação)
LPO: Sintaxe
Sentença SentençaAtômica | Sentença Conectivo Sentença
| Quantificador Variável,... Sentença
| Sentença | (Sentença)
SentençaAtômica Predicado(Termo,...) | Termo = Termo | Verdade | Falso
Termo Função(Termo,...) | Constante | Variável
Conectivo
Quantificador
Constante A | X | João | ...
Variável a | x | s | ...
(letras minúsculas)
Predicado Vermelho | Tem-cor | IrmãoDe | ...
Função Mãe | MelhorAmigo | ...
10
LPO: Semântica
Constantes e Variáveis denotam Objetos:
ex. João, aluno, cadeira, estrela...
uma interpretação especifica a que objeto no
mundo cada constante e cada variável livre se
refere.
o mesmo objeto pode ser referenciado por mais
de um símbolo:
ex. “Vênus” e “A estrela Dalva” referem-se ao mesmo
objeto (planeta) no universo.
11
LPO: Semântica
Predicados denotam Propriedades e Relações:
uma interpretação especifica a que propriedade
(predicado unário) ou relação no mundo o
predicado se refere:
ex., irmão = predicado binário que se refere à relação
de irmandade: Irmão(Caetano, Betânia )
ex. Feio(Maguila) - faz referência à propriedade ser feio
12
LPO: Semântica
Funções denotam Relações Funcionais:
ligam um objeto (ou mais) a um único objeto no
mundo
Uma interpretação especifica
que relação funcional no mundo é referida pelo
símbolo da função, e
que objetos são referidos pelos termos que são
seus argumentos
Termos denotam Objetos:
são constantes, variáveis ou funções.
13
LPO: Semântica
Funções denotam Relações Funcionais:
Exemplos:
1) Mãe(Roberto Carlos) -> LadyLaura
função que devolve o nome da mãe do seu argumento
2) Nota(Zezinho) = 9
devolve a nota do argumento Zezinho
14
LPO: Semântica
Sentenças Atômicas: predicados + termos
o valor-verdade de uma sentença depende da
interpretação e do mundo.
Irmão(Caetano, Betânia)
termos simples
Casados(PaiDe(Caetano),MãeDe(Betânia))
termos complexos
15
LPO: Semântica
Sentenças Complexas:
usam conectivos e quantificadores
a semântica dessas sentenças é atribuída da
mesma maneira que na lógica proposicional:
semântica dos conectivos + valor-verdade das
sentenças individuais.
Irmão(Caetano, Betânia) Filho(Zeca,Caetano) =>
Tia(Betânia,Zeca)
16
LPO: Semântica
Igualdade:
declara que dois termos se referem ao mesmo
objeto
Mãe(Roberto Carlos) = Lady Laura
pode ser visto como a relação identidade...
Exemplo
Para dizer que Huguinho tem pelo menos dois
irmãos (Luizinho e Zezinho), escreve-se:
x, y irmão(Huguinho,x) irmão(Huguinho,y) (x = y)
17
LPO: semântica dos quantificadores
Universal ()
conjunção sobre o universo de objetos
x P(x) é verdade sse P é verdade para todos os objetos
no mundo
Ex. x Gato(x) Mamífero(x)
o valor-verdade é dado pela semântica do quantificador
universal e do conectivo
18
LPO: semântica dos quantificadores
Existencial ()
disjunção sobre o universo de objetos
x P(x) é verdade sse P é verdade para algum objeto no
mundo.
Ex. x y pessoa(x) mãe(y,x)
Correspondência entre os dois quantificadores
x Gosta(x,Banana) x Gosta(x,Banana)
19
LPO: Leis de De Morgan
Leis de De Morgan: Equivalência entre sentenças quantificadas
e entre sentenças não quantificadas
(x) P (x) P
P Q (P Q )
(x) P (x) P
(P Q) P Q
(x) P (x) P
P Q (P Q)
(x) P (x) P
P Q (P Q)
Moral da história:
Não precisamos de ambos os quantificadores e nem de
ambos os conectivos e ao mesmo tempo!
Útil para melhorar a eficiência da inferência
ex. cláusulas de Horn (PROLOG)
20
Propriedades da Inferência Lógica
Corretude
gera apenas sentenças válidas
Composicionalidade
o significado de uma sentença é função do de suas partes
Monotonicidade
Tudo que era verdade continua sendo depois de uma
inferência
Localidade
inferência apenas com comparações locais (porção da BC).
Localidade e composicionalidade ---> modularidade --->
reusabilidade e extensibilidade
21
Sistemas baseados em LPO
22
Sistemas baseados em LPO
Representando sentenças no mundo:
Pedro possui um cachorro.
Todo dono de cachorro é um protetor dos animais.
Nenhum protetor dos animais mata um animal.
Representando sentenças na Lógica:
x cachorro(x) possui(Pedro,x)
x y (cachorro(y) possui(x,y)) protetorAnimais(x)
x protetorAnimais(x) y animal(y) mata(x,y)
23
Sistemas baseados em LPO
Base de Conhecimento
fatos e regras básicos, gerais, permanentes
(x,z) Avó(x,z) (y) Mãe(x,y) (Mãe(y,z) Pai(y,z))
Memória de Trabalho
fatos particulares à instância do problema
Pai(Caetano,Zeca), Mãe(Canô, Caetano)
e fatos derivados
Avó(Canô, Zeca)
Máquina de Inferência
regras de inferência
24
Relembrando...
Raciocínio regressivo ou progressivo
Primeiros passos
1. Armazenar as regras da BC na máquina de
inferência (MI) e os fatos na memória de trabalho
(MT)
2. Adicionar os dados iniciais à memória de trabalho
25
Agentes baseados em LPO
função Agente-BC(percepção) retorna uma ação
Tell(MT, Percepções-Sentença(percepção,t))
ação Ask(MT, Pergunta-Ação(t))
Tell(MT, Ação-Sentença(ação,t))
t t+1
retorna ação
Onde...
MT – memória de trabalho
função Pergunta-Ação cria uma query como: a Ação(a,6)
função ASK devolve uma lista de instanciações:
{a / Pegar} - Pegar é atribuída à variável ação.
função TELL grava a ação escolhida na memória de trabalho.
26
Agentes baseados em LPO
Como a função ASK responde as queries
Quantificador : a resposta é booleana
ASK(BC, Irmã(Betânia,Caetano)) -> true
ASK(BC, x (Irmã(x,Caetano) Cantora(x))) -> false
Quantificador : a resposta é uma lista de
instanciações/substituições de variáveis - binding
ASK (BC, x Irmã(x,Caetano)) -> {x/Betânia,x/Irene}
ASK (BC, x (Irmã(x,Caetano) Cantora(x))) -> {x/Betânia}
27
Hipótese do Mundo Fechado
Tudo que não estiver presente na base é
considerado falso
Isto simplifica (reduz) a BC
Ex. Para dizer que a população dos países Nova
Zelândia, África do Sul, Irlanda e França gostam
do jogo Rugby, não precisa explicitamente dizer
que os outros não gostam...
28
Um Exemplo de Construção de BC
Do livro AIMA
29
Construindo uma BC
1) Decida sobre o que falar
2) Escolha o vocabulário de predicados, funções e
constantes (Ontologia do Domínio)
3) Codifique o conhecimento genérico sobre o domínio
(axiomas)
x,y,z Americano(x) Arma(y) Nação(z) Hostil(z)
Vende(x,z,y) Criminoso(x)
4) Codifique uma descrição de uma instância específica
do problema: Nação(Cuba), Nação(USA)
5) Proponha questões para o procedimento de inferência
e obtenha respostas: West é criminoso?
30
Um Exemplo: Circuitos Digitais
Objetivo:
determinar se o circuito está de acordo com sua
especificação (o circuito acima é um somador)
responder a perguntas sobre o valor da corrente em
qualquer ponto do circuito
31
Decida sobre o que falar
Para alcançar o objetivo, é relevante falar sobre
circuitos, terminais, sinais nos terminais, conexões entre
terminais
Para determinar quais serão esses sinais, precisamos
saber sobre:
portas e tipos de portas: AND, OR, XOR e NOT
Não é relevante falar sobre:
fios, caminhos dos fios, cor e tamanho dos fios, etc.
32
Decida qual vocabulário usar
Usado para nomear objetos e relações do
domínio com funções, predicados e constantes
constantes
distinguir as portas: X1, X2...
distinguir os tipos de porta: AND, OR, XOR...
funções e predicados
tipo de uma porta:
Tipo(X1) = XOR, Tipo(X1, XOR), XOR(X1)
indicar entradas e saídas:
Out(1, X1), In(1, X2)
indicar conectividade entre portas:
Conectado(Out(1, X1), In(1, X2))
33
Codifique regras genéricas
(1) Dois terminais conectados têm o mesmo sinal:
t1, t2 Conectado(t1, t2) Sinal(t1) = Sinal(t2)
(2) O sinal de um terminal é On ou Off (nunca ambos)
t Sinal(t) = On Sinal(t) = Off, On Off
(3) Conectado é um predicado comutativo
t1,t 2 Conectado(t1, t2) Conectado(t2, t1)
(4) Uma porta OR está On sse qualquer das suas
entradas está On:
g Tipo(g) = OR Sinal(Out(1,g)) = On
n Sinal(In(n,g))=On
34
Codifique a instância específica
Portas:
Tipo(X1) = XOR Tipo(X2) = XOR
Tipo(A1) = AND Tipo(A2) = AND
Tipo(O1) = OR
Conexões:
Conectado(Out(1,X1),In(1,X2))
Conectado(Out(1,X1),In(2,A2))
Conectado(Out(1,A2),In(1,O1)) . . .
35
Proponha questões ao mecanismo de
Inferência
Que entradas causam Out(1,C1) = Off e
Out(2, C1) = On?
i1, i2, i3 Sinal(In(1,C1)) = i1
Sinal(In(2,C1)) = i2 Sinal(In(3,C1)) = i3
Sinal(Out(1,C1)) = Off Sinal(Out(2,C1) = On
Resposta:
(i1 = On i2 = On i3 = Off)
(i1 = On i2 = Off i3 = On)
(i1 = Off i2 = On i3 = On)
36
Próxima aula
Entrega da 1ª lista
The End
37