1
Implementação da Interação Vetorial no Sistema DRIMA
Unidimensional
Vinícius Osiro Medeiros
vinicius.osiro@gmail.com
Fac...
2
apenas o deslocamento dos agentes para as
regiões leste e oeste do reticulado, no
entanto, o modelo também proporciona o...
3
definido adiante; e por último a posição
que este agente se encontra no reticulado.
3. Definição de mundo
O mundo é defi...
4
Figura 6: Processo de interação direta na forma
unidirecional.
Fonte: o autor
Na figura 6, a coluna E corresponde
à prob...
5
Figura 8: Exemplo de aplicação do RotationTransform.
Fonte: o autor
Note, na figura 8, que foi informado
o ângulo de 20°...
6
Pelo fato da quantidade de agentes R
também ser aumentada no decorrer destas
duas últimas séries de experimentos (até
po...
7
Gráfico 2: Resultados da série 2 de experimentos em
relação a série 4, ambas com interações na forma vetorial.
Fonte: o ...
8
OLIVEIRA, Pedro Paulo Balbi de.
DRIMA.nb: Implementação do software
DRIMA na forma de notebook
Mathematica®. São Paulo, ...
Próximos SlideShares
Carregando em…5
×

Artigo

75 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
75
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Artigo

  1. 1. 1 Implementação da Interação Vetorial no Sistema DRIMA Unidimensional Vinícius Osiro Medeiros vinicius.osiro@gmail.com Faculdade de Computação e Informática Universidade Presbiteriana Mackenzie Resumo: DRIMA (Dynamics of Randomly Interacting Moving Agents) é um modelo de simulação de multiagentes representado por um reticulado em que agentes reativos são inseridos e podem se deslocar para células vizinhas de forma autônoma e de acordo com seus objetivos, orientações e tomada de decisões. Existem dois tipos de agentes, os agentes aleatórios podem sofrer influências de outros, e os determinísticos não sofrem influências e deslocam-se para a mesma direção durante todo o experimento. O comportamento destes agentes, no decorrer da simulação, pode variar quando ocorrem interações entre agentes. Estas interações ocorrem quando os agentes estão em proximidade espacial, elas podem alterar o padrão de movimentos dos agentes no reticulado, pois cada agente usará seu poder de persuasão para convencer outros a segui- los no espaço. Este estudo, consiste em implementar um tipo de interação vetorial em um reticulado unidimensional, e realizar simulações aumentando a densidade demográfica dos agentes no reticulado e manipulando a distribuição espacial dos mesmos. Os resultados mostraram que estes dois efeitos influenciam o tempo de convergência dos agentes aleatórios. Palavras-chave: DRIMA, sistema multiagente, comportamento de agentes, interação de agentes, interação vetotial, Mathematica® . Abstract: DRIMA (Dynamics of Randomly Interacting Moving Agents) is a model for the multi-agent setting represented by a grid in which the reactive agents are placed and they can move to neighbors cells autonomously, according to theirs goals, orientation and decisions- making. There are two kind of agents, the random ones are influenced by others, and the deterministics agents are not influenced by anyone and they move to the same direction during the entire simulation. The agents’s behavior during the simulations can vary when interactions occurs, these interactions may happen when two or more agents are close to each other, besides, the interactions are enabled to change the agents’s moviment patterns in the grid, and it occurs because each agent uses its persuasiveness in order to convince others to follow it in the grid. The purpose of this study is develop a vetorial interaction in a one-dimensional grid. And then execute simulations by increasing the population density, i.e., the quantity of agents, and handle the spatial distribuition of agents in the grid. The results show that these two effects can influence in the time used for the agents to converge. Keywords: DRIMA, multiagent system, behavior of agents, interaction of agents, vectorial interaction, Mathematica. 1. Introdução O sistema DRIMA é um modelo celular desenvolvido no software Mathematica® capaz de simular o comportamento de agentes em um reticulado denominado, também, pelo termo mundo. Este modelo permite mostrar o modo como cada agente, incluído em um ambiente, é atraído por outros (OLIVEIRA, 2010a). O modelo estudado é composto por um reticulado unidimensional, permitindo
  2. 2. 2 apenas o deslocamento dos agentes para as regiões leste e oeste do reticulado, no entanto, o modelo também proporciona o recurso de simular agentes em um reticulado bidimensional, permitindo que o deslocamento seja realizado para as regiões leste, nordeste, norte, noroeste, oeste, sudoeste, sul e sudeste do reticulado. Cada agente é composto por oito probabilidades de se deslocar para determinada região do mundo; há ainda a probabilidade dos agentes permanecerem nas células em que estão, conhecida como probabilidade X. A figura 1 abaixo mostra um agente (definido pela cor azul), e suas probabilidades de deslocamento, inserido em um reticulado (definido pela cor amarela). Figura 1: Probabilidades de deslocamento de um agente em um mundo bidimensional. Fonte: o autor A figura 2, abaixo, ilustra as probabilidades de outro agente em um reticulado unidimensional. Figura 2: Probabilidades de deslocamento de um agente em um mundo unidimensional. Fonte: o autor 2. Tipos de agentes No modelo DRIMA, existem dois tipos de agentes: aleatórios, ou simplesmente R, e determinísticos, ou D. Os agentes R, comumente definidos pela cor azul nas figuras, podem se deslocar para diversas regiões distintas do mundo durante uma mesma simulação, e caracterizam-se por alterarem seus padrões de movimentos, isto é, suas probabilidades de deslocamento, após interagirem com qualquer outro agente de qualquer tipo. Em síntese, os agentes R são influenciáveis por qualquer outro agente. No entanto, os agentes D, caracterizam-se, principalmente, por convergirem (deslocarem) sempre para uma mesma região durante toda a simulação. Estes agentes possuem uma alta capacidade de influência, e, portanto, são capazes de induzir os agentes R a segui-los no mundo. É importante salientar, que um agente D, ao participar de interações com qualquer outro agente de qualquer tipo, não sofre alterações em seu padrão de movimento. No software Mathematica, a definição do agente é feita conforme ilustração a seguir. Figura 3: Definição formal do agente no software Mathematica. Fonte: o autor Na figura 3, acima, observa-se, primeiramente, o nome e o tipo do agente, neste caso aleatório; na segunda linha, têm- se um vetor que corresponde às probabilidades de deslocamento para cada região do mundo (definido como padrão de movimento), o primeiro elemento deste vetor refere-se ao leste, e os demais seguem a ordem anti-horária da rosa-dos- ventos; a seguir, têm-se um novo vetor, denominado potencial de transição, cujo uso não é feito neste estudo, mas será
  3. 3. 3 definido adiante; e por último a posição que este agente se encontra no reticulado. 3. Definição de mundo O mundo é definido por um reticulado uni ou bidimensional, nele poderá ser inserido um número indeterminado de agentes de qualquer tipo. Figura 4: Mundo com dimensão 6x8. Os agentes R são definidos pela cor azul e os agentes D na cor vermelha. Fonte: OLIVEIRA, 2010a É importante salientar que o mundo deve ser tratado como um ambiente contínuo, ou seja, cada extremidade do mundo é adjacente a extremidade oposta, portanto, na figura 4, acima, se o agente R08 se deslocar para a direita ele será apresentado na célula (1;1) do mundo. Um mundo é análogo a uma iteração, ou seja, cada mundo denota o estado em que se encontram os agentes em determinado momento da simulação. Uma seqüência de mundos é denominada história. Para que uma iteração ocorra, ou seja, um novo mundo seja criado, um processo de atualização do mundo é realizado, no modelo DRIMA existem dois tipos desses processos: síncrono e assíncrono. O processo de atualização síncrono atualiza os estados de todos os agentes no mundo. Já o assíncrono, atualiza o estado somente de um agente escolhido aleatoriamente no reticulado. Neste estudo, a atualização síncrona é utilizada como padrão para todos os experimentos realizados. 4. Interações entre agentes As interações entre agentes ocorrem, no sistema DRIMA, somente de maneira binária, ou seja, somente entre dois agentes. Estas interações podem acontecer quando um agente está dentro do raio de interação de outro, por padrão, este raio é definido por duas células, conforme figura 5 adiante. Figura 5: As células em azul claro correspondem às células vizinhas do agente R01. Fonte: o autor O resultado da interação entre dois agentes é a alteração do padrão de movimento dos agentes R. Estas alterações podem ocorrer por meio de dois métodos distintos: direto ou indireto. No método direto os padrões de movimento dos agentes são alterados diretamente como resultado das interações. Já no indireto, as interações causam alterações no potencial de transição dos agentes. O potencial de transição dos agentes funciona como um recurso de energia que precisa ser acumulado pelo agente até atingir um limiar e, finalmente, ter seu padrão de movimento alterado (OLIVEIRA, 2010a). A interação direta (o modelo estudado) é realizada em uma forma definida como unidirecional. A interação entre dois agentes, realizada nesta forma, efetua comparações entre cada probabilidade de deslocamento de cada região de ambos os agentes; a cada comparação, a menor das probabilidades é acrescida, e a maior permanece inalterada (OLIVEIRA, 2010b), conforme ilustrado a seguir.
  4. 4. 4 Figura 6: Processo de interação direta na forma unidirecional. Fonte: o autor Na figura 6, a coluna E corresponde à probabilidade de deslocamento para o leste, a O para o oeste e a X a probabilidade de não se deslocar. As probabilidades em verde serão acrescidas por serem as menores de cada região. Este método de interação, no entanto, promove a alteração das probabilidades por meio de operações locais (individualmente para cada região), para tanto, torna-se eminente a implementação de uma interação a fim de considerar o padrão de movimento dos agentes como um todo, e não de forma individual. 5. Idéia de implementação proposta É proposto, então, uma forma de interação denominada vetorial, na qual têm-se a idéia de tratar os padrões de movimentos dos agentes como vetores em um espaço tridimensional, e então, realizar a aproximação destes vetores, para que, enfim, as coordenadas dos vetores aproximados constituam os novos padrões de movimento dos agentes após a interação. Figura 7: Aproximação coplanar do vetor em relação a . Fonte: o autor A figura acima mostra o vetor como resultante da aproximação de em relação a . É importante mencionar que, em interações entre dois agentes R, este processo de aproximação vetorial deverá ser realizado duas vezes, pois deverá se aproximar de e, também, de . 6. Ângulo de aproximação O ângulo β de aproximação, é definido nesta implementação de modo fixo, ou seja, valores constantes serão utilizados para aproximar um vetor do outro. Neste modelo, o ângulo total de aproximação é definido por 15°, ou seja, durante a interação entre dois agentes R, o ângulo β de cada um dos vetores (padrão de movimento) será de 7,5°. Contudo, caso o ângulo Ө entre os dois vetores seja menor que 15°, o ângulo β será definido pela metade de Ө. Em síntese: se Ө for igual ou maior que 15°, β será igual a 7,5°, e se Ө for menor que 15°, como por exemplo 10°, β será 5°. É importante frisar que o valor fixo de 15° é utilizado durante todos os experimentos adiante, no entanto, este valor padrão é passível de alteração dependendo da necessidade, simulação ou estudo desejado. 7. Coordenadas do vetor aproximado Para a obtenção das coordenadas do vetor aproximado, é utilizado uma função disponível na biblioteca do software Mathematica, conhecida como RotationTransform. Ao informar o ângulo de aproximação desejado e um plano, o RotationTransform gera uma função, denominada por função de transformação, capaz de retornar as coordenadas de um novo vetor, com o seu ângulo dimunuído, de modo coplanar ao plano informado.
  5. 5. 5 Figura 8: Exemplo de aplicação do RotationTransform. Fonte: o autor Note, na figura 8, que foi informado o ângulo de 20° e um plano formado por e . Após isso, a função de transformação é retornada e é enviada como parâmetro para a mesma. O resultado retornado, ou seja, as novas coordenadas, é atribuído a . Perceba ainda, que o ângulo formado por e é de, aproximadamente, 54°, e está 20° graus mais próximos de . O cálculo do determinante exibido no final, mostra que todos os vetores são coplanares. Figura 9: Resultado de uma interação direta vetorial entre dois agentes R. Fonte: o autor A figura 9 acima mostra o resultado da interação direta realizada na forma vetorial entre dois agentes R inseridos em um mundo unidimensional. Note que as maiores probabilidades de cada região são diminuídas, enquanto as menores são acrescidas. 8. Experimentos realizados Neste estudo, foram realizadas quatro séries de experimentos; a definição dos experimentos é ilustrada pela tabela 1 a seguir. Tabela 1: Série de experimentos realizados no estudo. Série Experimento Interação 1 Dens. Demográfica Unidirecional 2 Dens. Demográfica Vetorial 3 Distribuição Espacial Unidirecional 4 Distribuição Espacial Vetorial Fonte: o autor Todos os experimentos, apresentados na tabela 1, são realizados em um reticulado de tamanho 51, com atualização síncrona do mundo; uma história de 1000 mundos e apenas um agente determinístico. As séries de experimentos de densidade demográfica consistem em aumentar a quantidade de agentes R de 10 em 10, até popular todo o reticulado com 50 agentes R e 1 agente D, totalizando 5 simulações na série 1 e mais 5 na série 2. É importante ratificar que nestas duas séries de experimentos, inicialmente, os agentes são distribuídos aleatoriamente pelo reticulado por meio de funções disponíveis no próprio sistema DRIMA. Já as séries de distribuição espacial, consistem, também, em aumentar a densidade demográfica (ou seja, aumentar a quantidade de agentes R de dez em dez), porém, manipulando as posições dos agentes R de forma a ficarem todos adjacentes uns aos outros logo no início da simulação, conforme ilustrado a seguir. Figura 10: Exemplo de mundo utilizado nos experimentos de distribuição espacial. Fonte: o autor
  6. 6. 6 Pelo fato da quantidade de agentes R também ser aumentada no decorrer destas duas últimas séries de experimentos (até popular todo o reticulado), haverá, também, a necessidade de realizar 5 simulações para cada uma das séries. Em síntese, serão realizados 20 experimentos, cada um deles será repetido 10 vezes para concretizar os resultados obtidos. 9. Resultados obtidos Em cada um dos experimentos realizados, extraíram-se os tempos mínimo, máximo e médio necessários para que os agentes R alcancem o determinismo (convergir na direção do agente D). Os tempos foram extraídos por meio da função ConvergedAgents já implementada no sistema DRIMA. As quatro tabelas a seguir, mostram os resultados obtidos das simulações realizadas. Tabela 2: Resultados da série 1 de experimentos. Agentes R Mínimo Máximo Média 10 21 655 179 20 53 703 265 30 65 761 294 40 61 775 271 50 140 767 306 Fonte: o autor Tabela 3: Resultados da série 2 de experimentos. Agentes R Mínimo Máximo Média 10 23 678 197 20 55 878 300 30 71 727 298 40 112 973 277 50 130 873 307 Fonte: o autor Tabela 4: Resultados da série 3 de experimentos. Agentes R Mínimo Máximo Média 10 65 980 286 20 63 830 283 30 61 640 269 40 64 987 285 50 117 831 336 Fonte: o autor Tabela 5: Resultados da série 4 de experimentos. Agentes R Mínimo Máximo Média 10 61 933 246 20 60 649 249 30 61 958 276 40 60 945 282 50 131 795 304 Fonte: o autor A seguir, são exibidos dois gráficos formados pelos valores extraídos das tabelas acima. Gráfico 1: Resultados da série 1 de experimentos em relação a série 3, ambas com interações na forma unidirecional. Fonte: o autor
  7. 7. 7 Gráfico 2: Resultados da série 2 de experimentos em relação a série 4, ambas com interações na forma vetorial. Fonte: o autor 10. Análise dos resultados Nota-se, nos resultados obtidos que o aumento da densidade demográfica, ou seja, o aumento da quantidade de agentes R, no reticulado provoca o aumento do tempo médio necessário para que os agentes R convirjam na direção do agente D. No entanto, o aumento da densidade demográfica com a distribuição espacial, dos agentes, manipulada, não provocou significativo aumento no tempo médio para convergência, tornando-se quase linear durante os experimentos. Exceções são feitas nos experimentos cuja quantidade de agentes R chega a 50, ou seja, ocupando todo o reticulado. Nestes casos, observou-se que o tempo médio para convergência atingiu o maior valor em relação aos experimentos com menor quantidade de agentes. 11. Conclusão O estudo realizado mostra que a variação da densidade demográfica e a distribuição espacial dos agentes no mundo são fatores capazes de interferir no tempo necessário para a ocorrência do determinismo. Tal fato tornou-se verdadeiro tanto fazendo uso da forma de interação já existente no modelo, unidirecional, quanto da forma proposta, vetorial Segundo os autores Huhns e Stephens (2009), a comunicação entre agentes pode interferir na satisfação do objetivo coletivo. Posto que o aumento na quantidade de agentes seja capaz de ocasionar o aumento na quantidade de comunicações entre eles, a afirmação realizada pelos autores está coerente ao estudo realizado. Os autores Poiani e Oliveira (2006) ainda afirmam que aumento do espaço livre no reticulado pode ocasionar convergências mais rápidas, fato que aconteceu durante os experimentos. Os autores Huhns e Stephens (2009) também afirmam que a proximidade espacial dos agentes é capaz de minimizar os custos de sincronização. Tal efeito ocorreu durante os experimentos de distribuição espacial, pois os tempos médios, nestes casos, sofreram baixas variações durante o estudo. 12. Referências HUHNS, Michael N.; STEPHENS Larry M. Multiagent Systems and Societies of Agents. In: WEISS, Gerhard. Multiagent Systems - A Modern Approach to Distributed Modern Approach to Artificial Intelligence. Cambridge: MIT Press, 2009. p. 79-120. OLIVEIRA, Pedro Paulo Balbi de. DRIMA: A Minimal System for Probing the Dynamics of Change in a Reactive Multi-Agent Setting. The Mathematica Journal. São Paulo, 2010a. Disponível em: <http://www.mathematica- journal.com/2010/09/drima-a-minimal- system-for-probing-the-dynamics-of- change-in-a-reactive-multi-agent-setting>. Acesso em: 20 set. 2010.
  8. 8. 8 OLIVEIRA, Pedro Paulo Balbi de. DRIMA.nb: Implementação do software DRIMA na forma de notebook Mathematica®. São Paulo, 2010b. Software de distribuição restrita, disponibilizado pelo autor. POIANI, José Antônio; OLIVEIRA, Pedro Paulo Balbi de. Convergência no comportamento de um agente, pela sua interação com outros, em um sistema multiagente celular. In: PROCEEDINGS OF THE XXVII IBERIAN LATIN AMERICAN CONGRESS IN COMPUTATIONAL METHODS IN ENGINEERING, 2006, Belém. 1 CD- ROM. WOLFRAM MATHEMATICA® 7. Documentation Center. [S.I.]: [2010?]. Disponível em: <http://reference.wolfram.com/mathematic a/guide/Mathematica.html>. Acesso em: 10 ago. 2010.

×