O objetivo dos sistemas multiagentes (MAS) é coordenar processos independentes. Um agente é uma entidade de computador na forma de um programa ou robô. Um agente pode ser considerado autônomo porque é capaz de se adaptar quando seu ambiente muda. Um MAC consiste em um conjunto de processos de computador que acontecem ao mesmo tempo e existem ao mesmo tempo, compartilham recursos comuns e se comunicam entre si. O problema chave no MAC é a formalização da coordenação entre os agentes.
Definindo sistemas multiagentes
MAC é uma abordagem voltada para o futuro para o desenvolvimento de software para aplicativos em domínios complexos onde os componentes de aplicativos interativos são autônomos e distribuídos, operam em ambientes dinâmicos e incertos, devem cumprir algumas regras e leis organizacionais e podem entrar e sair um sistema multiagente durante o tempo de execução.
Exemplos de tais aplicações são sistemas quegerenciar e otimizar a produção e distribuição de eletricidade entre consumidores ou sistemas que planejam de forma otimizada as cargas nos sistemas de transporte. O desenvolvimento de sistemas multiagentes requer a criação de agentes, organizações e ambientes separados.
Linguagens de programação fornecem construções de programação para implementar agentes individuais em termos de conceitos sociais e cognitivos, como informações, objetivos, opções, normas, emoções e regras de decisão.
As organizações multiagentes em termos de conceitos sociais e organizacionais possuem papéis, dotados de normas, protocolos de comunicação, recursos passíveis de monitoramento. As linguagens e frameworks de programação desenvolvidos são usados para criar simulações baseadas em agentes para muitas indústrias de produção contínua: eletricidade, metalurgia, saúde, Internet, transporte, gerenciamento de tráfego e jogos sérios.
MAS diferem dos sistemas de agente único, pois possuem vários agentes que modelam os objetivos e ações uns dos outros. Em um cenário geral, pode haver interação direta entre os agentes. Do ponto de vista de um único agente, os sistemas multiagentes diferem mais significativamente dos sistemas com um único agente, pois a dinâmica do ambiente pode ser determinada por outros agentes. Além da incerteza que pode ser inerente a um domínio, outros agentes impactam deliberadamente o ambiente de maneiras imprevisíveis.
Assim, todos os MACs podem ser considerados como ambientes dinâmicos, o que é típico desistemas multiagentes. Pode haver qualquer número de agentes com diferentes graus de heterogeneidade, com ou sem possibilidade de comunicação direta.
arquitetura MAS
Os agentes devem estar equipados com um modelo cognitivo:
- crenças;
- desejos;
- intenções.
Por um lado, ele lê "Crenças" sobre o meio ambiente, que são fruto de seus conhecimentos e percepções, e por outro, um conjunto de "Desejos". Cruzar esses dois conjuntos resulta em um novo conjunto de "intenções" que são então traduzidas diretamente em ações.
Os agentes devem ter um sistema de comunicação. Existem várias linguagens especializadas para este fim: Language Query and Manipulation Language (KQML). Recentemente, circulou o padrão FIPA-ACL, criado pela Fundação FIPA para Agentes Físicos Inteligentes. Este último princípio de construção de sistemas multiagentes é baseado na teoria dos atos de fala.
O problema da adaptação é uma questão espinhosa que atualmente é objeto de muitas pesquisas. Pode-se dar um exemplo de alguns vírus, tanto biológicos quanto de computador, capazes de se adaptar a um ambiente mutante.
Finalmente, uma implementação eficiente do MAC, embora não seja propriamente parte da arquitetura do sistema, merece atenção nas diversas linguagens de programação que vêm sendo desenvolvidas para o estudo da inteligência artificial. Em particular, a linguagem LISP é mencionada. Esses elementos arquitetônicos são aplicados a um sistema que consiste emagentes.
Categorias ou modelos de agentes
A classificação dos agentes é baseada em dois critérios: agentes cognitivos ou reagentes que apresentam, por um lado, comportamento teleonômico, ou reflexo. A distinção que pode ser feita entre cognitivo e reativo é essencialmente uma representação do mundo disponível para o agente. Se um indivíduo é dotado de uma "representação simbólica" do mundo a partir da qual pode formular raciocínios, então se fala de um agente cognitivo, enquanto se ele tem apenas uma "representação subsimbólica", isto é, limitada às suas percepções, fala-se de um agente reativo. Essa distinção cognitiva e reativa corresponde a duas escolas teóricas de sistemas multiagentes.
A primeira sustenta a abordagem fundamental de agentes "inteligentes" para a cooperação do ponto de vista sociológico. Na segunda, estuda-se a possibilidade do surgimento de comportamento "inteligente" de um conjunto de agentes não inteligentes (tipo formiga). A segunda diferença entre comportamento comportamental e reflexo separa o comportamento intencional, a busca de objetivos explícitos, do comportamento perceptivo. Assim, as tendências dos agentes podem ser expressas explicitamente nos agentes ou, inversamente, vir do ambiente. Tabela agrupando diferentes tipos de agentes:
- Agentes cognitivos.
- Agentes reativos.
- Comportamento telenômico.
- Agentes intencionais.
- Agentes Gerenciados.
- Comportamento reflexo.
- Agentes "módulos".
- Agentes tropicais.
Os agentes cognitivos são principalmente intencionais, ou seja,eles têm metas fixas que estão tentando alcançar. No entanto, às vezes são utilizados agentes chamados módulos, que têm uma ideia do seu “universo” sem objetivos específicos. Eles poderiam servir, por exemplo, para responder perguntas de outros agentes do "universo".
Os reagentes podem ser divididos em atuadores e agentes tropicais. O agente instintivo terá uma missão fixa e desencadeará um comportamento se perceber que o ambiente não mais se adequa ao seu propósito atribuído. O agente tropical reage apenas ao estado local do ambiente, por exemplo, se houver luz, ele será executado. A fonte de motivação no caso interno dos agentes pulsionais que possuem uma “missão” refere-se apenas ao ambiente.
Paradigmas Organizacionais
Com o desenvolvimento de tais sistemas, vários paradigmas organizacionais foram desenvolvidos. Essas estruturas de sistemas multiagentes definem a estrutura para relacionamentos e interações entre os agentes.
Hierarquias. Nesse modelo, os agentes são hierárquicos de acordo com uma estrutura em árvore na qual cada nó é um agente e possui um link de permissão em seus nós filhos. Este modelo destrói o propósito geral do sistema.
Holarquia está se aproximando da hierarquia. Não há relação de autoridade entre um agente e seu subgrupo.
Uma coalizão é uma aliança temporária de agentes que se unem e cooperam porque seus interesses pessoais se encontram. O valor da coalizão deve ser maior que a soma dos valores individuais dos componentes do agente.
As congregações são muito parecidas com coalizões ecomandos. No entanto, eles devem ser permanentes e geralmente têm vários objetivos a serem alcançados. Além disso, os agentes podem entrar e sair de congregações e pertencer a várias congregações ao mesmo tempo.
A sociedade é um conjunto de diversos agentes que interagem e se comunicam. Eles têm objetivos diferentes, não têm o mesmo nível de racionalidade e as mesmas capacidades, mas todos obedecem a leis comuns (normas).
Os agentes da federação dão um pouco de sua autonomia ao delegado de seu grupo. Os agentes do grupo interagem apenas com seu delegado, que por sua vez interage com delegados de outros grupos.
Os agentes de vendas oferecem itens que os agentes dos compradores podem reivindicar. Esse tipo de organização possibilita, por exemplo, simular mercados reais e comparar diferentes estratégias de negociação.
Os agentes da organização Matrix são hierárquicos. No entanto, diferentemente da hierarquia apresentada acima, onde um agente é subordinado apenas a alguns outros agentes, aqueles em uma organização matricial podem estar sujeitos a vários outros.
Combinações - Esta organização combinada mistura muitos dos estilos acima. Pode ser, por exemplo, uma coalizão ou uma hierarquia de equipes.
Inteligência Artificial
O objetivo da ciência cognitiva é entender a natureza e o funcionamento da inteligência artificial, que é o que processa informações internas para torná-las propositais. Muitos conceitos se encaixam nessa descrição: humanos, computadores, robôs, sistemas sensoriais,A lista não tem fim. Um tipo de sistema de interesse particular para os cientistas cognitivos é o auto-agente artificial que atua na informação.
Um agente inteligente (IA) é capaz de tomar decisões com base em sua experiência e pode escolher ações em diferentes situações. Como o termo "artificial" sugere, o tipo de agente autônomo de interesse não é algo criado pela natureza. Portanto, um agente artificial é tudo o que é criado pelas pessoas, capaz de agir com base nas informações que percebe, suas próprias experiências, decisões e ações.
O campo da inteligência extra-natural fornece as habilidades técnicas para traduzir os tipos desejados de agentes em uma linguagem de programação, software relacionado e arquitetura apropriada (hardware e software relacionado) para implementar o agente no mundo real ou simulado.
Ambiente do mundo da percepção
Agente é qualquer coisa que capta o ambiente por meio de sensores e age sobre ele por meio de efetores, o que parece bastante simples. Essa definição de agente abrange uma ampla gama de máquinas, de termostatos a objetos que podem realmente aprender um pequeno repertório de comportamento.
Sensores são ferramentas usadas por um agente para coletar informações sobre seu mundo. O teclado e a filmadora podem funcionar como sensores se estiverem associados ao agente. Ao final da resposta do sistema, os performers são as ferramentas utilizadas pelo agente para influenciar o ambiente. Exemplos de efetores sãomonitor, impressora e braço robótico.
Geralmente o ambiente é o domínio ou mundo do agente. Esses domínios, pelo menos por enquanto, devem ser limitados a tipos específicos de situações para evitar as possibilidades ilimitadas do mundo cotidiano.
Sistema de Influência Autônoma
Um Agente Autônomo é “um sistema dentro e parte de um ambiente que percebe esse ambiente e age sobre ele ao longo do tempo para realizar sua própria agenda e influenciar o que experimenta no futuro”. Essa definição de Franklin e Greisser reflete todas as funções básicas dos agentes inteligentes, exceto sua sociabilidade. Isso fornece uma boa aproximação dos principais recursos da ampla variedade de IAs em desenvolvimento.
Tais agentes sentem seu ambiente. Mas aqui os dados sensoriais ou percepções incluem não apenas dados sobre outros objetos, mas também a influência do próprio agente sobre o estado das coisas no ambiente. Os sensores podem ser orgânicos, como olhos e ouvidos e seus processadores neurais, ou artificiais, como processadores de vídeo e áudio embutidos em um computador digital. O ambiente pode ser uma área muito limitada, como um espaço fechado, ou muito complexo, como uma bolsa de valores ou uma coleção de asteróides. Os sensores devem corresponder aos tipos de objetos com os quais o agente interage.
Tipo de interação reflexa
O agente refletor possui um mecanismo mais complexo. Em vez de dinâmica diretaem relação ao meio ambiente, ele procura no rol de regras o que deve fazer. O agente reflexo responde a uma dada percepção com uma resposta programada. Mesmo que existam milhares de respostas possíveis para uma determinada percepção, o agente possui uma lista embutida de regras de ação da situação para executar aquelas respostas que já foram consideradas pelo programador. A regra de ação de situação é basicamente um imperativo hipotético.
Agentes reflexos não são realmente muito brilhantes. Eles simplesmente não conseguem lidar com a novidade. O agente inteligente contém os recursos de seus primos menos sofisticados, mas não é tão limitado. Ele age de acordo com a agenda. Tem um conjunto de objetivos que persegue ativamente. O agente baseado em destino tem uma compreensão do estado atual do ambiente e como esse ambiente normalmente funciona. Ele persegue grandes estratégias ou objetivos que não podem ser alcançados imediatamente. Isso torna o agente ativo, não apenas reativo.
Utilitário funcional de destino
Em agentes mais complexos, uma medida de housekeeping é aplicada às diversas ações possíveis que podem ser realizadas no ambiente. Este agendador complexo é um agente baseado em serviço. O agente baseado em serviço avaliará cada cenário para ver como ele atende a determinados critérios para obter um bom resultado. Coisas como a probabilidade de sucesso, os recursos necessários para completar o cenário, a importância da meta a ser alcançada, o tempo que levaria, podem ser considerados nos cálculos da função de utilidade.
PorqueComo um programador normalmente não pode prever todos os estados do mundo que um agente encontrará, o número de regras que precisariam ser escritas para um agente reflexo seria astronômico mesmo em áreas muito simples, como agendar reuniões ou organizar rotas de transporte e suprimentos.
Loop de controle básico
Dada a definição de um agente inteligente, considere o loop de controle básico escrito pelo teórico de agentes Michael Vuladrich em 2000:
- mantenha a paz;
- atualização do modelo de mundo interno;
- alcançar uma intenção deliberada;
- use meios/fins para obter um plano de intenções;
- executar o plano;
- fim do processo.
Este padrão precisa de alguma interpretação. O agente observa o mundo - isso significa que ele, usando seus sensores, coleta percepções. O sensor pode ser um teclado conectado a um computador digital ou um processador visual conectado a um robô. Pode ser qualquer coisa que permita ao agente reunir representações do mundo. Atualizar o modelo interno significa que o agente adiciona uma nova percepção à sua sequência de percepções e informações programadas sobre o mundo.
Plataformas de Desenvolvimento Multiagente
AnyLogic é um software de simulação CORMAS multiagente e multicomponente de código aberto baseado na linguagem de programação orientada a objetos SmallTalk.
DoMIS é uma ferramenta de projeto de sistema multiagente focada no "controle operacional de sistemas complexos" e baseada no método de projeto B-ADSC.
JACK é uma linguagem de programação e ambiente de desenvolvimento para agentes cognitivos desenvolvida pela Agent Oriented Software como uma extensão orientada a agentes da linguagem Java.
GAMA é uma plataforma de modelagem de código aberto (LGPL) que oferece um ambiente de modelagem espacialmente explícito baseado em agente usando dados GIS para descrever agentes e seu ambiente.
JADE (Java Agent DEVELOPMENT) é um framework de desenvolvimento multiagente de código aberto baseado na linguagem Java.
Sete modelos do padrão
No processo evolutivo da pesquisa, há mais informações sobre como criar um sistema que seja confiável e represente um nível mais alto de qualidade. A tendência a continuar é complementar ou expandir os métodos existentes que conseguiram consolidar a tomada de decisão dentro do desenvolvimento.
O padrão metodológico permite, de forma compreensível e simples, criar um MAC, não apenas utilizando linguagem natural, mas também utilizando templates de descrição que auxiliam na especificação do sistema.
O padrão metodológico oferece sete modelos de problemas ou suas soluções para construção de MAC:
- Um modelo de cenário descrevendo uma empresa ou organização.
- O modelo de metas e objetivos define e descreve a estrutura orgânica.
- O modelo de agente define humanos e sistemas autônomos.
- O modelo associa metas e objetivos a um determinado agente.
- O modelo organizacional descreve o ambiente ao qual um agente individual está associado.
- O modelo de interação descreve o relacionamento, enfatizando sua coordenação de agentes.
- O modelo de design define a arquitetura do agente e da rede.
Exemplos de interação entre agentes
MAS são usados para simular a interação entre agentes autônomos. A utilização de sistemas multiagentes, por exemplo, na sociologia permite parametrizar os diversos agentes que compõem a comunidade. Ao adicionar restrições, você pode tentar entender qual será o componente mais eficaz para alcançar o resultado esperado. Eles devem experimentar cenários que não seriam alcançáveis por pessoas reais, seja por razões técnicas ou éticas.
A IA distribuída foi criada para resolver a complexidade de grandes programas monolíticos de inteligência não natural - execução, distribuição e controle centralizado. Para resolver um problema complexo, às vezes é mais fácil criar programas (agentes) relativamente pequenos em cooperação do que um grande programa monolítico. A autonomia permite que o sistema se adapte dinamicamente a mudanças imprevistas no ambiente.
Exemplos de sistemas multiagentes na indústria de jogos são numerosos e variados. Eles são usados em videogames e filmes, incluindo o software MASSIVE, por exemplo, para simular o movimento da multidão na trilogia O Senhor dos Anéis. Eles também podemusado por empresas, por exemplo, para rastrear o comportamento de clientes que navegam em sites.
MAS também são usados no mundo das finanças. Por exemplo, a plataforma MetaTrader 4 permite o uso de agentes especializados em negociação automatizada que seguem as taxas de Forex
Benefícios do uso do sistema
Na pesquisa de IA, a tecnologia de sistemas baseados em agentes foi adotada como um novo paradigma para conceituar, projetar e implementar sistemas de software. Benefícios da abordagem multi-MAS:
- Compartilha recursos e capacidades de computação em uma rede de agentes interconectados.
- Permite a interconexão e interoperabilidade de vários sistemas legados existentes.
- Abrangendo vários campos, incluindo manutenção de aeronaves, carteiras eletrônicas de livros, remoção de minas militares, comunicações e comunicações sem fio, planejamento de logística militar, sistema de gerenciamento de cadeia de suprimentos, planejamento de missão colaborativa, gerenciamento de portfólio financeiro.
Na pesquisa, a tecnologia de IA para sistemas baseados em agentes foi adotada como um novo paradigma para conceituar, projetar, implementar e aprendizado multiagente de sistemas de software.
Assim, o MAC é uma rede fracamente acoplada de agentes de software que interagem para resolver problemas além da habilidade ou conhecimento individual de cada criador de problemas.