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

Metodologias de Investigação

Quase todos os cursos as tem, quase todos as odeiam e ninguém consegue fugir delas. Nomeadamente ninguém consegue fugir à construção de um projecto se efectivamente pretender continuar com o trabalho de produção de tese.

Contudo a cadeira de Metodologias de Investigação sofre de um problema, comum a muitas cadeiras horizontais: Na sua generalidade dispersa-se por áreas e assuntos que são de pouco interesse para os intervinientes de uma área científica específica e transformam esta cadeira numa especie de matemática à qual ninguém pode fugir, mas da qual todos receiam os piores resultados.

Na minha opinião esta cadeira faria sentido se fosse mais balizada dentro dos cursos de mestrado em que é leccionada, funcionando como uma cadeira de acompanhamento do aluno, funcionando como ferramenta de desenvolvimento e evolução. Acho que metodologias de investigação é por aquilo que se propõe uma cadeira excelente para ser considerada uma cadeira prática e não uma cadeira teórica como é apresentada comumente.

Nota: dentro de 15 dias tenho que apresentar um pré-projecto de tese, na cadeira de MI.

Ciências da Complexidade

Talvez o mais complicado deste curso seja definir o que é. Sendo plural, ciências, parece ainda não se constituir como uma disciplina, mas contudo a existência do curso seja já sintomático que as ciências da complexidade caminham para ciência da complexidade e cada vez mais se tornem autónomas e com um corpo de investigadores próprios. Mas as ciências da complexidade são também um novo paradigma da investigação científica em que cada vez menos clássico, o trabalho de investigação vive num turbilhão de disciplinas onde o todo não é igual à soma das partes. A chamada interdisciplinaridade.

Nesta aventura a que me propuz talvez o primeiro grande desafio seja conseguir colocar de forma simples o que afinal é isto de ciências da complexidade. É uma tarefa para dois anos, para muitas noites sem dormir, para muitas ideias geniais (mesmo que depois sejam grandes disparates), é o tornar a ser criança, libertar o espirito dos preconceitos e absorver novas formas de pensar e ver o mundo.

É afinal a aventura do conhecimento.