Por que usar e o que são modelos baseados em indivíduos

De Física Computacional
Ir para navegação Ir para pesquisar
A versão imprimível não é mais suportada e pode ter erros de renderização. Atualize os favoritos do seu navegador e use a função de impressão padrão do navegador.

Anterior: Autômato celular e modelo baseado em indivíduos | Índice: Ecologia | Próximo: MBA: Gás simples


Introdução

Uma breve descrição do que é modelagem baseada em indivíduos:

  • Agente: indivíduo computacional autônomo.
  • Modelagem baseada em agentes: forma de modelagem computação no qual um fenômeno é modelado em termos dos agentes e suas interações.

Representações bseadas em agentes são mais fáceis de entender que representações matemáticas dos mesmos problemas, pois a língua e conceitos usados nestas modelagens é mais próximas da linguagem natural e nossa forma natural de pensar qundo comparado com modelagens matemáticas.

Alguns conceito interessantes:

  • Estruturação: A codificação do conhecimento em um domínio como uma função da infraestrutura representacional usada para expressar o conhecimento. Ex.: Números romanos.
  • Reestruturação: uma mudanção de uma estruturação para outra. Ex.: Mudança de números romanos para hindu-arábicos
  • Inercia estruturacional: resistenência à reestruturação.

Entendendo sistemas complexos e emergência

Emergência é definido como o surgimento de estruturas, padrões e propriedades novas e coerentes através da interação de múltiplos agentes distribuíbos. Algumas característica da emergência são:

  • As estruturas emergentes não podem ser deduzidas apenas a partir das propriedades dos elementos, elas surgem da interação dos elementos e são propriedades do sistema.
  • Auto-organização: um padrão global surge espontaneamente sem a presença de um coordenador central.
  • A emergência também pode ser visto como um processo mantendo a estrutura no lugar ao invés de uma entidade.

Há dois desafios distintos:

  • Entendimento integrativo: uma vez que sabemos como cada indivíduo age, como descobrir o padrão?
  • Entendimento diferencial: conhecendo o padrão, como descobrir o comportamento dos elementos que geram o padrão?

Pesquisas indicaram a existência de um padrão cognitivo determinista e centralizado. Isto é, a maioria dos participantes envolvidos nesta pesquisa não acreditam que elementos aleatórios possam ser uma força construtiva para a formação de um padrão, pelo contrário, acreditam que seja destrutivo (determinista). Além disso também acreditam que os padrões surgem da ações de um controlador (centralizado). Um obstáculo para a melhor compreensão deste fenômenos é a dificuldade em ’pensar em níveis’. Pois fenômenos emergentes existem em dois níves: o nível dos agentes individualmente e o nível do sistema, onde os padrões são observados.

Pensando em um grupo de pássaros voando na formação, a formação consistente de aparentemente estabilidade leva as pessoas a a concluir que os elementos individualmente do bando também são estáveis e possuem um lugar consistente, transferindo uma propriedade do sistema para os indivíduos.

Pensando em um engarrafamento, estamos acostumados a pensar como o indivíduo no carro, parando o caro em frente à um acidente e se movendo quando não há carro, então quando se defrontado com um engarrafemto é fácil pensar em todo engarrafament se movendo quando possível e parando em frente à um acidente por exemplo, ao invés de pensar que há algo retrocedendo, que é um comportamento observado frequentemente nos engarrafamentos. Desta vez o que ocorre é transferir uma propriedade dos indivíduos para o sistema.

Reestruturação

Da mesma forma que houve uma reestruturação na substituição dos números romanos para os árabes, é possível que a representação computacional ajude a reestruturar o conhecimento em muitos domínios, onde tradicionalmente era utilizado técnicas matemáicas, agora podemos utilizar simuação computacional para estudar estes fenômenos.

Como o nome sugere, agentes são entidades com propriedades (variáveis de estado, valores) , se o agente é uma ovelha, poder ter propriedades como posição, idade, velocidade, etc... Agentes podem ter uma representação gráfica que o permita ser visualizado, também possuem regras de comportamento, como por exemplo comer grama. Em modelagem baseada em agentes imaginamos um relógio universal, quando o relógio faz ’tic’, todos os agentes invocam suas regras, se as condições são satisfeitas (se há grama próxima por exemplo) então o comporamento é executado.

O objetivo da modelagem é é criar agentes e regras que gerem o comportamento desejado, estes sistemas podem ser usandos para obter um melhor entendimento de um fenômeno através da experimentação das regras e propriedades.

Uma hipótese por teóricos da representação, é de que tudo que é percebido como difícil pode ser mais com compreensível por uma representação mais adequada. Alguns autores afirmam que a modelagem baseada em agentes (ABM) permite a reestruturação da área de sistemas complexos de forma que a compreensão destes sistemas podem ser democratizadas e a ciência possa avançar. Os modelos servem tanto como um objeto para se pensar a respeito do fenômeno modelado, como uma ferramenta para testar diferentes hipóteses.

Exemplo conceitual: Modelo de formigas

Mais alguns conceitos:

  • Modelo: uma descrição abstrata de um processo, objeto, ou evento.
  • Modelo computacional: um modelo que recebe certos valores de entrada, manipula estas entradas de uma forma algorítmica e gera saídas.
  • Implementação de modelo: processo de transformaçãoum modelo conceitual em uma simulação computacional que funciona (um código).

Em uma modelagem baseada em agentes de formigas, cada agente é uma formiga no qual impomos regras básicas de exploração e coleta de alimentos individualmente, assim como liberação de feronômios. Especificamente, do ponto de vista de cada formiga individual, podemos definir as seguintes regras:

  1. Se eu não estou carregando comida, checo se tem comida aqui. Se tem, eu a pego, se não tem, eu tento seguir a trilha de feronômios mais próxima. Se eu encontro uma, eu viro em direção à este gradiente de feronômio.
  2. Se estou carregando comida, eu viro em direção ao ninho liberando feronômio no chão atrá de mim.
  3. Eu ando uma quantidade pequena e aleatória de distância para frente.

Como resultado da simulação, o sistema forma “trilhas” que levam as formigas às fontes de comida, exibindo comportamento “ótimo” que as fazem explorar primeiro os recursos mais próximos e hainda “balanço” entre exploração do ambiente e exploração dos seus recursos. Estes três fenômenos não foram codificados nas formigas, são um fenômeno emergente do modelo.


O que é então a modelagem e simulação baseada em agentes?

Um modelo qualquer é sempre uma abstração da realidade, ou seja, uma representação simplificada que preserva uma equivalência adequada para determinadas situações de forma que pode ser vista como uma visão substitutiva da realidade para facilitar o raciocínio.

Modelagem baseada em agentes (agent based model - ABM) é uma forma de modelagem computacional na qual a dinâmica de um sistema complexo (social, biológico, etc) é representada em termos dos agentes e suas interações. Os agentes por suas vezes são indivíduos computacionais autônomos que possuem propriedades e regras de comportamento que regem sua interação com outros agentes e com o ambiente.

A ideia central da modelagem baseada em agentes é que a maioria dos fenômenos do mundo real podem ser efetivamente modelados com agentes, um ambiente e uma descrição das interações agente-agente e agente-ambiente. O objetivo deste tipo de modelagem é criar agentes e regras que gerem o comportamento desejado. Uma vez criado, estes sistemas podem então serem usados para obter um melhor entendimento do fenômeno modelado através da experimentação de diferentes regras e propriedades visando testar diferentes hipóteses.

Há principalmente 8 usos principal para um modelo baseado em agentes:

  1. Descrição: um modelo desreve um sistema do mundo real, apesar de ser uma simplificação que não contém todos os seus detalhes, ainda sim é uma descrição grosseira da realidade, caso contrário é um modelo inútil. Pois se incorpora todo os aspectos do fenômeno real, é mais fácil observar a realidade, e se não a descreve de nenhuma forma não há motivos para observar.
  2. Esclarecimento: os modelos apontam os principais mecanismos em um fenômeno, funcionando então como prova de que um conceito é possível.
  3. Experimentação: modelos podem ser executados repetidamente, onde podemos variar os parâmetros para ver seus efeitos no comportamento e na saída.
  4. Prever fontes de analogia: podemos encontrar similaridades com outras simplificações, ainda que modelem fenômeno aparanetemente muito diferentes.
  5. Comunicação/educação: os modelos podem ser usados para permitir que pessoas explorem e entendam melhor determinados fenômenos, facilitando o aprendizado.
  6. Prover peças centrais para o diálogo científico: também chamado de ’um objeto com que pensar’, basicamente se apresenta como uma vantagem em comparação a outros modelos, por exemplo comparando com modelos textuais, elimina amgibuidades de como o leitor pode interpretar a descrição. Possibilitando discutir quais mecanismos são importantes para gerar determinando comportamento removendo ou adicionando novos mecanismos.
  7. Experimento mental: não necessariamente representam um fenômeno do mundo real, mas também podem ser experimentos mentais apenas.
  8. Predição: um dos propósitos que as pessoas comumente atribuem a modelagem computacional é a predição, de fato pode ter o propóito de pensar sobre futuros cenários utilizando a modelagem como uma ferramenta nesta discussão. Porém há a observação que que a acurácia da predição depende dos dados de entrada, e é difícil avaliar a acurácia de uum modelo para prever eventos que não ocorrem ainda. O que de fato é feito é descrever padrões passados e com isso explicar padrões futuros que possam surgir.


Sistemas complexos são definidos como sistemas compostos de múltiplos elementos individuais que interagem entre si e apresentam um comportamento que não pode ser previsto a partir dos próprios elementos. Como resultado das interações entre os elementos distribuídos surge então um ``fenômeno emergente", característico de sistemas complexos. Por sua vez, o fenômeno emergente possui duas características essenciais: A primeira é que as estruturas que emergem não podem ser deduzidas apenas das propriedades dos elementos, pois surgem da interação entre eles, ou seja, são propriedades do sistema e não dos elementos que o compõe. E a segunda característica é a auto-organização, isto é, o fenômeno surge espontaneamente sem a presença de um coordenador central. A emergência pode ser compreendida como o processo que mantém esta estrutura.

A eficiência de um modelo depende da correta tradução da realidade para o modelo no ato de modelar, que por sua vez, é exatamente o ato de simular a realidade através de modelos. É por isto que é importante pensar no modelo antes do próprio ato de modelagem começar, identificar as variáveis relevantes para o problema que será abordado e definir a linguagem que será utilizada, pois a elaboração do modelo depende destes pontos cruciais. Como um modelo é uma simplificação da realidade, é possível que uma mesma realidade seja modelada de diferentes formas, já que nenhum modelo é a própria realidade, em si, temos como exemplo a forma mais tradicional de modelagem científica de processos dinâmicos: equações diferenciais (equation based modeling - EBM).

Resulta por tanto ser natural comparamos ambas ambas estratégias de modelagem, EBM e ABM. Uma diferença importante é que ABM pode modelar populações heterogêneas com facilidade enquanto EBM parte geralmente da hipótese de homogeneidade (mean field), e em muitas áreas a heterogeneidade possui um papel central. Da mesma forma que o ABM pode ser utilizada para modelar interações complexas entre agentes, também pode ser utilizado para modelar interações complexas entre agentes e o ambiente onde o ambiente é representado por agentes estacionários, assim, além da ABM ser indicada para situações em que temos heterogeneidade entre os agentes, também é indicada quando há um ambiente heterogêneo.

Outra vantagem é que enquanto para modelar com equações precisamos ter um bom conhecimento fenomenológico dos mecanismos internos do sistema de interesse, em ABM precisamos apenas das regras a nível de indivíduos, o que geralmente é mais direto de se obter. Um grande risco no processo de modelagem como um todo é modelarmos os efeitos e não as causas, pela natureza de abordagem mais direta a nível individual da ABM, partimos exatamente da ideia de modelar estas interações para que o fenômeno emergente de nosso interessa seja então o resultado do nosso sistema, permitindo então que naturalmente nos foquemos na causa para entendermos o efeito. Os resultados do ABM também são mais detalhados uma vez que as saídas não são apenas a nível do sistema, mas também a nível individual. Outra diferença bastante obvia é que ABM representa resultados com indivíduos de forma naturalmente discreta e frequentemente com flutuações (quando se inclui probabilidades) em quanto EBM fornece uma representação contĩnua e sem ruido do mesmo sistema.

A modelagem baseada em agentes também possui uma concepção de tempo mais rica quando comparado com outras técnicas de modelagem, pois nos permite observar os indivíduos interagindo ao longo do tempo. Porém como qualquer modelo, há situações em que o custo de construir uma ABM excede seus benefícios. De maneira geral se o problema envolve um largo número de agentes homogêneos, será possível obter uma solução mais acurada e em menor tempo usando uma solução como campo médio, logo podemos considerar melhor modelado por esta categoria de modelos.

Quanto ao custo computacional em si, há uma relação de custo benefício semelhante a outras formas de modelagem: resultados mais detalhados são obtidos com modelos mais detalhados que exigem maior poder de processamento. Porém, de maneira geral ABM é computacionalmente mais pesado do que EBM, uma vez que estes últimos são relativamente simples, pois frequentemente consistem de um pequeno conjunto de equações.

Por fim, vale-se destacar que a modelagem baseada em agentes permite manter um histórico de interação entre os agentes, e este histórico pode servir para que o agente altere seus comportamentos e estratégias baseadas em eventos passados. Isto o torna uma ferramenta muito útil quando se modela interações complexas de agentes adaptativos. Devido a forma em que os ABM são construídos, novas regras de interação podem ser adicionadas, removidas ou alteradas com relativa facilidade.

Como pode-se perceber, modelagem baseada em agentes é mais um conceito para a construção de um modelo que uma `receita'. De maneira geral, pode-se dizer que a modelagem baseada em agentes é uma modelagem que utiliza agentes, que por sua vez são um tipo de inteligência artificial, de forma que é importante ter um pouco de familiaridade com estes conceitos e outros correlatos.

Inteligência artificial é o único campo a tentar construir sistemas que funcionarão de forma autônoma em ambientes complexos, assim podemos definir inteligência artificial como o estudo de sistemas que recebem entradas do ambiente e executam ações para retornar alguma saída de forma autônoma. Entre teorias existentes que são utilizadas dentro de inteligência artificial, podemos mencionar especialmente o aprendizado de máquina e o algoritmo genético, tópicos que serão discutidos com um pouco mais de detalhes nas próximas seções.

Agentes autônomos são uma abordagem no estudo de IA fortemente inspirado pela biologia. Um agente nada mais é que um sistema que através de sensores consegue perceber o ambiente e agir sob o mesmo, e é autônomo uma vez que suas operações são realizadas sem a interferência do usuário. O sistema que forma o agente de maneira geral pode ser constituído de software e hardware permitindo que o sistema manipule um ambiente real.

E por fim, temos que um sistema multiagente (multiagent sytem - MAS) é uma aplicação de agentes, onde tem-se vários agentes, do mesmo ou diferentes tipos, que trabalham de forma colaborativa pra completar uma tarefa ou resolver um problema. Uma característica importante é que compartilham de um mesmo ambiente, sendo necessário então um framework que permita a comunicação e coordenação entre os agentes.

Uma simulação construída através da ABM (ainda chamado de agent based modelling and simulation - ABMS) é um sistema multiagente em um ambiente simulado com um tempo virtual. Dessa forma dentro da nossa modelagem o sistema do agente é constituído apenas de software, sendo apenas um programa, um agente de existência virtual que percebe e opera sobre um ambiente igualmente virtual. Aqui podemos destacar ainda que apesar de se sobreporem muitas vezes, MAS e ABMS tradicionalmente são discutido na literatura sob diferentes enfoques. O objetivo da ABM costumeiramente é entender alguma propriedade emergente que surge do comportamento coletivo do agentes, sendo mais usado em ciências, enquanto MAS tem o objetivo de resolver algum problema em particular sendo mais comumente utilizado nas engenharias. Devido a enorme variedade de aplicações, na literatura ainda podemos encontrar outros nomes para modelos construídos através da ABM dependendo muitas vezes do enfoque como por exemplo agent-based simulation e agent-based systems que possuem a mesma abreviatura (ABS), agent-based social simulation (ABSS) que ainda é sub-dividido em três categorias - social aspects of agent systems(SAAS), multi-agent based simulation (MABS) e social simulation (SocSim)- além do próprio MAS que aparece também como sinônimo em parte da literatura.

Ainda vale destacar a importância do conhecimento de alguns princípios básicos para uma boa modelagem. No nosso modelo evidentemente é necessário conhecimento matemático, pois para uma modelagem computacional precisamos abstrair matematicamente. Princípios físicos básicos devem ser considerados mesmo em simulações básicas, pois por exemplo os animais devem ter uma movimentação plausível, além de outros fenômenos naturais complexos que podem serem adicionados a depender da modelagem. E evidentemente, se faz necessário ter conhecimento de princípios biológico, uma vez que estamos tentando modelar um fenômeno de natureza biológica, particularmente de natureza ecológica no nosso caso. %Uma vez que o cientista responsável pela modelagem precisa trabalhar com observações da natureza que fogem do seu domínio principal, como este é o caso, passa-se a ser obrigatório apoiar-se em modelos já consolidado e consultar a literatura.

Uma vez que construímos um modelo satisfatório, um dos papeis mais importantes da modelagem é a simulação. Pois é através desta que podemos determinar o quanto ela se aproxima da realidade. A partir então do momento que temos um grau de fidelidade aceitável no aspecto que o modelo se propõe a modelar, podemos criar situações que são difíceis de serem observadas e estudadas no mundo, cumprindo então o objetivo de que o modelo possa a ser utilizada como ferramenta de tomada de decisão.

Principais materiais utilizados:

Anterior: Autômato celular e modelo baseado em indivíduos | Índice: Ecologia | Próximo: MBA: Gás simples