Sistemas de Raciocínio Distribuído
Os sistemas de raciocínio distribuído são aqueles compostos por um conjunto de
módulos separados (em geral, chamados de agentes, já que cada módulo
assume o papel de uma entidade de solução de problemas) e por um conjunto de caminhos
de comunicação entre eles. Para muitos tipos de aplicação, os sistemas
de raciocínio distribuído apresentam vantagens significativas sobre os grande
sistemas monolíticos. Essas vantagens podem ser:
- Modularidade do Sistema: é mais fácil criar e manter uma coleção de módulos quase
independentes do que um módulo imenso;
- Eficiência: nem todos os conhecimentos são necessários para todas as tarefas.
Quando modularizamos, ganhamos a possibilidade de focalizar os esforços do sistema de
solução de problemas do modo mais compensador possível;
- Arquiteturas Rápidas: quando os resolvedores de problemas se tornaram mais complexos,
passaram a precisar de mais e mais ciclos. Embora as máquinas estejam cada vez mais rápidas, a
real aceleração não vem de um único processador com uma
grande memória associada a ele, mas de agrupamentos de processadores menores, cada qual com memória
própria. Os sistemas distribuídos têm melhores condições de explorar essas arquiteturas;
- Raciocínio Heterogêneo: as técnicas de solução de problemas e os
formalismos de representação do conhecimento usados para uma parte do problema podem não
ser os melhores para outra parte;
- Mútiplas Perspectivas: O conhecimento exigido para solucionar um problema pode não
estar na cabeça de uma única pessoa. É difícil juntar várias pessoas para
formar uma única base de dados coerente, o que nem sempre é possível pois cada uma
delas pode possuir modelos diferentes sobre o domínio em questão;
- Problemas Distribuídos: alguns problemas são inerentemente distribuídos. Por exemplo, pode haver
dados diferentes disponíveis em cada uma das várias localizações físicas
distintas;
- Confiabilidade: se um problema está distribuído entre agentes de sistemas diferentes,
a solução pode continuar mesmo que um dos sistemas apresente falhas.
Uma arquitetura de raciocínio distribuído precisa oferecer:
- Um mecanismo para assegurar a coordenação das atividades dos vários agentes, a fim de
alcançarem os seus objetivos;
- Uma estrutura de comunicação para a troca de informações;
- Versões distribuídas das técnicas de raciocínio necessárias.
Coordenação e Cooperação:
Queremos saber agora como as ações da cada agente podem ser coordenadas para que
funcionem efetivamente em conjunto. Para isso, temos várias abordagens e algumas
estão descritas a seguir:
- Um agente é responsável (faz o plano e distribui partes para os agentes
"escravos");
- Um agente é responsável e decompõe o problema. Há uma
negociação para a execução das subtarefas;
- Não há agente responsável, existe um objetivo comum e eles cooperam na
formação de um plano e sua execução;
- Não há agente responsável nem garantia de um objetivo comum para todos os agentes.
Comunicação: Quadros-Negros e Mensagens:
As arquiteturas específicas de comunicação que foram propostas para dar
suporte ao raciocínio distribuído podem ser enquadradas em duas classes:
- Sistemas de Quadro-Negro, onde a comunicação ocorre através
de uma estrutura de conhecimento compartilhada, chamada de quadro-negro. Os módulos podem
afixar itens no quadro-negro e podem ler e atuar sobre mensagens que são postadas por outros
módulos.
- Sistemas de Transmissão de Mensagens, onde um módulo de
raciocínio envia mensagens (tanto solicitações de serviços e de
informação quanto respostas a essas solicitações) a um ou mais
módulos, cujos nomes são explicitamente conhecidos.
[Programa]
[IA Paralela e Distribuída]
[Teoria de Agentes]
[Sistemas de
Raciocínio Distribuído]
[Aplicações
Práticas]
[Referências]