La Inteligencia artificial distribuida es un campo de la IA dedicado al estudio de las técnicas y el conocimiento necesario para la coordinación y distribución del conocimiento y las acciones en un entorno con múltiples agentes.
Podemos distinguir dos áreas principales de desarrollo:
1. Solución cooperativa de problemas distribuidos (SCPD): Estudia como unos conjuntos de módulos (o nodos) cooperan para dividir y compartir el conocimiento de un problema y en el desarrollo de la solución.
2. Sistemas multiagentes (SMA): Estudia la coordinación de la conducta inteligente entre un conjunto de agentes inteligentes autónomos.
Los problemas básicos que estudia la IAD y que son comunes a todos los sistemas son:
1. Como formular, describir, descomponer y asignar problemas y sintentetizar los resultados entre un grupo de agentes inteligentes.
2. Como capacitar a los agentes para que se comuniquen e interactúen: que lenguajes de comunicación o protocolos deben utilizarse, que y cuando deben comunicarse, etc.
3. Como asegurar que los agentes actúen coherentemente al tomar decisiones o realizar acciones, como acomodar los efectos globales de las decisiones locales y prevenir interacciones no deseadas.
4. Como capacitar a los agentes para representar y razonar sobre acciones, planes y conocimientos de otros agentes para coordinarse; como razonar sobre el estado de su proceso de coordinación (inicio o terminación).
5. Como reconocer y reconciliar puntos de vista e intenciones conflictivas entre un conjunto de agentes para coordinar sus acciones; como sintetizar los puntos de vista y los resultados.
6. Como utilizar técnicas ingenieriles y desarrollar sistemas con IAD. Como desarrollar plataformas de SMA y metodologias de desarrollo con tenias de IAD.
En general la IAD. Se basa en la distribución de datos y conocimientos para llegar a una solución de problemas de forma que los distintos agentes sean identificados como resolvedores locales de problemas. Lo cual tiene las siguientes ventajas:
1) Como resolver iteraciones entre los problemas a ser resueltos por los diferentes agentes.
2) Como controlar las actividades entre los agentes para explotar el paralelismo.
3) Como integrar los resultados parciales para obtener un resultado global final.
Muchos problemas son esencialmente distribuidos. El conocimiento necesario para resolver un problema puede estar distribuido en varios sitios, por lo que tendríamos que un agente individual podría resolver el problema pero requeriría demasiado tiempo y se asumirían demasiados riesgos en cuanto a fiabilidad al concentrar toda la responsabilidad en ese agente. Por lo que la resolución distribuida de problemas puede ser la solución a estos casos.
Razones de la transición de la IA a la IAD
· Razones epistemológicas
Las razones epistemológicas surgen principalmente cuando propuestas para solucionar problemas mediante la IA se muestran insuficientes ante la aparición de otros agentes en el entorno a-social que es manejado por la IA y la consideración de que los agentes son inteligentes en gran medida en cuanto sociales.
· Razones técnicas
La primera razón técnica es que en esta época muchos problemas son esencialmente distribuidos y la segunda es la integración de los sistemas de IA para mejorar la capacidad mediante la distribución del conocimiento lo que conlleva a un manejo descentralizado ofreciendo las siguientes ventajas:
ü Incremento de la flexibilidad: Se permite la adición de nuevos agentes.
ü Mejor seguridad y efectividad: Los agentes se pueden especializar en una tarea específica.
ü Mejor tiempo de respuesta: Los agentes pueden resolver sus problemas particulares al mismo tiempo.
ü Reducción de la complejidad: Una tarea puede ser descompuesta en varias subtareas y asignarlas a los agentes.
ü Reutilización: La solución presentada por un agente en un sistema puede ser incorporada a otro.
Áreas de trabajo de la IAD
Los anteriores problemas básicos que intenta atacar la IAD se solucionan mediante diferentes teorías que se ven reflejadas en distintas áreas de trabajo, las cuales se pueden descomponer en cuatro perspectivas.
Figura 1. Áreas de trabajo de la Inteligencia Artificial Distribuida.
Perspectiva de grupo: Estudia las teorías y técnicas que caracterizan a un grupo de agentes, es decir los métodos necesarios para formar una sociedad de agentes para que exista cierto grado de planeación, coordinación, comunicación y coherencia entre sus entidades.
Perspectiva de agente: Estudia la entidad agente, arquitecturas para desarrollo de agentes, lenguajes para desarrollo y comunicación de agentes, clasificación de tipo comercial y estructural, además como puede este cooperar en la sociedad de agentes.
Perspectivas Particulares: Estudia las relaciones existentes de campos de la informática como la IA, Ingeniería de Software con la IAD. Por ejemplo sistemas de información abiertos que reaccionan a casos imprevistos, por lo que son inconsistentes, asíncronos, concurrentes, con control descentralizado; ecosistemas para evaluar un agente o la sociedad de agentes en base a una analogía ecológica y ver como esta evoluciona con el paso de las iteraciones; ingeniería de software basada en agentes los agentes encapsulan los programas y mediante la definición de unas primitivas, permiten el intercambio de órdenes y datos entre los programas.
Perspectivas del diseñador: Estudia metodologías y herramientas para poder desarrollar software basado en agentes. Las metodologías asisten al desarrollador de sistemas de IAD en el ciclo de vida, y las herramientas le sirven en la implementación de dichos sistemas.