Sie sind auf Seite 1von 33

Knowledge Interchange

Format - KIF
Comunicacin entre
agentes software
2
AGENTES SOFTWARE
proceso autnomo dirigido por objetivos, capaz de
desarrollar acciones

situado en un entorno y reactivo al mismo

coopera con otros agentes (software o humanos) para
cumplir sus tareas
3
AGENTES SOFTWARE - Comunicacin
necesario agentes sean capaces de comunicarse informacin entre
ellos para permitir la interactuacin

habilidad de interactuar con otros agentes, mviles o estticos, o
con fuentes de informacin agentificadas

lenguaje comunicacin de agentes debe ser visto como una
herramienta con capacidad de integrar diferentes fuentes de
informacin

debe ser comn y compartido.

sus palabras deberan tener el mismo significado para ambas
partes de una comunicacin.

el significado de sus elementos debe ser compartido,

4
AGENTES SOFTWARE - Comunicacin
comunicacin entre agentes distinto de transporte de
flujo de bits a travs de un canal

medio de alcanzar un alto nivel de interoperabilidad y
abstraccin
comunicacin en un lenguaje comn
5
BSQUEDA DE UN LENGUAJE COMN.
ESTANDARIZACIN
varios lenguajes, diferentes paradigmas de programacin (o.o.,
lgica, funcional, ...) pueden ser usados para la implementacin de
agentes

plataformas hardware y los sistemas operativos, tambin sern
variados

agentes pueden ser escritos como aplicaciones autnomas . No se
pueden hacer suposiciones sobre su estructura interna

6
ESTANDARIZACIN - CAPAS
capas a travs de las cuales pueden ser aplicados los principios de
estandarizacin:

capa de traduccin entre lenguajes de la misma familia (o entre familias)
de lenguajes

capa para garantizar que el contenido semntico de los elementos se
mantiene entre aplicaciones. Mismo significado aun con diferentes
nombres. ONTOLOGA.

capa relativa a la comunicacin entre agentes. deben ser capaces de
comunicar aptitudes complejas sobre su informacin y contenido de
conocimiento
7
INTEROPERABILIDAD EN AGENTES MVILES
residen en entornos muy heterogneos

no todas las plataformas para los agentes mviles son iguales
(propuesta estandarizacin del entorno de ejecucin: The Mobile
Agent Facility MAF)

Puede necesitar interactuar con:
otros en una plataforma diferente
agentes no mviles
fuente de informacin no expresamente preparada para agentes
8
INTEROPERABILIDAD EN AGENTES MVILES
necesario diversas fuentes de informacin puedan interactuar entre
si

fuentes de informacin pueden estar implementadas o hacer uso
de diferentes lenguajes del utilizado por el agente mvil.

=> elementos que usa para referirse a los mismos conceptos pueden
ser diferentes.
9
LENGUAJE COMN DE COMUNICACIN DE
AGENTES
tres problemas bsicos
1. cmo traducir de un lenguaje a otro
2. cmo garantizar que el significado de los conceptos, objetos,
relaciones, ... es el mismo para los diferentes agentes
3. cmo el conocimiento va a ser compartido entre los agentes

un ACL es una herramienta que sigue el camino de la
abstraccin por capas de la interoperabilidad.

introduce una gran abstraccin al separar la expresin que es el
contenido del intercambio, de su significado.

10
ACL - ventajas
puede ser usado como herramienta de interoperabilidad entre:
agentes mviles y estticos
agentes mviles diseados para diferentes plataformas
agentes mviles y fuentes agentificadas estticas de informacin.

complementa aproximacin procedimental que domina el
paradigma de los agentes mviles, con las ventajas potenciales de
la aproximacin declarativa (cmo realizar una tarea en lugar de
que tarea debe ser realizada)

introduce un nivel de abstraccin que puede acomodar mltiples
paradigmas.


11
KNOWLEDGE SHARINF EFFORT - KSE
iniciativa para atacar cuestin interoperabilidad sobre las lneas de las
tres capas

trabajo del KSE concluy en tres lenguajes, cada uno relacionado con
una de las tres capas.

Ontolingua. Desarrollado como un lenguaje en el cual se pueden escribir
ontologas portables. (capa 2)

Knowledge Query and Manipulation Language (KQML). Lenguaje para la
comunicacin entre agentes. (capa 3)

Knowledge Interchange Format (KIF). Diseado como una solucin al
problema de la traduccin. (capa 1)
12
KNOWLEDGE INTERCHANGE FORMAT - KIF
Ideal, lenguaje (y un sistema computacional relacionado) bueno
para representar un gran rango de cosas, como el lenguaje natural,
pero sin la ambigedad e imprecisin que ste presenta.

KIF es un lenguaje lgico, propuesto como estndar para describir
objetos dentro de un sistema computacional (sistemas expertos,
bases de datos, agentes inteligentes, ...);

lenguaje til como mediador en la traduccin de otros lenguajes
usndolo como una representacin intermedia.
13
CONOCIMIENTO EN KIF
KIF Traductor Leng1

Base Conoc.
en Leng1

Sistema 1
KIF Traductor Leng2

Base Conoc.
en Leng2

Sistema 2
Librera
Conocimiento en KIF
14
CARACTERSTICAS ESENCIALES
semntica declarativa. Es posible comprender el significado de las
expresiones sin necesidad de que un intrprete las manipule

comprensible lgicamente. Provee medios para la expresin de
cualquier sentencia en clculo de predicados (a diferencia de otros
lenguajes cmo los lenguajes relacionales de bases de datos
limitados a sentencias atmicas, la mayora-, o lenguajes como
Prolog que estn limitados a clusulas Horn).

medios para la representacin de conocimiento sobre el
conocimiento. Permite introducir nuevas representaciones del
conocimiento sin cambiar el lenguaje y hacer todas las
representaciones del conocimiento explcitas.

15
OTRAS CARACTERSTICAS
Translatibidad. Proveer medios prcticos para la traduccin de
bases de conocimiento declarativas, a o desde lenguajes de
representacin de conocimiento.

Legibilidad. Aunque no es su fin principal el de interaccionar con
personas, la legibilidad del lenguaje por parte de stas, facilita su
uso en la descripcin de la representacin de semnticas de
lenguaje, as como su uso como un lenguaje de publicacin o como
asistente para personas en problemas de traduccin de bases de
conocimiento, ...

Implementabilidad. Pese a no ser diseado como un lenguaje para
la representacin o comunicacin dentro de programas, puede ser
usado para ello.
16
ESPECIFICACIN DE KIF
utiliza versin prefija de clculo de predicados de primer orden,
con extensiones para soportar razonamiento no montono y
definiciones.

descripcin del lenguaje incluye tanto una especificacin para su
sintaxis, como para su semntica.

provee medios para codificar conocimiento sobre el conocimiento
17
ESPECIFICACIN DE KIF (2)
La especificacin de kif cubre los siguientes aspectos:

SINTAXIS
LGICA
NMEROS
LISTAS
CARACTERES Y STRINGS
METACONOCIMIENTO
18
SINTAXIS
Tres capas:

Los caracteres bsicos del lenguaje, que pueden ser combinados para
formar

Lexemas, que pueden ser combinados para formar

expresiones gramaticalmente correctas.

19
SINTAXIS (expresiones)
Se forman con lexemas. Tres tipos de expresiones:
Trminos. Para denotar objetos del mundo.
(+ a b)
Sentencias. Expresar hechos sobre el mundo
(=> a b)
Definiciones. Definir constantes
(defrelation rel sentencia)

Las definiciones y las sentencias se denominan forms

Base de conocimiento: conjunto finito de forms.
20
LGICA
Base para la semntica. Conceptualizacin del mundo
en trminos de objetos y relaciones entre ellos.

Engloba:

Trminos Funcionales (+ 2 3)
Trminos Lgicos (if (>1 2) 1 (>2 1) 2 0)
Bottom
True y False
Equations y Inequalities (= term term) (/= term term)
Sentencias Relacionales (> 1 2)
Sentencias Lgicas (=> a b)
Sentencias Cuantificadas forall exists
Definiciones (defobject s := t)

21
NMEROS
constante numrica se asume que es el nmero para el cual esa
constante es la representacin en base 10.

Funciones sobre Nmeros. Ej:
(* t1 ... tn)
(+ t1 ... tn)
(max t1 ... tk)

Relaciones sobre Nmeros. Ej:
(integer t)
(complex t)

22
LISTAS
secuencia de objetos. Objetos de una lista no necesitan ser
expresiones KIF

(listof Obj1 (listof lob1 lob2 lob3) Obj3)

proporciona funciones para el trabajo con listas. Ej:

first
rest
last
reverse
append
sublist

23
CARACTERES Y STRINGS
Carcter: smbolo imprimible, como un dgito o una letra. Hay 128
caracteres distintos.

Cadenas (Strings): lista de caracteres. Varias maneras de referirse a
ellos:

"abc".
#3qabc
(listof #\a #\b #\c)

24
METACONOCIMIENTO
medios para codificar conocimiento sobre el conocimiento
Nombrado de Expresiones: expresiones tratadas como objetos en el
universo del discurso, en el cual hay funciones y relaciones apropiadas a
esos objetos.

Tipos de Expressiones: Para facilitar la codificacin del conocimiento
sobre KIF, incluye relaciones tipo para las diferentes categoras sintcticas.

Cambiar Niveles de Denotacin: posible escribir expresiones que
describan sentencias KIF. Tambin una forma de escribir sentencias que
aseveran la certeza de las sentencias descritas. El efecto de aadir esta
sentencias de metanivel a una base de conocimiento es el mismo que
incluir directamente el conjunto (potencialmente infinito) de sentencias
descritas en la base del conocimiento.


25
EJEMPLOS SIMPLES EN KIF (1)

(salario 76706923z Analista 670000)
(salario 76712364j Operador 150000)

representa tuplas de una base de datos de empleados guardando
su DNI, puesto y salario.
26
EJEMPLOS SIMPLES EN KIF (2)


(>(salario empleado1)(salario empleado2))

para indicar que el empleado1 tiene un salario mayor que
empleado2.


27
EJEMPLOS SIMPLES EN KIF (3)

(=>(and(num-real ?x) (num-par ?n))
(>(expt ?x ?n) 0))

indica que el resultado de elevar un nmero real a una potencia
par, da un resultado positivo (mayor que cero).

28
EJEMPLOS SIMPLES EN KIF (4)

(interested Amador `(salario ,?x ,?y ,?z))

para indicar que el agente Amador est interesado en recibir tuplas
de la relacin salario. Las comas indican que las variables no deben
ser tomadas literalmente. Sin ellas indicara que se est interesado
en la sentencia (salario ?x ?y ?z) en lugar de en sus
instancias.

29
EJEMPLOS SIMPLES EN KIF (5)
Tambin se pueden describir procedimientos:

(progn (fresh-line t)
(print "Hola!")
(fresh-line t))

la primera lnea se asegura de que haya una lnea libre en el flujo
de salida estndar, la segunda imprime Hola y la tercera aade
un retorno de carro.

30
EJEMPLOS SIMPLES EN KIF (6)
Definiendo una relacin:

(defrelation soltero(?x) :=
(and(hombre ?x) (not(casado ?x)))
31
EJEMPLOS SIMPLES EN KIF (7)
Aseverar creencias:
(believes Juan (material mesa madera))

(=> (believes Juan ?p) (believes Mara ?p))

(=> (believes Juan (listof material ?x ?y))
(believes Luisa (listof material ?x ?y))


32
EJEMPLOS SIMPLES EN KIF (8)
Predicado de certeza (wtr). Aseverar la certeza de sentencias:

(=> (p ?x) (q ?x))

Para indicar que es true:

(wtr (=> (p ?q) (q ?x)))

33
SOFTWARE RELACIONADO
PROLOGIC: representacin del conocimiento common lisp y sistema de
razonamiento compatible con KIF
http://logic.stanford.edu/sharing/programs/prologic/

EPILOG: sistema de inferencia common lisp compatible con KIF .
http://logic.stanford.edu/sharing/programs/epilog/

JKP: parser Java.
http://www.csee.umbc.edu/kse/kif/jkp/

Un parser C para KIF
http://logic.stanford.edu/sharing/programs/kif/

Das könnte Ihnen auch gefallen