Arquitetura abstrata para agentes multi

Transcrição

Arquitetura abstrata para agentes multi
Arquitetura abstrata para agentes multi-critérios em ambientes dinâmicos
Francisco Wagner Costa Aquino, Gustavo Augusto de Lima Campos, Jerffeson Teixeira de Souza
Universidade Estadual do Ceará - UECE
[email protected], [email protected], [email protected]
Resumo
Este artigo propõe uma arquitetura genérica de
agentes que podem ser concretizados para resolver
problemas multi-critérios em ambientes parcialmente
observáveis, estratégico, seqüenciais, dinâmicos e
multiagentes. Nesta edição, a arquitetura pressupõe que o
agente tem conhecimento a respeito do efeito das suas
ações em termos de satisfações das suas metas. Para
avaliar a proposta, foi concretizado um agente para
participar de um jogo específico do tipo Massive
Multiplayer Online Games (MMOG). Os primeiros
resultados obtidos demonstram que a arquitetura é
promissora e que a mesma deve ser especializada e
estendida de maneira a resolver outros problemas com
características semelhantes.
1. Introdução
Cada vez mais o mundo exige a necessidade de
automatizar as tarefas, porém alguns problemas possuem
uma enorme complexidade devido à quantidade de
atributos que devem ser monitorados, à enorme
quantidade de ações disponíveis para serem executadas
onde cada ação beneficia um ou mais atributos podendo
até atrapalhar outros. A nossa função neste ambiente é
desenvolver todos os atributos de forma equilibrada
buscando evitar ao máximo a carência em qualquer um
deles. Para isto, devemos fazer muitas escolhas em nossas
vidas e executar determinada tarefa ao invés de tantas
outras se baseando na nossa prioridade atual.
Para desenvolver um sistema capaz de executar tais
tarefas seria necessário um mecanismo que avaliasse o
estado geral do ambiente e que tomasse suas próprias
decisões mesmo que não tenha uma meta final bem
definida.
Neste trabalho nós propomos uma arquitetura abstrata
de um agente multi-critério para atacar esta classe de
problemas. Este tipo de ambiente caracteriza-se por ser
dinâmico;
parcialmente
observável;
seqüencial;
estocástico e contínuo. Este artigo também se propõe a
detalhar os passos para a modelagem desta arquitetura
para um determinado problema e avaliá-la através da
implementação da mesma no problema em questão.
O ambiente escolhido para avaliação da arquitetura foi
o mundo dos jogos on-line. Severino é o nome do agente
criado a partir da arquitetura aqui definida e modelada
para o jogo em questão.
A seção 2 contém algumas definições que serão de
suma importância para o entendimento do trabalho. Na
seção 3 é exibida a arquitetura abstrata definida para o
ambiente aqui definido. A seção 4 mostra uma aplicação
da arquitetura no ambiente dos jogos passando desde o
processo de modelagem até a avaliação do agente. Por
fim, a seção 5 expõe a conclusão do trabalho e a indicação
para alguns trabalhos futuros, seguido das referências
bibliográficas.
2. Conceitos Fundamentais
2.1. Metas e Prioridade
Metas é o conjunto dos m atributos,
, ,… ,
, que se deve ter uma atenção. A maioria das ações
executadas afeta um ou mais atributos do mesmo, positiva
ou negativamente. Enumerar tais atributos é uma tarefa
que depende, principalmente, da função desejada no
ambiente. Por exemplo, o tempo de percurso para um
agente que dirija um táxi ou a porcentagem de lucro num
agente que cuida de investimentos no mercado de
capitais.
Como as chances de que uma ação executada satisfaça
todas as metas é praticamente nula, no momento de
definir que ações deverão ser tomadas deve-se escolher
quais metas serão satisfeitas e quais serão "esquecidas" e,
com base nesta escolha, executar as ações que melhor se
enquadram. Daí nasce o conceito de prioridade P, onde
. A prioridade orientará o comportamento, ou seja,
indicará a meta que se deve procurar satisfazer ao
máximo durante o processo de tomada de decisão.
A prioridade pode mudar dependendo dos estados ou
necessidades do agente. Para determinar qual será a nova
prioridade deve ser utilizado algum mecanismo de
escolhas, visando manter um equilíbrio entre as metas.
2.2. Bonificações e Penalidades
Com base na teoria de Thorndike [1], a regra de bônus
e de penalidade é uma forma de instruir o indivíduo sobre
as conseqüências de seus comportamentos, bonificando-o
ou penalizaando-o quanddo necessárioo. Para apliccar as
d Satisfabilid
dade
2.3. Grau de
•
Parrcialmente oobservável: os
o sensores do
ageente não são capazes de coletar
c
os dados
com
mpletos do am
mbiente.
• Seqqüencial: as aações do agentte são escolhiidas
de acordo com
m o históricco das decissões
antteriores.
• Esttocástico: nãoo é possível determinar qual
q
serrá o estado ddo agente apeenas pelo estaado
atuual e a ação quue será executtada.
• Coontínuo: os vvalores de bo
onificação e de
pennalidades nas metas, quue em conjuunto
desscrevem o estado correente do agennte,
varriam no intervalo contínuuo dos númeeros
natturais; as açõões seguem o mesmo padrrão,
apeesar de que a arquiteetura pode ser
conncretizada em
m ambientes diiscretos.
Segundo [22], uma arquiitetura é um mapa interno de
q
um agente: suuas estruturas de dados, as operações que
podem ser exeecutadas e o fluxo de controle destes.. A
F
Figura
1 appresenta um
m esboço da arquitetuura,
esspecificando os principais módulos de informação e de
prrocessamentoo da informaçãão componentes.
M
e
t
a
s
F
Figura
1 – Arqquitetura abstrrata
3. Arrquitetura Abstrata
Considerrando que o agente desseja satisfazeer um
conjunto de metas, M, poode-se dizer quue ele está diaante de
ma multi-critérrio, ou seja, um
ma decisão raacional
um problem
por parte doo agente deve satisfazer níveis de aspiração nas
metas, que o agente pressume são imp
portantes paraa a sua
“sobrevivênncia” no ambiiente. Além desta
d
caracterrística,
no que diz respeito
r
às proopriedades do
o ambiente de tarefa
do agente prroposto pode--se dizer que, o ambiente é:
• Dinâmico: o ambiente pode se alterar
independentee da atuação doo agente.
Sua interação ocorre através de várias páginas HTML
geradas dinamicamente. Nestas páginas, o jogador tem
acesso a todas as informações relativas ao seu
personagem e alguns dados sobre os outros jogadores.
No jogo, cada jogador controla uma espécie de reino,
onde é possível escolher entre várias ações para serem
alimentadas para o ambiente: treinar cidadãos (população
até o momento não treinada) em algumas das profissões
existentes, atacar outros reinados visando obter dinheiro,
comprar armas para seu exército, dentre outras ações.
Para vencer um ataque, será necessário não apenas
uma grande quantidade de unidades (ofensivas ou
defensivas), mas sim, um exército bem treinado e bem
armado. Após cada batalha o personagem militar ganha
experiência podendo subir de nível. Por questão de
equilíbrio os jogadores só poderão atacar ou ser atacados
por outros jogadores em que a diferença de nível entre
eles seja menor ou igual a cinco, ou seja, quanto maior o
nível do personagem, mais fortes serão seus oponentes.
A modelagem deste tipo de jogo na arquitetura
proposta requisita um conhecimento especializado do
jogo como, por exemplo, certo domínio das suas funções
e objetivos. As próximas subseções descrevem alguns dos
passos empregados na concretização de um agente
específico para o jogo Dark Throne. Este agente foi
denominado Severino.
4. Avaliação
O ambiente escolhido para realizar a avaliação da
arquitetura foi um jogo de MMOG que se configura em
um ambiente de tarefa que tem propriedades semelhantes
ao especificado na Seção 3. Este tipo de teste permitiu
avaliar alguns comportamentos do agente diante de
algumas situações reais. O jogo escolhido foi o Dark
Throne [3]. As seções a seguir explicam todo o processo
de modelagem do jogo na arquitetura definida neste
trabalho.
No jogo escolhido milhares de jogadores agem sobre o
ambiente e, em alguns casos, sobre o agente, ou seja, é
um ambiente dinâmico e multiagentes. É possível coletar
os dados sobre o agente, e apenas alguns dados do
ambiente e dos adversários, ou seja, o ambiente é
parcialmente observável. Todas as ações que são tomadas
dependem das necessidades do ambiente mostrando uma
seqüencialidade no mesmo. Embora alguma ação seja
executada visando algum objetivo, como o ambiente não
é completamente observável não é possível garantir que
se obtenham os resultados esperados, caracterizando o
mesmo como sendo estocástico.
4.1. Dark Throne
O jogo, basicamente, possui um ambiente onde
milhares de pessoas interagem on-line, 24 horas por dia.
4.2. Quadro Formal
Os sensores do agente são scripts atômicos1
responsáveis por coletar o conjunto das informações
fornecidas pelo ambiente. O conjunto de metas M é
detalhado na seção 4.2.1. O conjunto dos eventos
representa todos os eventos que podem ser fornecidos
pelo ambiente ao agente no decorrer do jogo. Estes
eventos variam desde receber ataques de um oponente até
passar de nível.
Cada evento ocorrido perturbará uma ou mais metas do
Severino, benéfica ou maleficamente. O efeito dos
eventos sobre as metas são descritas no conjunto de regras
, conjunto este dotado de regras de bonificações e
penalidades (definido em 2.2. e modelado em 4.2.2.). A
prioridade do agente é calculada através da função do
grau de satisfabilidade utilizando o conjunto das regras de
eventos
e dos eventos inferidos sobre as metas .
O conjunto das ações representa todas as
ações
possíveis para o agente, onde
,
,
,... .
Cada
ação possui uma máquina de estados pré-determinada. De
posse dos dados coletados do ambiente, da prioridade
calculada e do conjunto das regras de ações
, o agente
1
Scripts atômicos: Scripts que desempenham uma única
função. Ex: informar a quantidade de ouro do
personagem.
poderá defin
nir o conjunto
o das ações a serem executadas
pelo agente..
À medid
da que o agennte vai execu
utando as açõ
ões do
conjunto C o conjunto de regras de ações RA
A será
utilizado no
ovamente paraa fazer o reforrçamento das metas
do agente dee acordo com o seu comporrtamento.
4.2.1. Metaas
• Din
nheiro: quanndo a priorid
dade do agen
nte for
dinheiro, deve-se ter uuma maior prreocupação com as
finanças do
d personageem, conseqüeentemente, ex
xecutar
ações que melhorem o status
s
do agen
nte neste quesiito.
• Ataaque: quandoo a prioridade for ataque, o agente
a
deve proccurar investirr mais em unidades
u
ofen
nsivas,
armamentos e outras ações
a
que ven
nham a aumeentar o
seu poder de ataque.
• Deefesa: com a prioridade de
d defesa o agente
a
deve tomaar ações que llhe dê um maaior poder de defesa
contra o attaque dos opo
onentes.
• Esttafa: quando a prioridade for estafa, o agente
a
procura reeduzir o ritm
mo das suas ações.
a
Tal reedução
ajuda o peersonagem a ficar equilibraado em relaçãão aos
seus atriibutos e, conseqüentemeente, ficará mais
"nivelado"" com os seus oponentes.
4.2.2. Bonifficações e Pen
nalidades
4.2.3. Máquina de Estados
No teste im
mplementado,, o agente Seeverino seguee o
diagrama de estados
e
definiido na Figuraa 2. Neste caaso,
uma máquina de estados ddefine um com
mportamento, ou
seeja, ela especcifica as seqüêências de estaados pelos qu
uais
um objeto passsa durante seuu tempo de vida em respostta a
ventos, juntam
mente com suuas respostas a esses even
ntos
ev
[4
4]. Na figura, cada estado do agente é definido
d
por uma
u
m
máquina
de Meealy [5] especcífica.
Figuraa 2 – Diagram
ma de estados do
d Severino
Init identifiica o estado innicial do agen
nte, a única tarrefa
co
ontida nele é a de viabilizzar a entrada do programa no
joogo efetuando
o o login no ssistema. No estado
e
Centraal o
ag
gente obtém as
a informaçõees do ambien
nte. Dessa form
ma,
toodos os estad
dos deliberativvos na figuraa transitam para
p
C
Central
ao deliiberarem sobrre uma ação. Neste
N
estado são
feeitas algumas análises a reespeito dos vaalores dos nív
veis
das metas do agente.
a
Por exemplo, verifficar se o ageente
m ataque após a última atuallização. A Fig
gura
reecebeu algum
3 exibe a mááquina de Meealy para o estado Centrral.
T
Também
é verrificado, atravvés do grau dee satisfabilidaade,
quual será a prio
oridade atual. Toda vez quee o agente passsar
de nível, será concedido um
m bônus ao mesmo,
m
que será
s
reesultante da trransição de Ceentral para o estado Bônuss.
No estado Treinamento
T
é realizado o treinamento dos
ciidadãos. A en
ntrada é efetuaada apenas se houver cidad
dãos
a serem trein
nados. Os ccidadãos são divididos para
p
d acordo ccom a priorridade atual do
trreinamento de
prrograma. No
o módulo dee Promoçõess o exército
o é
esspecializado. A entrada nesste estado é effetuada apenass se
aiinda houver alguma
a
unidaade não especcializada. Apó
ós a
ex
xecução das ações, ocorree uma transiçãão para o estaado
ceentral e os vaalores são atuaalizados. No estado Arma
as o
ag
gente está responsável
r
ppor comprar armas paraa o
ex
xército. Caso
o exista exérrcito desarmaado, o prograama
esscolhe as arm
mas e a quanntidade possíível levando em
co
onsideração a quantidade de unidades desarmadas e a
quuantidade de dinheiro
d
dispoonível.
A
Ataque
é o módulo
m
mais ccomplexo do agente, é neesse
esstado que o agente delibeera a respeito
o de ataques aos
opponentes. Caaso o agente resolva atacaar alguém, seerão
esscolhidos os possíveis
p
adveersários que a serem atacad
dos,
cu
ujas referênciias serão armaazenadas em uma fila do tipo
t
F
FIFO
[6], orgaanizadas em oordem decresccente de dinheeiro
disponível. O agente
a
escolhee o primeiro da
d fila e estudaa se
existe algum
ma possibilidaade de vencêê-lo em um ataque,
a
Figura 3 – Estado Ceentral
os os estadoss supracitados, não
Após paassar por todo
resta muita coisa para o agente
a
fazer até
a o final do turno.
I
o agentee irá verificar o tempo quee resta
No estado Idle
para o finaal do turno e esperar quee o mesmo acabe,
retornando ao
a estado Cen
ntral e assim
m sucessivamente. A
Figura 4 exiibe a máquinaa de Mealy parra o estado Idle.
os outros jogad
dores de mesm
mo nível de attacá-lo. O ageente
fiicou recebend
do ataques successivos onde a quantidadee de
ouuro saqueadaa pelos oponentes não paassou de 25.0
000
(v
valor baixo no
o jogo). A caada ataque vitorioso o jogaador
quue realizou o ataque ganhha o dinheiro
o que conseg
guir
pilhar e ponto
os de experiêência (são estes pontos que
q
definem o níveel do personaagem). Conforrme mencionaado
xiste uma regra no jogo que impede um jogador de
ex
attacar oponenttes que estejaam cinco nív
veis a mais ou
u a
m
menos
que o próprio e, quanto maiior o nível do
personagem, mais
m
fortes serão os adv
versários. Deesta
o ao momento
o de
foorma deve-se ponderar mais em relação
attacar. Os ataques realizaados demonsstraram falta de
raacionalidade por
p parte dos aadversários. Além
A
disso, ou
utro
faato que deemonstrou a baixa raccionalidade dos
ad
dversários é que,
q
mesmo ccom um poderr defensivo fraco
S
Severino
conseeguiu se defennder de um ataaque.
Avaliando as ações doo Severino foi notado um
co
omportamento
o diferente ddo que ocorree rotineirameente
co
om jogadoress humanos maais inexperien
ntes. Ele viu que
q
ex
xistem muitos adversárioss mais fortes e que se ataacar
allguém, fora os
o riscos de perder a bataalha, seus nov
vos
ad
dversários serrão mais fortees ainda. Por isso, ao invéss de
reealizar ataquees e conseguuir dinheiro mais
m
rápido, ele
teendeu a investir em mineraadores para gaarantir uma meta
m
seegura de din
nheiro e reforrçar seus exéércitos. Severrino
ch
hegou a procu
urar oponentes para atacar, mas desistiu por
dois motivos: ou a quantiidade de din
nheiro de algu
uns
nsava realizar um
opponentes era tão baixa quee não compen
attaque; ou qu
uando o oponnente tinha dinheiro
d
razoáável
para receber um
u ataque, elee notou que o exército estava
m
muito
forte em
m relação às suuas forças ofen
nsivas.
Figuraa 4 – Estado Idle
I
4.3. Avaliaçção
Para a reealização doss testes foi crriada uma con
nta no
jogo para o agente Sevverino. Esta conta foi utiilizada
apenas pelo agente, sem interferências
i
humanas. O agente
a
p dia.
ficou algunss meses rodanndo 24 horas por
Severino
o começou su
uas atividades assim que a conta
foi criada no
n jogo. No prrimeiro dia o agente tinha pouco
dinheiro e nenhum
n
poderr defensivo, faato que não im
mpediu
Depois de 75
7 dias ativo nno jogo, Severrino realizou oito
o
attaques e ven
nceu todos. Em relação às defesas, ele
co
onseguiu defeender três dos quatorze ataques recebid
dos,
vale ressaltar que
q a maioria dos ataques foram realizados
a
o Severiino iniciar su
uas atividades. O
pouco tempo após
gente ficou no
o quarto nível com 21.492 de
d experiênciaa (a
ag
ex
xperiência é obtida
o
após effetuar ataquess com sucesso
o ou
conseguindo se defender de ataques dos adversários).
Mais recentemente, faltavam apenas 1.508 pontos de
experiência (o equivalente a um ataque) para que o agente
Severino avançasse para o próximo nível. Entretanto,
como o agente já tinha avançado bastante nos últimos dias
e conseguiu muito dinheiro, ele entrou, mais uma vez, em
uma fase de nivelamento das suas metas.
A quantidade de ouro produzida pelos seus
mineradores foi de 316.917 em ouro por turno e
15.212.016 em ouro por dia. O agente avalia se os
adversários possuem ouro suficiente para realizarem
ataques usando como parâmetro a sua rentabilidade diária
oriunda dos mineradores. Severino ataca apenas os
adversários que possuem no mínimo cinco vezes a sua
produção diária.
O dado mais importante para a avaliação do agente é o
rank. Na data em que os dados foram coletados o agente
estava na posição geral de número 210.568. Este é um
número alto, mas levando em consideração que, no
mesmo período existiam 349.461 jogadores cadastrados
pode-se notar que o Severino conseguiu evoluir bastante
neste curto período de tempo em que o mesmo foi
analisado.
5. Considerações Finais
De uma maneira geral, os resultados obtidos
demonstram que a abordagem proposta neste trabalho é
promissora. O conceito de metas, aliado às bonificações e
às penalidades, sendo avaliados pelo grau de
satisfabilidade, dão ao agente os recursos necessários pra
o agente manter um equilíbrio entre as suas metas. A
arquitetura foi apresentada de maneira genérica para
problemas semelhantes ao MMOG testado como, por
exemplo, onde se tenha um conjunto de metas a serem
alcançadas (metas); um conjunto definido com todas as
ações e eventos que possam vir a ocorrer e uma relação
do quão cada um deles influi sobre as metas (Bonificação
e Penalidade). Outros jogos modelados para a mesma
arquitetura podem ser encontrados em [7].
Além dos jogos, a arquitetura também pode ser
adaptada para resolver problemas de tomada de decisão
estratégica. Por exemplo, problemas que atualmente são
resolvidos pelas metodologias AHP [8] e Macbeth [9].
Dentro deste contexto vale ressaltar: Comportamentos em
competições; Conflitos e negociações; seleção de
portfólio; planejamento [10].
5.1. Trabalhos Futuros
Atualmente o agente está trabalhando a partir de um
diagrama de fluxos que indica a seqüência que deve
passar pelos estados. Em [11], é definido uma
possibilidade de deixar que o próprio agente escolha para
qual estado deve ir, definindo o conjunto de ações a serem
executadas. Para isto, o agente deve saber exatamente o
que tem como meta, e a partir disso, elaborar a seqüência
de ações que o deixe mais próximo da meta estipulada por
ele mesmo. O módulo de escolha de ações ficará
localizado no estado
, nele será definido o
conjunto de ações a serem executadas, obedecendo à
ordem da fila ao qual elas foram inseridas. Quando todas
as ações tiverem sido executadas, o método de escolha de
ações será utilizado novamente para definir o novo
conjunto de ações.
Outra questão que deve ser melhorada é o (definido
em 2.2.), atualmente o agente está trabalhando com
valores absolutos pré-determinados em XML, estes foram
gerados ao acaso. Estudos mais extensos mostram que tais
valores geram certo desequilíbrio durante a execução das
ações. Uma possível solução para o problema seria
trabalhar com valores fuzzy. Segundo [12], fuzzy trabalha
com valores imprecisos e conceitos vagos. Determinar
valores exatos de influência de cada ação sobre as metas é
uma tarefa que requer a realização de grandes baterias de
teste, cujos resultados serão alcançados apenas a longo
prazo. A calibragem dos valores de inferência das ações
utilizando fuzzy proporcionaria uma menor discrepância
entre os valores, fato que iria reduzir consideravelmente a
margem de erros.
6. Referências
[1] Thorndike, E., (1913) Educational Psychology: The
Psychology of Learning, Teachers College Press.
[2] Jennings, N., Sycara, K., Wooldridge M.. (1998) A Roadmap
of Agent Research and Development.
[3]
Lazarus
Software
(2007),
“Dark
Throne”,
http://www.darkthrone.com, página oficial do jogo, Acessado
em 02/03/2008.
[4] Booch, G., Rumbaugh J., Jacobson I, (2000), “UML Guia do
Usuário”, Editora Campus, 1ª Edição.
[5] Mealy, G.H. (1955) A method for synthesizing sequential
circuits. Bell System. Tech. J 34, Setembro.
[6]
Wirth,
Niklaus, (1986),
Algorithms
and
Data
Structures, Prentice Hall.
[7] Aquino, F. W. C., (2007), Severino: Um agente inteligente
para MMOG. Trabalho de conclusão de curso – Ciências da
Computação – UECE.
[8] Saaty, T. L., (1980), The analytic Hierarchy Process.
McGraw-Hill, New York.
[9] Bana e Costa, C. A., Vansnick, J. C., (1994), MACBETH –
Na interactive path towards the construction of cardinal value
functions, International Transactions in Operation Research.
[10] Schmidt, A. M. A., (1995), Processo de apoio à tomada de
decisão Abordagens: AHP e Mabech. Tese de Mestrado em
Engenharia de Produção – UFSC.
[11] Campos, Gustavo A. (2005), “Design of sequences of
alternative actions guided by fuzzy goals”.
[12] Abar, Celina(2004).http://www.pucsp.br/~logica/Fuzzy.htm
acessado em 02/03/2008.

Documentos relacionados