Em formação

Como exatamente os modelos evolutivos teóricos do jogo são descritos durante a implementação para simulações de computador?

Como exatamente os modelos evolutivos teóricos do jogo são descritos durante a implementação para simulações de computador?



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Quando um biólogo ou um leigo tenta raciocinar a explicação evolucionária para algo, eles simplesmente usam o inglês com alguma matemática incluída (para um exemplo aleatório, escolha qualquer explicação de "O gene egoísta" - por exemplo, o raciocínio por quê " discriminar em favor dos próprios ovos ", a estratégia é empregada por Guillemots, no capítulo" Gênese ", página 103. Não vou citá-la na íntegra, pois é uma página de texto).

Outro exemplo de tal parede de inglês é (inspirado em Dawkins) Bio.SE pergunta: "Por que 'Grudger' é uma estratégia evolucionária estável?"

Quando um biólogo tenta realmente modelar o desenvolvimento evolutivo para ver quais características ganhariam, ele precisaria de alguma forma ensinar o computador a implementar esse modelo: quais são os fatores ambientais, qual é o genótipo envolvido, como exatamente é expresso em diferentes fenotípicos e estendidos características fenotípicas e como o ambiente afetaria um indivíduo com esse fenótipo.

Minha pergunta é: Existe algum tipo de maneira padrão de construir esse modelo? Um idioma específico de domínio (na terminologia da ciência da computação) que é usado por muitos biólogos diferentes ou alguns pacotes / software de modelagem padrão? Por exemplo. algum tipo de formato XML especial, etc ...

Ou é sempre apenas uma implementação personalizada feita à mão por pesquisadores individuais para seu modelo atual?


Só para esclarecer:

  • NÃO estou perguntando como os modelos se parecem teoricamente. Estou perguntando qual linguagem / formato (se houver um padrão) é usado para codificá-los para executar simulações.

  • Se houver discrepâncias entre o tipo / finalidade dos modelos, os que mais me interessam são os teóricos de jogo.


O campo mais intimamente associado aos modelos da teoria dos jogos em biologia é a teoria dos jogos evolucionária. Se a modelagem for necessária, o paradigma típico é a modelagem baseada em agente, e um bom livro introdutório é:

Yoav Shoham e Kevin Leyton-Brown [2009], "Sistemas multiagentes: fundamentos algorítmicos, teóricos dos jogos e lógicos", Cambridge University press.

Quanto à construção real do modelo, e o que descrever / como, vou guiá-lo através do meu procedimento usual, pois este é um campo em que me especializo:

  1. Defina que tipo de estratégias você acha que são relevantes para as interações que está modelando. Selecione o que você espera que seja o retorno dessas estratégias. Por exemplo, se você está estudando a evolução da cooperação, pode selecionar 'Cooperar' e 'Defectar' como suas estratégias e o dilema do Prisioneiro como sua matriz de recompensa, mas talvez você escolha algo mais geral. Infelizmente, na maior parte do EGT, não é feita uma distinção clara entre genótipo e fenótipo, e eles geralmente são equacionados. No final desta etapa, você tem uma matriz de jogo G. Às vezes, quando a mutação ou inovação são explicitamente necessárias, mesmo no modelo inviscid, abordagens analíticas adicionais são realizadas neste estágio. Eu recomendo Hofbauer & Sigmund (2003) para um tratamento amplo da etapa 1.
  2. Agora você precisa de uma intuição básica de qual é o comportamento 'padrão' nesta interação, então resolva a dinâmica do replicador de G.
  3. O principal interesse em EGT agora são as populações estruturadas. É aqui que a modelagem computacional é normalmente usada. No entanto, antes de me voltar para a simulação, primeiro tento a melhor abordagem analítica que conheço. Eu uso a transformação de Ohtsuki-Nowak em G para resolver analiticamente a interação para gráficos aleatórios (Ohtsuki & Nowak, 2006).
  4. Se ainda estiver interessado na pergunta e as etapas 2 e 3 não capturarem toda a sutileza do sistema que desejo estudar, começo a construir um modelo computacional multiagente. Certifico-me de que meu modelo tem alguma maneira de escalar para o caso completamente invíscido da dinâmica replicativa e o caso simplesmente estruturado da transformada ON. Se meu modelo computacional discorda da abordagem analítica desses regimes, fico preocupado. Caso contrário, continuo com as técnicas de modelagem baseadas em agente padrão. Pessoalmente, eu codifico em Matlab. Nunca vi uma simulação EGT moderna que exigisse o desempenho do C / Fortran. Como sugerido em outra resposta, se você não tem experiência em programação, pode usar o NetLogo. No entanto, minha experiência é que os modelos são geralmente simples de implementar do zero, e os modelos NetLogo geralmente escondem de você algumas sutilezas muito importantes (como qual regra de reprodução usar: morte-nascimento, nascimento-morte, imitação?) E geralmente levam para papéis mais fracos.

Observe o amplo tema. Esses modelos são normalmente descritos como equações diferenciais, e essa abordagem é preferida aos modelos baseados em agente. No entanto, se uma abordagem de equações diferenciais claras não capturar todas as sutilezas do que você está estudando, então um paradigma ABM é adotado.


A linguagem específica que um bioligista usa depende das compensações entre velocidade e facilidade de programação. Muitos modelos são escritos em C ou Fortran se a velocidade for primordial. Por outro lado, as pessoas escreverão modelos em linguagens de nível superior se a velocidade for menos importante. Esses seriam Python, R, MatLab, etc ... Em meus modelos, que são escritos principalmente em Python, escrevo todas as classes do zero e, em seguida, todos os componentes de simulação à mão também. Como quase todos os modelos são de natureza matemática, a linguagem é inconseqüente. Os algoritmos devem se comportar de maneira semelhante em todas as plataformas. Se você está procurando exemplos de maneiras fáceis de codificar modelos teóricos de jogos, considere o NetLogo, eles têm alguns exemplos legais usando teoria de jogos.


Não existe uma maneira única de construir esse modelo. Eles podem variar de uma declaração matemática simples como a regra de Hamilton (rB> C) aos modelos de difusão química usados ​​para descrever os padrões de coloração da pele de animais (como listras de zebra, manchas de leopardo e semelhantes).

Existem esforços para construir modelos moleculares de células inteiras como este modelo de divisão do Mycobacterium genitalium, que integra cerca de 30 modelos matemáticos diferentes para descrever diferentes aspectos do organismo. Existem esforços para construir esse modelo de um cérebro inteiro também.

Outro tipo comum de modelo para a biologia evolutiva é o uso da teoria dos jogos, em que diferentes estratégias podem ser colocadas umas contra as outras, como na competição do dilema do prisioneiro que Dawkins descreve em O gene egoísta.

Isso continua e continua. Basicamente, a modelagem biológica é conduzida pelos tipos de modelos matemáticos que conhecemos. Novos modelos irão revelar novos paradigmas de como a biologia funciona. Eles podem ser altamente matemáticos, mas sua importância relativa e quando se aplicam e o que significam são mais analogia do que prova.

Por exemplo, no dilema do prisioneiro, as primeiras disputas mostraram que Olho por Olho era o modelo mais forte - geralmente ajudando os outros, mas traindo quando há um histórico de traição. As idéias da época se voltaram para a cooperação geral entre as populações. Repetições mais recentes mostraram que, se houver uma equipe de participantes que fazem presentes extraordinários uns aos outros (permitir traição sem retribuição), eles podem competir contra outros modelos muito bem.

Nunca se pode provar que um modelo egoísta para o dilema do prisioneiro não aparecerá, embora os sistemas biológicos pareçam ser altamente cooperativos. Isso é um modelo, não uma prova.


Assista o vídeo: Modelowanie obiektów w postaci równań stanu cz. 1, wybór zmiennych stanu, sposoby symulacji (Agosto 2022).