Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente...

28
08/05/2008 1 Sistemas MultiAgente (MAS) Dra. María del Carmen Romero Ternero ([email protected]) http://www.dte.us.es/personal/mcromero Programa de doctorado Informática Industrial 2007-2008 Departamento de Tecnología Electrónica – Universidad de Sevilla 08.05.08 Índice Parte 1: Fundamentos de los Agentes y Sistemas Multiagente 1. Introducción: orígenes, usos y áreas de aplicación 2. Definiciones de agente 3. Características de los agentes 4. Clasificación de los agentes 5. Sistema multiagente 6. Arquitecturas 7. Agentes vs. sistemas expertos Parte 2: Comunicación entre agentes 1. Fundamentos 2. Estructura de los mensajes FIPA-ACL KQML 4. Semántica de los mensajes: Ontologías 5. Protocolos de Interacción 6. Negociación 7. Tecnologías para interacción en entornos abiertos Parte 3: Metodologías y Herramientas de Desarrollo 1. Modelo de programación 2. Ingeniería de Software Orientada a Agentes 3. El desarrollo con agentes 4. Agentes vs. objetos 5. Herramientas de desarrollo 6. Metodologías de desarrollo Parte 4: Más sobre agentes

Transcript of Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente...

Page 1: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

1

Sistemas MultiAgente (MAS)Dra. María del Carmen Romero Ternero ([email protected])http://www.dte.us.es/personal/mcromero

Programa de doctorado Informática Industrial 2007-2008Departamento de Tecnología Electrónica – Universidad de Sevilla

08.05.08

ÍndiceParte 1: Fundamentos de los Agentes y Sistemas Multiagente

1. Introducción: orígenes, usos y áreas de aplicación2. Definiciones de agente3. Características de los agentes4. Clasificación de los agentes5. Sistema multiagente6. Arquitecturas7. Agentes vs. sistemas expertos

Parte 2: Comunicación entre agentes1. Fundamentos2. Estructura de los mensajes

FIPA-ACLKQML

4. Semántica de los mensajes: Ontologías5. Protocolos de Interacción6. Negociación7. Tecnologías para interacción en entornos abiertos

Parte 3: Metodologías y Herramientas de Desarrollo1. Modelo de programación2. Ingeniería de Software Orientada a Agentes3. El desarrollo con agentes4. Agentes vs. objetos5. Herramientas de desarrollo6. Metodologías de desarrollo

Parte 4: Más sobre agentes

Page 2: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

2

08.05.08

Tecnología de agentes

No es algo nuevoNo se trata de una tecnología cerrada (corrientes tecnológicas de la IS, la IA, y las telecomunicaciones)No es la panaceaVentajas del desarrollo con agentes:

Son amigables, flexibles, adaptables a los usuarios, robustos...Menor coste (facilitan la reutilización)Reducción del mantenimiento

− La funcionalidad puede cambiarse modificando sus conocimientos, estrategias y objetivos.

− La funcionalidad puede extenderse incluyendo nuevos agentes, nuevo conocimiento y nuevos objetivos en cada agente.

Se integran y son compatibles con otras tecnologías (web, BDs, componentes...)Simplifica labor de ingenieros, utilizando patrones de agente para concentrar los esfuerzos en la definición del comportamiento.

08.05.08

Introducción: Orígenes

Objetivos que han marcado la historia de la computación:

Ubicuidad: Reducción del coste de la capacidad computacional.

Interconexión: Los sistemas computacionales forman redes de grandes sistemas distribuidos.

Inteligencia: La complejidad de las tareas puede automatizarse y delegarse a los ordenadores.

Delegación: El juicio de los sistemas computacionales es aceptado frecuentemente.

Orientación humana: Uso de conceptos y metáforas que reflejan cómo entendemos el mundo.

Page 3: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

3

08.05.08

Introducción: Orígenes (II)

Grandes desafíos para desarrolladores de software:Delegación – actuar de modo independiente.Inteligencia – actuar del modo que represente nuestros mejores intereses mientras se interactúa con otros humanos o sistemas.

Sistemas que actúen de un modo efectivo en nuestro nombre.

Sistemas con habilidad de cooperación y capaces de alcanzar consensos con otros sistemas.

Sistemas Multiagente

08.05.08

Introducción: Usos

Servicios de información en InternetRecuperación y extracción de informaciónComercio ElectrónicoMercado de servicios electrónicoNegociaciónEquipos móviles y PCs domésticosRedes públicas de telecomunicacionesProvisión de servicios bajo demandaDescentralización del control y gestión de redesGestión de procesos (workflow)Simulación de sistemas dinámicosJuegosRobótica…

Personalización de servicios

Flexibilidad de la distribución

Delegación de tareas

Page 4: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

4

08.05.08

Introducción: Dominios - Agentes

Interfaces de usuario

Comercio electrónico

Sistemas de información

Internet Inteligencia artificial

Sistemas cooperativos

Sistemas distribuidos

Gestión del conocimiento

Recuperación de la información

Robótica

Agentes

08.05.08

Introducción: Áreas - Multiagente

Inteligencia artificial e IAD

PsicologíaSociología

Sistemas distribuidos

Programación OO

Teorías económicasTeoría de la decisión

Proactividad

Aprendizaje

Racionalidad

AutonomíaMercados

Programación OA

Comunicaciones

Movilidad

OrganizacionesCarácter

Reactividad

Cooperación

MAS

Page 5: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

5

08.05.08

Una primera aproximación

Un agente es un sistema capaz de actuar independientemente a favor de su usuario o propietario.Un sistema multiagente es un sistema constituido por un número de agentes que interactúan entre sí.Para interactuar satisfactoriamente, los agentes necesitan las habilidades de cooperación, coordinación y negociación.

08.05.08

Características (básicas) de los agentes

Autonomía:Los agentes actúan sin intervención humana directa o de otros agentes y tienen algunaclase de control sobre sus acciones y estado interno. El software tradicional se ejecuta enentornos interactivos, donde responde a órdenes directas del usuario.

Reactividad:Percibe el entorno en el que está inmerso y responde de manera oportuna a cambios quetienen lugar en él (para actuar adecuadamente un agente debe poder conocer en todomomento el “mundo” que le rodea).

Iniciativa (proactividad):Tiene que tener un carácter emprendedor y tomar la iniciativa para actuar guiado por losobjetivos que debe satisfacer. En cada momento el agente decide qué acción llevar acabo. No sólo actúa en función de los estímulos que percibe sino que realiza accionescomo resultado de sus decisiones.

Sociabilidad:Capacidad de interaccionar con otros agentes (incluso humanos) utilizando alguna clasede lenguaje de comunicación de agentes. Los agentes colaboran entre sí para la ejecuciónde tareas (MAS).

Page 6: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

6

08.05.08

El agente y su mundo

AGENTE ENTORNO

ACCIÓN(salida)

SENSORES

PERCEPCIÓN(entrada)

ACTUADORES

08.05.08

¿Cómo influye el entorno en el agente?

En la mayoría de los casos el agente sólo controlará parte del entorno.

Una misma acción realizada por el mismo agente en ocasionesdiferentes puede tener efectos muy distintos (entornos no deterministas).

Un agente debe estar preparado para fallar o para la incertidumbre de no saber si ha tenido éxito o no.

Un agente dispone de un repertorio de acciones disponibles con sus correspondientes precondiciones.

El principal problema al que se enfrenta un agente es decidirqué acción realizar para alcanzar sus objetivos de diseño.

Page 7: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

7

08.05.08

Características (complementarias) de los agentes

Movilidad: habilidad para trasladarse en una red electrónica (agentes móviles).

Veracidad: se supone que un agente no comunica información falsa intencionadamente.

Benevolencia: se supone que un agente no tiene objetivos contradictorios y siempre intenta realizar la tarea que se le solicita.

Inteligencia: racional, coherente y adaptable.Racional: el agente tiene unos conocimientos de su entorno, unos objetivos y unas reglas que determinan cómo alcanzar los objetivos a partir del conocimiento que maneja.

Coherente: el conocimiento que maneja el agente (base de conocimiento) tiene un alto grado de cohesión, para que el comportamiento del agente sea el adecuado.

Adaptable: el agente es capaz de actualizar su base de conocimiento y su comportamiento (base de reglas) a partir de las percepciones que recibe del entorno y de sus comportamientos anteriores (aprender). Es una de las características más complejas y difíciles de llevar a cabo.

08.05.08

Clasificación de agentes

([21] Brenner, 1998)

Agentes

Agentes humanos Agentes hardware Agentes software

Agentes de información

Agentes cooperativos

Agentes de transacción

([22] Nwana, 1996)

Page 8: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

8

08.05.08

Clasificación de agentes (II)

Movilidad

Nº agentes

Grado de inteligencia

simple complejo móvil

inmóvil

agente único

multiagente

([4] Wooldridge, 2001)

Sociabilidad

Inteligencia

Movilidad

Ejecución remota

MigraciónPreferencias

RazonamientoPlanificación (pro-activo)

Aprendizaje (adaptativo)

Interacción con usuario

Comunicación

Colaboración/negociación

08.05.08

Multi-Agent System

([4] Wooldridge, 2001)

Page 9: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

9

08.05.08

Características de los MAS

Cada agente no tiene información completa ni capacidad para resolver el problema.Tienen puntos de vista limitados.No hay un sistema de control global.Los datos están descentralizados.Computación asíncrona.

08.05.08

Modelos

([16] Bradshaw, 1997)

Page 10: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

10

08.05.08

Arquitecturas de agentes

Basadas en la lógicaDeliverativasReactivasHíbridas

(Agentes, http://www.upv.es/sma/web/agentes.htm)

08.05.08

Arquitectura BDI (Belief, Desire, Intention)

([1] ANA MAS, 2005)

Entrada de eventos procedentes del

entorno

Acciones a realizar para alcanzar un

deseo. Qué acción debe emprender en

este momento

ENTORNO

CREENCIAS(Experiencias

pasadas)

DESEOS(Cómo quiero que quede el

entorno en un futuro próximo)

INTENCIONES

Cómo es el mundo en este

momento

Page 11: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

11

08.05.08

Ejemplos de agentes DBI

Jadex JasonSPARKJACKJAM y UM-PRS

(http://vsis-www.informatik.uni-hamburg.de/projects/jadex/)

(http://jason.sourceforge.net/JasonWebSite/Jason%20Home.php)

(http://www.ai.sri.com/~spark/)

(http://www.agent-software.com.au/)

(http://www.marcush.net/IRS/irs_downloads.html)

08.05.08

Arquitectura reactiva - Ejemplo

SENSORES

Distanciaángulo

Distancia aobstáculos

SEGUIR UNOBJETO

EVITAROBSTÁCULOS

…Fuerza a la salida a elegir

entre una de las dos acciones

Page 12: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

12

08.05.08

MAS vs. Sistemas Expertos

Interacción con otros agentes

Interacción con el usuario bajo petición

Mayor grado de interacción con usuario

Sistemas de decisión centralizados

Distribución de la toma de decisiones

Sistemas cerradosInteractúan con el

entorno

Sistemas ExpertosAgentes

08.05.08

Comunicación entre agentes

Distintas formas de interaccionar:Comunicación mediante el entorno.Sistemas de pizarra.Sin comunicación (inferencia; teoría de juegos).En el nivel de conocimiento.

KSE (Knowledge Sharing Effort, ARPA 1990)Sintaxis: KIF (Knowledge Interchange Format)Semática: Ontolingua (definición de ontologías)Pragmática: KQML (Knowledge Query Manipulation Language)

FIPA (Foundation for Intelligence Physical Agents, 1996)FIPA ACL

Basado en la teoría de actos del hablaPerformativas

Comunicación en el “nivel de conocimiento”SL (Semantic Language)

Page 13: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

13

08.05.08

Requisitos para un lenguaje de comunicación de agentes

Forma: debería ser declarativa, sintácticamente simple y fácil de leer por humanos y programas.

Contenido: distinguir el lenguaje que expresa los actoscomunicativos del lenguaje que expresa el contenido del mensaje.

Semántica

Implementación: transparente a las capas inferiores y debepermitir a los agentes simples implementar subconjuntos del lenguaje.

Red: debe dar soporte a la tecnología actual y ser independiente de los mecanismos de transporte.

Entorno: permitir heterogeneidad y dinamismo.

Confiabilidad: dar soporte para una comunicación segura y fiableentre los agentes.

08.05.08

KQMLEs un lenguaje de comunicación y protocolo, orientado a mensajes, para el intercambio de información.KQML es independiente de

protocolos de transporte (TCP/IP, HTTP, ...),sintaxis de contexto,ontologías yprotocolos de alto nivel (contract net, subasta, ...).

Objetivo

Intención

Acto de habla

Mensaje

Prepara para el transporte Recupera de transporte

Servicio de transporte de mensajes

Page 14: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

14

08.05.08

KQML – Mensajes

Mensajes KQMLRepresentan un acto de habla o performativas.Consta de una lista de pares atributo-valor.

([3] Pavón, 2003)

08.05.08

KQML – Performativas

([3] Pavón, 2003)

Page 15: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

15

08.05.08

FIPA ACL

Arquitectura abstracta

Mensajería Directorio ACL

Implementación concreta: C++ & SMTP

Mensajería ACL

Servicios de directorio LDAP

Implementación concreta: Elementos Java

Mensajería ACL

MensajeExpresado en un ACL

Emisor: nombre de agenteReceptor: nombre de agente

Contenido del mensajeEn lenguaje de contenidos.Puede referenciar una ontología.

Carga útil

Mensaje

EmisorReceptor

ContenidoCODIFICACIÓN

Mensaje de transporteEmisor: descriptor de transporteReceptor: descriptor de transporteOtros atributos: seguridad…

DIRECCIONAMIENTOY OTROS ATRIBUTOS

Carga útil

Mensaje

EmisorReceptor

Contenido

08.05.08

FIPA ACL - Mensajes(inform

:sender agente1:receiver agente2:content

(precio libro 50):in-reply-to round 4:reply-with bi04:language sl:ontology ontolibro

)Ejemplo

Parámetros de los mensajes::sender :language:receiver :ontology:content :reply-by:reply-with :protocol:in-reply-to :conversation-id:envelope

Tipos de mensajes:accept-proposal inform refuseagree inform-if reject-proposalcancel inform-refrequestcfp not-understood request-whenconfirm propose request-wheneverdisconfirm query-if subscribeFailure query-ref

Page 16: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

16

08.05.08

Funcionamiento de un MAS1. El agente monitoriza la actividad del usuario

Lee/escucha la conversación del usuarioReconoce patrones en la conversaciónDeduce información y objetivos en función de experiencia pasada

2. El agente persigue lograr sus objetivosToma decisionesPuede descomponer objetivos en sub-objetivosEjecuta tareas

3. Para cumplir objetivos necesita colaboración con otros agentesNegociaciónDelegaciónCoordinación

4. Los agentes necesitan servicios de localización de agentesPáginas blancas/amarillas

5. Comunicación con el usuarioInterfaces avanzadasInformación implícita a partir de experiencia pasada o preferencias del usuarioGestión de diálogos

08.05.08

Semántica: Ontologías

Problemática:Diferentes términos para un mismo concepto.El mismo término para diferentes conceptos.Diferentes sistemas de clases.

Ontología común para representar el conocimiento de distintos universos de discurso.Implementaciones:

OILOntolinguaKIFRDF / Esquemas XML / DTDOWL

Sistemas gestores de ontologías:Protégé 2000(Zeus, JADE)

Page 17: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

17

08.05.08

Tecnologías para interacción en entornos abiertos

XMLEstructuración de la información.

Java y RMIDesarrollo de MAS e interoperabilidad entre agentes heterogéneos (pero desarrollados en Java).

CORBAIndependencia de las plataformas; permite intercambio de mensajes XML entre agentes desarrollados en cualquier lenguaje de programación para el que se haya definido una correspondencia con el IDL.

08.05.08

Modelos de programación

Programación máquina

Programación estructurada

Programación modular

Programación orientada a objetos

Sistemas basados en componentes

Sistemas multiagente

Page 18: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

18

08.05.08

Materialización del concepto de agente

([1] ANA MAS, 2005)

Objeto Componente Agente MAS

EstadoComportamientoInterfazHerencia

ReflexiónEmpaquetadoSerializaciónRepositorioSeguridad

ACLRazonamientoPlanificaciónMovilidadReglas de decisión...Objetivos y tareasAprendizajeOntologíasColaboraciónRoles

Estructuras organizativasRoles en la organizaciónNormasRecursosObjetivos comunes

Chips Componentes Procesadores Redes

08.05.08

Ingeniería del Software OA

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentes

Pruebas agentes

Page 19: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

19

08.05.08

POA – Diseño del agente

Diseño de la base de conocimientoDiseño de la máquina de inferenciaDiseño del interfazDiseño del lenguaje de comunicación

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentes

Pruebas agentes

08.05.08

POA – Implantación del agente

Análisis y selección de herramientasImplantación de la base de conocimientoImplantación de la máquina de inferenciaImplantación del interfazImplantación de la comunicación

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentes

Pruebas agentes

Page 20: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

20

08.05.08

Agente vs. Objeto

Asociaciones entre objetosOrganización: relaciones sociales entre agentes

Mensajes invocan procedimientoInteracciones: actos de habla (intencionalidad)

Comportamiento: salida a partir de una entrada

Comportamiento: cómo decidir lo que hacer

Estado: valor de variablesEstado mental: objetivos, creencias…

Encapsula estado y comportamientoEncapsula activación del comportamiento

Flujo de control del llamanteFlujo de control propio

Ejecuta métodos invocadosAutonomía de decisión

ObjetoAgente

08.05.08

Agente vs. Objeto (II)

Wooldridge (1999): “Objects do it for free, agents do it for money.”

Parunak (1999): Un agente es:

Un objeto con iniciativa.Un objeto con actitud u orientación.Un objeto que puede decir “No” (o “Adelante”).Un objeto pro-activo.

Page 21: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

21

08.05.08

POA vs. POO

NingunoHonestidad, consistencia…Restricciones sobre los métodos

Sin restriccionesInformes, requerimientos, ofertas, promesas…Tipos de mensajes

Métodos de paso de mensajes y de respuestasProceso de cómputo

Sin restriccionesCreencias, obligaciones, capacidades, selecciones

Parámetros que definen el estado de la unidad básica

ObjetoAgenteUnidad básica

POOPOAAspecto

08.05.08

Estructura de un agente

ProgramaFunción AGENTE-ESQUELETO ()

estática: memoria;memoria ← ACTUALIZA (memoria, percepción)acción ← ESCOGE-ACCIÓN (memoria)memoria ← ACTUALIZA (memoria, acción)devuelve (acción)

Fin AGENTE-ESQUELETO()

Page 22: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

22

08.05.08

Herramientas AOP

Lenguajes de programaciónJava

Javalog (programación lógica)Jess (sistemas basados en reglas de producción)

Plataformas de desarrolloJADE (Java Agent DEvelopment Framework)FIPA-OS (FIPA Open Source)ABLE (Agent Building and Learning Environment)JackalOAA (Open Agent Architecture)

Entornos de desarrolloZeus, AgentBuilder

Lenguaje de descripción de agentesAUML

08.05.08

¿Qué es y para qué sirve JADE?

Combinación de dos productos:Una plataforma de agentes FIPA-Compliant.Una herramienta de desarrollo de agentes Java.

Arquitectura para ejecutar agentes que soporta:

Un modelo de programación de agentes asíncrono.Comunicación entre agentes: en la misma y en diferentes plataformas.Movilidad, seguridad y otras utilidades.

Page 23: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

23

08.05.08

Arquitectura de JADE

Agente C

Agente A

Agente B

Agente D

Aplicación MAS

Plataforma JADE Contenedor principal Contenedor Contenedor

Java

Capa homogénea

J2SE J2EE J2ME

Internet

Redes inalámbricas y cableadas

08.05.08

Algunas metodologías paradesarrollo de MAS

AAII (1997), basada en BDIMAS-CommonKADS (1998)

Considera 6+1 modelos: Organización, Tareas, Agente, Comunicaciones, Experiencia, Diseño, Coordinación.CommonKADS (1994) extendido con OO, SDL y MSC.

Gaia (2000)MAS como conjunto de entidades que interactúan.

MaSE (2001)OO con conversaciones entre objetos.

MESSAGE (2001), INGENIAS (2003)Meta-modelos.

Page 24: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

24

08.05.08

MAS en la metodología INGENIAS

MAS

MODELO DE ORGANIZACIÓN

MODELO DE OBJETIVOS/TAREAS

MODELO DE ENTORNOMODELO DE

INTERACCIONES

MODELO DE AGENTE

([2] Pavón, 2003)

08.05.08

¿Cuándo usar agentes?

En el diseño de sistemas distribuidos los agentes proporcionan:Aspectos socialesLenguajes y protocolos de comunicaciónDistribución de datos, control, conocimiento y recursos

En el análisis de un sistema los agentes tienen mayor grado de abstracción que objetos o componentes:

Mayor autonomía y capacidad de decisiónVarios componentes heterogéneos que mantienen relaciones entre ellos y con escala de tiempo diferentesModelado de sistemas naturales y sociales

Facilitan la evolución:Adaptación a modificaciones y al entornoEscalabilidad: añadir agentes para soportar más carga de trabajoDesarrollo incrementalSistemas abiertos: capacidad de aceptar nuevos elementos

NO son siempre la solución ideal: Ausencia de control/visión global del sistema

Page 25: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

25

08.05.08

Problemas de los MAS

Descomposición del problema.Comunicación entre agentes.Coherencia en las actuaciones.Representación del conocimiento de otros agentes.Coordinación de acciones.Gestionar el uso de recursos.Evitar comportamientos globales no deseados.Diseño de MAS: metodología y desarrollo.

08.05.08

Más sobre agentes

Page 26: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

26

08.05.08

Agentes móviles

Agente móvil: Agente que realiza sus tareas no sólo en la computadora de su propietario, sino también en otras en la red:

buscando información en beneficio de su propietario,negociando y cerrando tratos en su nombre,utilizando servicios remotos.

Un agente móvil tiene capacidad para decidir a qué servidores moverse:

Hay instrucciones explícitas para que el agente pueda parar su ejecución, migrar a otro nodo (preservando su estado), y continuar su ejecución.

Puede moverse a uno o más servidores.Es una extensión del modelo cliente-servidor:

Los clientes envían parte de ellos al servidor (o a varios servidores) para ejecutarse.

([3] Pavón, 2003)

08.05.08

Agentes para recuperación de información

Acceso a diversas fuentes de información.Capaz de agrupar y manipular la información obtenida para ponerla a disposición del usuario.Usualmente a través de la Web.Tipos (no excluyentes)

Agentes de búsquedaAgentes de filtradoAgentes de monitorización

Web semántica

([14] Botti, 2003)

Page 27: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

27

08.05.08

Agentes para recuperación de información - Aplicaciones

([14] Botti, 2003)

08.05.08

Agentes para el comercio electrónico

Page 28: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · zEn la mayoría de los casos el agente sólo controlará parte del entorno. zUna misma acción realizada por el mismo agente

08/05/2008

28

08.05.08

Referencias[1] ANA MAS (2005), Agentes software y sistemas multiagente: Conceptos, arquitecturas y

aplicaciones, Pearson – Prentice Hall, ISBN 84-205-4367-5[2] J. Pavón, J.J. Gómez-Sanz (2003), Agent Oriented Software Engineering with INGENIAS,

CEEMAS 2003, Lectures Notes in Computer Science 2691, Springer-Verlag, 394 – 403, http://ingenias.sourceforge.net/

[3] J. Pavón (2003), Agentes inteligentes - Comunicación entre agentes, Departamento de Sistemas Informáticos y Programación, UCM, http://grasia.fdi.ucm.es

[4] M. Wooldridge (2001), An introduction to MultiAgent Systems, Wiley, ISBN: 0-471-49691-X[5] Zarnekow, 1998[6] FIPA, http://www.fipa.org[7] KQML, http:// www.cs.stanford.edu/kqml[8] KIF, http:// logic.stanford.edu/kif[9] Ontologías, http:// www.ontoknowledge.org[10] Protégé, http://protege.stanford.edu/[11] Tutorial de Jade, de Juan Botía disponible en http://ants.dif.um.es/~juanbot/[12] http://www.upv.es/sma/web/materiales.htm[13] V. Botti et al. (2002), Agentes [cdrom], Universidad Politécnica de Valencia, Departamento

de Sistemas Informáticos y Computación, http://www.upv.es/sma/web/agentes.htm[14] CJ. Gómez y J. Pavón (2003), Curso de doctorado: Agentes Inteligentes - Desarrollo de

Sistemas Multi-Agente. La metodología INGENIAS, UCM, Departamento de Sistemas Informáticos y Programación, http://grasia.fdi.ucm.es

[15] P. Cuesta, Universidad de Vigo, http://trevinca.ei.uvigo.es/~pcuesta/sm/enlaces.htm[16] J.M. Bradshaw (1997), Software Agents, AAAI Press, ISBN-13: 978-0262522342

08.05.08

Referencias (II)[17] Agentes, Universidad Politécnica de Valencia, http://www.upv.es/sma/web/agentes.htm[18] Web sobre metologías de agentes, http://ma.ei.uvigo.es/isoa/metodologias.php#OTROS[19] P. Valckenaers et al. (2007), Applications and environments for multi-agent systems,

Autonomous Agent Multi-Agent System, 14:61–85[20] C.A. Iglesias (1998), Definición de una metodología para el desarrollo de sistemas

multiagente, Tesis doctoral, Departamento de Ingeniería de Sistemas Telemáticos, Universidad Politécnica De Madrid.

[21] W. Brenner et al. (1998), Intelligent Software Agents, Springer Verlag (Heidelberg).[22] H.S. Nwana (1996), Software Agents: An Overview, Knowledge Engineering Review,

11(3): 205-244.[23] AgentLink, European Commission's IST-funded Coordination Action for Agent-Based

Computing, http://www.agentlink.org/[24] P. Suau, Tutorial de JADE, http://www.dccia.ua.es/~pablo/tutorial_agentes/index.html[25] Jacques Ferber (1999), Multi-Agent Systems: an Introduction to Distributed Artificial

Intelligence, Addison-Wesley, ISBN: 0-201-36048-9.[26] G. Weiss (editor) (1999), Multi-Agent Systems, The MIT Press.[27] S. Russell y P. Norvig (1995), Artificial Intelligence: A Modern Approach, Prentice Hall,

ISBN: 0-13-360124-2.[28] Revista: Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers,

http://www.kluweronline.com/issn/1387-2532[29] Revista: IEEE Intelligent Systems, http://www.computer.org/intelligent/...