• No results found

6.3 Samstyring

6.3.2 Samstyring av kritiske samfunnsfunksjoner

O termo simulação possui vários sentidos em diferentes contextos. Em computação, simulação é uma técnica empregada para testar a representação de algo real ou que pode vir a ser real. Esse “algo real” pode vir de inúmeros domínios do conhecimento [Siebers & Aickelin 2008]. Alguns exemplos são:

• Das ciências exatas: quando queremos, por exemplo, testar se um com- ponente de software é robusto (livre de bugs);

• Das ciências dos materiais: quando queremos, por exemplo, testar a resistência de um concreto sob a pressão da água em um reservatório; • Das ciências químicas: quando queremos, por exemplo, testar a reação

• Das ciências econômicas: quando queremos, por exemplo, testar a hi- pótese de novas regras macro-econômicas;

• Das ciências sociais: quando queremos, por exemplo, testar uma teoria sobre de influência social, e assim por diante.

Dos exemplos acima, pode-se identificar três conceitos essenciais em simulação. O primeiro é o de sistema, que representa o que estamos simulando, ou seja, o “algo real”. Para testar a resistência de um concreto em um reservatório, então o reservatório, o ma- terial, a pressão atmosférica e todos os elementos que fazem parte do objeto de estudo representam o sistema. Estritamente falando, o sistema engloba tudo que influencia o que vai ser estudado na simulação. Quando não é possível especificar ou não se conhece tudo que influencia um sistema, diz-se que este é um sistema aberto. Por outro lado, quando é possível garantir que o sistema sofrerá alterações exclusivamente através da influência de elementos conhecidos (ou seja, dentro do próprio sistema), diz-se que este é um sistema fechado [Signoretti et al. 2008].

Porém, simular não significa realizar testes sobre um sistema real, mas sim sobre um modelo que pode representar de forma adequada o sistema real. Portanto, o segundo conceito essencial é o de modelo do sistema. Um modelo traduz o sistema através de sim- plificações que acreditamos não alterar o propósito de estudo. Por exemplo, dependendo do que se quer estudar no sistema, nosso modelo pode ser mais ou menos simplificado, como na Figura 2.6. A visão de modelo foi resumida por Marvin Minsky através da definição:

“Para um observador B, um objeto A* é um modelo de um objeto A, na medida em que B pode usar A* para responder as questões que lhe interessam a respeito de A” [Minsky 1969]).

Figura 2.6: A simplificação do modelo de simulação [Signoretti et al. 2008]. O modelo utilizado na simulação precisa sofrer alterações e as conseqüências dessas alterações devem ser avaliadas. Enfim, o terceiro conceito essencial é o de variáveis do

modelo. Alguns autores definem simulação como a variação de um modelo ao longo do tempo [Siebers & Aickelin 2008]. Apesar dessa definição não ser a mais genérica, pois elementos do modelo podem variar sem que o tempo varie, ela destaca um elemento presente na maioria das simulações: o tempo. O tempo é, portanto, a variável-mestre da maioria dos modelos e serve como referência para classificar tipos de simulação em contínua e discreta [Siebers & Clegg 2008a].

2.2.1

Processo de Modelagem e Simulação

Apesar do conceito de simulação estar fortemente relacionado à ideia de “previsão”, um dos maiores interesses em simulação não advém da capacidade de “prever” o futuro de um sistema, mas sim da possibilidade de avaliar o conhecimento que se tem sobre um determinado domínio. Essa idéia é mais nítida quando os sistemas abertos estão sendo simulados, como as organizações humanas. Nesse caso, a simulação permite que teorias sobre organizações possam ser elaboradas, modeladas, simuladas e seus resultados con- frontados com a realidade. Após esta confrontação, pode-se verificar em que as hipóteses geradas podem ser melhoradas e um novo ciclo do processo pode ser iniciado.

Por esta breve descrição, se pode perceber que o processo de simulação consiste em um conjunto de operações a serem realizadas de forma seqüencial e, em geral, cíclica. Esse processo se inicia a partir de observações de um sistema real, fundamentadas a priori sobre uma teoria. Em seguida, o processo se torna iterativo e recursivo, onde o conhe- cimento do sistema, adquirido através da utilização do modelo, constitui em uma nova informação sobre o próprio modelo. A Figura 2.7 ilustra esse processo.

Quando o modelo concebido é um modelo determinístico, ou seja, os resultados ge- rados dependem exclusivamente dos parâmetros iniciais da simulação, esses resultados podem ser diretamente utilizados na confrontação com o sistema real e, eventualmente, podem servir como base para propor alterações no próprio sistema. Porém, como a mai- oria dos sistemas não funciona de forma determinística, seus modelos devem também refletir essa característica. Quando um modelo, a partir de um conjunto de condições iniciais fixas, é capaz de gerar diferentes resultados, diz-se que esse é um modelo esto- cástico. A simulação baseada em agentes (vide Seção 2.2.2) é dita estocástica e discreta [Siebers & Aickelin 2008] [Siebers & Clegg 2008a].

Os valores e informações oriundos de uma simulação com um modelo estocástico não representam resultado algum, não significam nada, uma vez que, pela própria aleatorie- dade do modelo, seu estado pode ter seguido um curso atípico. Para se avaliar, de fato, o modelo, é preciso executar várias simulações, coletar e organizar os dados e fazer um levantamento de padrões típicos encontrados. O uso de ferramentas e métodos estatísticos se torna, portanto, essencial nesse processo.

2.2.2

Simulação Baseada em Agentes - MABS

A técnica de modelagem baseada em agentes se originou da aplicação do conceito de agente ao contexto de simulação, dando origem ao termo simulação multiagente. Desta forma, o modelo leva em conta entidades computacionais autônomas, que apresentam as características já mencionadas anteriormente. Nessa linha de pensamento, o comporta- mento dos agentes não é descrito de forma centralizada, como em geral ocorre em outros tipos de simulação. Na modelagem baseada em agentes, cada agente é uma entidade ativa na simulação.

Não existe um consenso único nesta área e muito se discute qual seria o conjunto correto de propriedades que caracterizariam um agente: pró-atividade, reatividade, noção de espaço, habilidade para aprender, habilidade social, capacidade cognitiva, etc. Em re- lação à utilização de modelos de simulação baseados em agentes, não é necessária uma discussão profunda sobre a existência ou não das qualidades mencionadas anteriormente, pois os casos de uso são de tal maneira diferentes, que não se chegaria a uma unanimi- dade. Mas, os agentes detém uma característica intrínseca e inegável: são essencialmente distribuídos. Em comparação com outras formas de simulação, não há um lugar no mo- delo baseado em agentes que defina o comportamento global do sistema. Nesse modelo, o comportamento é definido de forma individual para cada agente, e o comportamento global emerge a partir do resultado dos vários comportamentos individuais acontecendo simultaneamente. Dependendo da situação, podem ser dezenas, milhares ou até mesmo milhões de indivíduos (agentes), cada um seguindo suas próprias regras de comporta- mento e convivendo em algum tipo de ambiente. Vale salientar que o termo “convivência” inclui a comunicação que estes agentes podem trocar entre si e com o próprio ambiente onde estão inseridos. Este fato é a explicação do porque a modelagem baseada em agentes é também conhecida como modelagem bottom-up [Siebers & Aickelin 2008] [Siebers & Clegg 2008a].

estruturas mais complexas e dinâmicas [Li et al. 2008]. Além disso, permite a constru- ção de modelos sem a necessidade do conhecimento total de todas as interdependências existentes em um nível global. Pode-se conhecer muito pouco a respeito sobre o que afeta cada agente no nível de agregação, ou sobre as seqüências operacionais esperadas no nível global do sistema, mas se existe uma percepção sobre o comportamento individual dos participantes do processo, os agentes podem ser construídos e, a partir da interação entre eles, é possível obter o comportamento global [Troitzsch 2000].

Por razões similares, a simulação multiagente é muito utilizada pela indústria do ci- nema e dos jogos para o desenvolvimento de simulações realísticas de indivíduos e soci- edades. Como exemplo de jogos tem-se “The Sims” e no cinema os “Orcs” do filme “O Senhor dos Anéis” [Siebers & Aickelin 2008].

Os modelos baseados em agentes são, normalmente, mais fáceis de serem mantidos, pois refinamentos ou alterações sempre resultam em atividades de escopo local e não global. Entretanto, deve ser considerado que, uma mudança em nível local, pode trazer alterações no nível global que sejam inesperadas ou mesmo indesejadas. Isso acontece porque modificações mínimas nos agentes são aumentadas de forma exponencial, quando centenas de agentes coexistem no sistema.

Aplicações de MABS

Simulação multiagentes pode ser aplicada a inúmeros domínios, e é em geral em- pregada na modelagem de sistemas complexos. A Tabela 2.1 mostra algumas de suas aplicações, em função do campo de interesse [Siebers & Aickelin 2008].

Campo Exemplo de Aplicação

Ciências Sociais Sociedade de insetos, aprendizado em grupo, Dinâmica dos grupos sociais crescimento e declínio de culturas, alastra- mento de epidemias, desobediência civil

Economia Mercado de ações, mercados auto-organizáveis, comporta- mento do consumidor, redes de consumo

Ecologia Dinâmica das populações, dinâmica do uso da terra, devas- tação florestal, crescimento florestal

Ciências Políticas Direitos do uso da água, origem e padrões de violência, di- visão de poder entre populações multiculturais

Tabela 2.1: Aplicações de Simulação Multiagente.

Apesar da simulação computacional ter sido usada largamente desde os anos 60, a simulação multiagentes só se tornou popular por volta dos anos 90. Atualmente é uma ferramenta conhecida no mundo acadêmico e em busca do mesmo reconhecimento no mercado comercial. Sua evolução ao longo do tempo não é muito bem documentada, basicamente pelo fato de que não existe consenso em relação ao que define um agente computacional.

A técnica para criar modelos computacionais utilizando a metáfora de múltiplas en- tidades individuais distribuídas no espaço foi inicialmente desenvolvida durante os anos

40, quando John Von Neumann iniciou seus trabalhos com os autômatos celulares. Um autômato celular é constituído por um conjunto células, onde cada uma pode estar em um de uma série predefinida de estados. As mudanças de estado em uma célula ocorrem baseadas nos estados anteriores desta célula e no histórico das células vizinhas. Estes modelos foram usados inicialmente no estudo de processos de crescimento populacional e auto-reprodução [Siebers & Aickelin 2008], como o clássico modelo de John Conway do “jogo da vida” [Gardner 1970]

Apesar de autômatos celulares utilizarem a metáfora de “entidades individuais”, se as regras de suas alterações durante uma simulação são definidas de forma centralizada, a simulação não pode ser considerada multiagente, mas uma simulação a eventos discretos. Porém, quando cada entidade reage independentemente de um módulo central, ou seja, quando possui suas próprias regras e reage diferentemente aos estímulos externos (células vizinhas), pode-se então considerar uma simulação multiagente.

Provavelmente um dos primeiros trabalhos nesse sentido data do início dos anos 60, quando William McPhee publicou um artigo modelando o comportamento dos eleitores [McPhee 1966]. Outras fontes sugerem o inicio da simulação multiagente a partir do tra- balho de Craig Reynolds, modelando o comportamento de agentes biológicos como, por exemplo, o comportamento de bandos de pássaros [Reynolds 1987]. Acadêmicos como Jim Doran e Scott Moss usaram a abordagem baseada em agentes na área das ciências so- ciais, para abordar fenômenos como redes de consumo, dinâmica populacional, dinâmica de sistemas políticos, entre outros [Aylett et al. 2000].

2.3

Emoção, Humor e Personalidade: A Afetividade Hu-