miércoles, 28 de enero de 2009

Es una ciencia y una técnica que trata con los sistemas de inteligencia artificial en red.El bloque fundamental de construcción de un sistema multiagente, como es de esperarse, son los agentes.


Aunque no existe una definición formal y precisa de lo que es un agente, éstos son por lo general vistos como entidades inteligentes, equivalentes en términos computacionales a un proceso del sistema operativo, que existen dentro de cierto contexto o ambiente, y que se pueden comunicar a través de un mecanismo de comunicación inter-proceso, usualmente un sistema de red, utilizando protocolos de comunicación.


En cierto modo, un sistema multiagente es un sistema distribuido en el cual los nodos o elementos son sistemas de inteligencia artificial, o bien un sistema distribuido donde la conducta combinada de dichos elementos produce un resultado en conjunto inteligente.Hay que notar que los agentes no son necesariamente inteligentes.

Enfoques para construir sistemas multiagentes:


El enfoque formal o clásico, que consiste en dotar de los agentes de la mayor inteligencia posible utilizando descripciones formales del problema a resolver y de hacer reposar el funcionamiento del sistema en tales capacidades cognitivas. Usualmente la inteligencia es definida utilizando un sistema formal para la descripción, raciocinio, inferencia de nuevo conocimiento y planificación de acciones a realizar en el medio ambiente.

El enfoque constructivista, que persigue la idea de brindarle inteligencia al conjunto de todos los agentes, para que a través de mecanismos ingeniosamente elaborados de interacción, el sistema mismo genere comportamiento inteligente que no necesariamente estaba planeado desde un principio o definido dentro de los agentes mismos (que pueden ser realmente simples). Este tipo de conducta es habitualmente llamado comportamiento emergente.


Características


  • Tomar la iniciativa

  • Compartir Conocimiento

  • Cooperar y Negociar

  • Comprometerse con metas comunes.

Cooperación



En un SMA existen dos tipos de tareas que deben ser realizadas: las tareas locales y las tareas globales. Las tareas locales son las tareas relacionadas con los intereses individuales de cada agente y las tareas globales son las tareas relacionadas con los intereses globales del sistema. Estas tareas globales son descompuestas y cada subtarea es realizada por un agente, de acuerdo a sus habilidades y bajo el supuesto de que la integración de la solución de las subtareas, llevará a la solución global.



La descomposición de la tarea global no necesariamente garantiza la independencia de cada una de las subtareas, por ello se necesitan mecanismos de cooperación que permitan compartir resultados intermedios que lleven al progreso en la resolución de las tareas de otros agentes y al progreso de la solución global que debe alcanzar el sistema.



Para que los agentes puedan cooperar de manera eficiente, cada uno de ellos debe tener ciertas características:


• Tener un modelo bien definido del mundo, que le permite localizar a los demás agentes, saber cómo comunicarse con ellos, qué tareas pueden realizar, etc. • Poder integrar información de otros agentes con la suya, para formar conceptos globales o conocimiento conformado por varios agentes.


• Poder interrumpir un plan que se este llevando a cabo para ayudar o atender a otros agentes para que puedan cooperar entre sí cuando los agentes lo necesiten.
La cooperación depende mucho de la configuración organizacional del grupo de agentes. Si la estructura es centralizada los agentes dependientes piden colaboración casi que permanente al agente maestro, si la estructura es jerárquica, la cooperación puede hacerse por niveles (en un mismo nivel) o de niveles superiores a niveles inferiores y si la estructura es horizontal la cooperación se hace entre todos los agentes.


Existen varios modelos de cooperación como son:



• Cooperación compartiendo tareas y resultados: Los agentes tienen en cuenta las tareas y los resultados intermedios de los demás para realizar las tareas propias.


Cooperación por delegación: Un agente supervisor o maestro descompone una tarea en subtareas y las distribuye entre los agentes esclavos, para que sean resueltas. Después, el supervisor integra las soluciones para hallar la solución al problema inicial. • Cooperación por ofrecimiento: Un agente maestro descompone una tarea en subtareas y las difunde en una lista a la que tienen acceso los agentes que integran el sistema, esperando que ellos ofrezcan su colaboración de acuerdo a sus habilidades. El supervisor escoge entre los ofrecimientos y distribuye las subtarea.


Negociación

Para que los mecanismos de cooperación y coordinación sean exitosos en un sistema de agentes que actúan interdependientemente, debe existir un mecanismo adicional, por medio del cual, los integrantes de un sistema se puedan poner de acuerdo cuando cada agente defiende sus propios intereses, llevándolos a una situación que los beneficie a todos teniendo en cuenta el punto de vista de cada uno. Este mecanismo es llamado negociación.



Los procesos de negociación tienen como resultado la modificación o confirmación de las creencias de cada agente involucrado, en lo relacionado con los demás agentes y con el mundo en el que se desenvuelve.



La negociación se puede mirar bajo una perspectiva racional, la cual describe la negociación como un proceso de seis pasos:


• Definir el problema.

• Identificar aspectos.

• Ponderar criterios.

• Generar alternativas.

• Evaluar alternativas.

• Formular solución.


En los SMA la mayoría de las veces el problema está bien definido, es decir, el primer paso no es relevante. Los demás pasos se pueden o no seguir, dependiendo del problema para el cual un grupo de agentes busca una solución.


Control

Es el mecanismo básico que provee apoyo para la implementación de mecanismos de coordinación en un SMA. El control se relaciona directamente con :

• Determinar cuáles son las subtareas más importantes a realizar en un momento dado.

• Determinar qué contexto (resultados intermedios de otros agentes) deben ser usados en la solución de una subtarea.

• Estimar el tiempo de generación de la solución a una subtarea.

• Evaluar si la solución de un problema ha sido generada. (Problema de la terminación).


El control puede ser considerado desde dos puntos de vista : control global y control local. El control global se relaciona con tomar decisiones basándose en datos obtenidos y consolidados a partir de la información de todos los agentes del sistema, el control local se relaciona con tomar decisiones basándose solo en datos locales. Estos dos controles deben ser balanceados por varias razones :

• El aumento del poder de control local lleva a que los agentes actúen eficientemente desde el punto de vista "rapidez en la toma de decisiones y en la ejecución de tales decisiones". Pero, se puede llegar a la pérdida de mecanismos de cooperación efectivos y como consecuencia a la realización de tareas no deseables.

• El aumento del poder del control global lleva a aumentar los costos de computación del sistema, porque la información de los agentes cambia dinámicamente, como consecuencia para mantener información global coherente, se deben revisar e incorporar constantemente los cambios en cada uno de los agentes.

Para mantener el balance entre el control global y el control local, los componentes del control local de cada agente deben :

• Proveer al control cooperativo una descripción de su estado actual y actividades esperadas.

• Interactuar con el control cooperativo para modificar las actividades locales y estar más "in-line" con las necesidades de los otros agentes.

• Ser suficientemente sofisticado en la toma de decisiones de manera que pueda tolerar cierto nivel de error en el control cooperativo.

En se presentan algunos mecanismos y estrategias para la implementación del control en un SMA. El mecanismo básico propuesto es la creación y manejo de estructuras que puedan accesar todos los agentes y en las que se representen organicen e integren, a alto nivel, las metas globales y locales del sistema. Cada una de estas metas se relaciona con la intención de realización de alguna tarea. La estructura global de metas no necesita ser totalmente desarrollada para la resolución distribuida de problemas, la estructura puede ser construida a medida que la solución del problema progresa.

Aplicaciones

  • Aplicaciones Industriales de los Sistemas MultiagenteLa tecnología de agentes/sistemas multiagente (SMA) está realizando importantesaportaciones en la resolución de problemas en diversos dominios (comercio electrónico,subastas electrónicas, medicina, bolsa, etc.), donde aproximaciones tradicionales noproporcionan soluciones suficientemente satisfactorias. En concreto, la industria defabricación es uno de los dominios donde la tecnología de agentes/SMA proporcionauna forma natural para resolver problemas que son inherentemente distribuidos.

  • Desarrollo e implementación de un sistemamultiagente (MAS) para la identificación y control de plantas y procesos implementando el esquema de un regulador auto-ajustable (STR).