Un artículo ha estado rondando últimamente discutiendo el uso de algoritmos genéticos para optimizar las "órdenes de compilación" en StarCraft II.¿Qué modelo se adapta mejor a la optimización para un juego de estrategia en tiempo real?
http://lbrandy.com/blog/2010/11/using-genetic-algorithms-to-find-starcraft-2-build-orders/
El estado inicial de un partido StarCraft es pre-determinado y constante. Y al igual que el ajedrez, las decisiones tomadas en esta etapa inicial del partido tienen consecuencias de larga data para la capacidad de un jugador de jugar en el medio y último juego. Por lo tanto, las diversas posibilidades de apertura u "órdenes de compilación" están bajo un intenso estudio y escrutinio. Hasta la circulación del artículo anterior, la creación de órdenes de construcción asistidas por computadora probablemente no era tan popular como lo ha sido recientemente.
Mi pregunta es ... ¿Es realmente un algoritmo genético la mejor manera de modelar órdenes de fabricación de optimización?
Una orden de compilación es una secuencia de acciones. Algunas acciones tienen requisitos previos como, "Necesitas construir B antes de poder crear el edificio C, pero puedes tener el edificio A en cualquier momento". Entonces, un cromosoma puede parecerse a AABAC.
Me pregunto si un algoritmo genético realmente es la mejor manera de abordar este problema. Aunque no estoy muy familiarizado con el tema, estoy teniendo dificultades para adaptar el concepto de genes a una estructura de datos que es una secuencia de acciones. Estas no son elecciones independientes que pueden mezclarse y combinarse como una cabeza y un pie. Entonces, ¿qué valor hay para cosas como la reproducción y el cruce?
Estoy pensando que cualquier ajedrez que use la IA sería más apropiado ya que la variedad de opciones en un momento dado podría verse como un árbol en cierto modo.
Los genes no se pueden mezclar y combinar libremente. (mensaje escrito con mi tercera nariz) –
define "mejor", como en * Es X realmente el mejor algoritmo *. – peterchen
¿Más apropiado? –