Cooperación entre agentes inteligentes

Los agentes inteligentes, se tienden a interpretar como agentes aislados basados en diferentes tipos de arquitecturas: arquitectura de subsuncion, arquitectura de pizarra, arquitectura BDI y arquitecturas para la resolución genérica de problemas.

Debido al carácter distribuido de los entornos y a la necesidad de cooperación entre los agentes sobre todo en la solución de problemas complejos, han ido surgiendo métodos que permiten la colaboración de varios agentes para lograr objetivos comunes. Para estos casos surgen los Sistemas Multi-Agentes (SMA),

Existen dos formas de abordar el problema por medio de:
1. Agentes aislados.
2. Sistemas Multi-Agentes (SMA)

La filosofía de trabajo de los Sistemas Multi-Agentes implica no sólo la comunicación entre agente sino también lograr una actuación coordinada sobre el entorno. Este hecho aumenta la complejidad del desarrollo de los SMA, ya que obliga a realizar un estudio en todos sus detalles del entorno para detectar que acciones realizadas por un agente pueden afectar a otro agente y por supuesto al entorno en si.

A la hora de construir un sistema multiagente hay que tener en cuenta las diferentes técnicas que se pueden aplicar tales como:
1. Orientación a objetos.
• Estructura del sistema.
• Asignación de responsabilidades.
2. Sistemas expertos.
• Definición del comportamiento.
• Representación del conocimiento.
3. Inteligencia Artificial.
• Organización.
• Comunicación de conocimiento.
• Coordinación.

Para los sistemas basados en agentes consideraremos que el agente debe tener las siguientes características:
• Que tenga la capacidad de procesar conocimientos.
• Que puedan perseguir el cumplimiento de unos objetivos.
• Que sean capaces de influir en el entorno mediante acciones.
• Que las interacciones entre los agentes se puedan describir como acciones comunicativas.

Al igual que los sistemas expertos, los agentes no se aplican a cualquier tipo tarea. Para su uso eficiente seria bueno, que la tarea tenga alguna de las siguientes características:
• Situaciones donde los tipos de comunicaciones son complejos y diversos.
• Sistemas donde no es práctico o posible el comportamiento imperativo de caso por caso. Los agentes tienen la ventaja de estar guiado por sus objetivos y no de procedimientos que partiendo de una entrada lleguen a una salida.
• Sistemas donde se requiere de negociación, cooperación y competencia entre las distintas entidades.
• Sistemas autónomos.
• Sistemas con propiedades modulares: distribución, extensibilidad y flexibilidad.

Aspectos del SMA
1. Los agentes realizan tareas o persiguen objetivos
2. Identificación de objetivos generales y descomposición en objetivos más concretos que se pueden asignar a agentes
3. Qué interacciones existen entre agentes/roles
4. Organización de la estructura del SMA, roles, relaciones de poder, workflows
5. Entidades y relaciones con el entorno del SMA

1. Realización de tareas y control del estado mental del agente
a) Funcionalidad del agente:
• Qué tareas sabe ejecutar
• Qué objetivos se compromete a alcanzar
b) Control del agente:
• Estado mental: Agregación de entidades mentales tales como objetivos, creencias, compromisos, hechos.
• Gestión de estado mental: Creación, destrucción, modificación de las entidades del estado mental
• Procesador de estado mental: Reglas, planificación, etc.

2. Identificación y descomposición de objetivos
a) Objetivo (Situación deseada):
• Conjunto de estados que el agente quiere lograr, mantener, o evitar
• Una función de utilidad que maximizar
• Responde a ¿por qué?
b) Tarea: Transiciones de estado
• Conduce a la consecución de objetivos
• Responde a ¿cómo?

3. Interacción entre los agentes
a) Intercambio de conocimiento o peticiones (intencionalidad) entre agentes
b) Define las interacciones entre los agentes o entre agentes y humanos
• Se definen a alto nivel, en diseño se detalla el protocolo de interacción
• Se puede usar el concepto de protocolo de interacción de Agent UML o los protocolos de Gaia

4. Organización de la estructura
a) Descomposición de la estructura en grupos y flujos de trabajo.
• Interrelación de tareas en flujos de trabajo
• Relaciones entre agentes respecto a las tareas
• Recursos disponibles y asignación
b) Relaciones sociales
• Relaciones de poder (p.ej. subordinación) y cliente/servidor entre agentes
• Relaciones entre grupos
• Relaciones entre organizaciones
c) Funcionalidad
• Propósito
• Tareas que debe realizar

5. Entidades del entorno con las que se va a interactuar.
a) Recursos:
• Elementos consumibles o no consumibles: Descriptores de ficheros, hilos de ejecución, memoria, dispositivos de E/S, sockets, ancho de banda, etc.
b) Aplicaciones:
• Uso más complejo, por medio de alguna interfaz
c) Agentes
• Satisface el principio de racionalidad

Análisis del SMA
1. Propósito: obtener un modelo abstracto que represente los requisitos del sistema para:
• Entender mejor el problema
• Confirmar que se trata del problema a resolver (validación)
• Facilitar el diseño de la solución
2. Define qué hace el sistema
• Requisitos funcionales: Qué servicios proporciona el sistema
• Requisitos no funcionales: Parámetros de calidad de servicio

Diseño del SMA
1. Propósito: Transformación de las entidades de análisis en entidades computacionales
• Se asume una plataforma de agentes que establece una arquitectura y restricciones en las alternativas de diseño: Por ejemplo, BDI, capas, FIPA, etc.
2. Define cómo se realizan los requisitos del sistema
• Definición de la organización de los agentes del sistema
• Especificación de las interfaces de los agentes y componentes del sistema
• Estructura interna de los agentes y su comportamiento

Diseño del agente

1. Control y gestión
• Sincronización y coordinación de las actividades de los otros componentes

2. Percepción y comunicación
• Gestión de las sesiones de comunicación del agente con
• Otros agentes
• Usuarios
• Sistemas propietarios (legacy systems)

3. Dominio
• Recursos y elementos de información propios del dominio de la aplicación

4. Recursos
• Recursos genéricos de la plataforma de agentes

Acerca de Alejandro Madruga

Licenciado en Cibernética Matematica. Trabajo el tema de la Inteligencia Artificial desde 1986. He publicado articulos y ensayos sobre la Cibernetica y las tendencias tecnologicas. También he publicados narraciones de ciencia ficción
Esta entrada fue publicada en Agentes Inteligentes. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s