Lógica de primeira ordemFirst 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
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, …
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í!!
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)))
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)
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
Modelos para FOL: Exemplo
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;
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
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
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.
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
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!
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”
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)
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) ...
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!)
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)
•
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)]
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?
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.
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;
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)
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 |=
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.
Exemplo: domínio de circuitos eletrônicos
Somador completo de um bit.
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)
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))
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))
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})
• Depurar a base de conhecimento
Pode ter havido algumas omissões como 1 0
Testar perguntas com respostas já conhecidas.
Top Related