Diferenças entre fatos básicos, complexos e terminológicos em uma Base de Conhecimento usando Lógica de Primeira Ordem

7

Eu tenho lido o excelente livro Representação e Raciocínio do Conhecimento, de Ronald Brachman e Hector Levesque.

No início da Seção 3.2 "Vocabulário" do Capítulo 3 "Expressando conhecimento", eles afirmam:

Ao criar uma KB (Base de Conhecimento), é uma boa idéia começar com o conjunto de predicados e funções dependentes do domínio que fornecem a base para os fatos sobre o domínio da KB.

Na mesma seção, esses fatos são separados em três categorias:

  • Fatos básicos
  • Fatos complexos
  • Fatos terminológicos

Depois de ler o capítulo inteiro, não consegui entender completamente as diferenças entre esses tipos de fatos.

Alguém pode me ajudar a entender as diferenças nesses conceitos?

Paulo Tomé
fonte

Respostas:

7

No §3.2, eles distinguem entre as quatro categorias gramaticais a seguir, com alguns exemplos:

Predicados: Mulher, Rico, Bonito, Falido
Relações: LivesAt, HadAnAffairWith, Loves
Funções: fatherOf, bestFriendOf, ceoOf
Constantes individuais: maryJones, johnQSmith, tomsHouse

No fundo, eles têm lógica de primeira ordem com identidade, o que significa que permitem quantificar apenas sobre variáveis individuais . Dentro desse mecanismo, nos §§ 3.3–5, eles introduzem os três tipos de fatos.

Fatos básicos são as sentenças atômicas e suas negações .

As sentenças atômicas são aquelas que são constituídas por:

  1. um [predicado] + um [indivíduo]. Por exemplo: Mulher (maryJones)
  2. uma n-ária [relação] + n [indivíduo] s. Por exemplo: Ama (maryJones, tomsHouse)
  3. um [indivíduo] + "=" + um [indivíduo]. Por exemplo: maryJones = marySmith

Observe que funções aplicadas a constantes individuais também denotam indivíduos (por exemplo, fatherOf (maryJones) é algum indivíduo), é por isso que as cláusulas (1–3) incluem a palavra 'individual' em vez de 'constante individual', de modo a permitir também expressões funcionais denotando indivíduos. As negações de sentenças atômicas são definidas da seguinte forma: uma sentença ¬S é uma negação de uma sentença atômica se S for uma sentença atômica.

Fatos complexos são os fatos básicos fechados em conectivos e quantificadores booleanos .

Essa é apenas uma maneira elegante de dizer que: (i) fatos básicos são fatos complexos e (ii) se φ e ψ são fatos complexos, então ¬φ, (φ ∧ ψ), (φ ∨ ψ), (φ → ψ ) e ∀xφ também são fatos complexos. Eles dão o seguinte exemplo de um fato complexo na p. 34: ∀y [Rico (y) ∧ Homem (y) → Ama (y, jane)] (todo homem rico ama Jane).

Cuidado com isso na p. 36 eles listam frases como "jane ¬ = john" entre os fatos complexos, sugerindo que eles são não fatos básicos. Mas eles são. Eu suspeito que é por isso que você está tendo dificuldade em perceber a diferença entre os tipos. Pela definição de fatos básicos (veja acima), frases como "jane ¬ = john" são consideradas básicas, porque são negações de sentenças atômicas como "jane = john".

Fatos terminológicos são fatos complexos considerados axiomaticamente ou definicionalmente verdadeiros.

Um termo melhor para eles seria "fatos de definição" ou "postulados de significado" (como Rudolf Carnap os chama). Considere o predicado homem. Se alguém é homem, sabemos, sem precisar vê-la, que ele não é mulher; é definitivamente verdade! Captamos essa relação lógica entre os predicados Homem e Mulher com o fato terminológico: [x [Homem (x) → ¬ Mulher (x)]. Esse é apenas um exemplo de um fato terminológico; mais pode ser encontrado nas páginas 36–7. Eles são bem simples de entender.

Espero que isso ajude a esclarecer a distinção.

Hunan Rostomyan
fonte