# Inteligencia artificial distribuida

La Inteligencia Artificial Distribuida (IAD) también llamada Inteligencia Artificial Descentralizada es un subcampo de investigación de inteligencia artificial dedicado al desarrollo de soluciones distribuidas para problemas. IAD está estrechamente relacionado y es un predecesor del campo de los sistemas multiagente .

## Definición

La Inteligencia Artificial Distribuida (IAD) es un enfoque para resolver problemas complejos de aprendizaje, planificación y la toma de decisiones. Es vergonzosamente paralelo, por lo que es capaz de explotar la computación a gran escala y la distribución espacial de los recursos informáticos . Estas propiedades le permiten resolver problemas que requieren el procesamiento de conjuntos de datos muy grandes. Los sistemas IAD consisten en nodos de procesamiento de aprendizaje autónomo ( agentes ), que son distribuidos, a menudo a una escala muy grande. Los nodos IAD pueden actuar de forma independiente y las soluciones parciales se integran mediante la comunicación entre nodos, a veces de forma asíncrona . En virtud de su escala, los sistemas IAD son robustos y elásticos y, por necesidad, débilmente acoplados. Además, los sistemas IAD están diseñados para adaptarse a los cambios en la definición del problema o los conjuntos de datos subyacentes debido a la escala y la dificultad de la redistribución.
Los sistemas IAD no requieren que todos los datos relevantes se agreguen en una sola ubicación, a diferencia de los sistemas de inteligencia artificial monolíticos o centralizados que tienen nodos de procesamiento estrechamente acoplados y geográficamente cercanos. Por lo tanto, los sistemas IAD a menudo operan en submuestras o impresiones hash de conjuntos de datos muy grandes. Además, el conjunto de datos de origen puede cambiar o actualizarse durante el transcurso de la ejecución de un sistema IAD.

## Objetivos

Los objetivos de la Inteligencia Artificial Distribuida son resolver los problemas de razonamiento, planificación, aprendizaje y percepción de la inteligencia artificial, especialmente si requieren grandes datos, distribuyendo el problema a nodos de procesamiento autónomos (agentes). Para alcanzar el objetivo, IAD requiere:
* Un sistema distribuido con computación robusta y elástica en recursos poco fiables y defectuosos que están débilmente acoplados
* Coordinación de las acciones y comunicación de los nodos
* Submuestras de grandes conjuntos de datos y aprendizaje automático en línea
Hay muchas razones para querer distribuir inteligencia o hacer frente a sistemas multiagente. Los problemas principales en la investigación de IAD incluyen los siguientes:
* Resolución de problemas en paralelo: se ocupa principalmente de cómo se pueden modificar los conceptos clásicos de inteligencia artificial, de modo que los sistemas multiprocesador y los grupos de computadoras se puedan usar para acelerar el cálculo.
* Resolución distribuida de problemas (DPS): el concepto de agente, entidades autónomas que pueden comunicarse entre sí, se desarrolló para servir como abstracción para desarrollar sistemas DPS. Consulte a continuación para obtener más detalles.
* Simulación basada en múltiples agentes (MABS): una rama de IAD que sienta las bases para simulaciones que necesitan analizar no solo fenómenos a nivel macro sino también a nivel micro, como ocurre en muchos escenarios de simulación social .

## Historia

En 1975 surgió la inteligencia Artificial Distribuida como un subcampo de la inteligencia artificial que se ocupaba de las interacciones de agentes inteligentes [2].
Los sistemas de Inteligencia Artificial Distribuida se concibieron como un grupo de entidades inteligentes, denominadas agentes, que interactuaban por cooperación, por coexistencia o por competencia. IAD se clasifica en sistemas multiagente y resolución distribuida de problemas [1]. En los sistemas multiagente, el objetivo principal es cómo coordinan los agentes sus conocimientos y actividades. En la resolución distribuida de problemas el objetivo principal es cómo se descompone el problema y se sintetizan las soluciones.

## Ejemplos

Los sistemas multiagente y la resolución distribuida de problemas son los dos enfoques principales de IAD. Existen numerosas aplicaciones y herramientas.

## Enfoques

Han surgido dos tipos de DAI:
* En los sistemas multiagente los agentes coordinan sus conocimientos, actividades y razonan sobre los procesos de coordinación. Los agentes son entidades físicas o virtuales que pueden actuar, percibir su entorno y comunicarse con otros agentes. El agente es autónomo y tiene habilidades para lograr objetivos. Los agentes modifican el estado de su entorno mediante sus acciones. Hay varias técnicas de coordinación diferentes[3].
* En la resolución distribuida de problemas, el trabajo se divide entre los nodos y el conocimiento se comparte. Las principales preocupaciones son la descomposición de tareas y la síntesis del conocimiento y las soluciones.
IAD puede aplicar un enfoque de abajo hacia arriba a la IA, similar a la arquitectura de subsunción, así como al enfoque tradicional de arriba hacia abajo de la IA. Además, IAD también puede ser un vehículo de emergencia .

## Aplicaciones

Las áreas donde se ha aplicado IAD son:
* Comercio electrónico, por ejemplo, en gestión de ventas en el sitio web de la empresa, el sistema DAI aprende los datos relativos a las preferencias de los clientes y ofrece asistentes virtuales para la compraventa u otras necesidades del cliente.
* Redes, por ejemplo, en telecomunicaciones, el sistema IAD controla los recursos cooperativos en una red WLAN http://dair.uncc.edu/projects/past-projects/wlan-resource Archivado el 12 de mayo de 2015 en Wayback Machine.
* Enrutamiento, por ejemplo, modelo de flujo de vehículos en redes de transporte
* Programación, por ejemplo, programación de taller de flujo donde la entidad de gestión de recursos garantiza la optimización local y la cooperación para la coherencia global y local.
* Sistemas de múltiples agentes, por ejemplo , vida artificial, el estudio de la vida simulada.
* Sistemas de energía eléctrica, por ejemplo Sistema multiagente de monitoreo de condición (COMMAS) aplicado al monitoreo de condición del transformador y el sistema de restauración automática IntelliTEAM II

## Herramientas

* ECStar, un sistema de aprendizaje distribuido basado en reglas

## Agentes y sistemas multiagente

Noción de agentes: los agentes pueden describirse como entidades distintas con límites estándar e interfaces diseñadas para la resolución de problemas.
Noción de agentes múltiples: el sistema de agentes múltiples se define como una red de agentes que están acoplados libremente y trabajan como una sola entidad como la sociedad para resolver problemas que un agente individual no puede resolver.

## Agentes de software

El concepto clave utilizado en DPS y MABS es la abstracción llamada agentes de software . Un agente es una entidad autónoma virtual (o física) que comprende su entorno y actúa sobre él. Por lo general, un agente puede comunicarse con otros agentes en el mismo sistema para lograr un objetivo común que un agente por sí solo no podría lograr. Este sistema de comunicación utiliza un lenguaje de comunicación de agentes .
Una primera clasificación que es útil es dividir a los agentes en:
* agente reactivo: un agente reactivo no es mucho más que un autómata que recibe una entrada, la procesa y produce una salida.
* agente deliberativo: un agente deliberativo, por el contrario, debe tener una visión interna de su entorno y ser capaz de seguir sus propios planes.
* agente híbrido: un agente híbrido es una mezcla de reactivo y deliberativo, que sigue sus propios planes, pero también a veces reacciona directamente a eventos externos sin deliberación.
Las arquitecturas de agentes bien reconocidas que describen cómo se estructura internamente un agente son:
* ASMO (emergencia de módulos distribuidos)
* BDI (Believe Desire Intention, una arquitectura general que describe cómo se hacen los planes)
* InterRAP (Una arquitectura de tres capas, con una capa reactiva, una deliberativa y una social)
* PECS (Física, Emoción, Cognición, Social, describe cómo esas cuatro partes influyen en el comportamiento de los agentes).
* Soar (un enfoque basado en reglas)

## Desafíos

Los desafíos de la IA distribuida son:
1. Cómo llevar a cabo la comunicación e interacción de los agentes y qué lenguaje o protocolos de comunicación se deben utilizar.
2. Cómo asegurar la coherencia de los agentes.
3. Cómo sintetizar los resultados entre el grupo de 'agentes inteligentes' por formulación, descripción, descomposición y asignación.
* Collective intelligence — Inteligencia de grupo que surge de los esfuerzos colectivos.
* Federated learning — Aprendizaje automático descentralizado.
* Simulated reality — Hipótesis de que la realidad podría simularse.
* Swarm Intelligence — Comportamiento colectivo de sistemas descentralizados y autoorganizados.