32
Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Embed Size (px)

Citation preview

Page 1: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Lógica de primeira ordemFirst Order Logic (FoL)

Capítulo 8

Fundamentos da IA

Mestrado FEI

Page 2: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Lógica proposicional

é declarativa permite informação disjuntiva e/ou negada

– (ao contrario da maioria das estruturas de dados e base de dados)

é composicional:– o significado de B1,1 P1,2 é derivado do significado de B1,1 e P1,2

O significado das sentenças proposicionais é independente do contexto– (ao contrário da linguagem natural)

Possui um poder de expressão limitado– (ao contrário da linguagem natural)– E.g., "poços causam brisas em quadrados adjacentes”

• em LP: B1,1 <-> (P1,2 V P21) etc...– Uma sentença para cada quadrado

Page 3: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

FoL: compromisso ontológico

• A lógica proposicional assume mundos compostos somente por fatos,

• A lógica de primeira ordem (como a linguagem natural) assume mundos compostos por– Objetos: people, houses, numbers, colors,

baseball games, wars, …– Relações: red, round, prime, brother of, bigger

than, part of, comes between, …– Funções: father of, best friend, one more than,

plus, …

Page 4: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Sintaxe da FOL

• Constantes KingJohn, 2, NUS,...

• Predicados Brother, >,...

• Funções Sqrt, LeftLegOf,...

• Variáveis x, y, a, b,...

• Conectivos , , , , • Igualdade =

• Quantificadores ,

Símbolos para! Não são a coisa em sí!!

Page 5: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Sintaxe da LPO

Termos = função(term1,...,termn) ou constante ou variável

[referem-se a objetos]

Sentenças atômicas = predicado(term1,...,termn) ou term1 = term2

[enunciam fatos]

• E.g. sentença atômica,– Brother(KingJohn,RichardTheLionheart),

– > (Length(LeftLegOf(Richard)), Length(LeftLegOf(KingJohn)))

Page 6: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Sentenças Complexas

• Sentenças complexas são construídas de sentenças atômicas usando conectivos:

S, S1 S2, S1 S2, S1 S2, S1 S2,

E.g. Sibling(KingJohn,Richard) Sibling(Richard,KingJohn)

>(1,2) <(1,2)

>(1,2) >(1,2)

Page 7: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Semântica em lógica de primeira ordem

• A semântica deve relacionar sentenças a modelos a fim de determinar verdade. – Para isso precisamos de uma interpretação que especifique quais

objetos, relações e funções são referidos pelos símbolos de constantes, relações e funções.

• Interpretação é, portanto, um mapeamento entresímbolos de constantes --> objetossímbolos de predicados --> relaçõessímbolos de funções --> funções

• Uma sentença atômica predicate(term1,...,termn) é verdadeira sse os objetos relativos à term1,...,termn estão contidos na relação

relativa à predicate

Page 8: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Modelos para FOL: Exemplo

Page 9: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Interpretação

• Interpretação: especifica exatamente quais objetos, relações e funções são referidos pelos símbolos de constantes, predicados e funções;

Page 10: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Interpretação

• Interpretação pretendida para o exemplo:• Ricardo: Ricado coração de leão; Joao: rei João• Irmão: conjunto de tuplas:

– <Ricardo cor de leao, Rei João>, <Rei João, Ricardo Cor de leao>

• NaCabeça: relação Na cabeça, que é válida para coroa e rei Joao;

• Pessoa, Rei, Coroa: conjuntos de objetos• Perna esquerda: função “perna esquerda”, I.e.:

– <Ricardo cor de leao> -> perna esquerda de Ricardo– <Rei Joao> -> perna esquerda de Joao

Page 11: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Há várias outras interpretações possíveis

• E.g. Ricardo -> Coroa, Joao -> perna do rei joao• 5 objetos no modelos, portanto há 25

interpretações possíveis apenas para os símbolos Ricardo e Joao

• Confuso?• Em logica proposicional é possível uma interpretação tal que

ensolarado e nublado sejam verdade• Cabe a base de conhecimento eliminar modelos

inconsistentes com nosso conhecimento

Page 12: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Semântica em lógica de primeira ordem

• A verdade de qualquer sentença é determinada por um modelo e uma interpretação para os símbolos das sentenças. Então, consequência lógica, validade, etc são definidas em termos de todos os modelos possíveis e todas as interpretações possíveis.

• O n. de elementos pode ser ilimitado• N. de modelos ilimitado

– Verificação lógica pela enumeração de modelos não é uma opção.

Page 13: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Sintaxe:Quantificação Universal ()

<variáveis> <sentenças>

“Todos os reis são pessoas”:x Rei(x) Pessoa(x)

x P é verdade em um modelo m sse P é verdadeira em todas as interpretações estendidas. – Cada interpretação estendida especifica um elemento de

domínio ao qual x se refere

Page 14: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Semântica:Quantificação Universal ()

• i.e. a quantificação é equivalente à conjunção de instanciações de P

Rei(KingJohn) Pessoa(KingJohn) Rei(Richard) Pessoa(Richard)

Rei(Perna_esq._de_richard) Pessoa(Perna_esq._de_richard) Rei(Coroa) Pessoa(Coroa) ...{

São verdadeiras no modelo mas não trazemnenhuma informação, pois nenhuma das premissas são verdadeiras!

Page 15: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Equívoco comum

• Tipicamente, é o principal conectivo para ser usado com

• Equívoco comum: usar como o principal conectivo com :x Rei(x) Pessoa(x)

i.e. “Todos são reis e todos são pessoas”

Page 16: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Sintaxe:Quantificação existencial

<variáveis> <sentenças>– declaração sobre algum objeto sem nomeá-lo

• “Existe uma coroa na cabeça do rei John”: x Coroa(x) NaCabeça(x, John)

Page 17: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Semântica:Quantificação existencial

x P é verdade em um modelo m sse P é verdade sendo x algum objeto possível no modelo;

• Informalmente, é equivalente à disjunção de instanciações de P

Coroa(John) NaCabeça(John, John) Coroa(Richard) NaCabeça(Richar, John) Coroa(Crown) NaCabeça(Crown, John) ...

Page 18: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Outro equívoco comum...

• Tipicamente, é o principal conectivo para

• Equívoco: usar como o principal conectivo com :

x Coroa(x) NaCabeça(x, João)

é verdadeira se x não for coroa (como x diz que existe pelo menos um, a sentença ser verdadeira para um outro objeto que não seja coroa torna esta sentença completamente irrelevante!)

Page 19: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Propriedades dos quantificadores

x y é o mesmo que y x x y é o mesmo que y x

x y não é o mesmo que y x x y Loves(x,y)

– “há uma pessoa que ama todas as outras no mundo” y x Loves(x,y)

– “todo mundo é amado por alguem”

• Dualidade de quantificadores: são complementares: x Likes(x,IceCream) x Likes(x,IceCream) x Likes(x,Broccoli) x Likes(x,Broccoli)

Page 20: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Igualdade

• term1 = term2 é verdade em uma interpretação se e somente se term1 e term2 referem ao mesmo objeto.

• E.g., definição de Irmão em termos de Genitor:x,y Irmão(x,y) [(x = y) m,f (m = f)

Genitor(m,x) Genitor(f,x) Genitor(m,y) Genitor(f,y)]

Page 21: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Usando FOL

Domínio de parentesco:• mãe é um ancestral feminino de alguém

m,c Mãe(c) = m (Feminino(m) Ancestral(m,c))– Esta regra não restringe os modelos

corretamente, por que? (este é um erro comum em engenharia de conhecimento)

• “irmão” é simétricox,y irmão(x,y) irmão(y,x)

• “um avô é genitor de alguém que é pai” x,y Avô(x,y) p Pai(p,x) Genitor(p,y)– Onde está o erro?

Page 22: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Usando FOL

Domínio de parentesco:

x,y Avô(x,y) p Pai(p,x) Genitor(p,y)

Outro erro comum: a ordem do argumento é inconsistente com oconceito a ser definido.

Page 23: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Axiomas e teoremas

• Cada sentença anterior é um axioma do domínio de parentesco;– utiliza-se um conjunto básico de predicados

segundo os quais outros podem ser definidos a partir de axiomas.

• Um conjunto de axiomas é uma teoria lógica• Fórmulas que são consequência lógica de

um conjunto de axiomas são teoremas desta teoria;

Page 24: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Usando FOL

Teoria de conjuntos: s Set(s) (s = {} ) (x,s2 Set(s2) s = {x|s2}) x,s {x|s} = {} x,s x s s = {x|s} x,s x s [ y,s2} (s = {y|s2} (x = y x s2))] s1,s2 s1 s2 (x x s1 x s2) s1,s2 (s1 = s2) (s1 s2 s2 s1) x,s1,s2 x (s1 s2) (x s1 x s2) x,s1,s2 x (s1 s2) (x s1 x s2)

Page 25: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

FOL para Base de Conhecimento

• Suponha que um agente no mundo de wumpus, usando uma BC em FOL, detecta um fedor e uma brisa (mas não brilho) em t=5:

Tell(BC,Percept([Smell,Breeze,None],5))Ask(BC,a BestAction(a,5))

• I.e., A BC deduz a melhor ação em t=5?

• Resposta: Yes, {a/Shoot} substituição (lista de atribuição)

• Dada uma sentença S e uma substituição , S denota o resultado da substituição de em S; e.g.,

S = Smarter(x,y) = {x/Hillary,y/Bill} S = Smarter(Hillary,Bill)

• Ask(BC,S) retorna algum/todo tal que KB |=

Page 26: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Engenharia de conhecimento em FOL

1. Identificar uma tarefa;2. Agregar conhecimento relevante;3. Definir um vocabulário de predicados, funções, e

constantes (ontologia);4. Codificar o conhecimento geral sobre o domínio;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.

Page 27: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Exemplo: domínio de circuitos eletrônicos

Somador completo de um bit.

Page 28: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Domínio de circuitos eletrônicos

1. Identificar a tarefa– O circuito adiciona de maneira correta? (verificação

do circuito)

• Agregar conhecimento relevante; – Composto de cabos e portas; Tipos de portas (AND,

OR, XOR, NOT)– Irrelevante: tamanho, forma, cor, ...

• Decidir um vocabulário– Alternativas:

Type(X1) = XORType(X1, XOR)XOR(X1)

Page 29: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Domínio de circuitos eletrônicos

4. Codificar o conhecimento geral sobre o domínio t1,t2 Connected(t1, t2) Signal(t1) = Signal(t2) t Signal(t) = 1 Signal(t) = 0– 1 ≠ 0 t1,t2 Connected(t1, t2) Connected(t2, t1) g Type(g) = OR Signal(Out(1,g)) = 1 n

Signal(In(n,g)) = 1 g Type(g) = AND Signal(Out(1,g)) = 0 n

Signal(In(n,g)) = 0 g Type(g) = XOR Signal(Out(1,g)) = 1

Signal(In(1,g)) ≠ Signal(In(2,g)) g Type(g) = NOT Signal(Out(1,g)) ≠ Signal(In(1,g))

Page 30: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Domínio de circuitos eletrônicos

5. Codificar uma descrição da instância específica do problema

Type(X1) = XOR Type(X2) = XOR

Type(A1) = AND Type(A2) = AND

Type(O1) = OR

Connected(Out(1,X1),In(1,X2)) Connected(In(1,C1),In(1,X1))

Connected(Out(1,X1),In(2,A2)) Connected(In(1,C1),In(1,A1))

Connected(Out(1,A2),In(1,O1)) Connected(In(2,C1),In(2,X1))

Connected(Out(1,A1),In(2,O1)) Connected(In(2,C1),In(2,A1))

Connected(Out(1,X2),Out(1,C1)) Connected(In(3,C1),In(2,X2))

Connected(Out(1,O1),Out(2,C1)) Connected(In(3,C1),In(1,A2))

Page 31: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

Domínio de circuitos eletrônicos

6. Formular consultas ao procedimento de inferência e obter respostas;

– Que combinações de entradas fariam a primeira saida de C1 (o bit de soma) ser 0 e a sengunda saida de C1 (o bit e transporte) ser 1?

i1,i2,i3,o1,o2 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: conjunto de substituições para i1, i2 e i3 (ex. {i1/1, i2/1, i3/0})

Page 32: Lógica de primeira ordem First Order Logic (FoL) Capítulo 8 Fundamentos da IA Mestrado FEI

• Depurar a base de conhecimento

Pode ter havido algumas omissões como 1 0

Testar perguntas com respostas já conhecidas.