Linguagem KIF

KIF (= Knowledge Interchange Format)

Esta é uma linguagem desenhada para representar o conhecimento trocado entre agentes.

  • A motivação para a criação do KIF é similar à que deu origem a outros formatos de representação, como o PostScript.

Pode ser usada também para representar os modelos internos de cada agente.

Características principais:

  • Semântica puramente declarativa (o Prolog é também uma linguagem declarativa, mas a semântica depende em parte do modelo de inferência).

  • Pode ser tão ou mais expressiva quanto a lógica de primeira ordem.

  • Permite a representação de meta-conhecimento (ou seja, conhecimento sobre o conhecimento).

Características gerais

O mundo é conceptualizado em termos de objectos e relações entre objectos.

Uma relação é um conjunto arbitrário de listas de objectos.

  • Exemplo: a relação < é o conjunto de todos os pares (x,y) em que x<y.

O universo de discurso é o conjunto de todos os objectos cuja existência é conhecida, presumida ou suposta.

  • Os objectos podem ser concretos ou abstratos.

  • Os objectos podem ser primitivos (não decomponíveis) ou compostos.

Componentes da linguagem

Caracteres.

Lexemas.

  • Lexemas especiais (aqueles que têm um papel pré-definido na própria linguagem).

  • Palavras.

  • Códigos de caracteres.

  • Blocos de códigos de caracteres.

  • Cadeias de caracteres.

Expressões.

  • Termos - objectos primitivos ou compostos.

  • Frases - expressões com valor lógico.

  • Definições - frases verdadeiras por definição.

Termos

Constante.

Variável individual.

Expressão funcional.

  • (functor arg1 .. argn) (functor arg1 .. argn seqvar)

Lista.

  • (listof t1 ... tn)

Termo lógico

  • (if c1 t1 .. cn tn default)

Código de caracter, bloco de códigos de caracteres e cadeia de caracteres.

Citação (quotation).

  • (quote lista) ou ‘lista.

Frases

Constante: true, false.

Equação.

  • (= termo1 termo2)

Inequação.

  • (/= termo1 termo2)

Frase relacional.

  • (relação t1 .. tn)

Frase lógica: construida com as conectivas lógicas (‘not’, ‘and’, ‘or’, ‘=>’, ‘<=’, ‘<=>’).

Frase quantificada.

  • (forall var1 ... varn frase) (exists var1 ... varn frase)

Definições

Definição de objectos.

  • Igualdade: (defobject s := t)

    • Exemplo: (defobject nil := (listof))

  • Conjunção: (defobject s p1 .. pn)

  • etc.

Definição de funções.

  • (deffunction f(v1 .. vn) := t)

  • Exemplo: (deffunction head (?l) := (if (= (listof ?x @items) ?1) ?x)

Definição de relações (=predicados)

  • (defrelation r(v1 .. vn) := p)

  • Exemplos:

    • (defrelation null (?1) := (= ?1 (listof))) (defrelation list (?x) := (exists (@1) (= ?x (listof (@1))))

Meta-conhecimento

Pode formalizar-se conhecimento sobre o conhecimento.

O mecanismo da citação (quotation) permite tratar expressões como objectos.

Por exemplo a ocorrência da palavra joão numa expressão designará uma pessoa; entretanto a expressão (quote joão) ou ‘joão designa a própria palavra joão e não o objecto ou pessoa a que ela se refere.

Outros exemplos:

  • (acredita joão ‘(material lua queijo)) (=> (acredita joão ?p) (acredita ana ?p))

Graficamente, podemos ilustrar da forma seguinte:

Dimensões de conformação

KIF é uma linguagem altamente expressiva.

No entanto, KIF tende a sobrecarregar os sistemas de geração e de inferência.

Por isso, foram definidas várias dimensões de conformação.

Um perfil de conformação é uma selecção de níveis de conformação para cada uma das dimensões referidas.

Perfis de conformação

Foram definidos os seguintes perfis de conformação:

  • Lógica - atómica, conjuntiva, positiva, lógica, baseada em regras (de Horn ou não, recursivas ou não).

  • Complexidade dos termos - termos simples (constantes e variáveis), termos complexos.

  • Ordem - proposicional, primeira ordem (contem variáveis, mas os functorese as relações são constantes), ordem superior (os functores e relações podem ser variáveis).

  • Quantificação - conforme se usa ou não.

  • Meta-conhecimento - conforme se usa ou não.

Last updated