Introducción a la Tecnología de Agentes



Descargar 33,24 Kb.
Fecha de conversión02.05.2017
Tamaño33,24 Kb.
  • Copyright © 2006 JoséAngel Bañares
  • Departamento de Informática e Ingeniería de Sistemas
  • C.P.S. Universidad de Zaragoza
  • J.A. Bañares Bañares
  • Última revisión: Nov., 2009
  • Esta presentación ha sido elaborada a partir del material docente del Curso de doctorado
    • 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

Libros básicos sobre 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.

Libros básicos sobre agentes

  • 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

Índice

  • Definición Agente software y Sistemas Multi-agente
  • Características de los agentes
    • Autonomía
    • Inteligencia
    • Sistemas multiagentes/Arquitecturas cooperativa
    • Habilidades sociales
    • Movilidad
  • Clases/Categorías de agentes
  • Ejemplos
  • Agentes como componentes sotfware vs Objetos/SE
  • Comunicación entre agentes
    • Lenguajes de Comunicación (KIF, KQML, Speech-Acts)
    • Protocolos
  • FIPA (Foundation for Intelligent Physical Agents )

Agentes Software

  • Los agentes inteligentes surgen dentro del campo de la Inteligencia Artificial al tratar de explicar y construir agentes que reciben percepciones del ambiente y proceden a ejecutar acciones (Softbots, robots).
  • A partir de los trabajos desarrollados en el área de la Inteligencia Artificial Distribuida (DAI), surge el concepto de sistemas multiagente
  • La investigación inicial progresa hacia la madurez:
    • Programación Orientada a Agentes y entornos de desarrollo
    • Lenguajes de Comunicación de Agentes
  • Posteriormente este concepto se extiende al resto de la Ingeniería del software:
    • la Ingeniería del Software Orientada a Agente
    • Son la tecnología de referencia de la interoperabilidad semántica de sistemas distributidos (Semantic Web Architecture)

El papel de los agentes en la IA

  • Los agentes son el elemento unificador de todo el contenido de libros de texto actuales de introducción a la IA
  • La tarea de la IA es explicar y construir agentes que reciben percepciones del ambiente y proceden a ejecutar acciones.
  • (Artificial Intelligence, A modern approach. Stuart Russel & Peter Norvig 1996)

El papel de los agentes en la IA

  • Proyectando las tendencias actuales en el futuro, pienso que habrá un nuevo énfasis sobre sistemas autónomos- robots y softbots. Softbots son angentes software que navegan por Internet, buscando información que pueda ser interesante para sus usuarios. La presión para mejorar las capacidades de los robots y los agentes software motivarán y guiarán la investigación en IA durante los próximos años.”
  • (Artificial Intelligence, A new Synthesis. Nilsson 1998)

Definiciones

  • Agente (Diccionario RAE):
  • Que obra o tiene virtud de obrar
    • • El que realiza una acción
    • • Persona o cosa que produce un efecto
  • Persona que obra con poder de otra
    • • El que actúa en representación de otro (agente artístico,
    • 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 (softbots):
  • Aplicaciones informáticas con capacidad para decidir cómo deben actuar para alcanzar sus objetivos
  • Agentes inteligentes:
  • Agentes software que pueden funcionar fiablemente en un entorno rápidamente cambiante e impredecible

Definiciones de Wooldridge

  • Un agentes 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 diseño, en lugar de recibir instrucciones 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)

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

Agentes como entidades autónomas que interaccionan con el entorno

  • Agente
  • Ambiente
  • sensores
  • Representación del estado del entorno
  • Elección de la acción
  • Reglas condición acción
  • actuadores
  • Agente Reflejo con un estado interno (Russell&Norvig 00)

Agentes como entidades autónomas que interaccionan con el entorno

  • Agente
  • Ambiente
  • sensores
  • Representación del estado del entorno
  • ¿Qué acción debo emprender?
  • Metas
  • actuadores
  • Agente Basado en Metas (Russell&Norvig 00)
  • ¿Qué sucede si se elige la acción A?
  • Estado
  • ¿Cómo evoluciona el mundo?
  • ¿Qué efecto producen mis acciones?

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 conexión entre objetivos y comportamiento, por medio del conocimiento del que dispone el agente ... lo que no implica que el agente tomará la mejor decisión

Agentes como entidades autónomas que interaccionan con el entorno

  • Agente
  • Ambiente
  • sensores
  • Representación del estado del entorno
  • ¿Cómo de buena es la solución?
  • Utilidad
  • actuadores
  • Agente Basado en la Utilidad
  • Búsqueda de solución calidad(Russell&Norvig 00)
  • ¿Qué sucede si se elige la acción A?
  • Estado
  • ¿Cómo evoluciona el mundo?
  • ¿Qué efecto producen mis acciones?
  • ¿Qué acción debo emprender?

Relación del agente con el entorno

  • En la mayor parte de los dominios el agente sólo tendrá control parcial del entorno
  • Una misma acción realizada por el agente 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
    • Modelo Agensheet
  • El principal problema al que se enfrenta un agente es decidir qué acción realizar para alcanzar sus objetivos de diseño
  • Las arquitecturas de agentes podrían verse como arquitecturas software para sistemas de toma de decisiones empotrados en un entorno

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

Agentes: Inteligencia

  • Técnicas para implementar la racionalidad
    • Representación del Conocimiento
    • Razonamiento simbólico
    • Planificación
    • Satisfacción de Restricciones
    • Aprendizaje Automático
    • Razonamiento bajo incertidumbre:
      • Sistemas de mantenimiento de la verdad
      • Inferencia Estadística
  • ⇒ !! Sistemas Basados en el Conocimiento!!

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, ...

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 estático (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 aparición de nuevos agentes)

Definición 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
  • 6. Operadores que representan la aplicación de operaciones sobre el mundo y la reacción de éste al ser alterado
    • Estos operadores se pueden entender como las leyes del universo

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.

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

  • 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

¿Influyen los agentes en otras arquitecturas software?

  • Tendencias hacia la interoperabilidad de aplicaciones
  • Generación
  • Primera
  • Segunda
  • Tercera
  • Cuarta
  • Comunicación
  • TCP/IP
  • CORBA
  • HTTP
  • Mensajes
  • Información
  • SQL
  • XML
  • RDF
  • OWL
  • Aplicación
  • RPC
  • EDI
  • SOAP
  • Protocolos
  • Configuración
  • Hard-coded
  • Directorios
  • UDDI
  • Selección
  • (Singh, Huhns 2005)

¿Influyen los agentes en otras arquitecturas software?

  • Tendencias hacia la interoperabilidad de aplicaciones
  • Generación
  • Primera
  • Segunda
  • Tercera
  • Cuarta
  • Comunicación
  • TCP/IP
  • CORBA
  • HTTP
  • Mensajes
  • Información
  • SQL
  • ORBBus
  • XMLBus
  • ESBus
  • RDF/OWL
  • Aplicación
  • RPC
  • EDI/Modelos Dominio
  • SOAP
  • Protocolos
  • Configuración
  • Hard-coded
  • Directorios
  • UDDI
  • Selección
  • SOC/SW
  • Middleware
  • Componentes
  • Semantic
  • Web/Agents/Grid

La contribución de los sistemas multi-agentes

  • 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)
  • Objetivo del cliente
  • Servicio Publicado
  • Objetivo del Proveedor
  • Descubrimiento servicios Candidatos
  • Ejecución
  • Servicios
  • Seleccionado y acuerdos
  • Proceso
  • Cliente
  • Proceso
  • Proveedor
  • Negociación
  • con candidatos
  • y acuerdo
  • Monitorización y ejecución del
  • servicio
  • Caracterización abstracta del servicio candidato
  • Protocolo de búsqueda de servicio
  • Acoplamiento
  • Servicio de
  • iniciación
  • Servicio de
  • monitorización
  • Terminación y compensación
  • Servicio de negociación
  • Del contrato
  • Servicios
  • acordado
  • Caracterización del servicio requerido
  • protocolo
  • descripción de objetivos

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

Agentes móviles

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

Categoría de Agentes (Zarnekow, 1998)

Ejemplo de funcionamiento de SMA

  • Ejemplo:
  • Una conversación entre Juan (residente en Madrid) y
  • Carmen (residente en Sevilla) para decidir una reunión de
  • trabajo.

Ejemplo de funcionamiento de SMA

  • Juan
  • Hola Carmen! Precisamente estaba pensando llamarte para que preparemos la presentación de nuestra colección de invierno
  • (escucha y asiente)
  • Está bien, podemos quedar entonces la semana que viene, preguntemos a nuestras agendas...
  • Asistente?
  • Bueno Carmen, pues nos vemos el próximo miércoles,
  • Hasta luego encanto.
  • (cuelga el teléfono)
  • Asistente, ¿me organizas el viaje?
  • Sí, perfecto
  • Sí, muy bien.
  • Muchas gracias, asistente.
  • Asistente de Juan
  • Buenos días Juan.
    • De acuerdo con el asistente personal de
    • Carmen, el mejor día para reuniros es el
    • miércoles 10 de abril en el despacho de
    • Carmen.
  • Sí Juan.
  • Te propongo salir en el AVE de Madrid el
    • miércoles 10 de abril de 2003 a las 8 de la
    • mañana, 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 mañana, llegada a Madrid a
    • las13.30. en clase turista Lo confirmo?
  • Alojamiento en el hotel Puerta de Triana, la noche del miércoles al jueves Lo confirmo?
  • Viaje organizado. Tren y hotel confirmados. De los restaurantes del almuerzo y la cena se ocupa la Sra. Carmen.

Ejemplo de funcionamiento de SMA

  • El agente monitoriza la actividad del usuario
    • Lee/escucha la conversación del usuario
    • Reconoce patrones en la conversación
    • Deduce información y objetivos en función de experiencia pasada

Ejemplo de funcionamiento de SMA

  • El agente persigue satisfacer sus objetivos
    • Toma decisiones
    • Puede descomponer objetivos en subobjetivos
    • Ejecuta tareas

Ejemplo de funcionamiento de SMA

  • Para cumplir objetivos necesita la colaboración con otros agentes
    • Negociación
    • Delegación
    • Coordinación

Ejemplo de funcionamiento de SMA

  • Para cumplir objetivos necesita la colaboración con otros agentes
    • Negociación
    • Delegación
    • Coordinación

Ejemplo de funcionamiento de SMA

  • Los agentes necesitan servicios de localización de agentes
    • Páginas blancas
    • Páginas amarillas

Ejemplo de funcionamiento de SMA

  • Comunicación con el usuario

Utilidad de los sistemas multiagentes

  • En el diseño de sistemas distribuidos los agentes proporcionan:
    • Aspectos sociales
    • Lenguajes y protocolos de comunicación de agentes
    • Distribución de datos, control, conocimiento, recursos
  • En el análisis de un sistema los agentes tienen un mayor grado de abstracción que los objetos o componentes (Al igual de los servicios Web o componentes CORBA, pero son autónomos):
    • Mayor autonomía y capacidad de decisión
    • Varios componentes heterogéneos que mantienen relaciones entre ellos y con escalas de tiempo diferentes
    • Modelado de sistemas naturales y sociales
  • Facilitan la evolución (p.e. Aplicación Grid Computing):
    • Adaptación a modificaciones y al entorno
    • Escalabilidad: añadir agentes para soportar mayor carga de trabajo
    • Añadir/quitar funcionalidad en tiempo de ejecución
    • Desarrollo incremental
    • Sistemas abiertos : capacidad de aceptar nuevos elementos
  • Pero no siempre son la solución ideal
  • Ausencia de control/visión global del sistema

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.

Conclusiones: 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...

Conclusiones: 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...

Referencias

  • Bratman, M. E., Israel, D., and Pollack, M., Plans and Resource-bounded Practical Reasoning, Journal of Computational Intelligence, vol. 4, no. 4, pp. 349-355, 1988.
  • Brenner, W., Zarnekow, R. Wittig, H. Intelligent Software Agents. Springer, 1998.
  • Brooks, R.A., Intelligence without representation. Artificial Intelligence, 47, 1991.
  • Carver, N. and Lesser, V. R.:The Evolution of Blackboard Control Architectures. Informe. Department of Computer Science, University Massachusetts. 1992
  • Ferber, J. Multiagent systems : an introduction to distributed artificial intelligence, Addison-Wesley, 1999.
  • Genesereth, M.R., Ketchpel, S.P. Software Agents. CACM, 37, 7, 1994
  • Jennings, N.R., On agent-based software engineering. Artificial Intelligence, 117, 2000.
  • Müller, J.P., The design of intelligent agents: a layered approach. Lecture Notes in omputer Science, Vol.1177, Springer-Verlag, 1996
  • Shoham, Y. Agent-oriented programming. Artificial Intelligence, 60, 1993.
  • Sycara K.P. Multiagent Systems. AI Magazine, Summer 1998.
  • Weiss, G. Multiagent Systems. The MIT Press, 1999.


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal