7.Lección11.Arquitecturas...
Transcript of 7.Lección11.Arquitecturas...
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.
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
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
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
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.
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.
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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.
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)
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
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
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
27
INTELIGENCIA ARTIFICIAL (30223) Grado en Ingeniería Informática lección 11. Arquitecturas de pizarra. Sistemas Multiagente.