# Inteligência artificial distribuída

A Inteligência Artificial Distribuída (IAD), também conhecida como Inteligência Artificial Descentralizada, com um enfoque diferente da Inteligência Artificial (IA) tradicional, tenta dividir um problema em problemas pequenos e mais simples. Estes sistemas desenvolvidos, utilizando a técnica da Inteligência Artificial Distribuída, podem resolver problemas fisicamente distribuídos, que podem parecer complexos, como uma rede de transportes em que existem diversos elementos de transporte, assim como pontos de distribuição. É mais intuitivo analisar este problema de forma distribuída.

## Composição

Sistemas de Inteligência Artificial Distribuída são a classe de sistemas que permite a vários processos autônomos, chamados agentes, realizarem atos de inteligência global, próximos à resolver problemas complexos de aprendizagem, planejamento e tomada de decisões, somente através de processamento local e comunicação interprocessos de sistemas de multi-agentes.O IAD consiste em agentes autônomos de processamento de aprendizado, que geralmente são distribuídos em problemas de larga escala. Esses agentes individuais têm a função de atuar independentemente, e suas soluções parciais são posteriormente integradas a partir da comunicação entre os mesmos.
Enfim, a meta de sistemas especialistas baseados em conhecimento, e distribuição, é poder coordenar atividades de grupo resolvendo problemas que os sistemas compartilham - totalmente ou em parte - sobre planejamento, razões e percepção de problemas, principalmente se tratados em larga escala. Para atingir seus objetivos, a IAD requer problemas de sistemas multi-agentes, com computação elástica e robusta, coordenação de ações e comunicação de agentes, amostras de amplos conjuntos de amostras associados ao machine learning online. Percebe-se então que a IAD não pode ser considerada um subcampo da IA, mas sim um componente essencial na existência de um sistema de IA.

## Benefícios

Os benefícios da IAD são similares aos benefícios derivados de ter um grupo de pessoas trabalhando juntas para resolver problemas. Problemas que são muito extensos para um só especialista resolver podem ser resolvidos por um grupo de diversos especialistas em áreas distintas. Os problemas podem ser resolvidos em partes, por pessoas trabalhando em paralelo, com muitos arranjos e formas como os conceitos da inteligência artificial clássica podem ser modificados, então os sistemas de multiprocessadores podem ser usados para acelerar os cálculos, por exemplo. O conceito de agentes também permite a distribuição da solução de problemas à partir da comunicação de unidades autônomas especializadas, capazes de trabalharem juntas para resolver um problema de múltiplas especifidades. Outro ramo da IAD permite construir fundamentos de simulações para analisar não apenas o nível macro dos problemas, como também em escala micro, extremamente necessário em simulações de cenários sociais.

## História

Em 1975, a Inteligência Artificial Distribuída emergiu como um subcampo da Inteligência Artificial que tratava da interação de agentes inteligentes. Sistemas de IAD eram concebidos como grupo de de identidades inteligentes, chamados agentes, que interagiam por cooperação, por coexistência ou por competição. Hoje, a Inteligência Artificial Distribuída é categorizada como duas abordagens principais: solucionadora de sistemas de multiagentes e solucionadora de problemas distribuídos. Nos Sistemas de Multiagentes o foco principal é em como seus agentes coordenam seus conhecimentos e atividades. Os agentes são identidades físicas ou virtuais que podem agir, perceber seu ambiente e se comunicar, por meio de diversas técnicas de coordenação, com outros agentes, autônomos e com a habilidade de atingir metas, também capazes de alterar o estado do ambiente através de suas ações. Já para os problemas distribuídos, o foco maior está em como o problema é decomposto e em como as soluções são sintetizadas. O trabalho é dividido entre os agentes e o conhecimento é compartilhado, e há inúmeras aplicações e ferramentas para essas duas abordagens principais.

## Razões para adoção

Existem muitas razões para que seja empregado o conceito de Inteligência Artificial Distribuída:
* Mais poder de computação ou hardware mais barato;
* Maior segurança e tolerância a falhas;
* Aproveitamento da tecnologia existente.
Utilizando-se da IAD, pode-se resolver problemas que não seriam possíveis resolver com a tecnologia já desenvolvida. Com a IAD a base de conhecimentos pode ser subdividida em áreas, assim como o problema.

## Projeto de sistema

Ao se projetar um sistema especialista distribuído, devem ser feitas algumas perguntas básicas como: O que um agente irá dizer ao outro? Que linguagem eles usarão? O que eles devem descrever? Etc. É muito importante, como em qualquer projeto, que seja feita uma excelente análise do problema para que o custo de uma reestruturação seja poupado.

## Aplicações

As áreas onde a IAD vem sendo aplicada são:
* Comércio eletrônico, como na tendência de estratégias a IAD aprende as regras de negociação financeira das subamostras das grandes amostras de dados do mercado financeiro.
* Networks, por exemplo em telecomunicações o sistema da IAD controla os recursos da cooperativa.
* Encaminhamento, por exemplo em modelo de fluxo de veículos em redes de transporte.
* Programação, por exemplo o agendamento do fluxo da loja onde a entidade de gerenciamento de recursos garante otimização e cooperação local para a consistência global e local.
* Sistemas de multiagentes, por exemplo a vida artificial, o estudo de simulação da vida.
* Sistemas de energia elétrica, por exemplo Sistema Multi-Agente de Monitoramento de Comandos (COMMAS) aplicado ao monitoramento de condições do transformador e Sistema de Restauração Automática (IntelliTEAM II).

## Desafios

Os desafios para a IA Distribuída são:
* Como cumprir com a comunicação e interação de agentes e quais linguagens de comunicação e protocolos devem ser usados.
* Como assegurar a coerência dos agentes.
* Como sintetizar os resultados através dos grupos de "agentes inteligentes" por formulação, descrição, decomposição e atribuição.