33
Knowledge Interchange Format - KIF Comunicación entre agentes software

Knowledge Interchange Format - KIF

  • Upload
    oneida

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

Knowledge Interchange Format - KIF. Comunicación entre agentes software. AGENTES 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. - PowerPoint PPT Presentation

Citation preview

Page 1: Knowledge Interchange Format - KIF

Knowledge Interchange Format - KIF

Comunicación entre agentes software

Page 2: Knowledge Interchange Format - KIF

2

AGENTES 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

Page 3: Knowledge Interchange Format - KIF

3

AGENTES 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,

Page 4: Knowledge Interchange Format - KIF

4

AGENTES 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

Page 5: Knowledge Interchange Format - KIF

5

BÚ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

Page 6: Knowledge Interchange Format - KIF

6

ESTANDARIZACIÓ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

Page 7: Knowledge Interchange Format - KIF

7

INTEROPERABILIDAD 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

Page 8: Knowledge Interchange Format - KIF

8

INTEROPERABILIDAD 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.

=> elementos que usa para referirse a los mismos conceptos pueden ser diferentes.

Page 9: Knowledge Interchange Format - KIF

9

LENGUAJE COMÚN DE COMUNICACIÓN DE AGENTES

tres problemas básicos1. cómo traducir de un lenguaje a otro 2. cómo garantizar que el significado de los conceptos,

objetos, relaciones, ... es el mismo para los diferentes agentes

3. 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.

Page 10: Knowledge Interchange Format - KIF

10

ACL - 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.

Page 11: Knowledge Interchange Format - KIF

11

KNOWLEDGE 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)

Page 12: Knowledge Interchange Format - KIF

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 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.

Page 13: Knowledge Interchange Format - KIF

13

CONOCIMIENTO EN KIF

KIF Traductor Leng1

Base Conoc. en Leng1

Sistema 1

KIF Traductor Leng2

Base Conoc. en Leng2

Sistema 2

Librería

Conocimiento en KIF

Page 14: Knowledge Interchange Format - KIF

14

CARACTERÍ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.

Page 15: Knowledge Interchange Format - KIF

15

OTRAS 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.

Page 16: Knowledge Interchange Format - KIF

16

ESPECIFICACIÓ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

Page 17: Knowledge Interchange Format - KIF

17

ESPECIFICACIÓN DE KIF (2)

La especificación de kif cubre los siguientes aspectos:

• SINTAXIS• LÓGICA• NÚMEROS• LISTAS• CARACTERES Y STRINGS• METACONOCIMIENTO

Page 18: Knowledge Interchange Format - KIF

18

SINTAXIS Tres capas:

• Los caracteres básicos del lenguaje, que pueden ser combinados para formar

• Lexemas, que pueden ser combinados para formar

• expresiones gramaticalmente correctas.

Page 19: Knowledge Interchange Format - KIF

19

SINTAXIS (expresiones) Se forman con lexemas. Tres tipos de expresiones:

Términos. 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.

Page 20: Knowledge Interchange Format - KIF

20

LÓ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 (>1 2) 1 (>2 1) 2 0) Bottom True y False Equations y Inequalities (= term term) (/= term term) Sentencias Relacionales (> 1 2) Sentencias Lógicas (=> a b) Sentencias Cuantificadas forall exists Definiciones (defobject s := t)

Page 21: Knowledge Interchange Format - KIF

21

NÚ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)

Page 22: Knowledge Interchange Format - KIF

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

Page 23: Knowledge Interchange Format - KIF

23

CARACTERES 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)

Page 24: Knowledge Interchange Format - KIF

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 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.

 

Page 25: Knowledge Interchange Format - KIF

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.

Page 26: Knowledge Interchange Format - KIF

26

EJEMPLOS SIMPLES EN KIF (2)

(>(salario empleado1)(salario empleado2))

  para indicar que el empleado1 tiene un salario mayor que

empleado2.

 

Page 27: Knowledge Interchange Format - KIF

27

EJEMPLOS SIMPLES EN KIF (3)

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

(>(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).

Page 28: Knowledge Interchange Format - KIF

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 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.

Page 29: Knowledge Interchange Format - KIF

29

EJEMPLOS 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.

Page 30: Knowledge Interchange Format - KIF

30

EJEMPLOS SIMPLES EN KIF (6)

Definiendo una relación: 

(defrelation soltero(?x) := (and(hombre ?x) (not(casado ?x)))

Page 31: Knowledge Interchange Format - KIF

31

EJEMPLOS SIMPLES EN KIF (7)

Aseverar creencias:  (believes Juan ‘(material mesa madera))

(=> (believes Juan ?p) (believes María ?p))

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

Page 32: Knowledge Interchange Format - KIF

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)))

Page 33: Knowledge Interchange Format - KIF

33

SOFTWARE RELACIONADO PROLOGIC: representación 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/