3. Ejemplos de aplicación de los Algoritmos Genéticos

Los algoritmos genéticos son usados comúnmente, en la industria de investigación y desarrollo, como medios de optimización de variables e identificación de patrones en problemas de minería de datos. Tratan el problema de la búsqueda del mejor individuo a partir de un periodo previo de aprendizaje (creación de la población y mejora de su fitness medio a partir de un conjunto de generaciones que evaluará los resultados, muchas veces de forma supervisada, para  el dominio del problema planteado).

A continuación, se expondrán tres ejemplos de su aplicación en distintos ámbitos de la programación.

Un ejemplo de aplicación a videojuegos de los algoritmos genéticos es el bot del Quake III Arena:

Asegurarse de que todas las relaciones difusas para cada individuo de un videojuego y las preferencias de las armas están en equilibrio puede ser una tarea difícil y consume mucho tiempo. Aquí, la selección genética puede ser utilizada para la optimización de las relaciones difusas. Esta, puede tratar de equilibrar las relaciones difusas para cada una de las propiedades y características del juego.

En Quake III Arena, un número determinado de bots, con la misma lógica difusa, compiten. Cuando cada bot ha luchado con un número específico de otros bots, se hace un ranking de los mejores. Estas clasificaciones se pueden basar en el número de victorias y derrotas (función fitness). En base a estos rankings de selección genética se seleccionarán los individuos a reproducirse. Cuanto mejor sea la clasificación del bot, mayor será la probabilidad de reproducción de este. Todos los bots comienzan con la misma lógica difusa por lo que las estructuras de árbol son las mismas y no hay problemas en cuanto a terminología en la reproducción y generación de nuevos individuos. El promedio entre los valores difusos de las relaciones difusas de ambos padres puede ser utilizado como operador de reproducción. Las relaciones difusas se cruzan para reemplazar y generan las relaciones borrosas del nuevo individuo. El último paso en este proceso es la mutación de la relaciones difusas del nuevo individuo. Para ello, se cambian ligeramente los valores de las relaciones difusas con valores aleatorios. Cuando las relaciones borrosas de los nuevos integrantes de la población están mutadas, todos los bots volverán a luchar para establecer un nuevo ranking.

Después de repetir este proceso muchas veces las relaciones difusas de los robots tienden a tener propiedades y características específicas conforme a la clasificación usada en la selección genética. Los resultados entrenados, serán los bots contra los que jugaremos en el juego.

Otro ejemplo de aplicación a algoritmos genéticos en la optimización de variables es el siguiente:

En el siguiente video, se muestra la aproximación al cuadro de la Mona Lisa mediante un algoritmo evolutivo que añade círculos, y modifica las dimensiones y gama de colores de los actuales, para conseguir la solución por medio de un modo de búsqueda supervisada.

Un último ejemplo del uso de algoritmos genéticos es el siguiente robot que aprende, mediante el uso de estos, a recorrer un escenario.

van Waveren, J.M.P. The Quake III Arena bot. 2001 University of Technology Delft (Faculty ITS)

 

Deja un comentario