Modelo Bak-Sneppen

Andámos todos de volta do modelo do Merton, que nem tive tempo para outras coisas, mas agora que a entrega no passado, pus-me a brincar com o modelo Bak-Sneppen, falado na aula de Matemática. Queria ver o boneco a funcionar… e depois de o implementar, não é que funciona?

Bak-Sneppen

Para quem quiser experimentar, criei o projecto no NetBeans e podem fazer download do projecto para o correr no vosso computador.

Exemplo RepastPy – Mutação Celular

O desenvolvimento de modelos com o RepastPy é simples e rápido, mesmo para quem não esteja dentro da linguagem Java. A utilização do RepastPy para desenvolver modelos de base mostra a potencialidade desta ferramenta permitindo implementar um modelo em relativamente pouco tempo, exportando posteriormente para ficheiros de Java que podem ser importados noutros projectos.

Para ilustrar a utilização do RepastPy criei uma pequena simulação onde se ilustram alguns conceitos do RepastPy. Neste modelo temos um espaço bidimensional (100×100) completamente preenchido por agentes (células). As regras desta simulação são explicadas seguidamente:

Células:

  • Cada célula em cada geração é de um determinado tipo.
  • A sua representação na grelha é feita numa escala de cinzento, sendo que cada cinzento representa um tipo de célula diferente.
  • As células não nascem nem morrem. Apenas mudam de tipo a cada iteração.

Espaço:

  • O espaço (100×100) está completamente preenchido por células distribuídas aleatoriamente.
  • Inicialmente o tipo de cada célula é definido aleatoriamente a partir de um conjunto de valores possíveis definidos por dois parâmetros.

Evolução:

  • A cada passo (step) do modelo, cada célula vai mudar de tipo, seleccionando uma célula da sua vizinhança de Moore (8 células vizinhas) e copiando para si o tipo da célula escolhida.
  • Existe um parâmetro de mutação (probabilidade) que permite definir se a célula vai sofrer uma mutação nessa geração. Caso assim seja, a célula em vez de copiar um tipo de uma célula vizinha, vai aleatoriamente mutar para um qualquer tipo do intervalo de tipos possíveis definido no arranque do modelo.

Como experimentar o modelo:

Pré-requisitos:

  • Ter o Java instalado no seu computador – Pode fazer download do Java a partir do site da Sun.
  • Caso seja utilizador windows, deve ter também o .NET Framework 1.1 instalado.

Instalação:

  • A partir do site do Repast, faça download do Repast 3.1 e instale-o.

Correr o modelo:

  • Abra o RepastPy e abra o modelo cell_mutation. Compile (bandeira azul do menu) e Corra (bandeira verde do menu) o modelo.

Exemplo:

  • Se tudo correr bem deve ter um modelo que se comporte de forma semelhante à imagem seguinte que mostra o início e o estado da simulação ao fim de aproximadamente 1000 iterações.

cell_mutation