7.Lección11.Arquitecturas...

27
1 Curso 2012-2013 José Ángel Bañares 6/11/2013. Dpto. Informática e Ingeniería de Sistemas. Inteligencia Artificial (30223) Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo Soluciones que se plasman en arquitecturas software Índice Conocimientos estrategicos/control Modelos de control Tipos de arquitecturas Técnicas de comunicación Agentes Inteligentes Características de los agentes Autonomía Inteligencia Sistemas multiagentes/Arquitecturas cooperativa Habilidades sociales Movilidad Comunicación entre agentes Lenguajes de Comunicación (KIF, KQML, Speech-Acts) Protocolos FIPA (Foundation for Intelligent Physical Agents ) Conocimientos estratégicos/control La función básica del control en los SBC: Manejar los conocimientos del dominio de manera que facilite y gestione su aplicación. NO es suficiente con conocimiento y capacidad de inferencia. Hay que manejar los conocimientos y las inferencias como lo haría un experto en el dominio. Se precisa capacidad de aplicar las mismas estrategias, resolver las excepciones con los mismos criterios, reflejar las incertidumbres que afectan al razonamiento.

Transcript of 7.Lección11.Arquitecturas...

Page 1: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

1

Curso 2012-2013 José Ángel Bañares 6/11/2013. Dpto. Informática e Ingeniería de Sistemas.

Inteligencia Artificial (30223) Lección 11. Arquitecturas de pizarra. Sistemas multiagente

Objetivo –  Soluciones que se plasman en arquitecturas software

Índice

–  Conocimientos estrategicos/control –  Modelos de control –  Tipos de arquitecturas –  Técnicas de comunicación –  Agentes Inteligentes

–  Características de los agentes –  Autonomía –  Inteligencia –  Sistemas multiagentes/Arquitecturas cooperativa –  Habilidades sociales –  Movilidad

–  Comunicación entre agentes –  Lenguajes de Comunicación (KIF, KQML, Speech-Acts) –  Protocolos

–  FIPA (Foundation for Intelligent Physical Agents )

Conocimientos estratégicos/control

•  La función básica del control en los SBC: –  Manejar los conocimientos del dominio de manera que

facilite y gestione su aplicación.

•  NO es suficiente con conocimiento y capacidad de inferencia.

•  Hay que manejar los conocimientos y las inferencias como lo haría un experto en el dominio. –  Se precisa capacidad de aplicar las mismas estrategias,

resolver las excepciones con los mismos criterios, reflejar las incertidumbres que afectan al razonamiento.

Page 2: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

2

Componente de control

•  Componente de control de un SBC –  Los criterios necesarios para decidir cómo aplicar los

conocimientos del dominio durante la resolución del problema.

–  Qué conocimientos se deben utilizar en cada momento –  Cómo razonar sobre ellos

•  Dónde empezar y terminar el proceso de razonamiento •  Resolver conflictos que puedan aparecer

•  Evaluar soluciones alternativas •  Determinar cuando están resueltos determinados subproblemas •  Decidir si se interrumpe la resolución de un subproblema y se

comienza la resolución de otro –  Qué datos usar como entrada

Tareas típicas del control

Base de conocimiento 1

Base de conocimiento 2

Motor de inferencias

Memoria de trabajo (persona (nombre Juan)) (persona (nombre Pepe))

Base de conocimientos

(vehículo (matricula Z1))

(a^b => c) (a^f => n)

(-b => u)

Componente de control Seleccionar una base

de conocimiento Seleccionar un subconjunto de reglas

Desactivar una regla

Seleccionar una jerarquía

Seleccionar una meta

Resolver conflictos

Seleccionar un modo de inferencia

Detectar y seleccionar una solución

Seleccionar un foco de atención

Componente de control

•  Componente control = motor inferencia + módulo control

•  El motor de inferencia: –  Es un programa de propósito general

–  (demostrador lógico de teoremas, un equiparador de patrones, procedimientos de búsqueda en redes, etc.)

–  No es capaz de resolver los conflictos que surjan, ni de identificar soluciones o establecer metas.

•  El módulo de control: –  Incorpora una estrategia de resolución de problemas

especialmente seleccionada para el tipo de problemas

Page 3: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

3

Localización del componente de control

Bases de conocimientos

de control

Bases de conocimientos del dominio

Módulo de control

(estrategias)

Motor de inferencias

Componente de control

Memoria de trabajo, base

de hechos

Bases de conocimientos

Componente de resolución de problemas

•  Implícito: Integrado como parte del programa que implementa la estrategia de control o estrategia de resolución del problema dentro del módulo de control

• Explícito: En algún lugar de las bases de conocimiento. Conocimiento de control o metaconocimiento.

Tipos de control

•  Según la forma de representar el conocimiento de control: –  Control paramétrico: Característico del control de bajo nivel

–  Parámetros que especifican informaciones relevantes para el control como la prioridad de reglas

–  Control declarativo: Representados de forma declarativa en alguna base de conocimiento de control, o dentro de bases de conocimiento del dominio.

–  Sus decisiones suelen estar referidas a la elección de la estrategia de resolución del problema. (metarreglas)

–  Modelos de control: Modelos que facilitan resolver problemas en los que no exista una estrategia de solución a priori.

–  Ejemplo: Arquitecturas de pizarra

Modelos de control: Pizarra en el aula

Alumno

Alumno

Alumno

Alumno

Profesor

Pizarra

•  Características para un buen funcionamiento: •  Pocos alumnos, con capacidades similares •  En una misma habitación, con buen conocimiento entre sí

•  En el momento que se incumpla alguna de estas características toma relevancia la pizarra

Page 4: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

4

Modelos de control: Pizarra en el mercado de valores

•  Características de funcionamiento: •  Es innecesaria la reunión física de los actores •  Funciona aunque se modifique el comportamiento de los actores, se añadan o se eliminen actores

•  El papel del control es simplemente tramitar las operaciones y anotarlas

Control

Pizarra

Corredor

Corredor

Corredor

Corredor

Modelos de control: Resolución del problema del puzzle

•  Características de funcionamiento: •  Cada persona tiene piezas de un puzzle •  El rompecabezas puede resolverse en completo silencio

Pizarra

Persona

Persona

Persona

Persona

Modelos de control: Arquitectura de pizarra

FC

FC

FC

FC Control

Pizarra

•  Necesidad del control •  Sólo puede actuar una FC cada vez •  La pizarra es una estructura de datos compartida

Page 5: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

5

Arquitecturas Cooperativas

•  Arquitectura Cooperativa –  Una clase particular de arquitecturas multiagente –  Ideadas para facilitar la colaboración entre agentes

–  Para resolver un problema común –  Para mejorar la eficacia de cada uno en la tarea que tenga encomendada

–  Los componentes básicos que forman la arquitectura de un sistema cooperativo, distribuido o no, son:

–  Un coordinador de actividades a realizar –  Un comunicador para intercambiar información entre módulos –  Un sistema de mantenimiento de la verdad distribuido para garantizar que

todos los sistemas son consistentes en los puntos en los que se requiere cooperación.

Tipos de arquitecturas

•  Arquitecturas con coordinación asistida –  Los agentes delegan funciones a programas especiales para

conseguir la comunicación

•  Arquitecturas con comunicación directa –  Los agentes manejan su propia coordinación

Con coordinación asistida

•  EL modulo principal es el coordinador –  El IC define el comportamiento del coordinador en función de las

características del problema –  Consta de:

–  Un planificador que descompone un problema en subproblemas mutuamente independientes (Planning)

–  Un asignador que distribuye las tareas a realizar entre los agentes subordinados (Scheduling).

–  Garantiza que los agentes que forman el sistema cooperativo trabajan conjunta y eficientemente

–  a) Conoce la función que realiza cada uno de sus agentes subordinados y sus capacidades

–  b) Dispone de un plan de control con los planes a realizar, dependencias entre ellos, y su secuenciamiento

–  c) Se asegura de que los subplanes se finalizarán lo antes posible –  d) Una vez que la tarea se ha distribuido es necesario sincronizar los agentes

subordinados, a menos que las tareas sean independientes.

Page 6: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

6

Coordinación asistida con maestro

•  El agente maestro (coordinador) está encargado de hacer el plan y distribuir los subplanes a sus agentes “esclavos”, que llevan a cabo la tarea y devuelven los resultados al maestro.

–  Los agentes esclavos pueden comunicar entre sí

MAESTRO Esclavo 1: P1 Esclavo 2: P2-1 ... Esclavo n: P2-2

Plan de

Control

Esclavo-1

Esclavo-2

Esclavo-n

P1

respuesta

respuesta

P2-1

respuesta solicitud

P1

P2-1 P2-2

t1 t2 t3 t4 En el instante t1

Coordinación asistida con negociador

•  Los agentes que ejecutan los planes “negocian” con el negociador para decidir cuál de ellos realiza el subplan.

–  El negociador decide, por ejemplo, en función del instante en el que se realiza la solicitud, del nivel de ocupación de los agentes, y de la organización jerárquica y temporal de los planes en el plan de control, cuál es el más capacitado.

–  Los agentes pueden comunicar entre sí.

NEGOCIADOR

Plan de

Control

Esclavo-1

Esclavo-2

Esclavo-n

solicita P1

respuesta

solicita P1-1

respuesta solicitud

P1

P2-1 solicita P2-2

rechazo

P2-n

t1 t2 t3 t4

rechazo P1

aceptación

En el instante t1

Con comunicación Directa

•  Ningún agente está encargado de realizar el plan –  Ventaja: No depende de la existencia, capacidades o influencias de otros

programas –  Inconveniente:

•  Elevado coste si el número de agentes es elevado. •  Cada agente debe contener todo el código necesario para la negociación

–  Dos modelos de comunicación directa: •  La aproximación de red de contrato

Los agentes que necesitan servicios distribuyen peticiones de propuestas a otros agentes. Los receptores evalúan y presentan ofertas a los emisores de peticiones.

•  La compartición de especificaciones Los agentes suministran a otros agentes información sobres sus capacidades y necesidades. Estos agentes pueden usar esta información para coordinar sus actividades. Se disminuye enormemente la cantidad de información que fluye entre agentes.

Page 7: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

7

Comunicación directa cooperativa

•  Aunque ningún agente está encargado del plan, sí existe un objetivo común que es compartido por todos los agentes.

petición

respuesta

petición

respuesta

Objetivo

Agente-2

Objetivo

Agente-1

Objetivo

Agente-3

petición respuesta

El agente-1 solicita servicios de los agentes 2 y 3, los cuales envían sus ofertas al agente-1. El agente 2 solicita sus servicios al agente-3

Comunicación directa anárquica

•  No existe un objetivo común compartido

petición

respuesta

petición

respuesta

Objetivo-2

Agente-2

Objetivo-1

Agente-1

Objetivo-3

Agente-3

petición respuesta

Técnicas de comunicación

•  Existen diferentes técnicas para llevar a cabo la comunicación directa entre agentes –  Implementar en cada agente un módulo que soporte la negociación.

–  Cada agente conocerá los servicios ofertados por los otros (bien mediante un modelo de red de contrato o de compartición de especificaciones).

–  La técnica de paso de mensajes permite solicitar servicios conocidos de otros agentes.

–  Utilizar una estructuras de conocimientos compartida en la que se anotan mensajes

–  A los agentes les es imposible conocer los servicios ofertados por otros agentes. –  La ejecución global consiste en una ejecución asíncrona de cada módulo

Page 8: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

8

Sistemas Multiagentes: Definiciones de Wooldridge

•  Un agente es un software capaz de acciones independientes en representación de su propietario o usuario (comprendiendo las necesidades que tienen que ser satisfechas para satisfacer sus objetivos de d i seño , en lugar de rec ib i r ins t rucc iones constantemente).

•  Un sistema multiagente consiste en un conjunto de agentes que interaccionan entre ellos. En el caso más general en representación de usuarios con diferentes motivaciones y objetivos. Par conseguir interaccionar con éxito deben cooperar, coordinarse y negociar, como hace la gente.

Diseño de Agentes, Diseño de sociedades

•  Se cubren dos aspectos claves: –  ¿Cómo construir agentes independientes, capaces de acción

autónoma, que puedan llevar a cabo tareas que les encarguemos?

–  ¿Cómo construir agentes capaces de interaccionar (cooperar, coordinar, negociar) con otros agentes para llevar a cabo las tareas que se les han encargado, especialmente cuando los otros agentes no comparten los mismos intereses (objetivos)?

–  El primer aspecto es diseño de agentes, el segundo diseño de sociedades (micro/macro)

•  Características de los agentes –  Autonomía, Inteligencia, SMA, Habilidad social, movilidad

I Primera característica

•  Los agentes son: Entidades autónomas

•  Autonomía –  Pueden trabajar sin la intervención directa del usuario y tienen

cierto control sobre sus acciones y estado interno •  Reactividad

–  Pueden percibir su entorno (que puede ser el mundo físico, un usuario detrás de una interfaz gráfica o vocal, aplicaciones en la red, u otros agentes) y responder oportunamente a cambios que se produzcan en el mismo

•  Iniciativa –  El comportamiento de los agentes está determinado por los

objetivos (metas) que persiguen y por tanto pueden producir acciones no sólo como respuesta al entorno

Page 9: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

9

II Segunda Característica

•  Los agentes tienen: Inteligencia

•  Razonamiento –  Un agente puede decidir:

–  qué objetivo perseguir o a qué evento reaccionar –  cómo actuar para conseguir un objetivo –  o suspender o abandonar un objetivo para dedicarse a otro

•  Aprendizaje –  El agente puede adaptarse progresivamente a cambios

en entornos dinámicos mediante técnicas de aprendizaje

III Característica de los agentes

•  Los agentes no actúan solos, sino como: Sistemas Multi-Agentes

•  Resolución de problemas mediante la estrategia divide y vencerás –  Reparto de responsabilidades-Identificar Roles

•  Heterogeneidad –  Especialización. –  Marco para la integración de Bases de conocimiento heterogéneas

especializadas en tareas –  Para abordar la interoperabilidad surgen roles (P.e. desde el punto de

vista de la definición de arquitecturas software surgen agentes/componentes Middle agents, Mediators, Avatars, interface Agents,...)

•  Concurrencia y Distribución –  Flexibilidad, escalabilidad, tolerancia a fallos, gestión de recursos –  Distribución del conocimiento –  Diferentes arquitecturas de control, con coordinador, sin

coordinador, ...

IV Cuarta característica

•  Los agentes tienen: Habilidad Social

•  Interacción Diálogo

•  Delegación Asignar la realización de tareas

•  Cooperación Trabajo en común para lograr un objetivo común

•  Coordinación Organizar el proceso de solución del problema de forma que se eviten interacciones nocivas y que se exploten las beneficiosas

•  Negociación Formular un acuerdo que sea aceptable por todas las partes implicadas.

Page 10: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

10

Conversaciones entre agentes

•  Coordinación –  Modelo de comunicación (ejemplo: Linda: modelo de

comunicación ortogonal a los modelos de computación)

•  Lenguaje de comunicación –  Contenido del mensaje

•  Conversación –  Intercambio de mensajes

•  Protocolo –  Conversación válida –  Se definen protocolos de negociación, subasta, ... que

intercambian mensajes en un lenguaje común.

Comunicación entre agentes

•  La comunicación es la base para las interacciones y la organización social de los agentes

•  Interacciones –  Hay interacciones cuando la dinámica de un agente está

perturbada por las influencias de otros [O. Boissier, 2001]

–  Las interacciones son el motor de los SMA •  Distintas formas de interaccionar

–  Acciones sobre el entorno –  Pizarra compartida –  Inferencias –  Paso de mensajes

•  ...

Coordinación

Comunicación mediante el entorno

•  Ejemplo: robots distribuidos [Steels 89] Problema

Un conjunto de robots tienen que recoger piedras preciosas (cuya localización no se conoce de antemano) y llevarlas a una nave nodriza

•  La comunicación se realiza a través del entorno: –  Campo gradiente de la señal generada por

la nave nodriza –  Partículas radioemisoras que pueden

recoger, echar y detectar los robots al pasar

Coordinación

Page 11: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

11

Sistema de pizarra

•  Pizarra: Memoria compartida que permite a los agentes compartir todo tipo de información

•  Un sistema multiagente puede tener varias pizarras con distintos agentes registrados en cada una

•  No hay comunicación directa entre agentes!

Coordinación

Sistema de pizarra

•  Los sistemas más avanzados incorporan nuevos conceptos: –  Moderador. Agente especializado con conocimiento de control y de

evaluación que publica en la pizarra los subproblemas a resolver y decide a qué agentes se asignan de entre aquellos que se han ofrecido a resolverlos

–  Despachador. Agente que avisa a los agentes afectados por algún cambio producido en la pizarra

Coordinación

Sistema de pizarra

•  Pros: Método flexible de comunicación para la resolución distribuida de problemas –  Son independientes de la estrategia de cooperación que se

vaya a utilizar y no afectan a la arquitectura de los agentes individuales

•  Contras: la estructura central de la pizarra representa un cuello de botella, ya que todos los agentes distribuidos por una red se ven obligados a acceder al dispositivo central donde se encuentra la pizarra –  Space based solutions => Pizarras/Espacios de tuplas distribuidos

Coordinación

Page 12: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

12

Interacción sin comunicación!!!!

•  Inferencia de acciones de otros agentes –  Ejemplo: utilización de la teoría de juegos con

matrizes de ganancia Dilema del prisionero

Dos hombres son acusados de un crimen y encerrados en celdas separadas. No pueden comunicarse ni llegar a acuerdos. A los dos hombres se les dice

–  Si uno de los dos confiesa el crimen y el otro no, el confesor será liberado, y el otro condenado a tres años.

–  Si los dos confiesan, ambos serán encarcelados durante dos años. –  Si ninguno confiesa, ambos serán encarcelados durante un año.

Coordinación

Interacción sin comunicación

•  ¿cuál es la mejor estrategia? –  Teorías de juegos....

2

0

2

5

5 0

3 3

Rechazo coop

coop

Rechazo

Los números no indican los años sino lo bueno que es para los agentes

Matriz de ganancia

Consideramos no confesar como cooperar, y confesar como rechazar la cooperacion.

Coordinación

Coordinación: Modelo de Comunicación Generativa

•  Generative Communication: Linda, Java Spaces

[mobile_1, lat, long]

Client

Client

Client

Client

Client

Page 13: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

13

•  Generative Communication

[mobile_3, lat, long]

Client

Write[mobile_3, lat, long]

[mobile_1, lat, long] Client

Client

Client

Client

Coordinación: Modelo de Comunicación Generativa

Coordinación

•  Generative Communication

[mobile_3, lat, long]

Client

Read[mobile_3, ?, ?]

[mobile_1, lat, long] Client

Client

Client

Client

Coordinación: Modelo de Comunicación Generativa

Coordinación

•  Generative Communication

[mobile_3, lat, long]

Client

[mobile_1, lat, long] Client

Client

Client

Client [mobile_3, lat, long]

Coordinación: Modelo de Comunicación Generativa

Coordinación

Page 14: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

14

•  Generative Communication

[mobile_3, lat, long]

Client

[mobile_1, lat, long] Client

Client

Client

Client

Take[mobile_3, ?, ?]

[mobile_3, lat, long]

Coordinación: Modelo de Comunicación Generativa

Coordinación

•  Generative Communication

Client

[mobile_1, lat, long] Client

Client

Client

Client [mobile_3, lat, long]

[mobile_3, lat, long]

Coordinación: Modelo de Comunicación Generativa

Coordinación

•  Generative Communication

Client

[mobile_1, lat, long] Client

Client

Client

Client [mobile_3, lat, long]

[mobile_3, lat, long]

Client Take[mobile_3, ?, ?]

[mobile_3, lat, long]

Write [mobile_3, lat, long]

Coordinación: Modelo de Comunicación Generativa

Coordinación

Page 15: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

15

•  Generative Communication

Client

[mobile_1, lat, long] Client

Client

Client

Client [mobile_3, lat, long]

[mobile_3, lat, long]

[mobile_3, lat, long]

Coordinación: Modelo de Comunicación Generativa

Coordinación

Client

Client

Client

Client

Client

Subscribe[mobile_3, ?, ?]

Comportamiento reactivo

[mobile_1, lat, long]

[mobile_3, ?, ?]

Coordinación

Client

Client

Client

Client

Client

Publish[mobile_3, lat, long]

[mobile_1, lat, long] [mobile_3, lat, long]

[mobile_3, lat, long] Notify

Comportamiento reactivo

[mobile_3, ?, ?]

Coordinación

Page 16: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

16

Client

Client

Client

Client

Client

Publish[mobile_3, lat, long]

[mobile_1, lat, long]

[mobile_3, lat, long] Notify

[mobile_3, lat, long]

[mobile_3, lat, long]

Comportamiento reactivo

[mobile_3, ?, ?] [mobile_3, lat, long]

Coordinación

Comunicación entre Agentes

•  Lenguajes de comunicación de agentes Basados en la teoría de actos del habla

–  KQML –  FIPA ACL

•  Algunos autores consideran que la capacidad de comunicarse en un lenguaje de agentes es suficiente para considerar a un software como agente

Lenguaje Comunicación

Comunicación a nivel del conocimiento

•  Los agentes se comunican para –  Mostrar a otros agentes su estado mental –  Intentar modificar el estado mental de otros agentes

Lenguaje Comunicación

Page 17: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

17

Actos del habla (Speech acts)

•  Language as Action –  J.L. Austin (1962), How to do things with words,

Clarendon Press La lingüística tradicional intentaba entender el significado de

las frases indicando cómo es posible usar una combinación de palabras para hacer una declaración con significado

–  Los actos del habla hacen referencia a las acciones intencionales en el curso de una conversación !

Lenguaje Comunicación

Actos del habla (Speech acts)

Language as Action –  J.L. Austin (1962), How to do things with words,

Clarendon Press

•  Quien habla no declara solamente sentencias ciertas o falsas

•  Quien habla realiza actos de habla (performativa): peticiones, sugerencias, promesas, amenazas,

etc. •  Cada declaración es un acto de habla

Lenguaje Comunicación

Tipos de actos del habla

•  J.R. Searle (1969), Speach Acts, Cambridge University Press

•  Actos asertivos: dan información sobre el mundo –  Estoy de acuerdo 2 y 2 son 4 Estamos en clase

•  Actos directivos: para solicitar algo al destinatario –  Siéntate ¿Cuántas pesetas son un euro?

•  Actos de promesa: comprometen al locutor a realizar ciertas acciones en el futuro –  Mañana vuelvo a las 8 Te enviaré las fotos

•  Actos expresivos: dan indicaciones del estado mental del locutor –  Soy feliz Gracias Siento lo de tu perro

•  Actos declarativos: el mero hecho de la declaración es la realización de un acto –  Estás contratado Empezamos la clase

Lenguaje Comunicación

Page 18: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

18

Lenguajes de comunicación de agentes (Y. Labrou 2000)

History, State of the Art and Challenges for Agent Communication Languages (2000) Yannis Labrou and Tim Finin

Lenguaje Comunicación

Lenguajes de comunicación de agentes (Y. Labrou 2000)

Evolucion de Cliente/servidor a Middleware (Sistemas distribuidos)

+Web Services(W3C, Rest)

Lenguaje Comunicación

Lenguajes de comunicación de agentes (Y. Labrou 2000)

Técnicas, metodologías, herramientas para compartir el conocimiento y reutilizarlo entre bases de conocimiento, en fases diseño, implementación y ejecución. La idea central del KSE era que compartir información requiere comunicación, por lo que se centraron en definir un lenguaje común,

KSE: Knowledge Sharing Effort

Lenguaje Comunicación

Page 19: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

19

Lenguajes de comunicación de agentes (Y. Labrou 2000)

KSE identifica tres niveles: •  Intención: KQLM •  Conocimiento:KIF •  Ontología:Ontolingua

Lenguaje Comunicación

Lenguajes de comunicación de agentes (Y. Labrou 2000)

Los tipos de mensaje de ACL (Performativas) De los actos del habla nos premiten describir creencias, deseos, intenciones. FIPA estandariza “protocolos” a partir de estos Performativas.

Lenguaje Comunicación

KQML

•  Mensajes KQML –  Representa un acto de habla o performativa –  Consta de una lista de pares atributo-valor

(ask-one :sender pepe :content (PRECIO TELEFONICA ?precio) :receiver servidor-bolsa :reply-with accion-telefonica :language LPROLOG :ontology IBEX

)

performativa

nivel de contenido

nivel de comunicaciones

nivel de mensaje

Lenguaje Comunicación

Page 20: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

20

KQML

•  Mensajes KQML La respuesta al anterior:

(tell :sender servidor-bolsa :content (PRECIO TELEFONICA 19) :receiver pepe :in-reply-to accion-telefonica :language LPROLOG :ontology IBEX

)

Lenguaje Comunicación

Performativas de KQML

Lenguaje Comunicación

Arquitectura Abstracta FIPA

•  Foundation for Intelligent Physical Agents –  Consorcio industrial fundado en 1996 –  Varias decenas de compañías de telecomunicaciones e informática

http://www.fipa.org

•  Objetivos –  Acelerar el desarrollo de tecnologías de agentes inteligentes mediante

la producción de especificaciones acordadas internacionalmente •  Especificación del comportamiento y capacidades externas de

subsistemas genéricos: recursos de agentes (para migración, ejecución, etc.), interacción y cognitivos –  las especificaciones estarán basadas en casos prácticos concretos –  Agentes, multi-agentes, y sociedades de agente –  Selección y adaptación de tecnologías existentes

Page 21: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

21

•  Las conversaciones entre agentes suelen seguir unos ciertos patrones, secuencia típicas de mensajes: protocolos de conversación

•  Un agente informa del protocolo que quiere usar mediante el parámetro :protocol

•  Protocolos básicos definidos por FIPA: • FIPA-request • FIPA-query • FIPA-request-when • FIPA-contract-net • FIPA-iteraterated-contract-net • FIPA-auction-english • FIPA-auction-ducth

FIPA ACL

Negociación

FIPA ACL Negociación(Conversaciones)

V característica

•  Los agentes pueden tener: Movilidad

•  Agentes móviles –  Capacidad de Migrar de un nodo a otro en una red

preservando su estado en los saltos entre nodos •  Múlti-acceso y multi-modal

–  Navegador –  Email –  Servicio vocal

Page 22: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

22

Clasificación de Agentes (M. Wooldridge, 1999)

Aplicaciones

Servicios de información en Internet Recuperación y extracción de información

Comercio electrónico Mercado de servicios electrónico

Negociación Equipos móviles y PCs en el hogar

Redes públicas de telecomunicaciones Provisión de servicios bajo demanda

Descentralización del control y gestión de redes Grid Computing

Gestión de procesos (workflow) Simulación de sistemas dinámicos

Juegos (bots ) Robótica

Etc.

Personalización

de servicios

Flexibilidad de

la distribución

Delegación

de tareas

Conclusiones: Definición SMA Juan Pavón

Los sistemas multi-agentes que consideramos constan de: 1. Un middleware para soportar la comunicación entre los

agentes y con sistemas propietarios –  Sobre este middleware es posible utilizar herramientas basadas en

estándares de comunicación entre agentes como FIPA ACL o KQML, o definir interfaces específicas para cada agente con un lenguaje como OMG IDL, o WSDL.

2. Agentes, de diversos tipos, que cooperan para proporcionar servicios inteligentes a los usuarios.

3. Recursos que pueden estar gestionados por agentes o por algún sistema propietario –  Puede tratarse de un servidor Web, una base de datos, un servidor de

correo, un sistema de gestión de procesos de negocio, dependiendo del entorno de la aplicación.

Page 23: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

23

Objetos vs Agentes

Objetos •  Ejecuta los métodos

invocados •  Flujo de control del llamante •  Encapsula estado y

comportamiento •  Estado: valor de variables

•  Comportamiento: salida a partir de una entrada

•  Mensajes invocan procedimiento

•  Asociaciones entre objetos

Agentes •  Autonomía de decisión •  Flujo de control propio •  Encapsula la activación del

comportamiento •  Estado mental: objetivos,

creencias, ... •  Comportamiento: cómo

decidir lo que hacer •  Interacciones: actos de

habla (intencionalidad) •  Organización: relaciones

sociales entre agentes

OJO, la frontera es difusa...

Sistemas Expertos vs Agentes

Sistemas Expertos •  Sistemas cerrados

•  Sistemas de decisión centralizados

•  Interacción con el usuario

bajo petición del usuario

Agentes •  Interactúan con el entorno •  Distribución de la toma de

decisiones: –  Comportamiento

emergente

•  Mayor grado de interacción con el usuario

•  Interacción con otros agentes

OJO, la frontera es difusa...

•  La contribución de los sistemas multi-agentes –  Trasladan las fases y los protocolos de interacción entre

agentes/entidades a la Web

descripciones de servicio (WSDL)

registro UDDI

Proveedor de servicio

Cliente servicio

mensajes SOAP

mensajes SOAP (para buscar servicios)

mensajes SOAP (para publicar descripciones de servicios)

Page 24: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

24

Objetivo del cliente

Servicio Publicado

Objetivo del

Proveedor

Descubrimiento servicios

Candidatos Ejecución Servicios

Candidatos Servicios

Candidatos Servicios

Candidatos Servicios

Seleccionado y acuerdos

Proceso Cliente

Proceso Proveedor

Negociación con candidatos

y acuerdo

Monitorización y ejecución del

servicio

Interacción con Servicios de

registros Caracterización abstracta del

servicio candidato

Protocolo de búsqueda de

servicio

Acoplamiento

Servicio de iniciación

Servicio de monitorizac

ión

Terminación y compensación

Servicio de negociación Del contrato

Servicios acordado

Caracterización del servicio requerido

protocolo

descripción de objetivos

La Interoperabilidad en el Futuro

•  Desde el punto de vista del programador

Los Servicios Web hoy ...

A BRIEF HISTORYOF ARTIFICIALINTELLIGENCE http://www.atariarchives.org/deli/artificial_intelligence.php

Page 25: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

25

La Interoperabilidad en el Futuro

Componente Software

Componente Software

La Interoperabilidad en el Futuro

Componente Software

Componente Software

La Interoperabilidad en el Futuro

Componente Software

Componente Software

Page 26: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

26

3!La Web Semántica !

Conecta Conocimiento!

4!La Web Ubicua !

Conecta Inteligencia!

1!La Web!

Conecta Información!

2!La Web Social!Conecta Gente!

Incr

emen

tar c

onec

tivi

dad

del c

onoc

imie

nto

& R

azon

amie

nto!

Incrementar conectividad Social!

File Servers!

Web sites!ContentPortals!

SearchEngines!

Databases!

Enterprise Portals!

P2P file sharing!

“Push!Publish& Subscribe!”!

PIMS!

Artificial Intelligence! IntelligentAgents!Personal Assistants!

Ontologies!

Thesaurus&!Taxonomies !

SemanticSearch !

Knowledge Bases!Bots!

Semantic! Desktop!

SemanticWebiste!& UI!

Email!

Conferencing!Instantmessages!

Social network!

Blogs!RSS!

Marketplaces !&auctions! Social!

Bookmarking!

Community!Portals!Mash-up! Wiki!

Multi-user!Gaming!

Semantic!Blog!

Semantic!email!

Semantic!Wiki! Semantic!

Social Network!

Semantic!Enterprise!

Semantic!Communities!

Smart!Markets!

SemanticAgents !Ecosystems!Autonomic!

Intellectual!Property!

Blogets!

Natural!Language!

Agentes Web que conocen, aprenden y razonan como los humanos.

Project10X’s Semantic Wave 2008 Report: Mills Davis, Managing Director, Project 10X www.project10x.com

Referencias

•  Cursos sobre agentes –  Agentes Inteligentes de la Universidad Complutense de Madrid

del profesor Juan Pavón Mestras –  http://www.fdi.ucm.es/profesor/jpavon/doctorado/

–  Material en Agentcities.es –  http://grusma2.etse.urv.es/AgCitES/index.htm

•  Plataforma de desarrollo de agentes acorde FIPA –  JADE: http://jade.tilab.com/

Libros sobre sistemas multi-agentes

An Introduction to Multiagent Systems by Michael Wooldridge. Published in February 2002 by John Wiley & Sons (Chichester, England). ISBN 0 47149691X. 340pp approx; includes bibliographical references and index.

Título: Agentes software y sistemas multiagente Subtítulo: Conceptos,arquitecturas y aplicaciones ISBN: 84-205-4367-5 Autor: Juan Pavón, José L. Pérez de la Cruz Molina Págs: 352 P.V.P: 28 Euros aprox

A new authoriy on Multi-Agent Systems

Service-Oriented Computing: Semantics, Processes, Agents (Hardcover) by Munindar P. Singh, Michael N. Huhns

Page 27: 7.Lección11.Arquitecturas Agenteswebdiis.unizar.es/~jangelb/IA-30223/7.Lecci%f3n11.Arquitecturas... · Lección 11. Arquitecturas de pizarra. Sistemas multiagente Objetivo – Soluciones

27

INTELIGENCIA ARTIFICIAL (30223) Grado en Ingeniería Informática lección 11. Arquitecturas de pizarra. Sistemas Multiagente.