Inteligência Artificial Distribuída

Sistemas de Inteligência Artificial Distribuida são a classe de sistemas que permite a vários processos autonomos, chamados agentes, realizarem atos de inteligência global, somente através de processamento local e comunicação interprocessos. Enfim, a meta de sistemas especialistas baseados em conhecimento e distribuídos é poder coordenar atividades de grupo resolvendo problemas que os sistemas compartilham - totalmente ou em parte. Percebe-se então que a IAD não pode ser considerada um subcampo da IA, mas sim um componente essencial na existencia de um sistema de IA.

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, pode ser resolvido por um grupo. Os problemas podem ser resolvidos em partes por pessoas trabalhando em paralelo.

Existem muitas razões para que seja empregado o conceito de Inteligência Artificial Distribuída. Entre elas podemos rassaltar as que segue:

Com a distribuição dos processos, surge o problema da padronização. A linguagem de comunicação entre os processos deve ser padronizada, como também a forma de representar o conhecimento - para que o mesmo seja trocado e tratado por processos especialistas distintos sem a perda de informação.

Levando em conta que a informação deve ser padronizada, porque não pensar em uma base de dados comum aos processos. Compartilhando a base de conhecimento, elimina-se o problema da padronização das informações. Tomada a decisão de compartilhamento da base de conhecimentos, pode-se diminuir sensivelmente a comunicação interprocessos, fazendo com que cada processo busque na base de conhecimentos um padrão de dados que ele possa manipular. Dessa maneira, cada processo procura um problema, resolve a sua parte e devolve os dados trabalhados à base, para que um outro processo identifique - então, o seu padrão e possa seguir manipulando os mesmos dados, adiantando mais a resolução do problema em questão.

Uma das arquiteturas mais predominantes na área de Inteligência Artificial Distribuída é a blackboard arquiteture. Seus principais componentes são os seguintes:

- a blackboard, é um repositório onde está armazenado o conhecimento do problema e o estado de sua solução;
- os knowledges sources, são processos simples que procuram na blackboard por um padrão de dados e tomar alguma atitude sobre eles, adiantando a solução do problema;
- a agenda, que avalia a lista de knowledges sources pronta para rodar e seleciona um para executar.

Desde que a arquitetura blackboard possui um raciocínio inerentemente distribuído, ela trabalha bem em ambiente onde os dados são passados entre agentes independentes, coordenando a atividade e a resolução parcial de problemas compartilhados.

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? e 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.