Title: Knowledge Interchange Format - KIF
1Knowledge Interchange Format - KIF
- Comunicación entre agentes software
2AGENTES SOFTWARE
- proceso autónomo 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
3AGENTES SOFTWARE - Comunicación
- necesario agentes sean capaces de comunicarse
información entre ellos para permitir la
interactuación - habilidad de interactuar con otros agentes,
móviles o estáticos, o con fuentes de información
agentificadas - lenguaje comunicación de agentes debe ser visto
como una herramienta con capacidad de integrar
diferentes fuentes de información - debe ser común y compartido.
- sus palabras deberían tener el mismo significado
para ambas partes de una comunicación. - el significado de sus elementos debe ser
compartido,
4AGENTES SOFTWARE - Comunicación
- comunicación entre agentes distinto de transporte
de flujo de bits a través de un canal - medio de alcanzar un alto nivel de
interoperabilidad y abstracción - comunicación en un lenguaje común
5BÚSQUEDA DE UN LENGUAJE COMÚN. ESTANDARIZACIÓN
- varios lenguajes, diferentes paradigmas de
programación (o.o., lógica, funcional, ...)
pueden ser usados para la implementación de
agentes - plataformas hardware y los sistemas operativos,
también serán variados - agentes pueden ser escritos como aplicaciones
autónomas . No se pueden hacer suposiciones sobre
su estructura interna
6ESTANDARIZACIÓN - CAPAS
- capas a través de las cuales pueden ser aplicados
los principios de estandarización - capa de traducción entre lenguajes de la misma
familia (o entre familias) de lenguajes - capa para garantizar que el contenido semántico
de los elementos se mantiene entre aplicaciones.
Mismo significado aun con diferentes nombres.
ONTOLOGÍA. - capa relativa a la comunicación entre agentes.
deben ser capaces de comunicar aptitudes
complejas sobre su información y contenido de
conocimiento
7INTEROPERABILIDAD EN AGENTES MÓVILES
- residen en entornos muy heterogéneos
- no todas las plataformas para los agentes móviles
son iguales (propuesta estandarización del
entorno de ejecución The Mobile Agent Facility
MAF) - Puede necesitar interactuar con
- otros en una plataforma diferente
- agentes no móviles
- fuente de información no expresamente preparada
para agentes
8INTEROPERABILIDAD EN AGENTES MÓVILES
- necesario diversas fuentes de información puedan
interactuar entre si - fuentes de información pueden estar implementadas
o hacer uso de diferentes lenguajes del utilizado
por el agente móvil. - gt elementos que usa para referirse a los mismos
conceptos pueden ser diferentes.
9LENGUAJE COMÚN DE COMUNICACIÓN DE AGENTES
- tres problemas básicos
- cómo traducir de un lenguaje a otro
- cómo garantizar que el significado de los
conceptos, objetos, relaciones, ... es el mismo
para los diferentes agentes - cómo el conocimiento va a ser compartido entre
los agentes - un ACL es una herramienta que sigue el camino de
la abstracción por capas de la interoperabilidad. - introduce una gran abstracción al separar la
expresión que es el contenido del intercambio,
de su significado.
10ACL - ventajas
- puede ser usado como herramienta de
interoperabilidad entre - agentes móviles y estáticos
- agentes móviles diseñados para diferentes
plataformas - agentes móviles y fuentes agentificadas
estáticas de información. - complementa aproximación procedimental que domina
el paradigma de los agentes móviles, con las
ventajas potenciales de la aproximación
declarativa (cómo realizar una tarea en lugar
de que tarea debe ser realizada) - introduce un nivel de abstracción que puede
acomodar múltiples paradigmas.
11KNOWLEDGE SHARINF EFFORT - KSE
- iniciativa para atacar cuestión interoperabilidad
sobre las líneas 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 ontologías portables.
(capa 2) - Knowledge Query and Manipulation Language (KQML).
Lenguaje para la comunicación entre agentes.
(capa 3) - Knowledge Interchange Format (KIF). Diseñado como
una solución al problema de la traducción. (capa
1)
12KNOWLEDGE 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
ambigüedad e imprecisión que éste presenta. - KIF es un lenguaje lógico, propuesto como
estándar para describir objetos dentro de un
sistema computacional (sistemas expertos, bases
de datos, agentes inteligentes, ...) - lenguaje útil como mediador en la traducción de
otros lenguajes usándolo como una representación
intermedia.
13CONOCIMIENTO EN KIF
Conocimiento en KIF
KIF Traductor Leng1 Base Conoc. en
Leng1 Sistema 1
KIF Traductor Leng2 Base Conoc. en
Leng2 Sistema 2
Librería
14CARACTERÍSTICAS ESENCIALES
- semántica declarativa. Es posible comprender el
significado de las expresiones sin necesidad de
que un intérprete las manipule - comprensible lógicamente. Provee medios para la
expresión de cualquier sentencia en cálculo de
predicados (a diferencia de otros lenguajes cómo
los lenguajes relacionales de bases de datos
limitados a sentencias atómicas, la mayoría-, o
lenguajes como Prolog que están limitados a
cláusulas Horn). -
- medios para la representación de conocimiento
sobre el conocimiento. Permite introducir nuevas
representaciones del conocimiento sin cambiar el
lenguaje y hacer todas las representaciones del
conocimiento explícitas.
15OTRAS CARACTERÍSTICAS
- Translatibidad. Proveer medios prácticos para la
traducción de bases de conocimiento declarativas,
a o desde lenguajes de representación 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 descripción de la representación de semánticas
de lenguaje, así como su uso como un lenguaje de
publicación o como asistente para personas en
problemas de traducción de bases de conocimiento,
... - Implementabilidad. Pese a no ser diseñado como un
lenguaje para la representación o comunicación
dentro de programas, puede ser usado para ello.
16ESPECIFICACIÓN DE KIF
- utiliza versión prefija de cálculo de predicados
de primer orden, con extensiones para soportar
razonamiento no monótono y definiciones. - descripción del lenguaje incluye tanto una
especificación para su sintaxis, como para su
semántica. - provee medios para codificar conocimiento sobre
el conocimiento
17ESPECIFICACIÓN DE KIF (2)
- La especificación de kif cubre los siguientes
aspectos - SINTAXIS
- LÓGICA
- NÚMEROS
- LISTAS
- CARACTERES Y STRINGS
- METACONOCIMIENTO
18SINTAXIS
- Tres capas
- Los caracteres básicos del lenguaje, que pueden
ser combinados para formar - Lexemas, que pueden ser combinados para formar
- expresiones gramaticalmente correctas.
19SINTAXIS (expresiones)
- Se forman con lexemas. Tres tipos de expresiones
- Términos. Para denotar objetos del mundo.
- ( a b)
- Sentencias. Expresar hechos sobre el mundo
- (gt a b)
- Definiciones. Definir constantes
- (defrelation rel sentencia)
-
- Las definiciones y las sentencias se denominan
forms - Base de conocimiento conjunto finito de forms.
20LÓGICA
- Base para la semántica. Conceptualización del
mundo en términos de objetos y relaciones entre
ellos. - Engloba
- Términos Funcionales ( 2 3)
- Términos Lógicos (if (gt1 2) 1 (gt2 1) 2 0)
- Bottom
- True y False
- Equations y Inequalities ( term term) (/ term
term) - Sentencias Relacionales (gt 1 2)
- Sentencias Lógicas (gt a b)
- Sentencias Cuantificadas forall exists
- Definiciones (defobject s t)
21NÚMEROS
- constante numérica se asume que es el número para
el cual esa constante es la representación en
base 10. - Funciones sobre Números. Ej
- ( t1 ... tn)
- ( t1 ... tn)
- (max t1 ... tk)
- Relaciones sobre Números. Ej
- (integer t)
- (complex t)
22LISTAS
- 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
23CARACTERES Y STRINGS
- Carácter símbolo imprimible, como un dígito o
una letra. Hay 128 caracteres distintos. - Cadenas (Strings) lista de caracteres. Varias
maneras de referirse a ellos - "abc".
- 3qabc
- (listof \a \b \c)
24METACONOCIMIENTO
- 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
codificación del conocimiento sobre KIF, incluye
relaciones tipo para las diferentes categorías
sintácticas. -
- Cambiar Niveles de Denotación posible escribir
expresiones que describan sentencias KIF. También
una forma de escribir sentencias que aseveran la
certeza de las sentencias descritas. El efecto de
añadir 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. -
25EJEMPLOS 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.
26EJEMPLOS SIMPLES EN KIF (2)
- (gt(salario empleado1)(salario empleado2))
-
- para indicar que el empleado1 tiene un salario
mayor que empleado2. -
27EJEMPLOS SIMPLES EN KIF (3)
- (gt(and(num-real ?x) (num-par ?n))
- (gt(expt ?x ?n) 0))
- indica que el resultado de elevar un número real
a una potencia par, da un resultado positivo
(mayor que cero).
28EJEMPLOS SIMPLES EN KIF (4)
- (interested Amador (salario ,?x ,?y ,?z))
- para indicar que el agente Amador está interesado
en recibir tuplas de la relación salario. Las
comas indican que las variables no deben ser
tomadas literalmente. Sin ellas indicaría que se
está interesado en la sentencia (salario ?x ?y
?z) en lugar de en sus instancias.
29EJEMPLOS SIMPLES EN KIF (5)
- También se pueden describir procedimientos
- (progn (fresh-line t)
- (print "Hola!")
- (fresh-line t))
- la primera línea se asegura de que haya una línea
libre en el flujo de salida estándar, la segunda
imprime Hola y la tercera añade un retorno de
carro.
30EJEMPLOS SIMPLES EN KIF (6)
- Definiendo una relación
- (defrelation soltero(?x)
- (and(hombre ?x) (not(casado ?x)))
31EJEMPLOS SIMPLES EN KIF (7)
- Aseverar creencias
- (believes Juan (material mesa madera))
- (gt (believes Juan ?p) (believes María ?p))
- (gt (believes Juan (listof material ?x ?y))
- (believes Luisa (listof material ?x ?y))
-
32EJEMPLOS SIMPLES EN KIF (8)
- Predicado de certeza (wtr). Aseverar la certeza
de sentencias - (gt (p ?x) (q ?x))
- Para indicar que es true
- (wtr (gt (p ?q) (q ?x)))
-
33SOFTWARE RELACIONADO
- PROLOGIC representación del conocimiento common
lisp y sistema de razonamiento compatible con
KIF - http//logic.stanford.edu/sharing/programs/prolog
ic/ -
- EPILOG sistema de inferencia common lisp
compatible con KIF . - http//logic.stanford.edu/sharing/programs/epilo
g/ -
- JKP parser Java.
- http//www.csee.umbc.edu/kse/kif/jkp/
-
- Un parser C para KIF
- http//logic.stanford.edu/sharing/programs/kif/
-