• Nenhum resultado encontrado

2.2 Inteligˆencia Artificial Distribu´ıda

2.2.4 Aspectos Inerentes `a Interac¸˜ao entre Agentes

Na medida em que um agente n˜ao age sozinho, o estado atual do ambiente n˜ao resulta apenas de suas ac¸˜oes, mas tamb´em das ac¸˜oes dos demais agentes. Por este motivo, alguns aspectos s˜ao inerentes `a construc¸˜ao de um SMA. Entre estes aspectos est˜ao a comunicac¸ ˜ao, a coordenac¸ ˜ao e a

organizac¸ ˜ao entre agentes.

Comunicac¸˜ao entre Agentes Cognitivos

Independente do tipo de SMA adotado, os agentes necessitam se comunicar para que possam alcanc¸ar os seus objetivos e os objetivos do sistema. Assim, independente do modelo de coordenac¸˜ao e organizac¸˜ao adotado, a comunicac¸˜ao tem um papel central.

Segundo de Freitas e Bittencourt (2002), a comunicac¸˜ao direta entre agentes pode ser imple- mentada segundo dois modelos: o modelo Cliente-Servidor, e o modelo peer-to-peer.

O modelo Cliente-Servidor, o menos utilizado, opera por meio de chamadas a procedimentos remotos. Internamente, o agente efetua uma comunicac¸˜ao do tipo pedido-resposta com os parˆametros do procedimento solicitado.

O modelo peer-to-peer baseia-se na Teoria dos Atos de Fala (Austin, 1962). Segundo esta teoria, a linguagem humana ´e uma forma de ac¸˜ao no ambiente em que o agente est´a inserido. Esta ac¸˜ao ´e classificada segundo a performativa da sentenc¸a, ou seja, a conseq¨uˆencia que ela gera no mundo. Estas performativas classificam-se em (Bordini et al., 2001): assertivas (informar), diretivas (pedir ou consultar), comissivas (prometer ou comprometer-se), proibitivas, declarativas (causar eventos para o pr´oprio comunicador) e expressivas (emoc¸˜oes).

Para uma comunicac¸˜ao em n´ıvel de conhecimento, s˜ao necess´arios dois componentes b´asicos. O primeiro ´e a intenc¸˜ao pragm´atica da mensagem, definida pelo ato de fala, e que deve fazer parte do protocolo de comunicac¸˜ao. O segundo componente ´e o conte´udo semˆantico da mensagem, cuja compreens˜ao por parte dos agentes ´e poss´ıvel pela definic¸˜ao de um formalismo de representac¸ ˜ao de conhecimento.

A intenc¸˜ao pragm´atica de uma mensagem, ou seja, o ato de fala empregado na comunicac¸˜ao deve fazer parte do protocolo de comunicac¸ ˜ao do SMA. Nesse sentido, um protocolo normatiza as m ´ultiplas interac¸ ˜oes comunicativas entre os agentes por meio de seq¨uˆencias padr˜oes de troca de men- sagens. Entre os principais protocolos est˜ao a Rede Contratual (do inglˆes Contract Net) (Smith, 1980)

e o Protocolo de Negociac¸˜ao por Atos de Fala (SANP) (do inglˆes Speech Act Negotiation Protocol) (Chang e Woo, 1991).

Al´em de um protocolo, a interac¸˜ao no n´ıvel de conhecimento dos agentes depende tamb´em de uma linguagem de comunicac¸˜ao. Uma linguagem consiste em um conjunto de primitivas conhecido pelos agentes e um conjunto de regras de conversac¸˜ao. As primitivas s˜ao os atos de fala, enquanto as regras regulamentam as atitudes adotadas pelos agentes durante a comunicac¸˜ao. Entre as linguagens mais utilizadas est´a a KQML (Finin et al., 1995), que prop˜oe um formato para as mensagens a serem trocadas e um protocolo de manipulac¸˜ao das mensagens compartilhadas.

Coordenac¸˜ao em SMA

A coordenac¸ ˜ao ´e uma atividade inerente a qualquer SMA, e deve ser definida, entre outros motivos, para: decidir a ordem de execuc¸˜ao das ac¸˜oes, qual agente ir´a realizar qual ac¸˜ao, como os agentes ir˜ao trocar as informac¸ ˜oes sobre o resultado da execuc¸˜ao das mesmas, como ter˜ao acesso a recursos escassos, como ir˜ao eventualmente alterar a prioridade de suas ac¸˜oes em func¸˜ao da ac¸˜ao dos outros.

Segundo Malone e Crowston (1994), coordenac¸˜ao pode ser definida como o ato de gerenciar dependˆencias entre atividades. Estas dependˆencias podem variar de acordo com o volume de ativida- des executados em um mesmo ambiente.

Uma cooperac¸˜ao eficaz entre os agentes em um SMA incrementa a qualidade das soluc¸ ˜oes geradas pela comunidade, bem como aumenta o desempenho da atuac¸˜ao dos agentes na resoluc¸˜ao de tarefas.

Segundo Ferber (1999), existem quatro mecanismos de coordenac¸ ˜ao de ac¸˜oes em SMA. S˜ao eles:

• Sincronizac¸˜ao: a coordenac¸˜ao de ac¸˜oes d´a-se por seq¨uˆencias de ac¸˜oes que devem ser sincro- nizadas em algum momento da execuc¸˜ao. Sincronizar ac¸˜oes define uma forma de encade´a-las para que sejam realizadas em um mesmo instante de tempo.

• Planejamento: implementado em trˆes fases: (i) determinac¸˜ao do conjunto de ac¸˜oes que de- vem ser realizados no sentido do objetivo global, por meio de um conjunto de planos; (ii) sincronizac¸ ˜ao dos planos; (iii) escolha de um dos planos para execuc¸˜ao. Os planos podem ser monitorados durante sua execuc¸˜ao para verificac¸˜ao do estado do ambiente e os objetivos do sistema.

2.2. Inteligˆencia Artificial Distribu´ıda 15

• Reatividade: consiste na reac¸˜ao do agente `as modificac¸˜oes do ambiente e na adaptac¸˜ao de suas ac¸˜oes `as ac¸˜oes dos outros agentes.

• Regulamentac¸˜ao: a coordenac¸˜ao ´e baseada em leis ou convenc¸ ˜oes sociais. Busca-se utilizar regras de comportamento para eliminar poss´ıveis conflitos. Um exemplo s˜ao regras de priori- dade para processos em execuc¸˜ao.

Em Frozza e Alvares (2001) citam-se algumas aplicac¸ ˜oes que utilizam os mecanismos de coordenac¸˜ao acima. ´E importante ressaltar que um mesmo SMA pode utilizar mais de um meca- nismo, de acordo com o problema a ser tratado.

Organizac¸ ˜ao em SMA

O prop´osito principal de uma organizac¸ ˜ao em um SMA ´e fazer com que a finalidade do sistema seja facilmente alcanc¸ada.

Mesmo que parec¸a f´acil, diferenciar um sistema organizado de um n˜ao organizado, definir o que ´e uma organizac¸˜ao, como ela se constitui, quais as suas estruturas e mecanismos, n˜ao ´e uma ta- refa f´acil. Segundo Dignum e Dignum (2001), a organizac¸ ˜ao de um SMA ´e um conjunto de restric¸ ˜oes definidas a um conjunto de agentes de forma que eles ajam segundo uma finalidade comum. Estas restric¸ ˜oes tˆem por objetivo controlar a autonomia dos agentes buscando produzir um comportamento global direcionado a uma finalidade, e podem ser de ordem estrutural, na forma de pap´eis, ou funcio- nal, na forma de planos.

Segundo Conte e Castelfranchi (1992), existem duas classes de organizac¸ ˜oes, classificadas segundo as interac¸ ˜oes sociais empreendidas pelo sistema:

• Modelos Est´aticos ou Descendentes: O sistema ´e concebido a partir da pressuposic¸˜ao de um problema, e os agentes s˜ao projetados para resolvˆe-lo. As restric¸ ˜oes da organizac¸˜ao servem para orientar os agentes no sentido dos objetivos do sistema.

• Modelos Dinˆamicos ou Ascendentes: Neste tipo de organizac¸˜ao, n˜ao existe um problema global a ser resolvido. Os agentes interagem socialmente e se organizam dinamicamente, para atingir seus pr´oprios objetivos.

• Modelos Baseados na Utilidade: baseado na Teoria de Jogos, afirma que os agentes devem coordenar suas ac¸˜oes para que obtenham um comportamento global coerente. Entretanto, a existˆencia de m ´ultiplos agentes em um ambiente limita a autonomia e o poder da ac¸˜ao de cada agente.

• Modelos Baseados na Complementaridade: neste modelo a organizac¸˜ao do sistema ´e baseada na complementaridade de capacidades entre os agentes, em relac¸˜ao `as ac¸ ˜oes e aos recursos dispon´ıveis no ambiente. Este tipo de modelo de organizac¸˜ao aumenta a autonomia e poder dos agentes, uma vez que mesmo que um agente n˜ao possa alcanc¸ar seus objetivos sozinho, os demais podem auxili´a-lo.

Uma ontologia de organizac¸ ˜ao descreve seus elementos formalmente segundo suas priorida- des, relac¸ ˜oes, restric¸ ˜oes, e comportamentos. Assim, os elementos de uma organizac¸˜ao s˜ao (Garcia e Sichman, 2003):

• Organizac¸ ˜ao: Uma organizac¸˜ao ´e formada por divis˜oes e subdivis˜oes, um conjunto de agentes alocados para estas divis˜oes, um conjunto de pap´eis que estes agentes assumem e um conjunto de metas.

• Papel: s˜ao prot´otipos de func¸˜oes que s˜ao atribu´ıdas aos agentes na organizac¸˜ao. Cada papel possui uma s´erie de propriedades, entre elas: o seu conjunto de metas, processos que permitem alcanc¸ar as metas, permiss˜oes, habilidades necess´arias, restric¸ ˜oes na execuc¸˜ao do processo, recursos necess´arios.

• Agente: membro de uma das divis˜oes da organizac¸˜ao, que pode assumir um ou mais pap´eis e que pode se comunicar com os demais agentes segundo as restric¸ ˜oes da organizac¸˜ao.

A literatura sobre organizac¸˜ao em SMA apresenta uma s´erie de modelos que variam segundo a classe de organizac¸˜ao a ser implementada (est´atica ou dinˆamica), e a pol´ıtica de restric¸ ˜oes adotadas (estrutural ou funcional) (H ¨ubner e Sichman, 2003).

No modelo AALAADIN (Ferber e Gutknecht, 1998), a organizac¸˜ao ´e definida por um conjunto de grupos segundo uma determinada estrutura. A estrutura de um grupo ´e descrita pelos pap´eis que ele deve cumprir e pelos agentes membros. Assim, os pap´eis s˜ao representac¸ ˜oes abstratas das func¸ ˜oes que devem ser exercidas pelos agentes. O AALADIN n˜ao faz qualquer restric¸˜ao quanto a arquitetura interna dos agentes. Desta forma, um agente ´e visto apenas como uma entidade ativa e comunicativa que assume pap´eis nos grupos onde ´e membro.