knowledge interchange format - kif

Post on 24-Jan-2016

81 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

Knowledge Interchange Format - KIF

Comunicación entre agentes software

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

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,

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

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

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

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

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.

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.

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.

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)

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.

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

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.

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.

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

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

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.

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.

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)

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)

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

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.

 

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 número 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 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.

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.

30

EJEMPLOS SIMPLES EN KIF (6)

Definiendo una relación: 

(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 María ?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: 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/ 

top related