Sistemas Multiagentes en el campo de la Inteligencia Artificial

Sistemas Multiagentes en el campo de la Inteligencia Artificial

La investigación en el campo de la Inteligencia Artificial ha ayudado a desarrollar software que simula las capacidades de la inteligencia del ser humano, tales como razonamiento, comunicación en lenguaje natural, aprendizaje, etc. Con tales programas, las computadoras han pasado progresivamente a ser una especie de asistente para las personas. El desarrollo de redes de computadores (redes corporativas y redes locales) ha sido un gran paso hacia el desarrrollo de organizaciones de computadores, debido a que la colaboración entre individuos requiere que se establezcan ligas de comunicación, y que éstas se usen en forma efectiva. 

La Inteligencia Artificial Distribuida (IAD) es un subcampo de la Inteligencia Artificial que investiga modelos de conocimiento, así como las técnicas de comunicación y razonamiento que necesitan los agentes computacionales para participar en la solución de problemas comunes a ellos. De esta forma, la investigación en IAD se orienta al entendimiento y modelado de conocimiento y acción en tareas que requieren de colaboración. De aquí existen dos áreas de investigación: Solución de Problemas Distribuidos, y Sistemas Multiagentes. 

La investigación en la Solución de Problemas Distribuidos (SPD) considera la forma en que se puede dividir la tarea de solucionar un problema entre un número de módulos (o nodos) que cooperan en dividir y compartir conocimiento acerca del problema y su correspondiente solución. En un sistema SPD puro, todas las estrategias de interacción (cooperación y coordinación) se incorporan como una parte integral del sistema. 

La investigación en Sistemas Multiagentes (SMA) se orienta al estudio del comportamiento de un conjunto de agentes autónomos que tratan de dar solución a un problema dado. Un sistema multiagentes puede definirse como una red de "solucionadores de problemas" que trabajan juntos para dar solución a problemas que están más allá de sus capacidades individuales. Estos solucionadores de problemas, que se les llama "agentes" , son autónomos y pueden ser homogéneos o heterogéneos en su naturaleza dependiendo de sus capacidades en la solución de problemas. A la investigación en Sistemas Multiagentes también se le conoce como Inteligencia Artificial Descentralizada (IADz). 

La Solución de Problemas Distribuidos y la investigación de Sistemas Multiagentes (o Inteligencia Artificial Descentralizada), coinciden en el interés del estudio de entidades distribuidas. Sin embargo, en la Solución de Problemas Distribuidos, inicialmente se define una tarea globaly el problema consiste en diseñar las entidades distribuidas que sean capaces de efectuar esa tarea global: es necesario estudiar la distribución y los puntos de colaboración para la tarea dada. En Sistemas Multiagentes, se definen inicialmente entidades autónomas y se estudia la forma en que estas entidades son capaces de realizar tareas (que pueden ser personales, o que pueden interesar a varias entidades). La característica principal consiste en estudiar la estructura de las entidades (o agentes) autónomos para tener una idea del tipo de problemas que pueden resolver y cómo pueden cooperar entre sí. 

Un sistema multiagentes tiene grandes ventajas con respecto a un sistema centralizado y monolítico: 

    • Solución de problemas con mayor rapidez, debido al aprovechamiento de procesamiento paralelo.
    • Comunicación mínima, pues se transmite solamente soluciones parciales de alto nivel a otros agentes en lugar de tener que enviar datos básicos a un sistema central.
    • Mayor flexibilidad, pues se tienen agentes con diferentes habilidades que en forma dinámica cooperan entre sí para resolver problemas.
    • Mayor confiabilidad, pues otros agentes pueden tomar las responsabilidades de los agentes que llegasen a fallar en su operación.
    Problemas inherentes al diseño e implementación de Sistems Multiagentes:

Problemas de estudio en Sistemas Multiagentes

    Hay seis problemas inherentes al diseño e implementación de Sistemas Multiagentes:
    1. Cómo formular, describir, descomponer y asignar problemas y sintetizar resultados entre grupos de agentes inteligentes.
    2. Cómo lograr la comunicación e interacción entre agentes. Cuáles lenguajes y protocolos de comunicación utilizar para sistemas multiagentes. Cuándo y qué comunicar.
    3. Cómo asegurar que los agentes actúan coherentemente en la toma de decisiones o en la ejecución de acciones, de forma tal que se eviten interacciones dañinas debidas a decisiones particulares que pudiesen afectar decisiones globales.
    4. Cómo permitir que agentes individuales representen y razonen sobre los planes, acciones y conocimientos de otros agentes con el propósito de coordinarse con ellos: Cómo razonar acerca del estado de sus procesos coordinados (p.ej. iniciación, ejecución, y terminación).
    5. Cómo reconocer y reconciliar perpectivas opuestas e intenciones en conflicto entre agentes tratando de coordinar sus acciones.
    6. Cómo diseñar y desarrollar sistemas distribuidos prácticos. Cómo diseñar plataformas tecnológicas y metodologías de desarrollo para SMA.
    Dado lo anterior, la investigación en Sistemas Multiagentes puede clasificarse en tres áreas:

Areas de investigación en Sistemas Multiagentes

    1. Teoría de agentes: 


      Se refiere a cómo conceptualizar agentes, qué propiedades deberían tener, y cómo se puede representar y razonar sobre dichas propiedades.

    2. Arquitecturas de agentes: 


      Se refiere a cómo se pueden construir sistemas que satisfagan las propiedades especificadas por la teoría de agentes. Cuáles estructuras de software o hardware son propiadas.

    3. Lenguajes de agentes: 


      Se refiere a desarrollar lenguajes de programación que permitan desarrollar los principios propuestos por la teoría de agentes, de forma tal que permitan programar dichos agentes.