Está en la página 1de 47

Tema1: Agentes/Sistemas Multiagente:

Conceptos Generales

1
Agentes software
Qu son?
Por qu otro paradigma?
Otra moda tecnolgica?
Qu hay de nuevo?
Cmo se construyen?
Por dnde empezar?
Hasta dnde podemos llegar?
Nuestro lter-ego en la Red?

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 2


Agentes Software
Los sistemas compuestos de mltiples agentes, comenzaron a utilizarse en la
Inteligencia Artificial Distribuida (O'hare et al.., 1996), que
tradicionalmente se ha dividido en dos campos:

La Resolucin de Problemas distribuidos: un problema particular puede


resolverse por un nmero de nodos que cooperan en dividir y compartir conocimiento
sobre el problema y su solucin. Las tareas que cada agente realiza estn prefijadas
de antemano, cada agente tiene una conducta fija, y el sistema se centra en el
comportamiento global.

Los Sistemas Multiagente: agentes autnomos trabajan juntos para resolver


problemas, caracterizado porque cada agente tiene una informacin o capacidad
incompleta para solucionar el problema, no hay un sistema global de control, los datos
estn descentralizados y la computacin es asncrona. Los agentes pueden decidir
dinmicamente que tareas deben realizar y quien realiza cada tarea.
La investigacin inicial progresa hacia la madurez. Surge la Programacin
Orientada a Agentes y los Lenguajes de Comunicacin de Agentes
Posteriormente este concepto se extiende al resto de la Ingeniera del software,
plantendose hoy en da la Ingeniera del Software Orientada a Agentes

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 3


Definicin de agente software
No hay definicin universalmente aceptada

Varios tipos de definiciones

Definiciones cualitativas
Basadas en propiedades o en habilidades del agente,

e.g. definicin de Wooldridge & Jennings

Definiciones operacionales
Test de Huhns-Singh

Clasificaciones

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 4


Definiciones
Agente (Diccionario RAE):
Que obra o tiene virtud de obrar

El que realiza una accin

Persona o cosa que produce un efecto

Persona que obra con poder de otra

El que acta en representacin de otro (agente artstico,

comercial, inmobiliario, de seguros, de bolsa, etc)


Persona que tiene a su cargo una agencia para gestionar

asuntos ajenos o prestar determinados servicios


Agentes software:
Aplicaciones informticas con capacidad para decidir cmo
deben actuar para alcanzar sus objetivos
Agentes inteligentes:
Agentes software que pueden funcionar fiablemente en un
entorno rpidamente cambiante e impredecible

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 5


Concepto de Agente Inteligente

Razonamiento de alto nivel

COGNICIN

conducta
dirigida
por el objetivo

Razonamiento de bajo nivel


actuadores

ACCIN PERCEPCIN
Autnomo
actuadores que sensores que
Reactivo cambian el entorno perciben
Proactivo el entorno

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 6


Sociedades, Psicologa

Historias de hormigas y abejas


Interacciones entre humanos, roles
Conductismo, Gestalt, Cognitivismo

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 7


Pero qu es un agente?

Proceso de larga vida (permanente)


Independencia, autonoma
Inteligencia

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 8


Teora de Agentes
Un agente es un sistema informtico,
situado en algn entorno, que percibe el
entorno (entradas sensibles de su entorno)
y a partir de tales percepciones determina
(mediante tcnicas de resolucin de
problemas) y ejecuta acciones (de forma
autnoma y flexible) que le permiten
alcanzar sus objetivos y que pueden
cambiar el entorno.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 9


Agente: Definicin

Entorno

Flexibilidad:
Reactivo Proactivo Social

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 10


Agente: Definicin
No existe una definicin comunmente
aceptada.
Wooldridge:
Cualquier proceso computacional dirigido por el objetivo capaz
de interaccionar con su entorno de forma flexible y robusta
Flexible: Reactivo, Proactivo y Social
Parunak:

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 11


Teora de Agentes
Autonoma: capacidad de actuar sin intervencin humana directa o de otros
agentes.
Sociabilidad: capacidad de interaccionar con otros agentes, utilizando como
medio algn lenguaje de comunicacin entre agentes.
Reactividad: un agente est inmerso en un determinado entorno (habitat), del
que percibe estmulos y ante los que debe reaccionar en un tiempo
preestablecido.
Iniciativa: un agente no slo debe reaccionar a los cambios que se produzcan
en su entorno, sino que tiene que tener un carcter emprendedor y tomar la
iniciativa para actuar guiado por los objetivos que debe de satisfacer.
Movilidad: habilidad de trasladarse en una red de comunicacin informtica.
Veracidad: no comunica informacin falsa intencionadamente.
Benevolencia: no tiene objetivos contradictorios y siempre intenta realizar la
tarea que se le solicita.
Racionalidad: tiene unos objetivos especf. y siempre intenta llevarlos a cabo.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 12


Primera caracterstica
Los agentes son:
Entidades autnomas
Autonoma
Pueden trabajar sin la intervencin directa del usuario y
tienen cierto control sobre sus acciones y estado interno
Reactividad
Pueden percibir su entorno (que puede ser el mundo
fsico, un usuario detrs de una interfaz grfica 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 slo como respuesta al entorno

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 13


Agentes como entidades autnomas
que interaccionan con un entorno
sensores actuadores

AGENTE

percepcin accin
(entrada) (salida)

ENTORNO

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 14


Cmo influye el entorno en el
agente?
En la mayor parte de los dominios el agente slo tendr control
parcial del entorno
Una misma accin realizada por el agente en ocasiones diferentes
puede tener efectos muy distintos
en general los entornos son 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 decidir qu
accin realizar para alcanzar sus objetivos de diseo
las arquitecturas de agentes podran verse como

arquitecturas software para sistemas de toma de decisiones


empotrados en un entorno

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 15


Segunda caracterstica
Los agentes tienen:
Inteligencia
Razonamiento
Un agente puede decidir:
qu objetivo perseguir o a qu evento reaccionar
cmo 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 dinmicos mediante tcnicas de aprendizaje

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 16


Agentes inteligentes para delegar

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 17


Agentes inteligentes
Principio de Racionalidad (Allen Newell (1982). The knowledge
level. Artificial Intelligence 18: 87-127):

If an agent has knowledge that one of its actions will lead to


one of its goals, then the agent will select that action

Indica que hay una conexin entre objetivos y


comportamiento, por medio del conocimiento del que
dispone el agente

... lo que no implica que el agente tomar la mejor decisin

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 18


Alguna puntualizacin
sobre la racionalidad
El carcter de racionalidad de un agente (Russell, et al. 1995)
depende de cuatro factores:

De la medida con la que se evale el grado de xito logrado.

De la secuencia de percepciones, entendiendo por tal todo


aquello que hasta ese momento haya percibido el agente.

Del conocimiento que el agente posea del medio.

De las acciones que el agente pueda llevar a cabo.

Un agente racional debe emprender todas aquellas acciones que


favorezcan obtener el mximo de su medida de rendimiento,
basndose en las evidencias aportadas por la secuencia de
percepciones y en todo el conocimiento incorporado.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 19


Tercera caracterstica
Los agentes no actan solos, sino como:

Sistemas Multi-Agente

Resolucin de problemas mediante la estrategia divide y


vencers
Reparto de responsabilidades

Heterogeneidad
Especializacin

Concurrencia y Distribucin
Flexibilidad, escalabilidad, tolerancia a fallos, gestin de

recursos
Distribucin del conocimiento

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 20


Test de Huhns-Singh
A system containing one or more reputed agents should change
substantively if another of the reputed agents is added to the
system
Hunhns, M.; Singh, M.P. A Multiagent Treatment of Agenthood.
en Applied Artificial Intelligence: An International Journal,
Volume 13, No. 1-2, January-March 1999, pp. 3-10
El test requiere ciertas condiciones:
El entorno del agente no es esttico (i.e. pueden acaecer eventos)
El entorno es observable suficientemente (i.e. no tiene que ser
completamente observable)
El tipo de los agentes que se incorporan es alguno ya existente en el
sistema (aunque puede considerarse que haya varios tipos de
agentes).
Comportamiento emergente
Mejora del rendimiento del SMA (esto implica que los
agentes han de ser conscientes de la aparicin de nuevos
agentes)

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 21


Sistemas Intencionales & dificultades
top-down
Sistemas Complejos Diseo de grandes
fcilmente diseables como aplicaciones informticas
Sistemas Intencionales mediante mtodos top down
es caro y difcil de mantener
y actualizar

Autonoma
Componentes Informticos se entienden y disean como entidades autnomas
independientes unas de otras.
El dilogo entre entidades materializa la ejecucin de un sistema, no las
llamadas a procedimientos o funciones, o la ejecucin de un mtodo como
consecuencia la recepcin de un mensaje
Los agentes deciden de forma autnoma de que manera actuar y en que
momento intervenir en la solucin colectiva a un problema
Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 22
Definicin de SMA (Ferber, 1999)
1. Un entorno
2. Un conjunto de objetos
Los objetos se encuentran integrados con el entorno, i.e. es posible

en un momento dado asociar uno de estos objetos con un lugar en


el entorno
Los objetos son pasivos, pueden ser percibidos, creados, destruidos

y modificados por agentes


3. Un conjunto de agentes
Objetos especiales que representan las entidades activas del

sistema
4. Un conjunto de relaciones que unen objetos y agentes
5. Un conjunto de operaciones
hacen posible que los agentes perciban, produzcan, consuman,

transformen y manipulen objetos


6. Operadores que representan la aplicacin de operaciones sobre el
mundo y la reaccin de ste al ser alterado
Estos operadores se pueden entender como las leyes del universo
Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 23
Cuarta caracterstica
Por tanto, los agentes tienen:
Habilidad Social
Interaccin
Dilogo

Delegacin

Asignar la realizacin de tareas

Cooperacin

Trabajo en comn para lograr un objetivo comn

Coordinacin

Organizar el proceso de solucin del problema de forma

que se eviten interacciones nocivas y que se exploten las


beneficiosas
Negociacin

Formular un acuerdo que sea aceptable por todas las

partes implicadas).
Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 24
Comunicacin entre agentes
Lenguajes de comunicacin entre agentes
KQML

FIPA ACL

Basado en la teora de actos del habla

Performativas

Comunicacin en el nivel de conocimiento

Algunos autores consideran que la capacidad de hablar un


lenguaje de agentes es suficiente para considerar a un software
como agente

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 25


Quinta caracterstica
Los agentes pueden tener:

Movilidad

Agentes mviles
Migrar de un nodo a otro en una red preservando su

estado en los saltos entre nodos


Mlti-acceso y multi-modal
Navegador

Email

Servicio vocal

...

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 26


Agentes mviles
Cdigo

Cdigo bajo demanda Sistema Sistema


local remoto

Cdigo

Sistema Sistema Evaluacin remota


local remoto

Cdigo Cdigo
+ +
Datos Datos

Agentes mviles autnomos Sistema de Sistema de Sistema de


Agentes A Agentes B Agentes C
(migracin)

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 27


Clasificacin de agentes (Wooldridge, 1999)

N de agentes

multiagente

agente nico

Grado de inteligencia
inmvil

simple complejo
mvil

Movilidad

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 28


Categoras de agentes (Zarnekow, 1998)

Agentes

Agentes Agentes Agentes


humanos hardware software

Agentes de Agentes Agentes de


informacin cooperativos transaccin

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 29


Cmo funciona un SMA?
Ejemplo:
Una conversacin entre Juan (residente en
Madrid) y Carmen (residente en Sevilla) para
decidir una reunin de trabajo.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 30


Cmo funciona un SMA?
Juan
Asistente de Juan
Hola Carmen! Precisamente estaba pensando
llamarte para que preparemos la presentacin de
nuestra coleccin de invierno
(escucha y asiente)
Est bien, podemos quedar entonces la semana que
viene, preguntemos a nuestras agendas...
Asistente?

Buenos das Juan.


De acuerdo con el asistente personal de Carmen, el
Bueno Carmen, pues nos vemos el prximo
mejor da para reuniros es el mircoles 10 de abril en
mircoles, el despacho de Carmen.
Hasta luego encanto.
(Pulsa un par de botones en el telfono)
Asistente, me organizas el viaje?
S Juan.
Te propongo salir en el AVE de Madrid el mircoles
10 de abril de 2003 a las 8 de la maana, llegada a
Sevilla 11.30, en clase preferente para que puedas
desayunar bien. Vuelta, salida el jueves 11 de abril de
2003 a las 11 de la maana, llegada a Madrid a
las13.30. en clase turista
Lo confirmo?
Alojamiento en el hotel Puerta de Triana, la noche del
S, perfecto mircoles al jueves
Lo confirmo?

S, muy bien. Viaje organizado. Tren y hotel confirmados.


De los restaurantes del almuerzo y la cena se ocupa
la Sra. Carmen.
Muchas gracias, asistente.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 31


Cmo funciona un SMA?
1. El agente monitoriza la actividad del usuario
Lee/escucha la conversacin del usuario
Reconoce patrones en la conversacin
Deduce informacin y objetivos en funcin de
l d e r
experiencia pasada hou
h e s
r t
g o ve
o k in
Lo

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 32


Cmo funciona un SMA?
2. El agente persigue satisfacer sus objetivos
Toma decisiones
Puede descomponer objetivos en subobjetivos
Ejecuta tareas

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 33


Cmo piensan los agentes?
Modelo BDI (Beliefs, Desires, Intentions)
(Bratman, 1987)

Creencias
Deseos

Intenciones

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 34


Cmo funciona un SMA?
3. Para cumplir objetivos necesita la colaboracin
con otros agentes
Negociacin
Delegacin
Coordinacin
Objetivo:
Reunin la semana
que viene con
Carmen

Reunin martes o mircoles Agenda


Agenda Carmen
Juan Reunin el martes Prefs
Carmen
Prefs De acuerdo
Juan Asistente
Asistente
de Carmen
de Juan

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 35


Cmo funciona un SMA?
3. Para cumplir objetivos necesita la colaboracin
con otros agentes
Negociacin
Delegacin
Coordinacin Horarios
Horarios
Disponibilidad
Disponibilidad
Objetivo:
Transporte
m p ra billete
Madrid-Sevilla C o
Agente de reservas
Obtn billete Prefs de Renfe
Coco
de tren
Agenda Xyz Horarios
Juan Rese Disponibilidad
r va h
otel
Prefs Agente de viaje
Juan Gustavo de Juan
Agente Hotel Puerta Triana

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 36


Cmo funciona un SMA?
4. Los agentes necesitan servicios de localizacin
de agentes
Pginas blancas
Pginas amarillas

Agente de reservas de Renfe?


Prefs
Juan Pginas blancas

Qu hoteles en Sevilla *** y


Agente de viaje cntricos?
de Juan

Pginas amarillas

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 37


Cmo funciona un SMA?
5. Comunicacin con el usuario
Interfaces avanzadas
Informacin implcita a partir de experiencia pasada
o preferencias del usuario
Gestin de dilogos

Agenda Text
Juan mining
Prefs
Otras
Juan Asistente Tcnicas
De Juan IA
CBR

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 38


Teora de Agentes

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 39


Sobre la utilidad de los agentes
En el diseo de sistemas distribuidos los agentes proporcionan:
Aspectos sociales

Lenguajes y protocolos de comunicacin de agentes

Distribucin de datos, control, conocimiento, recursos

En el anlisis de un sistema los agentes tienen un mayor grado de abstraccion que


los objetos o componentes:
Mayor autonoma y capacidad de decisin

Varios componentes heterogneos que mantienen relaciones entre ellos y

con escalas de tiempo diferentes


Modelado de sistemas naturales y sociales

Facilitan la evolucin:
Adaptacin a modificaciones y al entorno

Escalabilidad: aadir agentes para soportar mayor carga de trabajo

Aadir/quitar funcionalidad en tiempo de ejecucin

Desarrollo incremental

Sistemas abiertos: capacidad de aceptar nuevos elementos

Pero no siempre son la solucin ideal


Ausencia de control/visin global del sistema
Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 40
Aplicaciones
Servicios de informacin en Internet
Recuperacin y extraccin de informacin
Personalizacin
Comercio electrnico
Mercado de servicios electrnico
de servicios
Negociacin
Equipos mviles y PCs en el hogar Flexibilidad de
Redes pblicas de telecomunicaciones la distribucin
Provisin de servicios bajo demanda
Descentralizacin del control y gestin de redes
Delegacin
Gestin de procesos (workflow)
Simulacin de sistemas dinmicos de tareas
Juegos (bots)
Robtica
Etc.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 41


SMA vs. OO
Objetos Agentes
Ejecuta los mtodos invocados Autonoma de decisin
Flujo de control del llamante Flujo de control propio
Encapsula estado y Encapsula la activacin del
comportamiento comportamiento
Estado: valor de variables Estado mental: objetivos,
creencias, ...
Comportamiento: salida a partir Comportamiento: cmo
de una entrada decidir lo que hacer
Mensajes invocan procedimiento Interacciones: actos de habla
(intencionalidad)
Asociaciones entre objetos
Organizacin: relaciones
sociales entre agentes

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 42


SMA vs. Sistemas Expertos
Sistemas Expertos Agentes
Sistemas cerrados Interactan con el entorno

Sistemas de decisin Distribucin de la toma de


centralizados decisiones:
Comportamiento emergente

Interaccin con el usuario bajo


peticin del usuario Mayor grado de interaccin
con el usuario
Interaccin con otros agentes

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 43


Definicin SMA
Los sistemas multi-agente que consideramos constan de:
1. Un middleware para soportar la comunicacin entre los
agentes y con sistemas propietarios
Sobre este middleware es posible utilizar herramientas
basadas en estndares de comunicacin entre agentes
como FIPA ACL o KQML, o definir interfaces especficas
para cada agente con un lenguaje como OMG IDL.
2. Agentes, de diversos tipos, que cooperan para proporcionar
servicios inteligentes a los usuarios.
3. Recursos que pueden estar gestionados por agentes o por
algn sistema propietario
Puede tratarse de un servidor web, una base de datos,
un servidor de correo, un sistema de gestin de
procesos de negocio, dependiendo del entorno de la
aplicacin.
Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 44
Teora de Agentes
Cmo formular, describir, descomponer problemas y sintetizar
resultados entre un grupo de agentes inteligentes?

Cmo permitir a los agentes comunicarse e interactuar?

Qu lenguajes de comunicacin y protocolos se pueden usar?

Qu arquitectura es la mas adecuada para construir Sistemas


multi-agente prcticos?

Qu lenguajes y herramientas de desarrollo se pueden utilizar?

Cmo construir herramientas para soportar las metodologas


de desarrollo?, etc.

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 45


Qu opinis?
Se trata de otro tipo de software?
Y la tecnologa de componentes? en
qu sentido se pueden considerar los
agentes como un tipo de componentes?
Si no hay aplicacin de tcnicas de IA,
hablaremos de agentes o simplemente
de proceso distribuido?

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 46


Referencias
Mas, Ana. Agentes Software y Sistemas Multi-Agente. Conceptos, Arquitecturas
y Aplicaciones. Pearson. Prentice Hall. ISBN: 84-205-4367-5. 2005.
Brenner, W., Zarnekow, R. Wittig, H. Intelligent Software Agents. Springer,
1998.
Briot J.P. y Demazeau, Y. Principes et architecture des systmes multi-agents.
Lavoisier, 2001.
Ferber, J.: Multi-Agent Systems. Addison-Wesley. 1999.
Jennings, N.R., On agent-based software engineering. Artificial Intelligence,
117, 2000.
Russell, S., Norvig, P., Artificial Intelligence: A Modern Approach. Prentice-Hall,
1995.
Shoham, Y. Agent-oriented programming. Artificial Intelligence, 60, 1993.
Weiss, G. Multiagent Systems. MIT Press, 1999.
Wooldridge, M.J., Intelligent Agents (captulo del libro de Weiss)

Sistemas Inteligentes. Facultad de Informtica. Universidad Politcnica de Valencia 47