Você está na página 1de 49

Captulo 3

IA Multiagente: Mais Inteligncia, Mais Desafios

Ana Lcia C. Bazzan


Instituto de Informtica UFRGS
bazzan@inf.ufrgs.br

Resumo

Desde seus primrdios, a inteligncia artificial se ocupa (ainda que no explicitamente) com o que
hoje denominamos agente inteligente. Entretanto, esta inteligncia artificial que podemos chamar
de inteligncia artificial monoagente hoje encontra o desafio de ter que lidar no apenas com um
agente, mas sim com uma sociedade de agentes. Nesta, agentes munidos de intenes (possivel-
mente conflitantes) formam uma complexa rede de interaes, isto , um espao social. Dado este
fato, coloca-se a seguinte questo: seria a inteligncia artificial, tal como concebida entre os anos 60
e 80, adequada para tratar os desafios deste espao social marcado pela Internet e pelos sistemas
distribudos e colaborativos ? Neste captulo pretende-se mostrar que a resposta sim mas que para
tal necessrio enfatizar a viso ou faceta multiagente da inteligncia artificial.

Abstract

Artificial intelligence has always dealt with what is known today as an intelligent agent, even if not
explicitly. However, this kind of artificial intelligence which can be called monoagent artificial intelli-
gence now has the challenge of dealing with not only one agent but with a society of agents, which
have (possibly conflicting) intentions and form a complex social network. Against this background, the
following question can be posed: is AI, as we know it from the 1960, adequate to face the challenges
of this social space? In this course we intend to show that the answer is yes, but it is necessary to
emphasize the multiagent facet of AI.

3.1. Introduo
Uma das metas da Inteligncia Artificial (IA) tem sido a de fazer compu-
tadores simularem o raciocnio humano. Entretanto os espaos sociais nos
quais os seres humanos (e suas rplicas imperfeitas) agem, tem sido pratica-
mente relegado a um segundo plano. Com os recentes avanos em tecnologia
da informao e comunicao, torna-se necessrio a introduo de um novo
paradigma que considere interaes sociais entre os agentes inteligentes.

111
A. L. C. Bazzan

Este paradigma comea a ser criado com o surgimento de sistemas mul-


tiagentes. Esta rea no estuda nem sistemas fsicos nem agentes isolados
mas sim um agente como parte de um espao social. Enquanto a IA tem como
foco a investigao de pores de informao, sem necessariamente conside-
rar como elas interagem, um sistema multiagente tenta investigar informao
como um fenmeno social, o que tornou-se importante dado o atual contexto
onde unidades embarcadas de processamento so ubquas.
Em suma, a imagem de uma nica mente inteligente, um orculo que res-
ponde perguntas, ou uma mquina passiva que almeje passar no teste de
Turing, hoje d lugar a agentes ativos, atores sociais participativos e poten-
cialmente colaborativos (como por exemplo a wikipedia), formando um espao
social de interaes.
Conforme colocado por Wooldridge no apndice de [Wooldridge 2002], a
ideia de agncia e agentes, j presente nos primrdios da IA, tendia original-
mente questo de um sistema integrado capaz de realizar aes autnomas.
Entretanto, esta ideia no se realizou desta forma durante o desenvolvimento
da IA. Cabe aqui analisar por que.
Desde seus primrdios, a IA teve que se ocupar com crticas advindas dos
mais diversos cticos. Podemos resumir estas crticas sob a forma compu-
tadores nunca sero capazes de X onde X podia ser comunicar-se em lin-
guagem natural, aprender, etc. Naturalmente a comunidade de IA passou a
responder a tais crticas atravs da construo de sistemas que de fato pu-
dessem, isoladamente, comunicar-se em linguagem natural ou aprender, etc.,
o que levou a uma especializao dos praticantes de IA e criao de sub-
reas como processamento de linguagem natural, aprendizagem de mquina,
etc.
Infelizmente houve pouco movimento no sentido de integrar estes compo-
nentes em sistemas holsticos. A rea de agentes surgiu justamente como
tentativa de integrar os diversos componentes em uma entidade denominada
agente. Posteriormente, devido interao natural entre os agentes, surge a
rea de sistemas multiagentes, foco deste captulo e tpico que ser discutido
detalhadamente adiante.
Doravante denominaremos a IA tradicional como IA monoagente. Como
ser visto adiante, esta IA no apenas difere significativamente da IA multia-
gente que ser apresentada neste captulo, como tambm dificilmente atende
os requisitos colocados pelo novo paradigma criado com a Internet 2.0 e os
sistemas colaborativos, de natureza essencialmente social.
Por IA multiagente entende-se o uso das tcnicas bsicas (como por exem-
plo representao de conhecimento, resoluo de problemas, tomada de de-
ciso e aprendizado) em ambientes onde no apenas um agente age, mas
sim onde vrios agentes interagem bem como tm conhecimento parcial so-
bre o problema, o que coloca em xeque a eficincia de uma grande parte das
tcnicas clssicas.
Aqui deve-se observar que IA multiagente difere do que outrora se chamou

112
IA Multiagente

IA distribuda (IAD). Esta ltima (discutida na Seo 3.7), por ser essencial-
mente identificada, hoje, com resoluo distribuda de problemas, e portanto
se fincar em uma srie de hipteses muito fortes (por exemplo que o projetista
do problema o responsvel pela sua decomposio em sub-tarefas), deixou
de ser interessante em ambientes de natureza social complexa.
Russel e Norvig [Russell and Norvig 2004] (verso brasileira) fazem, no
livro-texto que uma referncia na rea de IA, um apanhado da histria da
IA desde a dcada de 60 at o presente mas se limitam a registrar o surgi-
mento de agentes inteligentes. No texto, os autores citam estes agentes por
diversas vezes mas apenas para denominar ou ilustrar problemas monoagente
clssicos, no tocando no cerne da questo que o que acontece quando
mais de um agente est presente?.
Desta forma, o objetivo deste captulo : identificar os problemas da IA
clssica quando aplicada a cenrios multiagente, descrever o tratamento dado
aos problemas acima mencionados e discorrer sobre os desafios e problemas
em aberto.
Este captulo se encontra estruturado em trs partes. A parte I (Sees
3.2 a 3.6) trata de IA monoagente. Inicia-se (prxima seo) com uma reviso
breve sobre IA, com foco nos tpicos mencionados anteriormente. A Seo 3.3
trata de representao de conhecimento; a Seo 3.4 aborda formalizao e
resoluo de problemas atravs do formalismo de satisfao de restries; a
Seo 3.5 introduz planejamento clssico e no clssico, focando em processo
de deciso de Markov para planejamento e tomada de deciso em ambientes
estocsticos; a Seo 3.6 trata de aprendizagem por reforo para o caso de
um agente.
A parte II traz conceitos sobre agentes autnomos e sistemas multiagente,
os quais so necessrios para o entendimento da parte III. As principais sees
tratam de definies, terminologia, histrico e taxonomia (Sees 3.7, 3.8 e
3.9), e de coordenao e cooperao em sistemas multiagentes (Seo 3.10).
A parte III trata da IA multiagente e compreende quatro sees principais
sobre lgicas para sistemas multiagentes (Seo 3.13), resoluo de proble-
mas em sistemas multiagentes (Seo 3.14), planejamento multiagente (Se-
o 3.15) e tomada de deciso e aprendizado em ambientes com mais de um
agente (Seo 3.16).

Parte I: Inteligncia Artificial Monoagente

3.2. Conceitos bsicos sobre inteligncia artificial


Existem diversas definies de IA. Uma lista atual pode ser encontrada no
captulo 1 de [Russell and Norvig 2004]. Para os propsitos deste captulo, a

113
A. L. C. Bazzan

definio de Kurzweil um bom ponto de partida: inteligncia artificial a


arte de criar mquinas que executam funes que exigem inteligncia quando
executadas por pessoas. Adiante veremos que as mesmas propriedades que
Kurzweil deseja para mquinas inteligentes se aplicam a agentes inteligentes.
A IA divide-se em uma srie de sub-reas aprendizado, representao
de conhecimento, etc. e este fato justamente um dos pontos fracos dela,
conforme dito na Seo 3.1.
Consultando textos introdutrios de IA nota-se que dois temas dominam
suas partes bsicas: representao de conhecimento e resoluo de proble-
mas. No diferente quando estendemos a IA monoagente para a IA mul-
tiagente. A resoluo de problemas envolve, em ambos os casos, diversas
tcnicas. Num mbito mais restrito, resoluo de problemas pode ser vista
como a tarefa de encontrar uma sequncia de aes que leva a estados de-
sejveis, o que nos remete a problemas de busca, satisfao de restries e
planejamento. Num mbito mais geral, se estamos preocupados tambm com
a eficincia da resoluo de problemas, aprendizado pode ser importante.
A seguir nos deteremos nestas sub-reas da IA.

3.3. Representao de Conhecimento


O conceito de agente baseado em conhecimento est se tornando cada
vez mais importante. J na primeira edio do livro [Russel and Norvig 1995],
diversos captulos so dedicados a este tema. Na realidade, conhecimento
(e sua representao) permeia a pesquisa em IA desde seus primrdios pois
conhecimento e raciocnio so, no apenas fundamentais no projeto de um
artefato inteligente (e.g. um agente), como tambm no so problemas trivi-
ais. Desta forma, projeto de bases de conhecimento (BC), entendendo-se aqui
formas de representao e inferncia, uma rea ativa de pesquisa.
notrio que a representao do conhecimento em problemas de IA se
d principalmente atravs do uso de lgica de primeira ordem. Este tipo de
representao a base da resoluo de diversos problemas de IA como pla-
nejamento e diagnstico. Entretanto h uma diferena chave entre as verses
centralizada e distribuda destes problemas. No primeiro caso assume-se que
o conhecimento do projetista do sistema suficiente para encontrar um plano
ou chegar a um diagnstico. Por exemplo, a lgica de primeira ordem sufici-
ente para se representar o conhecimento necessrio para realizar diagnstico
de componentes em circuitos lgicos como o da Figura 3.1. No segundo caso
no se pode assumir que um agente conhea todas as variveis e/ou seus va-
lores. Na Seo 3.13 sero mostrados os problemas decorrentes do uso de
lgica de primeira ordem e as implicaes disto. De fato, em sistemas multia-
gentes, lgicas modais de conhecimento so ferramentas bastante utilizadas.
Uma BC baseada em lgica constituda por sentenas1 que tm uma
1Seguindo a terminologia utilizada em [Russell and Norvig 2004], ser usado o termo
sentena para denotar uma assero sobre o mundo; em particular, em lgica de pri-
meira ordem tais asseres so feitas utilizando-se uma frmula (bem-formada).

114
IA Multiagente

determinada sintaxe, ou seja, so expresses corretas de uma linguagem de


representao. Tal sintaxe depende do tipo particular de lgica empregada.
Nesta seo nos deteremos na lgica de primeira ordem. Na Seo 3.13 vere-
mos que a lgica modal se baseia nesta mas tem uma sintaxe estendida.

3.3.1. Sintaxe
A sintaxe de uma linguagem lgica um sistema formal de regras que
especifica como as expresses vlidas da linguagem podem ser formadas a
partir de um vocabulrio bsico.
Formalmente, uma linguagem lgica de primeira ordem determinada pe-
los seguintes conjuntos de smbolos: P de predicados, F de funes, C de
constantes e V de variveis. Estes conjuntos formam o alfabeto da linguagem.
Seguindo-se a sintaxe desta linguagem so geradas frmulas bem-formadas
(ou well-formed formula cuja abreviao wff) como , (((a, b) (b, c))
(a, c)).

1
A X=1
X1 0
B F=1
0 X2

Y=1
1 A2
C

1
Z=0 O1 G=0
A1

Figura 3.1. Circuito booleano

Desta forma, possvel representar o conhecimento associado ao circuito


ilustrado na Figura 3.1 atravs de frmulas como T ipo(A1 , AN D), Saida(X1 , X),
Igual(X, 1) ou Conectados(Saida(X1 ), Entrada(1, X2 )).

3.3.2. Semntica
Alm de regras sintticas, tambm preciso se definir o significado das
frmulas lgicas, o que para fins do presente texto equivale a estabelecer um
valor-verdade para cada frmula, que pode ser verdadeiro ou falso2 .
O valor-verdade de uma frmula dado em relao a um modelo ou mundo
possvel. Por exemplo, x + y = 4 tem valor-verdade 1 em um mundo no qual
x = y = 2 mas tem valor-verdade 0 em um modelo no qual x = y = 1.
A maneira de formalizar a semntica e definir o significado na lgica foi
proposta por Tarski em 1956, estabelecendo uma relao entre a linguagem e
um modelo ou seja a descrio do mundo. Formalmente um modelo de Tarski

2 Por questes notacionais utilizaremos 1 para verdadeiro e 0 para falso.

115
A. L. C. Bazzan

para uma linguagem lgica consiste de uma tupla hO, Rn , i onde O um


conjunto de objetos, Rn um conjunto de propriedades e relaes em O e
uma funo que atribui valor verdadeiro ou falso s frmulas da linguagem
como o caso das tabelas-verdade dos operadores , , , e na lgica
proposicional.

3.3.3. Sistemas de Axiomas


Estes sistemas contm certos axiomas3 e um conjunto de regras de infe-
rncia a partir dos quais derivam-se consequncias lgicas que so por sua
vez utilizadas para gerar novas consequncias at que uma determinada fr-
mula (que se deseja derivar) seja alcanada.
Um dos sistemas mais simples da lgica proposicional tem apenas 3 axi-
omas, a partir dos quais se pode gerar uma prova. Este sistema tem tambm
2 regras de inferncia. A primeira denominada modus ponens ou eliminao
da implicao: , ( ) . A segunda a regra de substituio, a qual
permite substituir , etc. por quaisquer wffs.
Na Seo 3.13 veremos a sintaxe, a semntica e os axiomas para lgicas
modais utilizadas por agentes.

3.4. Resoluo de problemas atravs de satisfao de restries


Em IA, um foco tradicional o da resoluo de problemas (problem-solving).
Um exemplo tpico encontrar uma sequncia de aes que levam a estados
desejveis (um objetivo). Usualmente este tipo de problema se resolve atra-
vs de algoritmos de busca, que no caso, podem ter um AI-flavor , utilizando
heursticas como o caso por exemplo do algoritmo A*.
Ainda que existam algoritmos heursticos tratveis, em geral resoluo de
problemas e otimizao envolvem um espao de estados muito grande e existe
uma implicao na complexidade destes algoritmos (tempo e espao). Desta
forma, a comunidade de otimizao combinatorial vem apelando para novas
abordagens baseadas em agente que, supostamente, dividiriam o problema
entre um conjunto de agentes cooperativos que resolveriam sub-partes em pa-
ralelo. Entretanto, existe aqui um trade-off no desprezvel pois no est claro
como o problema pode ser decomposto entre os vrios agentes e como uma
soluo pode vir a ser construda de forma cooperativa. Por exemplo, existe
um claro aumento da carga de comunicao. Entretanto, na prtica esta carga
tende a ser muito alta, possivelmente inviabilizando o seu uso em problemas
do mundo real, se o projeto dos agentes no for feito de forma cuidadosa.
Uma abordagem para resoluo de problema via satisfao de restries
(em ingls4 constraint satisfaction problem ou CSP). Problemas desta natureza

3Na verdade trata-se de esquemas de axiomas pois determinados smbolos como e


podem ser substitudas por frmulas arbitrrias.
4Neste captulo sero mantidos em ingls os termos abreviados que esto estabelecidos
na literatura de tal forma.

116
IA Multiagente

podem ser resolvidos atravs de um algoritmo de busca que aproveita a estru-


tura dos estados para encontrar a soluo de problemas grandes. Colocado
de forma simples, um CSP definido por um conjunto de variveis e por um
conjunto de restries. Uma soluo uma atribuio de valores para cada
varivel que no viole as restries.
CSP um formalismo bastante utilizado na IA para representao simples
e estruturada de problemas, como por exemplo escalonamento e alocao de
tarefas, agendamento de reunies, etc. Um CSP envolve trs componentes:
variveis, domnios e restries. Uma varivel corresponde a uma parte do
problema que pode ter seu valor alterado. Um domnio consiste de um con-
junto de valores pr-definidos que uma varivel pode assumir. Uma restrio
corresponde a uma condio que deve ser satisfeita ao se atribuir valores para
as variveis. O objetivo em um CSP definir um valor para cada varivel de
forma a satisfazer todas as restries.
No entanto, determinados CSPs podem apresentar no apenas uma, mas
vrias solues. Nestes casos estabelecido um critrio de qualidade para
avaliar cada soluo, e prefervel aquela com melhor qualidade. Esta qua-
lidade normalmente definida em termos de funes de custo, podendo-se
optar por solues que maximizem ou minimizem o custo dependendo do pro-
blema. Em outros casos, a situao oposta pode ocorrer, ou seja, no poss-
vel satisfazer todas as restries ao mesmo tempo. Quando isto ocorre, opta-
se por uma atribuio de valores s variveis que tambm maximizem ou mi-
nimizem uma funo de custo especificada para o problema. Problemas que
possuem estas caractersticas so denominados de COP (do ingls Constraint
Optimization Problems).

3.4.1. Problema de Satisfao de Restries


Em um CSP temos um conjunto X = {x1 , . . . , xn } de variveis. A cada
varivel xi est associado um domnio Di no vazio, finito e discreto. O valor
que a varivel assume tomado de seu respectivo domnio. Alm disto, h um
conjunto de restries C = {C1 , . . . , Cm }. Cada restrio Cj envolve um sub-
conjunto de variveis de X e especifica as combinaes de valores permitidas
para o subconjunto em questo. Um estado do problema corresponde a uma
atribuio de valores a algumas ou a todas as variveis. Uma atribuio de um
valor vi para uma varivel xi representada por hxi , vi i. Um estado portanto
um conjunto de atribuies {hxi , vi i, hxj , vj i, . . .}.
Uma restrio em um CSP caracterizada pela quantidade de variveis
envolvidas. Uma restrio binria aplica restries a duas variveis. Em rela-
o s variveis, estas podem ser discretas com domnio finito, discretas com
domnio infinito, ou contnuas (nos dois ltimos casos, o domnio de cada va-
rivel possui infinitos valores). Neste captulo ser considerado apenas CSP (e
extenses) com variveis discretas e domnios finitos e restries binrias.
Uma maneira de representar um CSP com restries binrias atravs de
um grafo de restries. Nesta forma de representao, os vrtices do grafo cor-

117
A. L. C. Bazzan

X1 X2
{1,2} {2}

X3
{1,2}

Figura 3.2. Exemplo de CSP

respondem s variveis e as arestas correspondem s restries. Um exemplo


apresentado na Figura 3.2, onde o objetivo definir uma cor (representada
numericamente) para cada varivel ({x1 , x2 , x3 }) a partir das cores dispon-
veis nos domnios das variveis ({1, 2}, {2}, {1, 2}), respeitando as restries
({{x1 6= x3 }, {x2 6= x3 }}). A soluo (neste caso, nica) para o CSP a
atribuio A = {hx1 = 2i, hx2 = 2i, hx3 = 1i}.

3.4.2. Problema de Otimizao de Restries


Quando um CSP apresenta mais de uma ou nenhuma soluo que satis-
faa todas as restries, o objetivo passa a ser encontrar a melhor soluo, o
que aumenta o grau de complexidade do problema.
Alm dos elementos que compem um CSP (variveis, domnios e restri-
es), em um COP temos um elemento adicional F(A), que corresponde a
uma funo objetivo que mapeia cada soluo (conjunto de atribuies) para
um valor numrico. Esta funo objetivo normalmente uma agregao de fun-
es de custo f , que so anlogas s restries de um CSP, com a diferena
de que, ao invs de serem booleanas (satisfeita ou no satisfeita), retornam
valores numricos. A soluo de um COP corresponde ento a uma atribuio
completa A cujo valor da funo objetivo timo.
Um exemplo de COP apresentado na Figura 3.3. Ele consiste em as-
sociar um valor para cada uma das variveis, respeitando as restries e de
forma a minimizar a funo objetivo F(A) dada pela agregao (soma) das
funes de custo f , ou seja, F(A) = f (x1 , x3 ) + f (x2 , x3 ). A soluo para este
COP a atribuio completa A = {hx1 = 2i, hx2 = 2i, hx3 = 2i}.

{1,2} {2}
xi xj f(xi, xj)
x1 x2 1 1 1
1 2 2
2 1 2
x3
2 2 0
{1,2}

Figura 3.3. Exemplo de COP

118
IA Multiagente

Como ser visto na parte III (Seo 3.14), um dos grandes problemas des-
tas abordagens, seja CSP ou COP, a hiptese do conhecimento total do pro-
blema, que uma hiptese forte atualmente j que, na Internet, segurana e
privacidade so cruciais. Existem situaes em que o conhecimento a res-
peito do problema, no ou no pode ser centralizado. Para especificar um
CSP distribudo, sero vistos os formalismo DisCSP e DCOP. Ambos tratam
de problemas em ambientes distribudos e utilizam agentes para representar e
controlar as variveis, configurando-se um sistema multiagente.

3.5. Planejamento e tomada de deciso


Nesta seo ser introduzido o problema de planejamento, que pode ser
definido como a tarefa de apresentar uma sequncia de aes que podem
alcanar um dado objetivo. Este problema central em IA pois diversas ati-
vidades do dia-a-dia envolvem planejamento para tomada de deciso. Como
um simples exemplo temos a deciso que envolve ir de Porto Alegre a Tquio
para participar de uma conferncia. Um agente reativo tomaria o primeiro avio
saindo da cidade origem e iria adaptando-se pelo caminho at, eventualmente,
chegar ao destino. Um agente que planeja consultaria um agente de viagem
ou a Internet e veria rotas, horrios, etc. e faria um planejamento.
Planejamento em IA pode ser visto como fazer programao automtica
(no estilo de prolog): um algoritmo de planejamento recebe como entrada uma
descrio de um conjunto de aes possveis bem como os efeitos que estas
aes causam. O algoritmo ento desenvolve um plano (um programa) que
descreve como as aes possveis podem ser executadas de modo a se chegar
ao estado-objetivo.
Esse processo envolve os seguintes passos: i) representar o estado atual
do mundo (ambiente); ii) representar o estado desejado do mundo; iii) repre-
sentar um conjunto de aes atmicas que podem ser executadas; iv) determi-
nar, atravs de um resolvedor de problema, um plano que, composto de aes
atmicas, leve o estado do mundo da configurao inicial configurao final
desejada (ou vice-versa).
A abordagem mais conhecida que implementa estes passos o STRIPS
[Fikes and Nilsson 1971]. Deve-se a este trabalho a ideia de descrever aes
e efeitos. Alm disto, STRIPS baseado em lgica de primeira ordem com
formalismo de representao simblica e como mecanismo de apoio para to-
mada de deciso de forma dedutiva atravs de mecanismos de prova e clculo
situacional.
Para efeito do presente texto, consideraremos trs tipos de abordagens,
as quais so definidas com base no tipo de ambiente no qual a tarefa de pla-
nejamento se desenvolve. No planejamento clssico, o ambiente esttico,
determinstico e completamente observvel (no sentido de que o planejador
tem acesso a todas as variveis relevantes). J no planejamento no clssico,
o ambiente geralmente parcialmente observvel e portanto estocstico. Por
fim, planejamento multiagente trata do problema no qual vrios agentes pre-

119
A. L. C. Bazzan

cisam cooperar ou pelo menos se coordenar. Este ltimo ser discutido na


Seo 3.15.

3.5.1. Planejamento clssico


Em STRIPS, o estado inicial representado atravs de conjunes de pre-
dicados. Por exemplo, In(airplane1 , P OA) In(airplane2 , BSB) representa
um estado no qual o avio 1 est em Porto Alegre e o avio 2 em Bras-
lia. Os objetivos so representados de forma semelhante como por exemplo:
In(airplane1 , BH) As aes possveis so especificadas em termos de pr-
condies, as quais devem ser vlidas para que possam ser executadas, bem
como em termos de efeitos que resultam da sua execuo, como por exemplo:

Action(F ly(p, f rom, to))


P RECON D : In(p, f rom) Airplane(p) Airport(f rom) Airport(to)
EF F ECT : In(p, f rom) In(p, to)

No presente texto nos deteremos apenas nesta ideia bsica do STRIPS e


no entraremos em detalhes relacionados aos problemas do enquadramento e
outros por no serem relevantes para a discusso contida na Seo 3.15.

3.5.2. Planejamento no clssico: tomada de deciso em ambien-


tes estocsticos
O planejamento clssico no trata ambientes dinmicos embora estes se-
jam na verdade aqueles que encontramos na maioria dos problemas prticos.
Desta forma, a maioria das aplicaes que se pretendam realistas no so
adequadamente tratadas pelo planejamento clssico. Para representar e tratar
ambientes estocsticos, o modelo bsico o que modela transies (de esta-
dos) em sistemas dinmicos. A representao atravs de cadeias de Markov
enquanto que o processo de planejamento em si (ou seja qual ao realizar
em cada estado) tratado pelo formalismo denominado processo de deciso
de Markov ou MDP (do ingls Markov decision process)5 , que a formaliza-
o de um processo decisrio sequencial que se desenrola em um ambiente
completamente observvel e considera um nico agente. Um MDP a princi-
pal ferramenta para que um planejador modele e decida sobre aes em um
sistema dinmico.
Formalmente um MDP= (S, A, P, R) consiste de um conjunto de esta-
dos S, de aes A, da recompensa imediata esperada Ras,s obtida quando
o agente transiciona do estado s para o estado s realizando a ao a, bem
como do conjunto das probabilidades de transio P.
Em suma, a cada instante de tempo t, o MDP est num estado st . O
agente realiza a ao at A que causa uma transio para o estado st+1 com
probabilidade Psat ,st+1 . O agente ento recebe uma recompensa rt+1 .
A propriedade de Markov implica que a probabilidade de alcanar o estado
5 Esta formalizao no a nica mas para o caso monoagente a mais relevante.

120
IA Multiagente

st+1 (e receber rt+1 ) depende apenas do estado st i.e. esta probabilidade


independente de st , at , rt +1 para todo t < t.
Devido propriedade de Markov possvel definir uma poltica que
funo apenas do estado atual do sistema e no do histrico. um mapea-
mento de estados em aes e portanto uma forma de plano (condicional), no
qual uma ao ramifica o estado do sistema. MDPs so resolvidos de forma
geral utilizando programao dinmica.
Como isto se aplica a um agente planejador? O agente modelado em
termos da poltica . Uma poltica determinstica = S A um mapea-
mento de um conjunto de estados para um conjunto de aes. De posse desta
poltica, o agente deve aplic-la selecionando a ao (s) quando no estado
s. Uma poltica determinstica um caso especial de uma poltica estocstica.
Esta ltima especifica uma distribuio de probabilidade sobre A para cada
estado s (((s, a) denota a probabilidade de escolher uma ao a no estado s).
Os dois principais problemas aqui associados so o fato de que um MDP
assume que o ambiente totalmente observvel pelo agente, alm de ser um
formalismo monoagente. Na Seo 3.16 sero discutidas as extenses poss-
veis para se contornar o segundo destes problemas.
Quanto hiptese de que em um MDP o agente recebe ou percebe infor-
mao completa sobre o estado do ambiente, esta hiptese muito forte e no
casa com o que se encontra na maioria dos problemas do mundo real.
Desta forma, uma extenso de MDP denominada POMDP (partial observa-
ble MDP) definida pela tupla (S, , o, A, T , R) que contem dois subconjuntos
alm dos j definidos. o conjunto de observaes e o uma funo que
mapeia cada estado a uma observao. Desta forma o agente no recebe (ou
percebe) necessariamente o estado correto mas sim realiza uma observao
a qual mapeada para um estado (que pode no ser o correto).
Infelizmente foi provado [Littman 1994b] que encontrar uma poltica tima
para um POMDP um problema NP-difcil. Existem alguns algoritmos ba-
seados em valores de funo (como para um MDP) mas eles so aplicveis
apenas a problemas muito pequenos (poucos estados, poucas aes, etc.) o
que prejudica sua utilizao prtica.
A despeito deste fato, MDP continua a ser um formalismo popular pois
uma forma natural e concisa para representar sistemas estocsticos, evitando
as dificuldades associadas aos formalismos baseados em clculo situacional
como STRIPS. Alm disto, MDP bastante popular em aprendizado conforme
discutido na prxima seo, bem como em aprendizado multiagente, onde os
MDPs necessitam ser estendidos conforme apresentado na Seo 3.16.

3.6. Aprendizado
Aprendizado tem um papel fundamental em qualquer sistema que se pre-
tenda inteligente. Ele pode ser tratado de forma genrica como a rea que
desenvolve algoritmos que aumentam a habilidade do agente de casar uma
srie de padres de entrada com suas correspondentes sadas.

121
A. L. C. Bazzan

Embora existam vrios mtodos de aprendizado (supervisionados e no


supervisionados), aquele que tem se destacado na rea de agentes o apren-
dizado por reforo (doravante abreviado por RL do ingls reinforcement lear-
ning). A razo disto clara: embora mtodos supervisionados e no supervisi-
onados sejam importantes, eles no so adequados para aprendizado a partir
de interao (por exemplo, com um ambiente). Comparando-se por exemplo
RL a aprendizado supervisionado (onde instncias de treinamento indicam o
comportamento correto em situaes particulares), pode-se dizer que RL
mais geral e mais difcil, dado que a tarefa do aprendizado baseia-se em me-
nos conhecimento. Portanto, como RL parece ser a forma mais adequada para
o caso de um agente interagindo com um ambiente, esta seo se concentra
nesta tcnica, aqui para o caso monoagente.
Aprendizado por reforo se ocupa de um tipo especfico de aprendizado
de mquina ou seja o aprendizado do mapeamento situao-ao de modo a
maximizar um sinal numrico chamado de recompensa6 .
No RL no se diz explicitamente ao aprendiz ou agente7 o que fazer ou que
ao realizar. O prprio agente deve, por tentativa-e-erro, encontrar a ao que
traz a maior recompensa. RL portanto uma rea de interface entre cincia da
computao, pesquisa operacional e engenharia de controle.
RL uma tcnica usada para resolver a seguinte classe de problemas:
dado um agente (rob, animal) situado em um ambiente, sua percepo deste
ambiente, as aes por ele realizadas e a recompensa percebida, como pla-
nejar a estratgia tima ou em outras palavras, como encontrar a poltica que
maximiza a recompensa a longo prazo?
Notar que nesta classe de problemas, a percepo que o agente tem do
ambiente pode ser limitada. Alm disto, a recompensa que o agente recebe
pode ser interpretada como um sinal emitido pelo ambiente o qual reflete quo
boa ou ruim foi a ao. Ocorre que este sinal pode ser esparso, atrasado ou
apresentar rudos.
Um exemplo de recompensa atrasada (e tambm esparsa) uma partida
de futebol pois o ganho de um jogador apenas atribudo ao final da par-
tida. Desta forma o jogador pode apenas relacionar a recompensa com uma
determinada ao (ou, mais comumente neste caso, uma sequncia de aes)
como por exemplo um passe, ao final da partida quando o escore final estabe-
lecido. Este obviamente um exemplo exagerado pois h formas de contornar
este problema. Porm, ele serve como ilustrao.
6Por questo de uniformidade, neste texto ser usado o termo recompensa para denotar
o que na literatura aparece, segundo o contexto e a fonte, como reward ou payoff, e que
na literatura em portugus pode vir traduzido como recompensa ou ganho; notar ainda
que, apesar do nome, recompensa pode indicar uma quantidade tanto positiva como
negativa.
7Neste texto ser empregado o termo agente com sentido de aprendiz ou jogador; es-
tes ltimos so mais comuns nas reas de aprendizado de mquina e teoria de jogos,
respectivamente.

122
IA Multiagente

3.6.1. Aprendendo a poltica tima: caso monoagente


Como j foi mencionado na Seo 3.5.2, um agente modelado em termos
de uma poltica . A tarefa do agente que utiliza RL consiste em usar as re-
compensas recebidas para aprender uma poltica tima para aquele ambiente
em particular.
At aqui assumimos que o agente tem um modelo completo do ambiente (a
varivel P) e conhece a funo de recompensa R da definio de MDP vista.
Esta hiptese no razovel em domnios complexos. Desta forma, vamos
dotar o agente de ferramentas com as quais ele ir aprender a se comportar
com sucesso no ambiente.
Para tanto, interessante que o agente consiga calcular uma poltica tima
ou seja, em t = 0, encontrar a poltica que maximiza a soma acumulada

t rt+1 onde
P
de ganhos ao longo do tempo. Esta soma denotada Rt =
t=0
[0, 1] o chamado fator de desconto que determina quanto se deve pon-
derar os ganhos imediatos (a cada t) e, consequentemente, quanto se deve
ponderar os ganhos futuros. < 1 garante que Rt finito. Dado que as tran-
sies de estado so aleatrias, o ganho acumulado (e descontado) Rt pode
ser diferente do ganho esperado E [Rt |, s] que um agente obtem em mdia
se aplicar a poltica no estado inicial s0 . O valor esperado V (s) do estado
s dado pela Eq. 1, a equao de Bellman para V . O agente deve entre-
tanto aprender a encontrar a poltica tima ou seja aquela que lhe traz alta
recompensa a longo prazo.


" #

X X X
V (s) = E t rt+1 |, s0 = s = a ` a
(s, a) Ps,s Rs,s + V (s )

t=0 aA s S
(1)
possvel obter-se uma ordenao parcial do conjunto de polticas (e.g.
1 > 2 se V 1 (s) > V 2 (s) para todo s S) o que nos permite encontrar ,
a melhor poltica ou poltica tima (que sempre existe mas pode no ser nica).
est associada funo tima de valor de estado V , que definida como
na Eq. 2.

V (s) = max V (s), s S (2)


Vrios mtodos podem ser empregados para se aprender a poltica tima.


[Sutton and Barto 1998] descrevem trs classes de mtodos para resolver pro-
blemas de RL: programao dinmica, mtodos de Monte Carlo e aprendizado
via diferena temporal. O primeiro tem a vantagem do formalismo matemtico
ser bem desenvolvido mas requer que o agente tenha um modelo do ambi-
ente. Mtodos de Monte Carlo no requerem tal modelo, so conceitualmente
simples mas no so adequados para o clculo associado com aprendizado
incremental. Por fim, mtodos de diferena temporal so incrementais, no

123
A. L. C. Bazzan

requerem o modelo do ambiente mas so mais complexos de analisar. Expo-


remos a seguir alguns dos mtodos associados a aquelas classes; a discusso
sobre as verses multiagente dos mtodos mais usados aparecem na Seo
3.16.3.

3.6.1.1. Iterao de valor

Da equao de Bellman (Eq. 1), dado um espao finito de estados, pos-


svel se obter um conjunto de cardinalidade |S| de equaes lineares, as quais
podem ser resolvidas de forma geral por programao dinmica. Dado um va-
lor arbitrrio para V , aplica-se este valor iterativamente ao lado direito da Eq. 1
at se encontrar V , o ponto fixo. Uma vez encontrado V , possvel encon-
trar (s) quando se escolhe a ao que leva ao estado sucessor s cujo valor
mximo ou seja:

!

X` a a

(s) = argmax Rs,s + Ps,s V (s )
aA
s S

Este mtodo tem uma desvantagem: exige que P seja conhecida o que
uma hiptese muito forte. Desta forma, no nos ocuparemos mais deste
mtodo neste texto.

3.6.1.2. Diferena temporal e Q-learning

Para enderear o problema de que P pode no ser conhecida, foram pro-


postos mtodos que estimam os valores V a partir de grandezas que so ne-
cessariamente observveis como a recompensa r nos estados s e s , supondo
que estes estados so observveis com 100% de confiabilidade 8 .
Estes mtodos que dispensam o conhecimento de P so chamados de m-
todos livres de modelo (model-free). Eles aproximam o valor da ao, denotado
Q(a) ou de forma mais geral Q(s, a) ou seja o valor da ao a quando o agente
a realiza no estado s.
O algoritmo Q-learning constri, iterativamente, uma sequncia de valores
Q. No instante t o agente observa seu estado (s), realiza uma ao (a), transi-
ciona para o estado s e recebe r como recompensa. A partir desta observao
ele atualiza Q(s, a) da seguinte forma:

Q(s, a) Q(s, a) + r + maxa Q(s , a ) Q(s, a)


`
(3)
Na equao 3, 0 a taxa de aprendizado (que pode decrescer com o
tempo) e um fator de desconto. Foi provado [Watkins 1989] que, no limite de
8 possvel uma generalizao para o caso de observao parcial apresentado na Seo
3.5.2.

124
IA Multiagente

um conjunto infinito de observaes de transies de estados, a convergncia


(para o valor timo Q ) garantida, desde que todos os pares estado-ao
(s, a) sejam visitados infinitamente e frequentemente e que algumas restries
em relao sejam obedecidas.
A vantagem deste mtodo que dispensa o conhecimento de P. Uma
vez que Q (s, a) conhecido, o agente pode usar uma poltica gulosa que
seleciona a ao a que maximiza Q (s, a) no estado s, para todo s S.
Uma desvantagem prpria de Q-learning que a taxa de convergncia
pode ser baixa j que apenas um par estado-ao atualizado a cada passo.
Para mitigar este problema pode-se usar mtodos baseados em traos de ele-
gibilidade como Q(), SARSA() e TD(). Neste texto no nos deteremos
nestes mtodos. O leitor pode consultar [Sutton and Barto 1998] para mais
detalhes. Apenas mencionaremos que traos de elegibilidade se baseiam na
seguinte ideia: dada uma ao a em s, o valor Q da funo atualizado no
apenas para o estado s mas sim para todos os estados que ocorreram na tra-
jetria que levou a s.

3.6.1.3. Aproximao de funes

O requisito de visitao de pares estado-ao nos leva ideia de que estes


valores podem ser armazenados em uma tabela (onde s e a so as entradas
e Q o valor correspondente). Entretanto, se a cardinalidade do conjunto de
combinaes estado-ao for muito grande ou se os valores forem contnuos
(infinitos), tal representao no vivel.
Para tratar este problema, os valores da funes (por exemplo Q) podem
ser representados em termos de uma funo do tipo linear ou do tipo per-
ceptron multi-camada, funes estas que so parametrizadas. Detalhes deste
processo podem ser encontrados em [Sutton and Barto 1998].

3.6.1.4. Mtodos baseados em modelo

Os mtodos de RL baseados em modelos assumem que a funo de tran-


sio P e a funo de recompensa R so disponveis. Um algoritmo desta
classe o Prioritized Sweeping (PS) que semelhante ao Q-Learning, exceto
por manter uma estimativa do modelo de comportamento do ambiente. Alm
disso, ele atualiza mais de um valor Q por iterao. Os valores Q que devem
sofrer atualizao a cada iterao so determinados por uma fila de priorida-
des de atualizao. A cada iterao, so feitas novas estimativas acerca do
funcionamento do ambiente.
Um dos problemas com este mtodo que ele assume um nmero fixo de
modelos de comportamento do ambiente. Uma vez que essa suposio nem
sempre realista, o mtodo denominado RLCD (reinforcement learning with
context detection) [Silva et al. 2006] baseia-se na construo incremental de
modelos. A cada modelo, associada uma poltica tima, que consiste em um

125
A. L. C. Bazzan

mapeamento (a ser aprendido) entre estados e aes. Um contexto consiste de


um MDP com funes de transio e de recompensa distintas. O mecanismo
para deteco de contextos utiliza um conjunto de modelos parciais para efe-
tuar a previso da dinmica do ambiente. Cada modelo parcial m contem uma
funo Pm , que estima probabilidades de transio, e tambm uma funo
Rm , que estima as recompensas que podem ser esperadas em cada situao.
A fim de detectar as mudanas de contexto, o mtodo mensura o quo bem
o modelo de ambiente atualmente em uso consegue prever o que realmente
est sendo observado. Quando no existirem modelos com qualidade superior
qualidade mnima (o que significa que nenhum modelo existente capaz de
explicar o estado observado), um novo modelo construdo incrementalmente.

3.6.2. Problemas associados ao aprendizado por reforo


So 3 os problemas comumente encontrados por quem modela um pro-
blema de RL. O primeiro est ligado atribuio temporal da recompensa (tem-
poral credit assignment). Como j foi dito, a recompensa pode ser atribuda (ou
percebida) com atraso de modo que ela pode no ser necessariamente relaci-
onada com a ltima ao realizada. O segundo problema relacionado com o
espao de pares estado-ao. Os algoritmos de RL em geral exigem a visitao
frequente de cada um destes pares. Este problema extremamente agravado
em cenrios multiagentes como ser visto na Seo 3.16. O terceiro problema
est ligado ao dilema explorao-aproveitamento (ou explorao-desfrute) que
ocorre porque uma poltica aprendida pelo agente ao mesmo tempo em que
este explora seu ambiente.
Existe uma poltica tima de explorao? Desta questo trata o problema
denominado n-armed bandit. Este problema aparece na literatura como uma
metfora para problemas de escolha de ao via experimentao e subse-
quente recompensa. Um exemplo seria um mdico decidindo qual tratamento
administrar a pacientes; a recompensa seria a cura ou piora no estado do pa-
ciente.
O nome n-armed bandit problem vem da analogia com mquinas caa-
nqueis na qual se tem n alavancas e o agente deve escolher uma alavanca a
cada turno, com o objetivo de maximizar o ganho. Cada alavanca tem uma re-
compensa mdia associada a ela, mas este valor no conhecido pelo agente.
Se fosse, bastaria o agente selecionar a de maior valor esperado. Desta forma,
o agente deve estimar estes valores atravs de experimentao ou seja de
explorao.
Se o agente puxar uma determinada alavanca e obtiver r = 50 por exemplo,
ele pode considerar este valor suficiente e continuar desfrutando dele selecio-
nando esta ao para sempre. Neste caso, como r probabilstico, o agente
pode vir a ter ganhos iguais, maiores, ou menores. Em cada um destes casos
ele pode optar por continuar puxando a mesma alavanca ou no. De qualquer
forma, este procedimento no explora suficientemente seu espao de aes.
O agente poderia, por exemplo, optar por puxar todas as alavancas pelo menos

126
IA Multiagente

uma vez.
Idealmente o agente deveria puxar cada alavanca um nmero grande de
vezes a fim de obter uma estimativa da distribuio de probabilidade associ-
ada a cada alavanca. Entretanto, cada vez que o agente realiza tal ao h
um custo. relativamente claro que deve existir um compromisso entre ex-
plorao e aproveitamento. Dependendo deste custo, o agente pode explorar
mais ou menos seu ambiente para, posteriormente, desfrutar do que aprendeu
passando a escolher a alavanca que lhe traga o maior ganho.

Parte II: Agentes Autnomos e Sistemas Multiagentes

Nesta parte sero introduzidos os conceitos relativos a: agentes e siste-


mas multiagente; agentes como sistemas dedutivos; agentes como sistemas
reativos; coordenao, cooperao, negociao e comunicao em sistemas
multiagentes.
Ao final desta parte, os leitores sero confrontados com duas instncias
paradigmticas da IA sistema especialista e futebol de robs a fim de re-
fletir sobre as diferenas causadas pelo fato de que no primeiro caso trata-se
no apenas de um nico agente, mas tambm de um agente no situado em
qualquer ambiente. J no segundo caso, h questes complexas envolvidas
como: agentes so situados em um ambiente, agentes devem colaborar entre
si enquanto time, e agentes competem entre si enquanto oponentes.

3.7. IA Distribuda: histrico e taxonomia


H algumas dcadas a IA tem focado o emprego de suas tcnicas de re-
soluo de problemas em uma entidade nica, seja ela um rob, um sistema
especialista, um veculo, etc. Entretanto, a rigor, nenhuma destas entidades de-
veria ser tratada de forma isolada pois, em geral, trata-se de uma associao
de unidades que podem ter complexos inter-relacionamentos. Por exemplo,
para ser capaz de abrir uma porta, um rob tem que realizar pelo menos duas
tarefas: reconhecer e processar uma imagem e realizar um planejamento das
aes, sendo ambas afetadas pela dinmica do ambiente e pela presena de
outros agentes. Em aplicaes reais, tais entidades no podem ser considera-
das como uma unidade sob pena de se obter um sistema cuja complexidade
chegue a um nvel intratvel.
Por outro lado, ao se decompor um determinado problema, so geradas
vrias partes que interagem umas com as outras. Tal interao deve ser cuida-
dosamente tratada sob pena de se ter que lidar com complexidade igualmente
alta. Esta foi a motivao inicial que levou ao aparecimento de uma nova rea
da IA, inicialmente denominada inteligncia artificial distribuda (IAD).

127
A. L. C. Bazzan

Segundo [Bittencourt 2001], a IAD uma sub-rea da IA que estuda o co-


nhecimento e as tcnicas de raciocnio que podem ser necessrias ou teis
para que os agentes computacionais participem de sociedades de agentes. A
IAD se preocupa com uma ou mais dentre as seguintes tarefas: decomposi-
o de problemas complexos, alocao de tarefas dentre um grupo de agentes
de forma que estes melhorem seu desempenho como grupo, distribuio do
controle (das tarefas), evitar interaes danosas, comunicao, sntese das so-
lues parciais ou locais e garantir a soluo global do problema, se possvel
de forma cooperativa. preciso frisar aqui que tal forma cooperativa no ne-
cessariamente significa que os agentes tenham que se comportar de maneira
benevolente ou altrusta; eles podem ser levados a ter comportamentos antag-
nicos. Neste caso, a cooperao pode emergir quando existe a necessidade
dos agentes trabalharem juntos a fim de levar a cabo seus objetivos privados
ou particulares. Na literatura, tais agentes tambm so denominados intenci-
onais ou ainda agentes motivados individualmente ou auto-motivados (ou seja
motivados por seus objetivos ou por seus estados internos). IAD tambm
normalmente associada com o termo sociedade de agentes, o que aqui signi-
fica uma rede de agentes na qual cada um tem habilidades particulares mas
no capaz de resolver o problema como um todo devido falta de recursos,
informao ou percia.
Originalmente, as vrias tcnicas de IAD relatadas na literatura foram dividi-
das em duas grandes reas de acordo com sua viso: orientadas ao problema
(granulometria alta) e orientadas ao agente (granulometria fina). Posterior-
mente, estas duas vises tornaram-se conhecidas como resoluo distribuda
de problemas (DPS, de Distributed Problem Solving) e sistemas multiagentes.
DPS ocupa-se preponderantemente com a decomposio de um problema
entre uma rede de agentes e com os mecanismos de cooperao e comunica-
o necessrios para resolver o problema.
J um sistema multiagente ocupa-se principalmente com a coordenao
dos agentes, especialmente se forem individualmente motivados. Neste caso,
normalmente os agentes devem compartilhar intenes, planos e conhecimento
de forma a poder se coordenar. Coordenao necessria para que se re-
solvam conflitos que podem surgir quando se alocam recursos limitados ou
quando os agentes tm preferncias conflitantes. Assim, coordenao de-
pende muito da forma de interao que emerge dos agentes. Para ser efetiva,
preciso que haja um certo grau de previso das atitudes dos demais agen-
tes, o que pode ser obtido atravs de um modelo das preferncias dos outros
agentes, por exemplo.
Devido ao relativo baixo interesse atual em torno de DPS (compreensvel
se verificarmos o seu reduzido escopo frente aos problemas atualmente co-
locados por exemplo pela Internet), o restante desta discusso ser focado
em sistemas multiagentes. Antes porm, sero introduzidos os conceitos de
agente e algumas de suas caractersticas.

128
IA Multiagente

3.8. Agentes autnomos


A palavra agente vem do latim agere ou agir, porm o termo agente no
tem uma definio que seja amplamente aceita. Para [Wooldridge 2002] um
agente um sistema computacional situado em algum ambiente, sendo capaz
de realizar, de forma independente (autonomante), aes neste ambiente, des-
cobrindo o que necessita ser feito para satisfazer seus objetivos, ao invs de
ter que receber esta informao. Para Franklin e Graesser, um agente aut-
nomo um sistema situado dentro de e parte de um ambiente, ambiente este
que o agente percebe e nele age ao longo do tempo, perseguindo um objetivo
dentro de sua prpria agenda. A ao do agente por sua vez afeta o que ele
perceber no futuro.
Nestas duas definies aparecem alguns conceitos importantes; agentes
devem:
estar situados (em um ambiente)
descobrir autonomamente o que fazer (sem ser dito)
perseguir sua prpria agenda
agir ao longo do tempo
Como discutiremos na Seo 3.11, estas caractersticas constituem um
marco delimitador entre tcnicas e sub-reas da IA.
Agentes podem ser ter uma arquitetura reativa ou deliberativa (tambm
chamada cognitiva). Um agente reativo baseado em modelos simples como o
estmulo-resposta e baseado em arquiteturas de subsuno conforme proposto
por [Brooks 1986]. De fato, uma das implicaes prticas desta arquitetura foi
que a rea de agentes se tornou um campo frtil para teste em cenrios realis-
tas. Agentes reativos so usados principalmente em ambientes onde eles so
numerosos (ordem de centenas, milhares de agentes) e a eficincia do proces-
samento uma questo chave. Um exemplo tpico de agente reativo aquele
com inspirao em paradigmas da etologia (que estuda o funcionamento de
insetos sociais e sua organizao).
Agentes deliberativos so inspirados em organizaes sociais entre seres
humanos como empresas e suas hierarquias organizacionais, comunidade ci-
entfica e mercados no sentido da economia. Neste caso a arquitetura do
agente representa explicitamente no apenas o ambiente mas tambm os de-
mais agentes. Neste tipo de arquitetura o planejamento das aes futuras
em geral no estilo do planejamento clssico visto na Seo 3.5 (considerando
extenses para o caso multiagente conforme a Seo 3.15). Isto envolve por-
tanto uma caracterizao formal de atitudes mentais como intenes, objetivos,
crenas, as quais sero vistas na Seo 3.13. Alm disto a comunicao entre
agentes tem um papel importante neste tipo de arquitetura, o que no o caso
em uma arquitetura reativa. Justamente devido complexidade das arquite-
turas deliberativas, este tipo de agente encontrado em cenrios onde seu
nmero da ordem de dezenas de agentes.

129
A. L. C. Bazzan

Outra caracterstica, menos bvia e mais polmica, que um agente pode


ser analisado sob uma perspectiva microeconmica, ou seja, pode ser visto
como uma entidade racional, auto-motivada e no disposta a mostrar benevo-
lncia perante os outros. Os seguidores desta linha colocam a diferena entre
agentes e objetos da seguinte maneira: enquanto agentes fazem algo para
obter um certo ganho, objetos o fazem sem tal contrapartida. Esta viso de
agncia criticada por ser orientada ao ganho e por no dar muito espao
para que o agente coopere com outros ao menos que isso contribua para que
seus objetivos sejam satisfeitos. Entretanto, tal abordagem vlida e til em
certos domnios onde os objetivos dos agentes so altamente antagnicos.

3.9. Sistemas multiagentes


Assim como no h uma definio universalmente aceita sobre o que um
agente, tambm no existe uma definio prpria para sistemas multiagentes.
Pode-se dizer que um sistema multiagente um sistema que consiste de um
nmero de agentes que interagem uns com os outros. Alm disto, para interagir
de forma eficaz, os agentes deste sistema devem ser capazes de cooperar, se
coordenar e negociar entre si [Wooldridge 2002].
Um sistema multiagente possui algumas caractersticas, como por exem-
plo: cada agente tem informao ou capacidades incompletas, ou seja, viso
limitada para resolver o problema; no existe um controle global do sistema; o
conhecimento se encontra distribudo.
Uma das motivaes para o desenvolvimento de sistemas multiagentes
a possibilidade de resolver problemas que no podem ser resolvidos de forma
centralizada (por limitao de recursos ou desempenho). Por outro lado, como
os sistemas multiagentes prevem vrios agentes envolvidos em um ambiente
normalmente complexo, conflitos precisam ser tratados ou em fase de projeto
ou durante a execuo das tarefas.

3.10. Coordenao e cooperao em sistema multiagente


3.10.1. Coordenao de agentes
De uma forma geral, a coordenao aumenta o desempenho dos siste-
mas multiagentes e um componente chave, uma vez que cada agente possui
apenas uma viso local e incompleta. Ela fundamental em tarefas de plane-
jamento conforme detalhado no captulo 9 de [Wooldridge 2002], no captulo 3
de [Weiss 1999] e resumido na Seo 3.15 do presente texto. Por fim, coor-
denao necessria a fim de se resolver conflitos, alocar recursos limitados,
conciliar preferncias e buscar solues de carter global.
Devido importncia da coordenao, conveniente se olhar para seu
significado em outras reas. De fato, possvel encontrar vrios trabalhos en-
volvendo o estudo de coordenao sob o aspecto multidisciplinar (computao,
teoria de organizaes, administrao, economia, lingustica e psicologia). Um
estudo interessante o de [Malone and Crowston 1994] que discute a seguinte
questo: como o uso de tecnologia de informao muda a forma como as pes-

130
IA Multiagente

soas colaboram? Neste trabalho so relacionadas vrias definies para coor-


denao, entre as quais as mais relevantes para a rea de sistemas multiagen-
tes so: i) coordenao a tarefa de gerenciar dependncias entre atividades
[Malone and Crowston 1994]; ii) coordenao a deciso sobre como com-
partilhar recursos, a qual em geral envolve negociao e comprometimentos
[Rosenschein and Zlotkin 1994].
Desta forma fica claro que o projeto de mecanismos adequados de co-
ordenao uma tarefa fundamental na concepo de um sistema multia-
gente. Neste texto no sero fornecidos detalhes sobre os mecanismos em
si por serem de diversas naturezas. O leitor pode consultar [Weiss 1999] ou
[Wooldridge 2002] para este fim. Nos limitaremos a elencar os principais meca-
nismos propostos: coordenao atravs de reviso das aes, teoria de jogos,
sincronizao, negociao, rede de contratos, quadro-negro, troca de modelos
sobre preferncias.

3.10.2. Cooperao entre agentes


Em uma sociedade ou rede de agentes onde cada um tem conhecimento e
percia limitada, a cooperao necessria para que o objetivo maior de toda
a sociedade seja atingido. O nvel e forma de cooperao entre agentes pode
variar em um espectro que vai desde totalmente cooperativa at antagnica.
Sistemas totalmente cooperativos em geral pagam um alto preo sob a forma
de custos de comunicao. Enquanto agentes totalmente cooperativos podem
trocar objetivos entre si de forma a solucionar o problema como um todo, em
sistemas onde os agentes so antagnicos, estes podem optar por no coo-
perar de modo algum, alm de inclusive tentar impedir as aes dos demais
agentes se estas esto em conflito com o objetivo do agente em questo. Se
por um lado aqui os custos de comunicao so baixos (ou inexistentes), por
outro lado a eficincia pode ser seriamente comprometida.
O papel da cooperao difere nas diversas abordagens propostas. En-
quanto a cooperao pode ser vista como um caso especial de coordenao
entre agentes no antagnicos (ou seja cooperativos por natureza), alguns
pesquisadores defendem que a cooperao pode emergir tambm entre agen-
tes antagnicos, desde que o benefcio de tal cooperao aumente a chance
do indivduo atingir seu objetivo. Por exemplo, duas companhias telefnicas
podem fazer um acordo a fim de rotear pacotes que sejam do interesse de
ambas [Rosenschein and Zlotkin 1994]. Esta abordagem (e as inmeras que
dela derivaram) baseada em ideias advindas da teoria de jogos (cooperativa
e no cooperativa), enquanto formalismo matemtico para analisar a natureza
das interaes e cooperaes entre agentes antagnicos em sistemas multia-
gentes.
Para se conseguir raciocinar sobre cooperao, preciso modelar as inten-
es dos demais agentes, o que pode ser feito de vrias formas. A modelagem
explcita dos estados mentais dos agentes a forma mais sofisticada e ser
discutida na Seo 3.13.

131
A. L. C. Bazzan

Uma outra forma via simples troca de informao entre os agentes. Nor-
malmente este processo se apoia nas seguinte etapas: desenvolvimento de
um plano que considere o comportamento dos outros agentes, comunicao
das partes relevantes do plano, e comunicao do comprometimento de cada
agente com suas aes. Dependendo do nmero de agentes envolvidos, da
complexidade dos planos e a da preciso desejada, os custos de comunicao
podem ser inviveis.
Este fato motivou uma terceira linha de abordagens, a baseada em teoria
de jogos, conforme j mencionado. Esta linha se apoia no conceito de conhe-
cimento comum (common knowledge, que ser explorado na Seo 3.13.2),
aqui no sentido mais restrito empregado pelos formuladores daquela teoria. A
idia bsica que as crenas e intenes dos agentes so de conhecimento
comum e enquanto este conhecimento for vlido, os agentes no necessitam
comunicao para cooperarem.
Resumindo, cooperao est associada com o compartilhamento de obje-
tivos, enquanto que coordenao est associada com o fato de se considerar
os planos dos outros. Desta forma, a menos que os agentes garantidamente
tenham o mesmo objetivo, o uso de cooperao apenas no efetivo; as aes
dos indivduos devem tambm ser coordenadas.

3.11. IA clssica versus IA multiagente: sistemas especialistas


versus robtica
Dois objetos clssicos da IA so os sistemas especialistas e a robtica.
Nesta seo discutiremos por que estas duas reas situam-se de lados opos-
tos no que se refere a paradigmas baseados em agentes. Lembramos que, nas
definies de agente vistas, algumas caractersticas so sumamente impor-
tantes: estar situado (em um ambiente); decidir autonomamente o que fazer;
perseguir sua prpria agenda; agir ao longo do tempo.
Como lembra Wooldridge, um sistema especialista desencorpado e por-
tanto, por natureza, no pode estar situado em um ambiente. Alm disto, um
sistema especialista no tem agenda prpria, no equipado com habilidades
sociais, no age e no capaz de ter um comportamento nem reativo nem
pr-ativo.
Um rob por outro lado claramente uma entidade situada em um ambi-
ente. O rob certamente age, em geral persegue sua prpria agenda e pode
ser autnomo. Desta forma relativamente claro que o paradigma de agente
est relacionado muito mais robtica do que aos sistemas especialistas.
A partir das definies de agentes vistas, pode-se analisar quais sub-reas
da IA clssica esto ou no de acordo com o paradigma de agentes e siste-
mas multiagentes. Isto fica claro no livro de Russell e Norvig onde em alguns
captulos a palavra agente no sequer mencionada ou na melhor das hip-
teses pode ser associada com um componente interno de um agente como
poderia ser por exemplo um sistema especialista embutido na arquitetura de
um agente.

132
IA Multiagente

3.12. Para saber mais sobre agentes autnomos e sistemas multi-


agentes
A Parte II deste captulo introduziu de forma breve e seletiva apenas uma
pequena parte do ferramental, das tcnicas e dos conceitos que embasam a
pesquisa tradicional e atual na rea de agentes autnomos e sistemas mul-
tiagente. Esta seleo foi feita em funo dos tpicos a serem abordados
na Parte III. Desta forma, o leitor remetido aos trs livros que trazem este
material de uma forma mais completa: [Weiss 1999], [Wooldridge 2009]9 , e
[Shoham and Leyton-Brown 2009].
Em relao aos tpicos abordados neste captulo, estes podem ser apro-
fundados da seguinte forma. Cooperao e coordenao so tratados no cap-
tulo 8 de [Wooldridge 2009]. Abordagens baseadas em teoria de jogos apare-
cem nos captulos 36 de [Shoham and Leyton-Brown 2009] e nos captulos 11
e 13 de [Wooldridge 2009]. Tpicos relacionados a este assunto, como leiles,
votao, protocolos de negociao e alocao de tarefas so objeto dos captu-
los 12 e 14 de [Wooldridge 2009], 9 e 11 de [Shoham and Leyton-Brown 2009],
e 5 de [Weiss 1999]. Em particular, o tema projeto de mecanismos (mecha-
nism design) que vem crescendo em importncia, bem abordado no captulo
10 de [Shoham and Leyton-Brown 2009], aparecendo tambm no captulo 14
de [Wooldridge 2009]. Aprendizado o tpico dos captulos 6 de [Weiss 1999]
e 7 de [Shoham and Leyton-Brown 2009]. Comunicao discutida no captulo
7 de [Wooldridge 2009] e em [Shoham and Leyton-Brown 2009] no captulo 8.
Para os conceitos bsicos em torno de DPS e IAD, textos clssicos so:
[Bond and Gasser 1988, Gasser and Huhns 1990, Jennings 1996].

Parte III: IA Multiagente Problemas e Solues

Os itens abordados na Parte I (Sees 3.3 a 3.6) so retrabalhados a seguir


sob uma ptica multiagente, a partir dos conceitos introduzidos na Parte II.

3.13. Lgicas para sistemas multiagente


Em IA, um tpico ainda em discusso sobre a adequabilidade do uso de
lgica como um formalismo para representao do conhecimento. Atualmente
razoavelmente aceita a tese de que a resposta sim, ou seja, formalismos
lgicos satisfazem os requisitos bsicos para representao do conhecimento,
pelo menos no que se refere sintaxe. Entretanto, alguns aspectos so trata-
dos de forma pobre (ou no so tratados), especialmente quando se trata da
lgica de primeira ordem.

9 A numerao dos captulos se refere segunda edio.

133
A. L. C. Bazzan

A representao de conhecimento via lgica de primeira ordem (LPO) vista


na Seo 3.3 no trata de forma simples questes fundamentais em sistemas
de mais de um agente como por exemplo a questo dos estados mentais dos
agentes. Isto entretanto no chega a ser um problema uma vez que existem
outros formalismos lgicos para lidar com os estados mentais, os quais sero
introduzidos a seguir.
Estados mentais crenas, desejos, intenes no so traduzveis de
forma simples utilizando-se a LPO. Por exemplo a sentena Janine believes
Cronos is the father of Zeus no tem uma representao bvia na LPO. Se
a formalizarmos como Bel (Janine, Father(Zeus,Cronos)), tal frmula no
bem formada na LPO. Alm disto, existe um problema semntico pois na LPO,
o valor semntico da frmula depende apenas dos valores-verdade dos com-
ponentes da frmula (por exemplo (pq) tem valor-verdade V ou F dependendo
dos valores de p e de q). A frmula Janine believes p tem um valor verdade
que no depende apenas do valor de p. Igualmente, a frmula o agente_a
acredita que o agente_b acredita que a lua quadrada no tem um valor ver-
dade bvio e, ainda que tivesse, isto nada ns diria sobre a lua ser ou no
quadrada!
Desta forma, a LPO no adequada para problemas que envolvem esta-
dos mentais e vrios agentes. Isto sabido desde pelo menos a publicao
do trabalho de Hintikka em 1962 que introduziu a idia de mundos possveis
ou seja uma semntica que depende do mundo no qual o agente vive. A
formalizao em lgica modal devida a Kripke em 1963. Entretanto, os siste-
mas multiagentes que surgiram na dcada de 80 foram os que de fato levaram
o foco da discusso para modelos pragmticos que resultaram na chamada
lgica BDI (de beliefs, desire, intention).
Lgica modal tem sido usada em IA para se referir a outras formas de dar
significado frmulas (que no os modos simples da lgica de primeira ordem).
Em filosofia, lgica modal usada para se estudar outras formas de verdade
como por exemplo possibilidade e necessidade. Em sistemas multiagentes ela
usada para raciocinar sobre crenas e conhecimento.
Para ilustrar este raciocnio, considere um agente jogando cartas (como
pquer), que tem um s na mo (e sabe disto). Todas as configuraes de
mundo (alternativas epistmicas) nas quais este agente no tem um s no
so possveis. Pode-se inferir que um agente sabe p se p verdadeiro em
todas as alternativas epistmicas do agente (por exemplo que tem um s).

3.13.1. Lgica modal normal


A lgica proposicional multi-modal Kn estende a lgica proposicional por
meio de n pares de operadores unrios que so chamados operadores box
() e diamond (). K dita multi-modal porque se consideram mais de um
daqueles operadores.
Dependendo da aplicao desejada, tais operadores tm significados dife-
rentes. Por exemplo, na lgica temporal usa-se o operador para se formalizar

134
IA Multiagente

o fato de que "em alguns momentos (no futuro) o caso que ". Isto expresso
da seguinte forma: . Os operadores  e tambm podem significar ne-
cessariamente e possivelmente, respectivamente. Na lgica epistmica, 
interpretado como sabido que .

3.13.1.1. Sintaxe

O conjunto de frmulas na lgica modal com smbolos proposicionais (pro-


posies atmicas) p o menor conjunto L que contem p tal que se , L
ento L, ( ) L e  L. Assim como na lgica de primeira or-
dem, os demais conectivos (, e ) podem ser derivados em termos de
e . Adicionalmente pode-se derivar de :  ( possivelmente
verdadeiro se e somente se no no necessariamente verdadeiro).

3.13.1.2. Semntica

A semntica de Kn definida a partir do conceito de mundos possveis ou


estrutura de Kripke, K = (W, R) que consiste em um conjunto W de mundos
possveis e um conjunto R de relaes binrias de transio denominadas re-
laes de acessibilidade. Cada mundo possvel w W corresponde a uma
interpretao ou seja uma atribuio de valor verdade pw {0, 1} para cada
frmula atmica p.
O conjunto R contem relaes de transio Rm W W. Em uma es-
trutura de Kripke K, a validade de uma frmula em Kn no mundo w W
definida recursivamente:

K, w  p sss pw = 1 (para proposies atmicas p)


K, w  sss K, w  e K, w 
K, w  sss no o caso que K, w 
K, w   sss w W tal que R(w, w ), o caso de que K, w 
K, w  sss w W tal que R(w, w ), o caso de que K, w  .

Uma frmula de Kn vlida se e somente se o caso que K, w  para


todas estruturas de Kripke e todos os mundos w em W.

3.13.1.3. Axiomatizao

A lgica modal Kn no suficiente para se atribuir um significado espec-


fico a um operador modal (por exemplo significados temporais como no futuro
ou significados ligados crena de um agente como "o rob acredita que ...").
De posse de noes semnticas de validade, possvel verificar se existe um
sistema axiomtico que permite derivar precisamente todas as frmulas v-
lidas. Sero introduzidos abaixo os axiomas do sistema axiomtico K e as

135
A. L. C. Bazzan

regras de inferncia correspondentes (modus ponens e necessitao):

Axioma Taut: todas as tautologias proposicionais so vlidas


Axioma K:  ( )  vlida
Axioma T: 
Axioma 4:  
Axioma 5:   (ou ).
Modus ponens: de e , inferir (ou ainda: se e ( ) so vlidas,
inferir a validade de )
Necessitao: da validade de , inferir a validade de .

Foi provado que o sistema axiomtico K correto e completo para toda


classe de modelos de Kripke.
A lgica modal Kn caracterizada pelos axiomas Taut e K; uma frmula
de Kn vlida em todos os mundos de todas as estruturas de Kripke se e
somente se ela puder ser derivada de instncias de Taut e K usando as regras
de inferncia modus ponens e necessitao.
Na lgica de conhecimento discutida na prxima seo, os trs demais axi-
omas descrevem possveis propriedades dos operadores modais relacionados
ao conhecimento de um agente. Por exemplo  deve ser entendida como "o
agente sabe ". Logo, o axioma T deve ser entendido como se um agente
sabe em uma situao, ento vlida nesta situao o que implica que
um agente no tem conhecimento incorreto. Notar entretanto que h uma dife-
rena entre conhecimento e crena: um agente pode acreditar em fatos incor-
retos mas ele no tem como saber isto.
O axioma 4 (  ou introspeo positiva) pode ser entendido como
"o agente sabe o que ele sabe". J o axioma 5 (  ou introspeo
negativa) indica que "o agente sabe o que ele no sabe", o que questionvel
(voc sabe tudo o que no sabe?). Desta forma, alguns sistemas axiomticos
dispensam o axioma 5 pois ele implica que um agente sabe que seu conheci-
mento no suficiente para resolver certas tarefas. Desta forma, o chamado
sistema S4 no inclui a introspeo negativa.
Existem outras propriedades associadas ao conhecimento que no so de-
rivveis do sistema axiomtico K. Uma delas a consistncia (do conhe-
cimento) que se refere ao fato de que o conhecimento de um agente no
contraditrio. O axioma D captura exatamente esta ideia:

Axioma D: Ki ( ) ou Ki Ki )

3.13.2. Lgica de conhecimento para sistemas multiagentes


A lgica modal que trata de conhecimento a lgica epistmica. Conforme
mencionado, nesta lgica  deve ser entendida como " sabido que ". En-
tretanto, desta forma, esta lgica lida com o conhecimento de um nico agente.

136
IA Multiagente

Para lidar com conhecimento multiagente necessrio adicionar um conjunto


de relaes de acessibilidade, uma para cada agente. O modelo estendido
K = (W, R1 , ..., Rn ) onde cada Ri se refere s relaes de acessibilidade do
conhecimento do agente i. Desta forma, o operador modal  introduzido an-
teriormente substitudo por um conjunto de operadores modais unrios Ki
onde i denota um agente. Cada operador Ki tem as mesmas propriedades do
operador . Podemos, a partir dai, nos perguntar como Kn til como lgica
de conhecimento (e tambm de crena).
A regra de necessitao nos diz que um agente sabe todas as frmulas v-
lidas, incluindo todas as tautologias, cujo nmero infinito. Disto decorre que
um agente sabe um nmero infinito de itens de conhecimento, o que parece
ser um propriedade muito forte de agentes que tm limitaes (de recursos,
etc.).
Alm da regra de necessitao, quo adequados so os demais axiomas?
J analisamos os axiomas T, 4 e 5 quando aplicados lgica de conhecimento
quando discutimos introspeo positiva e negativa. Resta o axioma K que
relaciona o conhecimento de um agente com um fecho de implicao. Suponha
que consequncia lgica do conjunto = (1 , ..., n ). Em cada mundo
onde todas i so verdadeiras, tambm ser e portanto 1 2 ... n
deve ser vlida. Pela regra de necessitao, da validade de infere-se 
( conhecida pelo agente). Isto conhecido como ominiscncia lgica. Por
exemplo, se um agente sabe todos os axiomas de Peano, ento ele sabe todos
os teoremas da aritmtica, o que, novamente, uma propriedade muito forte e
no se espera que um agente limitado tenha tal propriedade.

3.13.3. Exemplos do uso do formalismo de Kripke em sistemas


multiagentes
O seguinte exemplo visa ilustrar os problemas relacionados presena de
vrios agentes com conhecimento parcial. Trata-se do problema do ataque
coordenado.
Dois generais A e B e seus exrcitos esto posicionados no topo de duas
colinas. Eles precisam se comunicar a fim de coordenar um ataque a um exr-
cito inimigo, que se encontra no vale. A comunicao se d atravs de mensa-
geiros (os generais no possuem meios mais sofisticados de comunicao!),
que para ir de A a B devem passar pelo vale onde se encontra o inimigo C.
Caso um mensageiro seja capturado, a mensagem perdida. A e B s tm
chance de sucesso se o ataque for simultneo; se apenas A ou B atacam, C
vence.
Dada tal situao, qual protocolo A e B devem estabelecer a fim de garantir
um ataque simultneo? Um protocolo simples mas ingnuo seria o seguinte: B
envia a A, a cada hora, uma mensagem "ataque amanh ao amanhecer", at
que receba um ack (confirmao de recebimento) de A. O mesmo protocolo
preve que A no faa nada at receber uma mensagem de B, a qual deve ser
respondida com um ack para B.

137
A. L. C. Bazzan

Dado este protocolo, garantido que o ataque simultneo ocorrer? Se


no, qual seria uma alternativa? Neste exemplo ilustrativo, nota-se claramente
que as noes de conhecimento discutidas na Seo 3.13.2 tm um papel
importante mas como podemos utiliza-las para formalizar este cenrio? Alm
disto, que conhecimento suficiente para garantir o ataque coordenado?
Pensando na noo de mundos possveis, podemos definir os estados (de
conhecimento) locais e globais (combinados). Seja um estado um par de va-
riveis binrias que refletem se uma mensagem foi enviada ou no (primeira
varivel) e se um ack foi enviado ou no (segunda varivel). Desta forma, o
par (0, 0) indica que a mensagem no foi enviada e que o ack no foi enviado.
Existem portanto 4 estados locais possveis para cada general A e B. O nmero
de estados globais 16 pois para cada estado local de A, B pode estar em 4
estados.
Suponhamos que o estado global inicial s0AB = h(0, 0), (0, 0)i. As transi-
es de estado so determinadas pelo protocolo (determinstico) e pela natu-
reza ou ambiente, este no previsvel pois por exemplo no podemos prever se
o mensageiro ser ou no capturado. Assim, a partir de s0AB se sucedem novos
estados s1AB , s2AB , .... O conjunto destes estados denominaremos de histrico
e eles constituem os mundos possveis do nosso problema.
Nestes mundos possveis, o conhecimento pode ser expresso da seguinte
forma. Seja p = attack a frmula atmica associada ao fato de que um ataque
planejado em determinada hora. Ki p significa que i sabe que deve atacar.
Por exemplo, em um mundo possvel cujo ltimo estado global registrado seja
h(1, 1), (1, 1)i, as seguintes frmulas so vlidas: KB p, KA p, KB KA p. En-
tretanto, a frmula KA KB KA p tambm vlida pois A no sabe que B sabe
que A sabe que B ordenou o ataque, j que A sabe que o ltimo ack enviado
pode ter sido perdido. Logo, A no ataca.
fcil perceber que o protocolo no garante o ataque simultneo. Como o
protocolo pode ser melhorado? preciso adicionar a noo de conhecimento
comum (common knowledge). Para isto preciso primeiro definir a noo de
everybody knows (todo mundo sabe), representada pelo operador modal EG
onde G um grupo de agentes (doravante este subscrito ser omitido sempre
que no causar ambiguidade, subentendendo-se que o grupo inclui todos os
agentes). Assim, E significa que cada agente sabe .
Formalmente, E definido da seguinte maneira. Seja K uma estrutura de
Kripke, w W um mundo possvel, G um grupo de agentes e uma frmula
da lgica modal. K, w  EG sss para todo i G o caso que K, w  Ki .
Isto significa que todos os agentes sabem quando for verdadeira em todos
os mundos que so possveis.
A noo de conhecimento comum entretanto no capturada pelo opera-
dor E. necessrio definir um outro operador, C, que definido em funo de
E. Sejam K, G, como definidos acima. K, w  CG sss K, w  EG (CG ).
Em outras palavras, conhecimento comum se e somente se todo mundo
sabe e todo mundo sabe que conhecimento comum. Esta definio no

138
IA Multiagente

trivial j que CG o equivalente soluo de ponto fixo de uma equa-


o. Existe entretanto uma definio semntica equivalente: K, w  CG sss
K, w  para todas as sequncias de mundos possveis w = w0 , w1 , ..., wn =
w para as quais o seguinte vale: para cada 0 i < n existe um agente j G
tal que wi+1 Ij (wi ), onde Ij (w) = {w |w Wjk } e w Wjk ou seja Ij (w)
inclui todos os mundos na partio w de acordo com o agente j.

3.13.4. Combinando conhecimento e crena


Tal como o conhecimento, as crenas so atitudes mentais, estas relacio-
nadas viso do agente. Desta forma, pode-se utilizar as estruturas de Kripke
(mundos possveis e relaes entre eles) para modelar crenas, ainda que mo-
dificaes sejam necessrias aqui.
Retornando noo de sistema axiomtico introduzida na Seo 3.13.1.3
e posteriormente discutida na Seo 3.13.2 para o caso particular de conheci-
mento, lembramos que o axioma T (Ki , ) faz parte do sistema axiom-
tico l visto. Assumamos que T no faz parte daquele sistema. Desta forma,
o sistema axiomtico visto na Seo 3.13.2 pode agora ser revisitado a fim de
defin-lo para o operador modal B (de belief, crena) no lugar de K:

Axioma K: Bi Bi ( ) Bi vlida
Axioma D: Bi (p p)
Axioma 4: Bi Bi Bi
Axioma 5: Bi Bi Bi .

As duas regras de inferncia tm o mesmo papel j definido anteriormente.


Conhecimento e crena podem ser combinados a fim de se poder expres-
sar por exemplo que se Bob sabe que Alice acredita que est chovendo, ento
Alice sabe que Bob sabe isto (o que pode ser formalizado como: KA BA rain
KA KB BA rain).

3.13.5. Objetivos e desejos


Em ltima anlise, o que se deseja que agentes possam modelar obje-
tivos e desejos, alm de conhecimento e crenas. Afinal, na nossa definio
de agente, a capacidade de agir para atingir um objetivo uma das noes
fundamentais.
Cohen e Levesque [Cohen and Levesque 1990] adaptaram a semntica de
mundos possveis a fim de desenvolver uma lgica de objetivos, intenes e
desejos. Nesta adaptao, cada mundo acessvel, para cada objetivo em par-
ticular, representa uma instncia na qual o mundo pode passar a estar, caso
o objetivo do agente seja realizado. Um dos problemas com esta abordagem
o chamado efeito colateral que associado ao fato de que um agente ter
como objetivo todas as consequncias lgicas do objetivo inicial. Um exemplo
que ilustra este efeito o seguinte; um agente tem como objetivo ir ao dentista
(cuja consequncia sentir dor) mas bvio que sentir dor no um objetivo
do agente. Uma adaptao no modelo de mundos possveis foi proposta em

139
A. L. C. Bazzan

[Wainer 1994] para resolver este problema.


A despeito de alguns problemas remanescentes, a lgica de intenes de
Cohen e Levesque representa um passo significativo na direo de uma teoria
de agncia. Esta lgica tem tido grande utilidade nas reas de anlise de
conflito e cooperao entre agentes tendo sido posteriormente estendida para
tratar intenes conjuntas (joint intentions).
A sintaxe da lgica de intenes considera quatro operadores: Beli
(agente i acredita ); Goali (i tem como objetivo ); Happens (ao
ocorrer em seguida); Done (ao foi executada). Outros construtores
advindos de outros formalismos para tratar ambientes dinmicos foram poste-
riormente introduzidos como ; ( ocorre aps ).

3.14. Resoluo de problemas em sistemas multiagentes


Conforme visto na Seo 3.4, o formalismo em torno de CSP til para
certos problemas de planejamento e busca quando colocados de forma cen-
tralizada. Entretanto, no mundo real existem situaes nas quais o problema
necessita ser resolvido de forma distribuda, seja porque no h capacidade
de processamento central, seja porque os recursos e o conhecimento se en-
contram de fato distribudos, ou ainda devido a altos custos de comunicao
para centralizao de todo o problema em um nico local. Alm disto podem
haver questes intrnsecas de segurana e privacidade das informaes. Um
exemplo tpico o de agendamento de reunies. Neste problema, em geral,
as restries bem como as informaes sobre horrios no so de domnio
pblico e/ou existem questes de privacidade que implicam que nenhuma en-
tidade central tem todas as informaes a fim de resolver o problema usando
CSP clssico.
Para especificar um CSP distribudo, foi proposto o chamado DisCSP (do
ingls, distributed constraint satisfaction problem) [Yokoo et al. 1992]. J o for-
malismo que especifica COPs de maneira distribuda denominado DCOP
(do ingls distributed constraint optimization problem) [Modi et al. 2003]. Em
ambos os formalismos que tratam de problemas em ambientes distribudos,
utilizam-se agentes para representar e controlar as variveis.
Tanto em DisCSP quanto em DCOP, cada varivel gerenciada por um
agente. O objetivo global continua sendo o mesmo. Entretanto, cada agente
tem agora autonomia para decidir o valor que ser atribudo varivel. Este
problema est longe de ser trivial j que nenhum agente tem uma viso glo-
bal. Desta maneira, cada agente tem que se comunicar com outros agentes
aqueles que fazem parte da sua vizinhana no grafo de restries.

3.14.1. Problema de satisfao de restries distribudas


Um DisCSP um CSP em que as variveis e restries esto distribudas
entre agentes autnomos, constituindo um sistema multiagente. Cada agente
responsvel por uma varivel e deve determinar o seu valor a partir dos valores
disponveis no domnio da varivel. Como existem restries entre variveis,
existem interaes entre agentes (na forma de restries). Logo, a atribuio

140
IA Multiagente

que constitui a soluo para o DisCSP deve satisfazer estas restries entre
agentes.
Formalmente, em um DisCSP temos um conjunto A = {a1 , . . . , am } de m
agentes. Cada varivel xj pertence a um agente al . Esta relao represen-
tada pelo predicado P ertence(xj , al ). As restries tambm esto distribudas
entre os agentes. O fato de que um agente al conhece uma restrio Ck que
atua sobre a varivel do agente denotado pelo predicado Conhece(Ck , al ). A
soluo de um DisCSP uma atribuio completa A que satisfaz as seguintes
condies:
al , xj onde P ertence(xj , al ), o valor atribudo a xj dj e;
al , Ck onde Conhece(Ck , al ), Ck satisfeita com a atribuio hxj , dj i.
Assim como um CSP, um DisCSP tambm pode ser representado por um
grafo de restries. Neste caso, os vrtices so os agentes e as arestas so
as restries entre os agentes.
O algoritmo fundamental para resolver um DisCSP o ABT (asynchronous
backtracking). O ABT assume uma ordenao total dos agentes. Cada res-
trio binria conhecida por ambos os agentes e o agente com menor pri-
oridade responsvel por verificar a restrio aps ter recebido a mensagem
sobre a atribuio do(s) agente(s) de maior prioridade. Uma aresta direcio-
nada do agente de maior para o de menor prioridade.
As atribuies de valores so feitas em paralelo, respeitando as restries
conhecidas em cada agente. Os valores so comunicados para os agentes
vizinhos (aqueles com os quais existe uma aresta em comum). No passo se-
guinte, todas mensagens so processadas e respondidas. A seguir, uma nova
atribuio de valores feita, respeitando as j conhecidas, e novas mensagens
so enviadas.
Mensagens do tipo OK? so as que informam uma atribuio realizada.
Quando o agente ai recebe uma mensagem OK? do agente aj , ai coloca a atri-
buio agora conhecida em uma estrutura de dados denominada agent_view.
Aps, ai verifica se sua atribuio atual consistente com sua agent_view. Se
no for, ai tenta atribuir outro valor dentro do domnio possvel. Se no encon-
trar, ai inicia um processo de backtracking enviando uma mensagem nogood
a aj . No ABT a nogood composta de toda a agent_view.
O ABT a base de vrias extenses propostas. Uma delas o envio ape-
nas do conjunto mnimo que justifique uma inconsistncia. Dado que encontrar
este conjunto mnimo um problema NP-difcil, encontrar mtodos heursticos
que no sacrifiquem a corretude um desafio.
O algoritmo asynchronous weak-commitment search uma modificao do
ABT na qual as variveis iniciam com valores-tentativos. Uma soluo parcial
consistente construda para subconjuntos de variveis. Cada soluo parcial
estendida com a adio de variveis (e seus valores), uma a uma, at que
uma soluo completa seja encontrada. Este algoritmo capaz de revisar uma
atribuio ineficiente sem a necessidade de uma busca exaustiva.

141
A. L. C. Bazzan

3.14.2. Problema de otimizao de restries distribudas


Conforme mencionado na Seo 3.4, h casos nos quais deseja-se encon-
trar a melhor e no qualquer soluo para um problema. A verso distribuda
deste caso denominada de DCOP. Em DCOPs valem as mesmas hipte-
ses e tcnicas bsicas de um DisCSP mas aqui necessrio que os agentes
encontrem, de forma colaborativa, a melhor soluo para o problema.
Um DCOP estende um DisCSP com a incluso de uma funo objetivo
F(A) e funes de custo f (como acontece com um COP em relao a um
CSP). O objetivo novamente encontrar uma atribuio A que proporcione o
valor timo para a funo objetivo. Na Figura 3.4 temos um exemplo de DCOP
na forma de grafo de restries, com quatro agentes (variveis) {x1 , x2 , x3 , x4 }
e quatro funes de custo (arestas) {f (x1 , x2 ), f (x1 , x3 ), f (x2 , x3 ), f (x2 , x4 )}.
Trata-se de um problema onde cada varivel pode assumir apenas 2 valores:
{0, 1}. A funo objetivo para o DCOP da Figura 3.4 corresponde a agregao
das funes de custo:
X
F(A) = fij (di , dj ), onde xi di , xj dj
xi ,xj X

A soluo deste DCOP exemplo a atribuio completa


A = {hx1 = 1i, hx2 = 1i, hx3 = 1i, hx4 = 1i}.

Vizinhos

di dj f(di, dj)
x1
0 0 1
0 1 2
1 0 2
x2
1 1 0

x3 x4

Figura 3.4. Exemplo de DCOP

Vrios algoritmos completos10 tm sido propostos para resolver DCOPs;


este texto apresenta brevemente os dois mais populares: Adopt e DPOP. Am-
bos requerem que os agentes estejam organizados de alguma forma para esta-
belecer uma ordem de prioridade entre os mesmos. Esta ordem de prioridade
tem dois propsitos: 1) formar uma estrutura de comunicao acclica entre
os agentes (evitando ciclos infinitos no fluxo de comunicao que comprome-
teriam a completude dos algoritmos); 2) definir os destinatrios dos diferentes
10Devido complexidade do problema quando aplicado a cenrios com muitos agen-
tes /ou ligados alocao de tarefas, foram propostos tambm algoritmos aproximados
como LA-DCOP e Swarm-GAP, porm estes no so abordados aqui.

142
IA Multiagente

tipos de mensagens utilizadas pelos algoritmos na comunicao entre os agen-


tes.
A maneira mais simples de estabelecer esta prioridade entre os agentes
atravs de uma ordenao linear (total) a partir do grafo de restries. Esta
ordenao pode ser obtida, por exemplo, atravs do identificador do agente.
Agentes com menor identificador tm maior prioridade, enquanto que agentes
com maior identificador tm menor prioridade. A outra forma organizar os
agentes em uma rvore de busca binria; esta a forma utilizada pelo Adopt e
DPOP.
O Adopt (Asynchronous Distributed Optimization) [Modi et al. 2003] um
algoritmo totalmente assncrono para resolver DCOPs, que fundamentado
na tcnica de backtracking para realizao da busca pelo custo timo. Devido
ao uso desta tcnica, a complexidade de espao do algoritmo linear. O back-
tracking feito utilizando uma estratgia melhor primeiro. Nesta estratgia,
cada agente escolhe o valor de domnio que apresenta a melhor estimativa de
custo timo, dadas as informaes locais que o agente tem sobre os demais.
No Adopt, esta estimativa de custo timo denominada de limitante inferior
(lower bound) e deve, necessariamente, subestimar o custo timo. Em funo
do limitante inferior ser uma estimativa estabelecida com base em informaes
locais, torna-se muito mais vantajosa a sua utilizao em algoritmos assncro-
nos, pois no h a necessidade de aguardar (sncronamente) por uma grande
quantidade de informao a respeito de outros agentes para computar o custo.
Pode-se, por exemplo, estabelecer um limitante inferior imediatamente a partir
das funes de custo conhecidas pelo agente. Esta uma grande vantagem
sobre, por exemplo, algoritmos do tipo branch and bound, pois estes requerem
que seja estabelecido um limitante superior global, que leve em considera-
o informaes sobre todos os agentes, para servir de corte no processo de
busca.
Alm do limitante inferior, cada agente tambm mantm um limitante su-
perior (upper bound). Este limitante superior constitui o efetivo custo (e no
uma estimativa) de uma soluo parcial, dadas as informaes disponveis ao
agente. Alm de ser til para podas de valores de domnio que geram cus-
tos superiores, o limitante superior tambm serve para estabelecer a condio
de trmino do algoritmo: quando nenhum valor de domnio proporciona custo
menor que este limitante.
O limitante inferior de cada agente no Adopt refinado iterativamente a
partir de novas informaes de custo recebidas assincronamente de outros
agentes. Este refinamento, combinado com a estratgia oportunista de esco-
lher sempre o valor com melhor estimativa, pode levar ao fato de que um valor
de domnio seja descartado antes de ser efetivamente comprovado que ele no
constitui a soluo tima. Se isto ocorrer, possvel que este valor venha a ser
revisitado, em algum momento futuro da busca.
A comunicao no Adopt realizada a partir de quatro tipos de mensagens:
VALUE enviada de pai para filhos e pseudo-filhos e contm a atribuio com

143
A. L. C. Bazzan

o valor atual do agente. Seu objetivo informar aos filhos/pseudo-filhos o valor


da varivel, para que estes possam computar o custo em funo deste valor.
A mensagem THRESHOLD enviada de pai para filho e corresponde ao valor
de threshold que o filho deve considerar.
A mensagem COST enviada de filho para pai com o objetivo de informar
ao pai qual o limitante inferior e superior que foram computados localmente
aps ser conhecido o valor do agente pai. Com esta informao de custos, o
agente pai pode decidir se estes custos so satisfatrios ou se deve procurar
por um custo menor atravs da escolha de outro valor do domnio.
Por fim, a mensagem TERMINATE enviada de pai para filhos/pseudo-
filhos e indica que o agente pai encontrou a soluo tima e est finalizando a
computao para que os filhos saibam que o valor do pai no apresenta altera-
es ou seja tornou-se estvel; com isto os filhos tambm atingem a condio
de trmino.
Sendo baseado em backtracking, o Adopt tem como principal vantagem o
fato de ser linear em termos de memria e no tamanho das mensagens troca-
das, ainda que seja exponencial em termos de tempo. Entretanto, sempre que
um agente altera seu valor, ao menos uma mensagem necessria para in-
formar aos demais agentes esta alterao. Os demais agentes, ao receberem
esta mensagem, atualizam o respectivo contexto para refletir o novo valor do
agente remetente. Esta necessidade de ao menos uma mensagem para cada
alterao de valor pode tornar exponencial o nmero de mensagens requeridas
pelo algoritmo para computar a soluo.
Para contornar o problema do excessivo nmero de mensagens, foi pro-
posto um algoritmo baseado na tcnica de programao dinmica, denominado
DPOP (Distributed Pseudotree Optimization) [Petcu and Faltings 2005]. DPOP
usa uma rvore de busca em profundidade onde cada sub-rvore constitui um
sub-problema independente com sub-estrutura tima. Sendo assim, a soluo
tima para uma sub-rvore faz parte da soluo tima do problema como um
todo. Cada agente raiz de uma sub-rvore computa o custo timo levando em
considerao todas as combinaes de valores de domnio possveis entre si
e os agentes filhos e pais. Estes custos so propagados at o raiz da rvore,
que tem ento toda informao (de custos) necessria para escolher qual a
soluo tima. Para propagar estes custos utilizado um vetor de utilidade.
O algoritmo DPOP possui trs fases. A primeira compreende a criao
da rvore; a segunda fase consiste da propagao dos vetores de utilidade; a
terceira fase a propagao dos valores selecionados por cada agente.
A propagao do vetor de utilidade feita atravs de mensagens UTIL.
Cada mensagem UTIL enviada apenas ao pai. Um agente folha xf olha cal-
cula o vetor de utilidade U T ILxf olha levando em considerao os seus valores
de domnio e os valores de domnio dos agentes pseudo-pais e do agente
pai. Cada agente intermedirio xi na rvore recebe os vetores de utilidade
U T ILxf ilho provenientes de cada um dos agentes filhos.
A terceira fase, propagao de valores escolhidos, consiste em cada agente

144
IA Multiagente

selecionar o valor com custo timo para si e enviar este valor para seus filhos
atravs de mensagem VALUE. Cada folha, tendo agora conhecimento dos va-
lores de todos os ascendentes envolvidos em restries consigo, escolhe para
si o valor com custo timo.
Por construo, o nmero de mensagens utilizadas em uma computao
com o DPOP linear. O nmero de ciclos requerido tambm linear, e cor-
responde a duas vezes a profundidade da rvore, pois cada nvel requer um
ciclo para propagar o vetor de utilidade (mensagens UTIL) e outro para propa-
gar os valores timos selecionados (mensagens VALUE). Em contrapartida, o
tamanho dos vetores de utilidade (e conseqentemente o tamanho das mensa-
gens UTIL) exponencial em funo da quantidade de pseudo-pais que cada
agente pode ter. Quanto maior a quantidade de pseudo-pais, mais dimenses
haver no vetor de utilidade. Como cada dimenso do vetor contem todos os
valores de domnio do respectivo agente, temos tambm que quanto maiores
os domnios, mais elementos haver no vetor de utilidade.

3.15. Planejamento multiagente


O que acontece com o problema do planejamento descrito na Seo 3.5
se a tarefa de planejar depende de ou envolve outros agentes? Vrios proble-
mas so agora introduzidos. Cada agente pode ter seu prprio objetivo; cada
agente tem nveis de privacidade que o impede de divulgar todas as informa-
es; o conhecimento no global; um planejamento clssico, centralizado,
pode no ser vivel (dadas questes de complexidade).
Tais fatos sugerem que se tenha que trabalhar com solues parciais e
com cada agente gerando seu prprio plano. O nico problema que estes
planos muito provavelmente so interelacionados e interferem uns nos outros.
Se eventuais conflitos (por exemplo uso de recursos comuns) no forem trata-
dos, todos os planos podem ser inviabilizados por aspectos no previstos. Para
resolver este conflitos, aes de coordenao entre os agentes so necess-
rias. Por isso se diz que:
Multi-agent planning = planning + coordination
Historicamente a rea de planejamento multiagente est fortemente asso-
ciada com DPS (Seo 3.7) pois trata de fazer com que agentes trabalhem
juntos para resolver problemas. Contrariamente ao planejamento monoagente,
no caso multiagente, recursos, capacidades, conhecimento, etc. encontram-se
distribudos entre os agentes de modo que nenhum capaz de realizar uma
tarefa sozinho.
Um exemplo clssico de distribuio de conhecimento o seguinte. Su-
ponha que em um grupo de 2 agentes, A sabe e B sabe ( ). H um
conhecimento distribudo de embora nem A nem B explicitamente saibam .
Em [Durfee 1999] so listados vrios cenrios e mtodos para DPS como
task sharing, result sharing e planejamento. Nesta seo nos deteremos no
ltimo mtodo. Em resumo, o problema clssico de planejamento definido an-
teriormente, na sua verso multiagente agora estendido da seguinte forma.

145
A. L. C. Bazzan

Dados: i) descrio do estado inicial; ii) conjunto de objetivos globais; iii) con-
junto de agentes; iv) para cada agente, um conjunto de habilidades e objetivos
privados; a tarefa encontrar um plano para cada agente que atinja seus obje-
tivos privados mas que sejam coordenados de forma a garantir que o objetivo
global seja atingido.
Nesta seo ser discutido o que muda quando h mais de um agente
agindo no ambiente e/ou realizando o planejamento de forma distribuda. Para
o primeiro caso possvel se utilizar o formalismo j visto na Seo 3.5 sendo
que cada agente simplesmente inclui os demais, estendendo seu modelo de
ambiente. Com isto seria possvel utilizar os algoritmos j vistos. Entretanto
esta abordagem ingnua tende a falhar e/ou transformar-se em um problema
de complexidade alta e/ou baixo desempenho, se for vivel em primeiro lugar.
O segundo caso (planejamento completamente distribudo) ser discutido
adiante. Antes, sero abordados os casos nos quais algum tipo de centrali-
zao existe. Considere o caso no qual os objetivos e os planos so comuns
como o caso de agentes jogadores de futebol no ambiente da RoboCup Soc-
cer. Neste caso, uma primeira extenso necessria aos formalismos j vistos
a de que preciso explicitar qual agente realiza qual ao. Alm disto preciso
que cada ao tambm esteja relacionada a um agente.
Uma primeira proposta para resolver o problema de planejamento multi-
agente de alguma forma centralizada: no chamado plano conjunto centra-
lizado, existe na verdade apenas uma instncia de plano e esta preve que
aes cada agente deve executar. Na realidade este formalismo no difere
significativamente dos vistos na Seo 3.5, embora seja mais complexo pois
uma entidade centralizadora deve realizar o planejamento considerando todos
os agentes. Desta forma, este formalismo no ser detalhado pois no nos
atende, seja por no ser verdadeiramente multiagente, seja por ser muito com-
plexo.
No chamado plano conjunto descentralizado, cada agente realiza o clculo
dos planos. Dado que o objetivo comum e que possivelmente os agentes
tm a mesma base de conhecimento sobre o estado inicial do ambiente, eles
podem determinar o(s) plano(s) de ao. O problema ocorre no caso de haver
mais de um plano possvel e os agentes no coordenarem a escolha destes
planos. No exemplo do futebol de robs, assumindo-se apenas dois agentes
atacantes (alm do goleiro do time adversrio), o plano conjunto dos dois ata-
cantes certamente falhar se ambos escolherem um plano que preveja como
ao inicial a espera da bola via passe pelo outro atacante.
Uma soluo para este problema a explicitao das aes concorrentes
possveis ou aes conjuntas (joint actions). A partir deste conjunto, um plano
consiste de um grafo parcial ordenado de aes conjuntas. Para evitar a des-
crio de todas as aes conjuntas (imagine especificar este conjunto para um
time de 11 jogadores, cada qual com um nmero de aproximadamente uma
dezena de aes!), pode-se listar apenas as aes que efetivamente intera-
gem (por exemplo as aes do goleiro pouco interagem com as dos atacantes

146
IA Multiagente

de seu time). Para um formalismo baseado em STRIPS, isto significa a adi-


o de uma lista de aes conjuntas ( semelhana da lista de pr-condies),
somente que esta especifica a lista de aes possveis de serem executadas
concomitantemente. No exemplo dos dois atacantes, tal ao seria:
Action(wait(A, pass)),
CON CU RREN T : wait(B, pass),
P RECON D : ...
EF F ECT : ....
Durfee v planejamento distribudo como uma especializao de DPS onde
o problema em si formular um plano. H vrias formas de realizar isto con-
forme segue.

3.15.1. Planejamento centralizado para planos distribudos


Nesta variante os planos so formulados de forma centralizada e executa-
dos de forma distribuda como o caso de um planejamento de ordem parcial
onde no h ordenao rgida entre algumas aes e que pode portanto ser
executado em paralelo por vrios agentes.
Um elemento centralizador responsvel por formular um plano, decomp-
lo entre os agentes e incluir aes de sincronizao (tipicamente atos comu-
nicativos). O problema com esta abordagem que ela assume conhecimento
correto (por exemplo sobre a capacidade dos agentes) e total observao do
mundo, alm de no prever falhas na execuo e de eventualmente resultar em
um grande volume de comunicao.

3.15.2. Planejamento distribudo para planos centralizados


Nesta variante, formular um plano visto como uma tarefa colaborativa en-
tre vrios especialistas, onde cada um contribui com uma parte do plano. Aps,
um elemento planejador ordena estas partes. Se alguma das partes no pode
ser realizada (devido e.g. a restries no satisfeitas), possvel se utilizar
algum mecanismo de CSP distribudo (conforme Seo 3.14.1) para tentar cor-
rigir o plano. Eventualmente no h soluo e mecanismos de otimizao de
restries (Seo 3.14.2) devem ser utilizados (a um custo).
A tarefa de planejamento distribudo pode ser feita de forma parcial com
compartilhamento do plano (parcial) e posterior combinao deste (merging),
sendo estas duas atividades repetidas at que haja convergncia para um
plano nico, o que se constitui um problema tpico de CSP distribudo.

3.15.3. Planejamento distribudo para planos distribudos


Esta a variante mais desafiadora pois tanto a tarefa de planejar quanto
seu resultado so distribudos. Paradoxalmente, aqui pode no ser necessrio
ter o plano representado em sua totalidade num nico local. Entretanto, as par-
tes componentes do plano precisam ser compatveis. Os mtodos reportados
na literatura so diversos, sendo os principais apresentados a seguir.
Denomina-se plan merging o mtodo no qual diversos agentes formulam
planos individuais para seus prprios propsitos, os quais devem ser executa-

147
A. L. C. Bazzan

dos em paralelo mas sem conflitos (por exemplo quando tarefas tentam utilizar
um mesmo recurso). Aqui o desafio identificar e resolver conflitos em po-
tencial. Para tanto, um mtodo ter um agente que colete todos os planos,
analise-os, identifique e resolva os conflitos. Em geral tal mtodo impratic-
vel se resolvido por enumerao de todos os estados finais que derivam dos
estados iniciais e da realizao de cada uma das aes possveis em cada
estado intermedirio, no estilo de um MDP (Seo 3.5.2).
Para lidar com esta complexidade, [Georgeff 1983] props uma representa-
o baseada em STRIPS (Seo 3.5), onde cada pr-condio deve valer para
que uma ao possa ser considerada, reduzindo assim o espao de possveis
aes.
Para o merging propriamente dito dos planos, o agente que coletou estes
planos considera pares de aes como por exemplo ai e bj provenientes de
planos propostos por diferentes agentes A e B. As aes ai e bj podem ser
executadas em paralelo se suas pr-condies, condies e efeitos so satis-
fatveis ao mesmo tempo. Neste caso, diz-se que as aes so independentes.
Em caso contrrio elas devem obedecer uma ordenao, ou seja no podem
ser realizadas em paralelo pois determinadas restries devem ser respeita-
das. Neste caso, o problema pode ser formulado como um CSP ou um COP
distribudo, este ltimo remetendo abordagens que tentam maximizar o de-
sempenho global. Em qualquer dos casos, plan merging tem a desvantagem
de se apoiar em um agente coletor o que d um carter centralizador.
Um segundo mtodo para esta classe de problemas o iterative plan for-
mulation, onde os agentes no prope seus planos individuais mas sim partes
de um conjunto de planos possveis que so posteriormente refinados a fim
de se ajustarem ao objetivo global. Estes refinamentos so propostos aps
um processo de busca heurstica (usando A*) pelo melhor conjunto de aes
conjuntas.
Mtodos baseados em planejamento hierrquico tambm foram propostos:
Corkill props uma verso distribuda do NOAH e Durfee props uma variante
na qual cada agente representa seu plano local em vrios nveis de abstrao.
Em cada nvel representado se os conflitos com outros planos / agentes esto
resolvidos ou se preciso passar a um nvel mais baixo de detalhe.

3.15.4. Intenes conjuntas


As tcnicas at ento vistas tm um desempenho razovel em cenrios
estticos e/ou onde os agentes tm pouca ou nenhuma incerteza sobre o am-
biente (outros agentes includos). Infelizmente este no o caso da maior
parte dos cenrios de interesse, que so dinmicos e portanto podem obstruir
um trabalho conjunto coerente uma vez que os agentes podem ter vises in-
consistentes do ambiente. Em tais cenrios, mtodos baseados em simples
ajuste de planos pr-existentes ou mesmo criados on-the-fly para uma situ-
ao particular, no mais funcionam pois a dinmica do ambiente impede a
reusabilidade.

148
IA Multiagente

[Tambe 1997] props um modelo de cooperao entre um time (teamwork)


denominado STEAM, que se baseia na hiptese de que para melhorar a reusa-
bilidade de planos e aes existentes, preciso dotar os agentes de um modelo
geral de teamwork. STEAM baseado na teoria de intenes conjuntas (joint
intentions) de [Cohen and Levesque 1991]. Este trabalho explicita a diferena
entre o agente ter uma inteno individual associada a um objetivo particular
e o agente ser parte de um time, o qual tem uma espcie de inteno coletiva
associada ao mesmo objetivo.
Na teoria de intenes conjuntas, um time intenciona uma ao conjunta
se os membros de comprometem-se a completar uma ao do time, alm
de tambm acreditarem que tal ao est sendo executada. Um comprometi-
mento conjunto definido como um objetivo conjunto persistente (JPG, de joint
persistent goal). JP G(, p, q) significa que o time objetiva p (uma ao) e
q uma clusula que, quando no valer e/ou for no acreditada para algum
agente, permite que o time abandone o JPG.
o caso de JP G(, p, q) se e somente se trs condies forem satisfeitas:
1. todos os membros de acreditam mutuamente que p falsa;
2. todos os membros de tm p como objetivo mtuo ou seja todos sabem
que todos desejam que p seja verdadeira;
3. todos os membros de acreditam que, at que p seja dada como mutua-
mente atingida, no atingvel ou irrelevante, o caso que p um objetivo
fraco de cada membro de ; ter p como objetivo fraco implica que se
(individualmente) descobre que p foi atingido, no atingvel ou ir-
relevante, se compromete a tornar esta crena individual uma crena
mtua.
Um exemplo ilustrativo o de dois agentes A e B com objetivo de levantar
um (mesmo) objeto pesado. Neste caso ambos tm a inteno individual de
levantar o objeto mas teamwork precisa ser mais que apenas isto. Suponha-
mos que A venha a acreditar que o objeto no pode ser levantado. Neste caso,
A pode simplesmente abandonar a inteno. Entretanto, teamwork supe que
A passe a ter como objetivo (dai o nome de objetivo fraco) informar B que o
objetivo no pode ser alcanado.
STEAM estende estas noes atravs da construo de uma hierarquia de
intenes conjuntas, intenes individuais e crenas sobre outras intenes,
bem como preve reorganizao do time em caso de falha na execuo ou mu-
danas no ambiente.
Alm dos trabalhos de [Cohen and Levesque 1991] e [Tambe 1997], diver-
sos outros formularam o problema dentro de uma abordagem baseada em BDI.
Estas abordagens facilitam o projeto dos times mas, novamente, no tratam de
forma eficiente a questo da dinamicidade do ambiente. Para tanto, a melhor
abordagem atravs de MDPs ou, melhor dito, das verses multiagente e com
observao parcial de MDPs que sero discutidas na prxima seo. Antes de

149
A. L. C. Bazzan

passar a esta discusso, fica o registro de um trabalho particularmente interes-


sante pois combina BDI e MDP: [Nair and Tambe 2005].

3.16. Aprendizado e tomada de deciso em ambientes multiagen-


tes
3.16.1. A motivao da teoria de jogos
Muitos sistemas multiagentes podem ser formalizados em termos da te-
oria de jogos na medida em que as interaes entre os agentes podem ser
abstradas atravs do uso de matrizes de ganho associadas a um conjunto de
aes conjuntas possveis. A teoria de jogos pode ser vista como uma exten-
so da teoria da deciso para o caso particular onde h mais de uma pessoa
envolvida no processo de tomada de deciso. Trata-se de uma teoria norma-
tiva cujo objetivo recomendar a jogadores aes que os levaro a maximizar
as suas utilidades em cada situao. Esta recomendao feita com base
nos chamados conceitos de soluo de um jogo. Um destes conceitos o de
soluo-equilbrio (por exemplo equilbrio de Nash). Solues-equilbrio tm a
propriedade que nenhum jogador tem ganhos maiores se desviar dela, ou seja
se optar por outra soluo.
Em suma, uma vez que os conflitos de interesse podem surgir em inte-
raes entre agentes, um processo de coordenao entre eles tem um papel
fundamental no processo de deciso. A teoria de jogos oferece uma ferramenta
formal para os agentes encontrarem a melhor forma de jogar um jogo. Isto se
d atravs de anlise de algumas hipteses como um determinado nvel de
conhecimento comum (com seus problemas conforme visto na Seo 3.13.3)
e a racionalidade dos agentes ou seja todos buscam maximizar seus ganhos.
Apoiando-se nestas duas hipteses, possvel que cada jogador se coordene
com os demais sem necessidade de comunicao e negociao.
H diversos tipos de jogos; devido limitao de espao, estes sero ape-
nas mencionados brevemente. Um jogo de soma zero aquele no qual a soma
das recompensa de todos os jogadores zero, ou seja, no caso de 2 jogado-
res, o ganho de um exatamente igual perda do outro. Jogos de soma no
zero no apresentam esta propriedade, podendo a soma das recompensa ser
qualquer valor real. Um caso particular de jogos de soma no zero o de
jogos com recompensa idntica (common reward game ou team game). Nes-
tes, todos os jogadores tm a mesma recompensa, dispensando portanto a
representao do ganho individual. Este tipo de jogo interessante em projeto
de sistemas multiagentes para modelar situaes onde times de agentes so
recompensados por uma ao coletiva.
Como ser visto nas prximas subsees, a comunidade de sistemas mul-
tiagentes vem emprestando da teoria de jogos uma srie de metforas e for-
malismos, estes j estabelecidos h dcadas e portanto, slidos. A razo
clara: as interaes em teoria de jogos so inerentemente multiagente (no
h jogo de apenas um agente!) e existe todo um ferramental matemtico para
analisar desde tomada de deciso em encontros nicos (one-shot game), at

150
IA Multiagente

a dinmica do aprendizado em jogos repetidos (repeated games) e jogos esto-


csticos (stochastic games). Neste captulo, apenas estes ltimos sero abor-
dados por terem uma relao clara com aprendizado multiagente.
Jogos repetidos e jogos estocsticos na verdade referem-se a um nico for-
malismo com uma variante, como veremos a seguir. Embora o termo stochastic
games seja popular tanto em teoria de jogos como em sistemas multiagentes,
neste texto ser usado o termo equivalente MMDP (multiagent MDP) pois este
no apenas associa claramente MMDP como uma extenso para MDP, como
tambm inclui o termo multiagente, ideia que o termo jogo estocstico no
passa.

3.16.2. MMDP
Como visto na Seo 3.5.2, existem algumas propostas de extenso para o
caso de MDP simples. Uma delas (POMDP) foi discutida naquela seo. Aqui
ser introduzida a extenso para um MMDP.
A generalizao de um MDP para n agentes representada pela tupla
MMDP= (N , S, A, P, R) ou seja alm dos conjuntos de estados S e de aes
A, da funo de recompensa R e do conjunto das probabilidades de transi-
o P, h o conjunto de agentes N = 1..., i, ..., n. Alm disto tambm cabe
observar que, dependendo da abordagem, os conjuntos S e A precisam ser
estendidos. A torna-se A = iN Ai ou seja inclu o conjunto de aes con-
juntas possveis dentro do espao de aes. O mesmo vale para o conjunto S
embora em jogos estocsticos frequentemente se assuma que todos os agen-
tes esto no mesmo estado (mesma matriz de payoff).
Em geral, dependendo das aes realizadas pelos agentes (ou de alguma
mudana no ambiente), ocorre uma transio que determina um novo estado
ou seja uma nova matriz de recompensa.
Em teoria de jogos tambm bastante utilizada a noo de jogo de matriz
nica que, para efeito de MMDP significa um nico estado ou seja a cardinali-
dade de S 1. Neste caso usa-se o termo jogo repetido. Como o formalismo
permanece o mesmo, esta distino as vezes opaca.
Por fim, como dito na Seo 3.5.2, MDPs no apenas lidam com um nico
agente, como tambm assumem que este tem observao total do ambiente.
A questo de existncia de vrios agentes foi discutida acima. Resta a questo
da observao parcial. Um dos formalismos que permite modelar este tipo
de problema a de jogos Bayesianos (Bayesian games), tambm chamado
de POMDP multiagente. Nestes, os agentes no necessariamente observam
seus estados e/ou os ganhos que recebem por suas aes. Este problema
apresenta uma grande complexidade pois os POMDPs em si ainda carecem
de abordagens eficientes. Sua combinao com a estocasticidade inerente de
ambientes com mais de um agente um desafio em aberto.
Os quatro formalismos para tomada de deciso vistos neste captulo (MDP
e POMDP para cenrios monoagente e MMDP e jogos Bayesianos para os ca-
sos multiagente) esto fortemente associados a aprendizado (seja mono, seja

151
A. L. C. Bazzan

multiagente) conforme foi visto na Seo 3.6. A seguir ser explorada a cone-
xo entre MMDP e aprendizado por reforo multiagente (doravante abreviado
MARL)11 .

3.16.3. Aprendizado por reforo em ambientes multiagente


Quando um agente colocado em um cenrio multiagente, algumas das
hipteses fundamentais do aprendizado de mquina so violadas. O agente
no est mais aprendendo a extrapolar a partir de exemplos vindos de um
conjunto fixo, mas sim ele prprio o conceito-alvo que, portanto, muda no
tempo. A situao s no pior porque o conceito-alvo no muda de forma
totalmente aleatria mas sim em funo da dinmica do aprendizado de outros
agentes, a qual, felizmente, pode ser aprendida.
Entretanto tal aprendizado est longe de ser trivial. J para o caso mono-
agente, textos clssicos como [Sutton and Barto 1998] mencionam o problema
da maldio da dimensionalidade (curse of dimensionality ), ou seja o cresci-
mento exponencial do nmero de parmetros a serem aprendidos, que cresce
em funo do nmero de estados e do nmero de aes. Em MARL devemos
adicionar tambm o nmero de agentes.
Diversas solues para este problema j foram propostas para o caso mo-
noagente (aproximao de funes, abstrao em diversos flavors, aprendi-
zado hierrquico, etc.). At aqui, no caso multiagente, a soluo mais po-
pular tem sido a de fazer com que os agentes aprendam de forma individual
ou independente (basicamente utilizando RL monoagente). Esta abordagem
tem dois tipos de efeitos: ou o aprendizado se torna bastante ineficiente (por
exemplo a convergncia ocorre mas em um tempo proibitivamente elevado), ou
o aprendizado completamente ineficaz, como o caso em alguns problemas
de coordenao. Duas instncias deste tipo de problema aparecem em teoria
de jogos e robtica.
Em robtica, um problema recorrente o de dois robs tendo que se co-
ordenar para utilizar um recurso de forma no simultnea (por exemplo uma
passagem que s pode ser utilizada por um rob de cada vez).
Em teoria de jogos, uma metfora popular a de jogo de coordenao (ba-
talha dos sexos, jogos de coordenao pura, etc.). No preciso entrar em
detalhes sobre a formulao destes jogos. Para efeitos deste texto basta ob-
servar que eles tm mais de um equilbrio. Com isto, agentes que aprendem
independentemente no tm bom desempenho pois frequentemente no fa-
zem escolhas coordenadas. No caso de mais de um equilbrio com a mesma
recompensa o agente no consegue distinguir quais aes conjuntas devem
ser realizadas. Uma discusso sobre esta classe de problemas aparece em
11 interessante observar que, na literatura, MDPs aparecem tanto associados aos for-
malismos em torno de planejamento para o caso monoagente estocstico como justifi-
cado na Seo 3.5.2 como aos formalismos para RL; j no caso multiagente a primeira
conexo praticamente inexiste sendo que os MMDPs so praticamente apenas citados
em conexo com MARL.

152
IA Multiagente

[Claus and Boutilier 1998] que exploraram apenas os casos destes jogos em
suas formas repetidas (um estado). Posteriormente o caso de vrias matri-
zes ou estados foi discutido em diversos artigos. Uma viso geral sobre estas
abordagens pode ser encontrada em [Panait and Luke 2005].
Este problema ainda mais grave quando se trata de ambientes com cen-
tenas ou milhares de agentes tentando aprender a dinmica do jogo, como
o caso em jogos do tipo congestion games, minority games e dispersion
games. Para este problema em particular uma boa viso geral aparece em
[Tumer and Wolpert 2004].
Mais recentemente [Fulda and Ventura 2007] isolaram 3 fatores que degra-
dam o desempenho de MARL: convergncia individual sub-tima, action sha-
dowing, e o problema da seleo de equilbrio.
Em aprendizado (em geral) um dos principais objetivos a explorao de
um ambiente no qual cada agente tem apenas uma viso parcial ou viso local.
Nestes cenrios pode-se projetar agentes que aprendem sobre seus respecti-
vos ambientes, ainda que a partir de uma viso parcial, e que posteriormente
trocam informaes com outros agentes de forma a aumentar as vises locais
a fim, por exemplo, de decidir cooperativamente quais partes do ambiente ne-
cessitam maior explorao. Em cenrios de aprendizado competitivo por outro
lado, os agentes tentam maximizar suas prprias utilidades as custas dos de-
mais, no sendo esperado nenhuma forma de cooperao a no ser aquele
que traga benefcio para o(s) agente(s).
A seguir, a discusso ser focada em formalismos para MARL que so ba-
seados em MMDPs e, consequentemente em teoria de jogos, uma vez que
esta vertente considerada menos ad-hoc por alguns pesquisadores. Na Se-
o 3.16.3.2 ser feita uma discusso breve sobre outros mtodos.
Aprendizado em sistemas de dois ou mais jogadores tem uma longa tra-
dio em teoria de jogos. A conexo entre sistemas multiagentes e teoria de
jogos no que se refere a aprendizado tem sido portanto muito explorada j que
as interaes em teoria de jogos so inerentemente multiagente, ainda que na
maioria das vezes somente dois agentes sejam considerados. Logo, parece
natural que a comunidade em torno de MARL explore os formalismos j defi-
nidos em teoria de jogos, como por exemplo aqueles baseados em MMDPs.
Apesar dos resultados obtidos, h uma discusso em progresso na rea so-
bre se este o formalismo adequado para MARL como pode ser visto em
[Shoham et al. 2007, Stone 2007].
Os problemas de MARL so inerentemente mais complexos que aqueles
onde apenas um agente atua. Isto ocorre porque, enquanto um agente est
tentando modelar seu ambiente (incluindo outros agentes), os demais agentes
podem estar fazendo o mesmo, introduzindo modificaes neste ambiente, o
que o torna inerentemente no-estacionrio. Com isto, pelo menos no caso
geral, as garantias de convergncia dos mtodos de RL (como por exemplo
para Q-learning, visto na Seo 3.6.1.2) deixam de valer12 .

153
A. L. C. Bazzan

Este aumento de complexidade tem diversas consequncias. Nos dete-


remos aqui naquelas que so relacionadas com o formalismo de MMDP. Em
primeiro lugar, as abordagens propostas para o caso de jogos de soma geral
requerem que vrias hipteses sejam feitas em relao estrutura da matriz
de recompensas, como por exemplo o conhecimento que os agentes tm dela,
etc. Devido a estas hipteses, os resultados relacionados convergncia se
restringem a jogos de soma zero ou a jogos de recompensa idntica, que so
aqueles nos quais todos os agentes tm o mesmo ganho. Muitos destes jogos
tm mais de um equilbrio e portanto no claro qual destes os agentes devem
aprender a selecionar.
Em segundo lugar, apesar do formalismo elegante para MMDPs, estes
no podem ser empregados no caso de um grande nmero agentes e/ou de
aes, especialmente no caso dos agentes modelarem aes conjuntas. Este
problema ocorre porque a complexidade exponencial no espao de aes
conjuntas. Desta forma, quanto maior o nmero de aes, maior o espao de
combinaes destas. Devido a este fato, a literatura reporta tentativas de de-
senvolver algoritmos para MARL que so eficientes apenas para 23 agentes,
23 aes e, no raro, apenas um estado.
Em terceiro lugar, o projetista de aprendizado baseado no formalismo de
MMDP precisa decidir se a funo R recompensar os agentes em relao
ao timo do sistema ou em relao ao timo local. Que tipos de problemas
admitem um e outro caso? Em alguns domnios natural que cada agente
perceba sua prpria recompensa (por exemplo, no trfego veicular ou mesmo
em redes peer2peer), enquanto que em outros como futebol de robs h uma
clara tendncia a recompensar cada agente pelo desempenho do time como
um todo. Em suma, esta uma questo conhecida e em aberto. Uma excelente
introduo a este tema pode ser encontrada em [Tumer and Wolpert 2004] .
At aqui estas trs questes tm impedido a difuso do uso de MMDPs
em problemas do mundo real. Alguns artigos que exploram desafios e cami-
nhos para solues podem ser encontrados em [Stone and Veloso 2000] (do-
mnio do futebol de robs, entre outros), [Bazzan 2009] (controle de trfego),
bem como em [Panait and Luke 2005] (vrios domnios). Desta forma, h uma
busca por solues, possivelmente heursticas, que possam ser combinadas
com o formalismo bsico introduzido na Seo 3.16.2.

3.16.3.1. Abordagens baseadas em MMDP

Nesta seo sero mencionados apenas trabalhos seminais e/ou que tra-
zem um resultado expressivo em termos tericos como por exemplo conver-
gncia para equilbrio, dado o volume de publicaes na rea de MARL.
Conforme j colocado, [Claus and Boutilier 1998] tratam da dinmica do
processo de aprendizado em jogos de coordenao atravs de Q-learning
12
Aqui vale observar que a despeito deste fato, Q-learning continua sendo um mtodo
popular em MARL sendo que sua aplicao similar vista naquela seo.

154
IA Multiagente

adaptado para o caso de um nico estado. Eles comparam o aprendizado indi-


vidual e o que eles denominaram de JAL (joint action learners) onde os agentes
aprendem usando modelos que incluem explicitamente as aes conjuntas.
Deve-se a Littman dois resultados importantes. Em [Littman 2001] ele apre-
senta o algoritmo Friend-or-Foe Q-learning (FFQ) que capaz de aprender um
equilbrio de Nash dadas algumas condies do jogo. Entretanto este algoritmo
necessita saber de antemo se os agentes so amigos ou inimigos ou seja se
trata-se de aprendizado entre agentes cooperativos ou competitivos.
O caso particular de jogos de soma zero foi formalizado por [Littman 1994a]
(minimax Q). J o caso geral de soma no zero ainda permanece em aberto.
Uma tentativa importante o trabalho de [Hu and Wellman 1998] (Nash-Q).
Houve avanos significativos posteriores, ainda que a maioria dos trabalhos
assuma que os agentes conhecem as aes escolhidas pelos demais. Para
uma viso mais atualizada, o leitor pode consultar as referncias citadas em
[Panait and Luke 2005, Shoham et al. 2007].

3.16.3.2. Abordagens no baseadas em MMDP

Na seo anterior, foram mencionados os principais trabalhos que se apiam


em teoria de jogos e MMDP. Entretanto estes formalismos esto longe de ser
consenso na rea de MARL, e muito menos na rea de aprendizado multia-
gente em geral, o qual transcende aprendizado por reforo.
Algumas crticas feitas so: i) a extrema preocupao com a convergn-
cia para pontos de equilbrio (enquanto se sabe que nem todos os equilbrios
trazem um ganho social mais elevado como no caso do dilema do prisioneiro);
ii) o uso de metforas da teoria de jogos (dilema do prisioneiro, batalha dos
sexos, jogos de coordenao, etc.) que pouco tm a ver com o mundo real; iii)
hiptese de informao completa e observao total.
O grupo em torno de M. Veloso tem explorado de forma eficaz e eficiente
abordagens no baseadas em MMDP, notadamente para o domnio do futebol
de robs. Devido questo da exploso combinatorial do espao de aes e
estados conjuntos, a qual agravada em ambientes com um alto nmero de
agentes, a maioria das abordagens segue na linha de abstrao deste espao
a fim de reduzir a necessidade explorao do agente.
Uma outra linha de trabalho a de [Guestrin et al. 2002] em torno de grafos
de coordenao, que explora dependncias entre os agentes. A partir desta
ideia diversas outras exploram a esparsidade das interaes entre os agentes
de vrias formas.

3.17. Para saber mais sobre os tpicos da parte III


Para se aprofundar em alguns dos tpicos apresentados na Parte III, o leitor
pode recorrer diversas fontes bibliogrficas. Devido ao fato de que a relao
(e comentrio) destas tornaria este captulo excessivamente longo, optou-se
por disponibilizar este texto em um arquivo separado disponvel no site http:

155
A. L. C. Bazzan

//www.inf.ufrgs.br/~bazzan/downloads/anexo_psmp3.pdf.

3.18. Concluso
Existem diversos livros texto sobre IA no mercado, inclusive nacional, que
tratam de forma competente esta subrea da cincia da computao. Isto tam-
bm parcialmente verdade em relao rea de sistemas multiagentes em-
bora aqui haja uma carncia de textos em portugus. Entretanto, a proposta
do presente captulo mostrar a IA sob um ngulo diferente ou seja um ngulo
multiagente, uma vez que a autora acredita que a IA clssica, monoagente
no apenas difere significativamente da IA multiagente como tambm tem di-
ficuldades em atender os requisitos colocados pela Internet e pelos sistemas
distribudos e colaborativos, todos de natureza essencialmente social.
Desta forma, a Parte III deste captulo procurou descrever uma verso mul-
tiagente de quatro dentre as reas bsicas da IA: representao de conheci-
mento, resoluo de problemas (aqui incluindo planejamento), tomada de de-
ciso e aprendizado. Por verso multiagente, entenda-se uma IA onde no
apenas um agente age, mas sim onde vrios agentes interagem bem como
tm conhecimento parcial sobre o problema.
Antes, na Parte I foi feita uma introduo a estas mesmas reas, dentro
da viso clssica, monoagente. Na Parte II foi feita uma breve introduo aos
conceitos sobre agentes autnomos e sistemas multiagentes necessrios para
a compreenso da Parte III.

Agradecimentos
Este trabalho somente foi possvel graas ao apoio das agncias financi-
adoras dos projetos de pesquisa ligados a este tema, tanto os ainda em an-
damento quanto os j encerrados. Desta forma agradeo ao CNPq pelo apoio
aos projetos de pesquisa, bem como ao programa de bolsas de pesquisa e
bolsas de ps graduao de diversos orientandos. Agradeo ainda CAPES e
Fundao Alexander von Humboldt pelo apoio ao projeto de cooperao in-
ternacional com a Alemanha e bolsa de ps doutoramento, respectivamente.
No menos importante, agradeo aos meus ex-alunos que contriburam com
suas pesquisas em algumas das reas abordadas neste texto, notadamente
Bruno Castro da Silva, Paulo Roberto Ferreira Jr., Fernando dos Santos e Da-
niela Scherer dos Santos, cujas teses e dissertaes so prximas ao presente
material. Por fim agradeo aos revisores de partes deste texto, annimos e vo-
luntrios (como Filipo S. Peroto e Rafael H. Bordini).

References
[Bazzan 2009] Bazzan, A. L. C. (2009). Opportunities for multiagent systems
and multiagent reinforcement learning in traffic control. Autonomous Agents
and Multiagent Systems, 18(3):342375.
[Bittencourt 2001] Bittencourt, G. (2001). Inteligncia Artificial: Ferramentas e
Teorias. Editora da UFSC, Florianpolis, 2a. edition.

156
IA Multiagente

[Bond and Gasser 1988] Bond, A. H. and Gasser, L. (1988). Readings in dis-
tributed artificial intelligence. In Readings in Distributed Artificial Intelligence.
Morgan Kaufmann, San Mateo, California.
[Brooks 1986] Brooks, R. (1986). A robust layered control system for a mobile
robot. Robotics and Automation, IEEE Journal of, 2(1):1423.
[Claus and Boutilier 1998] Claus, C. and Boutilier, C. (1998). The dynamics of
reinforcement learning in cooperative multiagent systems. In Proceedings of
the Fifteenth National Conference on Artificial Intelligence, pages 746752.
[Cohen and Levesque 1990] Cohen, P. R. and Levesque, H. J. (1990). Inten-
tion is choice with commitment. Artificial Intelligence, 42(2-3):213261.
[Cohen and Levesque 1991] Cohen, P. R. and Levesque, H. J. (1991). Team-
work. Nos, 25(4):487512.
[Durfee 1999] Durfee, E. H. (1999). Distributed problem solving and planning.
In Wei, G., editor, Multiagent Systems: A Modern Approach to Distributed
Artificial Intelligence, pages 121164. MIT Press, Cambridge, MA, USA.
[Fikes and Nilsson 1971] Fikes, R. and Nilsson, N. J. (1971). STRIPS: A new
approach to the application of theorem proving to problem solving. In Proc.
of the IJCAI, pages 608620.
[Fulda and Ventura 2007] Fulda, N. and Ventura, D. (2007). Predicting and
preventing coordination problems in cooperative Q-learning systems. In Pro-
ceedings of the 20th International Joint Conference on Artificial Intelligence
(IJCAI), pages 780785.
[Gasser and Huhns 1990] Gasser, L. and Huhns, M. N., editors (1990). Dis-
tributed artificial intelligence: vol. 2. Morgan Kaufmann Publishers Inc., San
Francisco, CA, USA.
[Georgeff 1983] Georgeff, M. P. (1983). Communication and interaction in
multi-agent planning. In Proc. of the Nat. Conf. on Art. Intelligence, pages
125129. AAAI Press.
[Guestrin et al. 2002] Guestrin, C., Lagoudakis, M. G., and Parr, R. (2002).
Coordinated reinforcement learning. In Proceedings of the Nineteenth In-
ternational Conference on Machine Learning (ICML), pages 227234, San
Francisco, CA, USA. Morgan Kaufmann.
[Hu and Wellman 1998] Hu, J. and Wellman, M. P. (1998). Multiagent rein-
forcement learning: Theoretical framework and an algorithm. In Proc. 15th
International Conf. on Machine Learning, pages 242250. Morgan Kauf-
mann.
[Jennings 1996] Jennings, N. R. (1996). Coordination techniques for dis-
tributed artificial intelligence. In OHare, G. M. P. and Jennings, N. R., edi-
tors, Foundations of Distributed Artificial Intelligence, pages 187210. John
Wiley & Sons, New York.

157
A. L. C. Bazzan

[Littman 1994a] Littman, M. L. (1994a). Markov games as a framework for


multi-agent reinforcement learning. In Proceedings of the 11th International
Conference on Machine Learning, ML, pages 157163, New Brunswick, NJ.
Morgan Kaufmann.
[Littman 1994b] Littman, M. L. (1994b). Memoryless policies: theoretical limi-
tations and practical results. In Proceedings of the third international confer-
ence on Simulation of adaptive behavior: from animals to animats 3, pages
238245, Cambridge, MA, USA. MIT Press.
[Littman 2001] Littman, M. L. (2001). Friend-or-Foe Q-learning in general-sum
games. In Proceedings of the Eighteenth International Conference on Ma-
chine Learning (ICML01), pages 322328, San Francisco, CA, USA. Morgan
Kaufmann.
[Malone and Crowston 1994] Malone, T. and Crowston, K. (1994). The inter-
disciplinary study of coordination. ACM Computing Surveys, 26(1):87119.
[Modi et al. 2003] Modi, P. J., Shen, W.-M., Tambe, M., and Yokoo, M. (2003).
An asynchronous complete method for distributed constraint optimization.
In Proc. of the Second International Joint Conference on Autonomous Agents
and Multiagent Systems, pages 161168, New York, USA. ACM Press.
[Nair and Tambe 2005] Nair, R. and Tambe, M. (2005). Hybrid BDI-POMDP
framework for multiagent teaming. Journal of Artificial Intelligence Research,
23:367420.
[Panait and Luke 2005] Panait, L. and Luke, S. (2005). Cooperative multi-agent
learning: The state of the art. Autonomous Agents and Multi-Agent Systems,
11(3):387434.
[Petcu and Faltings 2005] Petcu, A. and Faltings, B. (2005). A scalable method
for multiagent constraint optimization. In Kaelbling, L. P. and Saffiotti, A.,
editors, Proceedings of the Nineteenth International Joint Conference on Ar-
tificial Intelligence, pages 266271, Edinburgh, Scotland. Professional Book
Center.
[Rosenschein and Zlotkin 1994] Rosenschein, J. and Zlotkin, G. (1994). Rules
of Encounter. The MIT Press, Cambridge (MA).
[Russel and Norvig 1995] Russel, S. and Norvig, P. (1995). Artificial Intelli-
gence: A Modern Approach. Prentice-Hall.
[Russell and Norvig 2004] Russell, S. and Norvig, P. (2004). Inteligncia Artifi-
cial. Campus, Rio de Janeiro, RJ. Traduo da segunda edio.
[Shoham and Leyton-Brown 2009] Shoham, Y. and Leyton-Brown, K. (2009).
Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations.
Cambridge University Press.
[Shoham et al. 2007] Shoham, Y., Powers, R., and Grenager, T. (2007). If multi-
agent learning is the answer, what is the question? Artificial Intelligence,

158
IA Multiagente

171(7):365377.
[Silva et al. 2006] Silva, B. C. d., Basso, E. W., Bazzan, A. L. C., and Engel,
P. M. (2006). Dealing with non-stationary environments using context de-
tection. In Cohen, W. W. and Moore, A., editors, Proceedings of the 23rd
International Conference on Machine Learning ICML, pages 217224. New
York, ACM Press.
[Stone 2007] Stone, P. (2007). Multiagent learning is not the answer. It is the
question. Artificial Intelligence, 171(7):402405.
[Stone and Veloso 2000] Stone, P. and Veloso, M. (2000). Multiagent sys-
tems: A survey from a machine learning perspective. Autonomous Robots,
8(3):345383.
[Sutton and Barto 1998] Sutton, R. and Barto, A. (1998). Reinforcement Learn-
ing: An Introduction. MIT Press, Cambridge, MA.
[Tambe 1997] Tambe, M. (1997). Towards flexible teamwork. Journal of Artifi-
cial Intelligence Research (JAIR), 7:83124.
[Tumer and Wolpert 2004] Tumer, K. and Wolpert, D. (2004). A survey of col-
lectives. In Tumer, K. and Wolpert, D., editors, Collectives and the Design of
Complex Systems, pages 142. Springer.
[Wainer 1994] Wainer, J. (1994). Yet another semantics of goals and goal
priorities. In Proc. of the ECAI, pages 269273.
[Watkins 1989] Watkins, C. (1989). Learning from Delayed Rewards. PhD the-
sis, University of Cambridge.
[Weiss 1999] Weiss, G. (1999). Multiagent Systems - A modern Approach to
Distributed Artificial Intelligence. The MIT Press, Cambridge, MA.
[Wooldridge 2002] Wooldridge, M. J. (2002). An Introduction to Multiagent Sys-
tems. John Wiley & Sons, Chichester.
[Wooldridge 2009] Wooldridge, M. J. (2009). An Introduction to MultiAgent Sys-
tems. John Wiley & Sons, Chichester. Second edition.
[Yokoo et al. 1992] Yokoo, M., Durfee, E. H., Ishida, T., and Kuwabara, K.
(1992). Distributed constraint satisfaction for formalizing distributed problem
solving. In Proceedings of the 12th International Conference on Distributed
Computing Systems, pages 614621.

159

Você também pode gostar