Lógica de primeira ordem First Order Logic (FOL)

Documentos relacionados
INF 1771 Inteligência Artificial

Aula 08 Lógica de primeira ordem

Lógica de Primeira Ordem. Capítulo 8

Lógica de Primeira Ordem. Capítulo 8

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros

Lógica de Primeira Ordem. Capítulo 8

Sistemas Inteligentes

INF 1771 Inteligência Artificial

Capítulo 7 - Agentes lógicos (Agentes baseados em Conhecimento)

Retomada aula. Introdução sobre Inteligência Artificial Abordagem sobre Agentes Resolução de problemas estratégias de busca - apresentação trabalhos

Lógica de Primeira Ordem. Capítulo 9

5 - Lógica Matemática Representação e Inferência

INF 1771 Inteligência Artificial

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente

Lógica proposicional

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

Lógica de primeira ordem (Capítulo 8 - Russell) Inteligência Artificial

INF 1771 Inteligência Artificial

Agentes Lógicos. Os agentes baseados no conhecimento:

MAC425/5739 Inteligência Artificial 6. Agentes lógicos

Conhecimento e Raciocínio Lógica Proposicional

Os Fundamentos: Lógica de Predicados

Aula 2: Linguagem Proposicional

Lógicas de Descrição Visão Geral

Lógica de Descrições Visão Geral

1 Lógica de primeira ordem

Cálculo proposicional

INF 1771 Inteligência Artificial

Descrição do Mundo de Wumpus. Inteligência Artificial

Lógica. Professor Mauro Cesar Scheer

2 Lógica Fuzzy. 2 Lógica Fuzzy. Sintaxe da linguagem

MD Lógica de Proposições Quantificadas Cálculo de Predicados 1

Fundamentos de Lógica Matemática

Como primeira e indispensável parte da Lógica Matemática temos o Cálculo Proporcional ou Cálculo Sentencial ou ainda Cálculo das Sentenças.

Sistemas Baseados em Conhecimento (Sistemas Especialistas) Profa. Dra. Sarajane Marques Peres

A linguagem da Lógica de Predicados. (Capítulo 8) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Fundamentos 1. Lógica de Predicados

Lógica Computacional

Lógica e prova de resolução Marco Henrique Terra

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

2 AULA. Conectivos e Quantificadores. lógicas. LIVRO. META: Introduzir os conectivos e quantificadores

Linguagens Lógicas. Aluno: Victor Rocha

Apresentação do curso

Capítulo 3 Lógica de Primeira Ordem

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Lógica Computacional

Lógica Proposicional Parte 2

Agentes que Raciocinam Logicamente. Prof. Júlio Cesar Nievola PPGIA PUC-PR

Para Computação. Aula de Monitoria - Miniprova

Lógica. Fernando Fontes. Universidade do Minho. Fernando Fontes (Universidade do Minho) Lógica 1 / 65

A Lógica de Primeira Ordem

Introdução à Lógica Matemática

Ao utilizarmos os dados do problema para chegarmos a uma conclusão, estamos usando o raciocínio lógico.

Introdução à Logica Computacional. Aula: Lógica Proposicional -Sintaxe e Representação

Matemática discreta e Lógica Matemática

Matemática Régis Cortes. Lógica matemática

impossível conclusão falso premissas verdadeiro

Andamento da apresentação

Bases Matemáticas. Aula 1 Elementos de Lógica e Linguagem Matemática. Prof. Rodrigo Hausen. 24 de junho de 2014

IME, UFF 4 de novembro de 2013

Cálculo proposicional

Aula 12: Lógica de Predicados

Lógica para computação - Linguagem da Lógica de Predicados

INF1009.3WB: Lógica para computação

Uma proposição é uma frase que pode ser apenas verdadeira ou falsa. Exemplos:

Lógica. Cálculo Proposicional. Introdução

SCC Capítulo 2 Lógica de Predicados

INF 1771 Inteligência Artificial

Aula 7: Dedução Natural 2

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

MÓDULO II - PARTE II LÓGICA DOS PREDICADOS

Lógica predicados. Lógica predicados (continuação)

Lógica Computacional

Introdução à Lógica Proposicional Sintaxe

Apresentação do curso

01/09/2014. Capítulo 1. A linguagem da Lógica Proposicional

COMO LER NOTAÇÃO LÓGICA

Para provar uma implicação se p, então q, é suficiente fazer o seguinte:

Lógica Computacional (CC2003)

Lógica Proposicional

Agentes Baseados em Conhecimento

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO

Lógica Formal. Matemática Discreta. Prof Marcelo Maraschin de Souza

Prof. A. G. Silva. 08 de agosto de Prof. A. G. Silva Programação em Lógica 08 de agosto de / 41

Métodos de Verificação

Agentes Lógicos. Capítulo 7 (online)

Lógica e Metodologia Jurídica

Unidade II. A notação de que a proposição P (p, q, r,...) implica a proposição Q (p, q, r,...) por:

Introdução à Lógica de Predicados

JOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa

Matemática para Ciência de Computadores

Interpretações, cap. 8 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12

Quantificadores, Predicados e Validade

Lógica Computacional

Transcrição:

Lógica de primeira ordem First Order Logic (FOL)

Prós e Contras da Lógica Proposicional É declarativa: partes da sintaxe correspondem a fatos Permite informação disjuntiva e/ou negada (a diferença da maioria das estruturas de dados e base de dados) É composicional: Isto é, o significado de (B 1,1 P 1,2 ) é derivado do significado de B 1,1 e de P 1,2

Prós e Contras da Lógica Proposicional 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) Exemplo: "poços causam brisas em quadrados adjacentes Em Lógica Proposicional: B1,1 <-> (P1,2 V P2,1) B1,2 <-> (P1,1 V P1,3 V P2,2) etc... Isto é, uma sentença para cada quadrado

Lógica de Primeira Ordem (FOL) A Lógica proposicional (LP) identifica os mundos como se forem compostos somente por fatos. A Lógica de primeira ordem, mais próxima da linguagem natural, identifica os mundos composto por: Objetos: pessoas; casas; números; cores; jogos; guerras; Relações: podem ser unárias ou propriedades, tais como, primo; vermelho; falso;...ou relações n-árias tais como, mais alto que; parte de; fica entre; Funções: pai de; melhor amigo de; uma unidade maior; fim de,

Lógica de Primeira Ordem (FOL) Exemplo de afirmação e identificação de objetos e propriedades ou relações: Um mais dois é igual a três. Objetos: um, dois, três, um mais dois. Relação: é igual a. Função: mais. Observação: Um mais dois é um nome para o objeto obtido pela aplicação da função mais aos objetos um e dois. Três é outro nome para esse objeto.

Lógica de Primeira Ordem (FOL) A FOL se diferencia da Lógica proposicional no compromisso ontológico, isto é, o que é pressuposto sobre a natureza do mundo em questão. A LP pressupõe que: Há fatos que são válidos (V) ou não válidos (F) no mundo. Cada fato deve se encontrar em um desses estados, Cada modelo determina V ou F para cada símbolo de proposição.

Lógica de Primeira Ordem (FOL) A FOL pressupõe mais do que isso: O mundo consiste em objetos com certas relações entre eles que são ou não válidas. Os modelos formais são correspondentemente mais complicados que os da lógica proposicional. Há Lógicas com propósitos especiais e criam ainda outros compromissos ontológicos, dentre elas tem-se: Lógica temporal, Teoria da probabilidade e Lógica fuzzy.

Lógicas em geral Linguagem Ontologia (O que existe no mundo) Crença de um agente sobre os fatos Lógica proposicional Fatos V / F / desconhecido Lógica de Primeira Ordem - FOL Lógica temporal Fatos, objetos, relações Fatos, objetos, relações, tempo V / F / desconhecido V / F / desconhecido Teoria da probabilidade Fatos Graus de crença [0,1] Lógica Fuzzy Fatos com graus de verdade entre [0,1] Valor conhecido

Modelos para FOL Modelos de uma linguagem lógica são as estruturas formais que constituem os mundos possíveis sob consideração. Modelos da LP ligam símbolos de proposição com valores verdade predefinidos. Modelos da FOL contém objetos. O domínio de um modelo é o conjunto de objetos ou elementos do domínio que ele contém. Não importa o que são esses objetos, o que importa é quantos objetos há em cada modelo.

Modelos para FOL: Exemplo

Modelos para FOL: Exemplo Objetos(5): Ricardo; João; Perna Esquerda de Ricardo; Perna Esquerda de João; Coroa. Relações*: Binária, por exemplo Irmão seria o conjunto: {(Ricardo, João), (João, Ricardo)} Unária, por exemplo Pessoa seria o conjunto: {(Ricardo), (João)} * Predicados

Modelos para FOL: Exemplo Relação como Função - Determinado objeto deve estar relacionado a exatamente um objeto. Cada pessoa tem uma perna esquerda, assim a função unária perna esquerda tem os seguintes mapeamentos: (Ricardo) Perna Esquerda de Ricardo (João) Perna Esquerda de João

Sintaxe da FOL

Sintaxe da FOL Sentenças Atômicas: Estudante(Luiz) Irmão(João, Ricardo), > (Comprimento(PernaEsquerdade(Ricardo)), Comprimento (PernaEsquerdade(João)))

Sintaxe da FOL Sentenças Complexas incluem operadores lógicos, quantificadores e variáveis: Estudante(Luiz) Maisvelho(Luiz, Leo) x (Rei(x) Pessoa(x)) Irmãos(João,Ricardo) Irmãos(Ricardo,João) >(1,2) <(1,2) >(1,2) >(1,2)

Sintaxe da FOL Termo é uma expressão lógica que se refere a um objeto que podem ser expressos como: Constante, símbolos de constante são termos: Ricardo, João, Perna Esquerda do João (ao invés de dar um nome à perna)

Sintaxe da FOL Função(termo 1,...,termo n ), os argumentos de uma função são termos, por exemplo, uma constante pode ser substituída por uma função: PernaEsquerdade(João) Variáveis também são termos: x, y, a,...

Semântica em FOL Na LP, cada modelo deve fornecer a informação necessária para determinar se uma sentença dada é verdadeira ou falsa, Na FOL, cada modelo inclui uma interpretação que especifique exatamente quais objetos, relações e funções são referidos pelos símbolos de constantes, predicados e funções.

Semântica em FOL Uma interpretação possível para o exemplo (interpretação pretendida): Ricardo se refere a Ricado Coração de Leão Joao se refere a rei João Irmão se refere à relação de parentesco expressa pelo conjunto de tuplas: <Ricardo, João>, <João, Ricardo> NaCabeça se refere à relação: (coroa, rei Joao) Pessoa, Rei e Coroa se referem aos objetos: Pessoa, rei e coroa PernaEsquerdade se refere à função perna esquerda : <Ricardo> -> perna esquerda de Ricardo <Joao> -> perna esquerda de Joao

Semântica em FOL Há 5 objetos no modelo exemplo, portanto há 25 interpretações possíveis apenas para os símbolos de constantes Ricardo e João; Existe uma interpretação sob a qual tanto Ricardo quanto João referem à Coroa, isto não é verdade, mas; Na LP também é possível uma interpretação tal que ensolarado e nublado sejam verdade ao mesmo tempo, o que não seria verdade, assim; Cabe a base de conhecimento eliminar modelos inconsistentes com nosso conhecimento.

Semântica em FOL Um modelo na FOL consiste em: Um conjunto de objetos e Uma interpretação que mapeia: de símbolos de constantes a objetos, de símbolos de predicados às relações sobre esses objetos, de símbolos de função às funções desses objetos. Na FOL a consequência lógica e a validade são definidas em termos de todos os modelos possíveis. Mas, o número de modelos possíveis pode ser ilimitado, assim, verificar consequência lógica pela enumeração de modelos não é uma opção.

Quantificação Universal ( ) <variáveis> <sentenças> Todos os reis são pessoas : x Rei(x) Pessoa(x) A sentença x P, afirma que P é verdadeira para todo objeto x. x P é verdadeira em dado modelo se P é verdadeira em todas as interpretações estendidas possíveis construídas a partir da interpretação dada ao modelo, em que cada interpretação estendida especifica um elemento de domínio ao qual x se refere.

Quantificação Universal ( ) No modelo exemplo pode-se estender a interpretação de cinco maneiras: Rei(João) Pessoa(João) Rei(Ricardo) Pessoa(Ricardo) Rei(Perna Esquerda de Ricardo) Pessoa(Perna Esquerda de Ricardo) Rei(Perna Esquerda de João) Pessoa(Perna Esquerda de João) Rei(Coroa) Pessoa(Coroa). Afirma-se a conclusão da regra apenas para os objetos para os quais a premissa é verdadeira, e não dizendo absolutamente nada sobre os indivíduos para os quais a premissa é falsa. Assim, a definição de da tabela-verdade se mostra perfeita para a escrita de regras gerais com quantificadores universais.

Equívoco comum Tipicamente, é o principal conectivo para ser usado com Equívoco comum: usar como o principal conectivo com : Seria equivalente a afirmar: x Rei(x) Pessoa(x) Ricardo Coração de Leão é um rei Ricardo Coração de Leão é uma pessoa Rei João é um rei Rei João é uma pessoa A perna esquerda de Ricardo é um rei A perna esquerda de Ricardo é uma pessoa,... É óbvio que isso não capta o que queremos.

Quantificação existencial ( ) <variáveis> <sentenças> declaração sobre algum objeto sem nomeá-lo Existe uma coroa na cabeça do rei João : x Coroa(x) NaCabeça(x, João) A sentença x P afirma que P é verdadeira para pelo menos um objeto x. x P é verdadeira em dado modelo sob dada interpretação se P é verdadeira em pelo menos uma interpretação estendida que atribua x a um elemento de domínio.

Quantificação existencial ( ) No modelo exemplo pelo menos uma das afirmações a seguir deve ser verdadeira : Coroa(João) NaCabeça(João,João) Coroa(Ricardo) NaCabeça(Ricardo,João) Coroa(Coroa) NaCabeça(Coroa,João) Coroa(Perna Esquerda de Ricardo) NaCabeça(Perna Esquerda de Ricardo, João)... A terceira afirmação é verdadeira no modelo e, assim, a sentença existencialmente quantificada original é verdadeira no modelo. Da mesma maneira que parece ser o conectivo natural a usar com, é o conectivo natural a usar com.

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) Seria equivalente a afirmar: Ricardo Coração de Leão é uma coroa Ricardo Coração de Leão está na cabeça de João; Rei João é uma coroa Rei João está na cabeça de João; e assim por diante. A implicação é verdadeira com premissa falsa, e, a sentença tendo premissa falsa será verdadeira para qualquer objeto que não seja coroa tornando a 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 Ama(x,y) há uma pessoa que ama todas as outras no mundo y x Ama(x,y) todo mundo é amado por alguem Dualidade de quantificadores: cada um pode ser representado usando o outro: x Gosta(x, Sorvete) x Gosta(x,Sorvete) x Gosta(x,Brócoli) x Gosta(x,Brócoli)

Expressões em FOL

Igualdade term 1 = term 2 é verdade em uma interpretação se e somente se term 1 e term 2 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)]

Asserções e consultas em FOL As sentenças são adicionadas a uma base de conhecimento usando-se TELL, exatamente como na lógica proposicional. Tais sentenças são chamadas asserções. Por exemplo, podemos afirmar que João é um rei, Ricardo é uma pessoa e que reis são pessoas: TELL(BC, Rei(João)). TELL(BC, Pessoa(Ricardo)). TELL(BC, x Rei(x) Pessoa(x)).

Asserções e consultas em FOL Podemos formular perguntas sobre a base de conhecimento utilizando ASK. Por exemplo, ASK(BC, Rei(João)) Retorna verdadeiro. Perguntas formuladas com o uso de ASK são chamadas consultas ou metas

Asserções e consultas em FOL Em consultas quantificadas, como: ASK(BC, x Pessoa(x)). A resposta é verdadeira, mas, para saber que valor de x torna a sentença verdadeira, precisamos de uma função diferente, ASKVARS: ASKVARS (BC, Pessoa (x)) E produz um fluxo de respostas: {x/ João} e {x/ Ricardo} Tal resposta é chamada de substituição ou lista de vinculação. ASKVARS é reservado para bases de conhecimento constituídas exclusivamente por cláusulas de Horn.

O domínio de parentesco Considerar o domínio de relacionamentos familiares ou de parentesco. O domínio inclui fatos como Elizabeth é a mãe de Charles e Charles é o pai de William, e regras como a avó de uma pessoa é a mãe do pai ou da mãe de uma pessoa. Os objetos no domínio são pessoas. Predicados unários: Masculino e Feminino.

O domínio de parentesco Relações de parentesco: paternidade, fraternidade, casamento serão representadas por predicados binários: PaiOuMãe, IrmãoOuIrmã, Irmão, Irmã, FilhaOuFilho, Filha, Filho, Cônjuge, Esposa, Marido, AvôOuAvó, NetoOuNeta, Primo, Tia e Tio.

O domínio de parentesco Usaremos funções para representar Mãe e Pai. Cada função e predicado usa termos dos outros símbolos. Por exemplo: A mãe de alguém é o pai ou mãe feminino deste alguém: m, c Mãe(c) = m Feminino(m) PaiOuMãe(m, c).

O domínio de parentesco O marido de alguém é o cônjuge masculino de alguém: w, h Marido(h, w) Masculino(h) Cônjuge(h, w). PaiOuMãe e FilhoOuFilha são relações inversas: p, c PaiOuMãe(p, c) FilhoOuFilha(c, p). Masculino e feminino são categorias disjuntas: x Masculino(x) Feminino(x). Um Avô ou avó é pai ou mãe do pai ou da mãe de alguém: g, c AvôOuAvó(g, c) p PaiOuMãe(g, p) PaiOuMãe(p, c).

Axiomas e teoremas Cada sentença anterior é um axioma do domínio de parentesco; Os axiomas fornecem as informações factuais básicas a partir das quais podem ser derivadas conclusões úteis. 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,s 2 Set(s 2 ) s = {x s 2 }) x,s {x s} = {} x,s x s s = {x s} x,s x s [ y,s 2 } (s = {y s 2 } (x = y x s 2 ))] s 1,s 2 s 1 s 2 ( x x s 1 x s 2 ) s 1,s 2 (s 1 = s 2 ) (s 1 s 2 s 2 s 1 ) x,s 1,s 2 x (s 1 s 2 ) (x s 1 x s 2 ) x,s 1,s 2 x (s 1 s 2 ) (x s 1 x s 2 )

O mundo de Wumpus Suponha uma sentença de percepções para o agente no mundo de wumpus, usando uma BC em FOL em t=5 (inteiros como instantes temporais) : Percepção([Fedor, Brisa, Brilho, Nenhum, Nenhum], 5). As ações no mundo de wumpus: Virar(Direita), Virar(Esquerda), Avançar, Atirar, Agarrar, Soltar, Escalar. Para determinar o que é melhor, o programa do agente constrói uma consulta como: ASKVARS ( a MelhorAção(a, 5)), Que retorna uma lista de vinculação como {a/agarrar}. O programa do agente pode então retornar Agarrar como a ação a executar.

O mundo de Wumpus Os dados brutos da percepção implicam fatos sobre o estado atual. Por exemplo: t, s, g, m, c Percepção([s, Brisa, g, m, c], t) Brisa (t), t, s, b, m, c Percepção([s, b, Brilho, m, c], t) Brilho(t), Essas regras exibem uma forma trivial do processo de raciocínio chamado percepção. Note a quantificação sobre o tempo t, em LP, precisaríamos de cópias de cada sentença para cada instante de tempo. O comportamento reativo simples também pode ser implementado por sentenças de implicação quantificadas. Por exemplo: t Brilho(t) MelhorAção(Agarrar, t).

FOL para Base de Conhecimento Em geral: Dada uma sentença S e uma substituição, S representa o resultado da substituição de em S. Por exemplo: S = Smarter(x,y) = {x/hillary,y/bill} S = Smarter(Hillary,Bill) Ask(BC,S) retorna algum/todo tal que BC =

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.