Estudo Guiado 06 - Lógica de Primeira Ordem e Inferência
Objetivo
Ao concluir este estudo, você deve ser capaz de representar conhecimento em Lógica de Primeira Ordem (LPO), interpretar quantificadores, aplicar substituições, verificar unificações e explicar como encadeamento direto e reverso produzem inferências.
1. Pré-requisitos
Antes de começar, confirme que você consegue explicar:
- sintaxe e semântica;
- modelos e consequência lógica;
- base de conhecimento;
- inferência;
- lógica proposicional;
- resolução por refutação.
2. Pergunta central
Como representar regras gerais sobre objetos e relações e usá-las para responder consultas específicas?
3. Da lógica proposicional para LPO
Considere:
Humano_Socrates
Mortal_Socrates
Humano_Platao
Mortal_Platao
Reescreva esse conhecimento usando predicados, constantes e uma regra universal.
Depois responda:
- O que foi generalizado?
- Qual informação estrutural aparece na LPO?
- Por que essa representação escala melhor?
4. Componentes da linguagem
Em cada expressão, identifique constantes, variáveis, funções e predicados:
Humano(Socrates)
Conhece(x, Ada)
PaiDe(x)
MaiorQue(Idade(x), 18)
5. Quantificadores
Explique a diferença semântica entre:
∀x Humano(x) → Mortal(x)
∃x Humano(x) ∧ Professor(x)
Compare também:
∀x (Professor(x) → Pesquisa(x))
∀x (Professor(x) ∧ Pesquisa(x))
Por que não são equivalentes?
6. Escopo e variáveis
Indique quais variáveis estão livres ou ligadas:
∀x Humano(x)
Humano(x) → Mortal(x)
∀x Conhece(x,y)
∃y ∀x Conhece(x,y)
7. Instanciação universal e existencial
Explique, com suas palavras, a diferença entre IU e IE. Em seguida, instancie:
∀x (King(x) → Person(x))
para John, e explique por que uma instanciação existencial deve introduzir uma constante nova.
8. Substituição
Aplique θ = {x/Socrates} em:
Humano(x) → Mortal(x)
Aplique θ = {x/Ada, y/Turing} em:
Conhece(x,y)
Explique por que uma substituição precisa ser consistente.
9. Unificação
Determine se os pares unificam. Quando possível, apresente uma substituição.
Humano(x)eHumano(Socrates)Conhece(x,Ada)eConhece(Tiago,y)Conhece(x,Ada)eConhece(Tiago,Turing)P(x,x)eP(Ada,Turing)P(x,y)eP(y,x)
10. UMG
Explique por que o unificador mais geral é preferível a uma substituição mais específica que também funcione.
11. Padronização à parte e teste de ocorrência
- Por que duas regras diferentes podem reutilizar o mesmo nome de variável sem representar a mesma variável lógica?
- O que a padronização à parte evita?
- Por que
P(x)eP(f(x))devem falhar no teste de ocorrência?
12. Modus Ponens Generalizado
Considere:
1. ∀x Humano(x) → Mortal(x)
2. Humano(Socrates)
Responda:
- Qual regra será instanciada?
- Qual substituição é necessária?
- Qual conclusão é produzida?
Agora repita para:
1. ∀x ∀y (Pai(x,y) → Ancestral(x,y))
2. Pai(Ada,Bia)
13. Cláusulas definidas e caso West
Explique por que cláusulas definidas são adequadas para encadeamento. Depois, usando o caso West apresentado na aula, identifique quais fatos precisam sustentar a conclusão Criminal(West).
14. Encadeamento direto
Considere a KB:
Humano(Socrates)
Humano(Platao)
∀x Humano(x) → Mortal(x)
∀x Mortal(x) → PrecisaRespirar(x)
Liste os fatos novos que podem ser adicionados por encadeamento direto.
Depois responda: quando o procedimento pode parar?
15. Encadeamento reverso
Usando a mesma KB, tente provar:
PrecisaRespirar(Socrates)
Mostre a sequência:
meta
→ regra que conclui a meta
→ submeta
→ nova regra
→ fato conhecido
16. Retrocesso e comparação
| Critério | Encadeamento direto | Encadeamento reverso |
|---|---|---|
| começa por | ||
| orientação | ||
| produz | ||
| pode explorar informação irrelevante? | ||
| relação com consultas |
Explique como o retrocesso (backtracking) aparece quando uma submeta pode ser provada por mais de uma regra ou fato.
17. Resolução em LPO
Organize conceitualmente as etapas: negar a consulta, converter para FNC, padronizar variáveis, Skolemizar existenciais, unificar literais complementares e aplicar resolução. Explique o significado da cláusula vazia.
18. Wumpus em LPO
Proponha uma representação em LPO para:
- casas podem ser adjacentes;
- se existe poço em uma casa adjacente, há brisa;
- uma casa sem poço e sem Wumpus é segura.
Explique por que a LPO evita repetir uma regra diferente para cada coordenada.
19. Use as visualizações
Na visualização de unificação, registre:
- expressões de entrada;
- substituição construída;
- ponto de sucesso ou falha;
- MGU resultante quando existir.
Na visualização de inferência, compare uma execução orientada por dados com uma orientada por meta e descreva a diferença na ordem das decisões.
20. Erros conceituais a evitar
Explique por que cada afirmação está errada ou incompleta:
- "Toda variável precisa ser substituída por uma constante.";
- "Se dois predicados têm o mesmo nome, sempre unificam.";
- "O quantificador existencial prova qual objeto existe.";
- "Encadeamento reverso começa pelos fatos.";
- "Unificação e inferência são a mesma operação."
Autoavaliação
- [ ] Diferencio constantes, variáveis, funções e predicados.
- [ ] Interpreto quantificadores universal e existencial.
- [ ] Identifico escopo e variáveis livres/ligadas.
- [ ] Aplico substituições.
- [ ] Testo unificações simples.
- [ ] Entendo o significado de UMG/MGU.
- [ ] Diferencio IU e IE.
- [ ] Reconheço padronização à parte e teste de ocorrência.
- [ ] Entendo cláusulas definidas e o caso West.
- [ ] Explico o papel do retrocesso.
- [ ] Aplico o Modus Ponens Generalizado.
- [ ] Diferencio encadeamento direto e reverso.
- [ ] Relaciono a inferência em LPO com busca.
- [ ] Descrevo conceitualmente FNC, Skolemização e resolução em LPO.
- [ ] Entendo por que este conteúdo prepara o estudo de Prolog.