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