Como eu poderia aplicar um algoritmo genético a um jogo simples que segue trilhas de montanha-russa?[fechado]

StackOverflow https://stackoverflow.com/questions/1779362

  •  21-09-2019
  •  | 
  •  

Pergunta

Tenho rédea solta sobre o que faço em uma tarefa final para a escola, no que diz respeito à modificação de um jogo direct-x simples que atualmente apenas faz a câmera seguir alguns trilhos de montanha-russa.Desenvolvi um interesse por algoritmos genéticos e gostaria de aproveitar esta oportunidade para aplicar um e aprender algo sobre eles.No entanto, não consigo pensar em nenhuma maneira de aplicar um neste caso.Quais são algumas opções disponíveis para mim?

Foi útil?

Solução

Pela sua consulta, parece que você deseja usar algoritmos genéticos para obter otimizado trilhos de montanha-russa.Para qualquer problema de otimização:

  1. você primeiro precisará dividir a solução desejada em seus componentes ou variáveis ​​de projeto.
  2. Depois de ter as "variáveis", você precisa formular um função objetiva com eles.Normalmente você o codificaria de forma que a solução desejada o minimizasse.
  3. Então você precisa decidir sobre um esquema de codificação para usar em seu Algoritmo Genético. Algoritmo Genético Codificado Real é mais útil nos casos em que você possui um espaço de pesquisa contínuo.

Estas são as primeiras coisas.Depois de obtê-los, você precisa decidir sobre uma estratégia de cruzamento e mutação.Então, finalmente, você precisa decidir se deseja usar um código GA existente em seu problema, usar alguma biblioteca ou codificá-lo você mesmo.

Uma pergunta mais descritiva me ajudará a acrescentar mais coisas a isso.Em que idioma você pretende trabalhar?

EDITAR:Eu não usei sozinho, PARDISEO é uma biblioteca baseada em modelo C++ para, entre muitas outras coisas, algoritmos genéticos também.Além disso, você pode dar uma olhada na versão C de um Real Coded GA em http://www.iitk.ac.in/kangal/codes.shtml

Do seu comentário (OP):

Literalmente, tudo o que faz é carregar um arquivo XML com algumas coordenadas de faixa, construir os trilhos e fazer com que a câmera siga essas faixas como se você estivesse em uma montanha -russa.Tudo isso em cerca de 100 mil linhas de código

Eu acho que você gostaria de olhar para as coordenadas da pista como possíveis variáveis ​​de projeto e ver que combinação delas lhe dá uma otimização (em termos de custo, melhor visão, conforto, etc.) e então ver que relação matemática você pode obter entre o melhor conjunto.Então você está pronto para aplicar o GA a ele.:)

Outras dicas

Quais são os critérios para uma montanha -russa bem -sucedida? Depois de descrever isso quantitativamente, você tem sua função de condicionamento físico. Então você precisa considerar quais são as peças de uma montanha -russa? É algo que você pode até quebrar em pedaços? Nesse caso, você tem seus 'genes', e uma montanha de rolo individual é uma solução que pode ser testada contra a função de condicionamento físico, ou mutações ou cruzadas. Em seguida, você faz uma população de montanhas -russas, atravessa e mutações em um tamanho de amostra da população e aplica a função de condicionamento físico aos indivíduos. Você mantém os indivíduos mais adequados para a próxima geração e repita o processo novamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top