Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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?
Carmen Fernndez Chamizo Jorge Gmez Sanz Juan Pavn Mestras Dep. de Sistemas Informticos y Programacin
http://grasia.fdi.ucm.es
UCM, 2003
Agentes Software
Agentes Software
n
Los agentes software surgen dentro del campo de la Inteligencia Artificial y, a partir de los trabajos desarrollados en el rea de la Inteligencia Artificial Distribuida (DAI), surge el concepto de sistemas multiagente La investigacin inicial progresa hacia la madurez. Surge la Programacin Orientada a Agentes y los Lenguajes de Comunicacin d e Agentes Posteriormente este concepto s e extiende al resto de la Ingeniera del software, plantendose hoy en da la Ingeniera del Software Orientada a Agentes
Definiciones cualitativas
Basadas en propiedades o en habilidades del agente, e.g. definicin de Wooldridge & Jennings
Definiciones operacionales
Test de Huhns- Singh
Clasificaciones
UCM, 2003
Agentes Software
UCM, 2003
Agentes Software
Definiciones
n
Primera caracterstica
n
Agente
n
(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
Entidades autnomas
n
Agentes software:
n
Aplicaciones informticas con capacidad para decidir cmo deben actuar para alcanzar sus objetivos
Agentes inteligentes:
n
Agentes software que pueden funcionar fiablemente en un entorno rpidamente cambiante e impredecible
Agentes Software 5 UCM, 2003
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
UCM, 2003
Agentes Software
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
AGENTE
n
percepcin (entrada)
accin (salida )
U n agente debe estar preparado para fallar o para la incertidumbre de no saber si ha tenido xito o no U n agente dispone de un repertorio de acciones disponibles con sus correspondientes precondiciones El principal problema al que s e 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
n n
ENTORNO
UCM, 2003
Agentes Software
UCM, 2003
Agentes Software
Segunda caracterstica
n
Inteligencia
n
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
UCM, 2003
Agentes Software
UCM, 2003
Agentes Software
10
Agentes inteligentes
n
Tercera caracterstica
n
Principio de Racionalidad
Sistemas Multi-Agente
If an agent has knowledge that one of its actions will lead to one of its goals, then the agent will select that action
n n
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
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
UCM, 2003
Agentes Software
11
UCM, 2003
Agentes Software
12
Test de Huhns-Singh
n
Definicin de SMA
(Ferber, 1999)
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).
n n
1. Un entorno 2. Un conjunto de objetos n 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 n Los objetos son pasivos, pueden ser percibidos, creados, destruidos y modificados por agentes 3. Un conjunto de agentes n Objetos especiales que representan las entidades activas del sistema 4. Un conjunto de relaciones que unen objetos y agentes 5. Un conjunto de operaciones n 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 n Estos operadores se pueden entender como las leyes del universo
13 UCM, 2003 Agentes Software 14
Comportamiento emergente Mejora del rendimiento del SMA (esto implica que los agentes han de ser conscientes de la aparicin de nuevos agentes)
UCM, 2003
Agentes Software
Cuarta caracterstica
n
Habilidad Social
n
Interaccin
Dilogo
Delegacin
Asignar la realizacin de tareas
Cooperacin
Trabajo en comn para lograr un objetivo comn
Coordinacin Negociacin
Organizar el proceso de solucin del problema de forma que se eviten interacciones nocivas y que se exploten las beneficiosas Formular un acuerdo que sea aceptable por todas las partes implicadas).
Algunos autores consideran que la capacidad de hablar un lenguaje de agentes es suficiente para considerar a un software como agente
UCM, 2003
Agentes Software
15
UCM, 2003
Agentes Software
16
Quinta caracterstica
n
Agentes mviles
Cdigo
Movilidad
n
Sistema local
Sistema remoto
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 ...
Evaluacin remota
Cdigo + Datos Cdigo + Datos
Sistema de Agentes A
Sistema de Agentes B
Sistema de Agentes C
Agentes Software
18
Clasificacin de agentes
N de agentes
(Wooldridge, 1999)
Categoras de agentes
Agentes
(Zarnekow, 1998)
multiagente
Agentes humanos
Agentes hardware
Agentes software
Movilidad
UCM, 2003 Agentes Software 19 UCM, 2003 Agentes Software 20
Juan
n n n
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?
Asistente de Juan
n n n
Bueno Carmen, pues nos vemos el prximo mircoles, Hasta luego encanto. (Pulsa un par de botones en el telfono) Asistente, me organizas el viaje?
n n
Buenos das Juan. De acuerdo con el asistente personal de Carmen, el mejor da para reuniros es el mircoles 10 de abril en el despacho de Carmen.
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 mircoles al jueves Lo confirmo? Viaje organizado. Tren y hotel confirmados. De los restaurantes del almuerzo y la cena se ocupa la Sra. Carmen. 22
S, perfecto
S, muy bien.
n
UCM, 2003
Agentes Software
21
UCM, 2003
Agentes Software
Lee/escucha la conversacin del usuario Reconoce patrones en la conversacin Deduce informacin y objetivos en funcin de experiencia pasada
UCM, 2003
Agentes Software
23
UCM, 2003
Agentes Software
24
Creencias
Deseos
Intenciones
Prefs Juan
Asistente de Juan
Asistente de Carmen
UCM, 2003
Agentes Software
25
UCM, 2003
Agentes Software
26
Gustavo
Pginas amarillas
UCM, 2003
Agentes Software
27
UCM, 2003
Agentes Software
28
Interfaces avanzadas Informacin implcita a partir de experiencia pasada o preferencias del usuario Gestin de dilogos
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
De Juan
UCM, 2003
Agentes Software
29
UCM, 2003
Aplicaciones
Servicios de informacin en Internet
Recuperacin y extraccin de informacin
SMA vs. OO
Objetos Personalizacin de servicios Flexibilidad de la distribucin Delegacin de tareas
n
Agentes
n n n n n n n
Comercio electrnico
Mercado de servicios electrnico Negociacin
Ejecuta los mtodos 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
Autonoma de decisin Flujo de control propio Encapsula la activacin del comportamiento Estado mental: objetivos, creencias, ... Comportamiento: cmo decidir lo que hacer Interacciones: actos de habla (intencionalidad) Organizacin: relaciones sociales entre agentes
32
n n n
Gestin de procesos (workflow) Simulacin de sistemas dinmicos Juegos (bots ) Robtica Etc.
UCM, 2003 Agentes Software
n n
31
UCM, 2003
Agentes Software
Definicin grasia!
Agentes
n
Sistemas cerrados
Un middleware para soportar la comunicacin entre los agentes y con sistemas propietarios
n 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. n n
Agentes, de diversos tipos, que cooperan para proporcionar servicios inteligentes a los usuarios. Recursos que pueden estar gestionados por agentes o por algn sistema propietario
n 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.
3.
UCM, 2003
Agentes Software
33
UCM, 2003
Agentes Software
34
Qu opinis?
n n
Referencias
Brenner, W., Zarnekow, R. Wittig, H. Intelligent Software Agents. Springer, 1998. n Briot J.P. y Demazeau , Y. Principes et architecture des systmes multi-agents. Lavoisier , 2001.
n n n n n n n n
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?
Ferber, J.: Multi- Agent Systems. Addison-Wesley. 1999. Gmez Sanz, J. Termostatos y Agentes, grasia.fdi.ucm.es/ articulos/termostatos_agentes.rtf 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)
Agentes Software 36
UCM, 2003
Agentes Software
35
UCM, 2003