Monday, March 23, 2009

Algoritmos Geneticos

Breve descripción del medio ambiente.


En esta etapa de desarrollo, el medio ambiente es un mundo virtual en dos dimensiones, representando una cancha de futbol pero con las porterías en las esquinas. El juego cuenta con dos equipos, Rojos y Azules, ambos controlados por agentes. Cada escenario cuenta con dos bases en los extremos del mismo en donde los personajes podrán anotar puntos.



Descripción detallada de la acción a aprender por el agente.


El problema que se optimiza utilizando la técnica de algoritmos genéticos es la de generar a un equipo que tenga los mejores atributos para jugar contra algún equipo predeterminado, es decir si se juega contra el equipo A el algoritmo determina que jugadores fueron los mejores y al terminar el partido se realiza el algoritmo de forma que para las generaciones futuras sobreviven los que tengan mejor desempeño contra un equipo.


Solución planteada usando Algoritmos Genéticos


Codificación del cromosoma: Cada cromosoma es un jugador de un equipo y tiene la siguiente configuración:


Cromosoma=(Equipo, pelota,compañeros, enemigos, inteligencia, especialización, vision en x, vision en y, vision en z, velocidad).


Un ejemplo de un cromosoma es el siguiente:(equipo rojo, pelota, rojos, azules, tonto, atacar, 10,10,10,3)


Funcion a maximizar: 


Número de enemigos que elimina, consideramos que para este problema se puede    considerar como un buen jugador al que elimina más jugadores enemigos, debido a que son jugadores que estuvieron participando activamente y que seguramente son los más valiosos, es por eso que los que eliminen más contrarios son los jugadores que se esperaría que sobrevivieran para la siguiente ronda


f(X)= muertes enemigas



Forma de hacer la reproducción:


La función que se define previamente es la que determina como se realiza la reproducción y funciona de la siguiente manera:


Enemigos Matados Probabilidad Esperanza Actual

Jugador 1 4       0.007            0.444                0


Jugador 2                    231                         0.4261          2.566                3


Jugador 3                     7                            0.012            0.077                0


Jugador 4                     3                            0.0055          0.033                0 


Jugador 5                    103                         0.19             1.144                 1


Jugador 6                    194                        0.3579           2.155                2



La reproducción en todas las ocasiones se lleva a cabo de la siguiente forma Jugador 1 y Jugador 6, Jugador 2 y Jugador 5, Jugador 3 y Jugador 4.


Forma de hacer el crossover


El crossover se realiza en los mismos puntos en cada una de las generaciones en los puntos 6 y 4 del cromosoma.


Forma de hacer la mutación:


Se evalúa cada uno de los parámetros del cromosoma y con una probabilidad de 0.1% se modifica de valor, es decir si un jugador tiene un atributo con un determinado valor si es necesario realizar una mutación se tomará el siguiente valor que puede tomar el parámetro, por ejemplo si un jugador tiene como valor en el campo Inteligencia = Tonto, si se realiza una mutación se cambiará por Inteligente.


Ejemplo de una generación de 4 elementos


Jugador 1=(Equipo rojo, Pelota, rojos, azules, tonto, atacar, 10,10,10,3)

Jugador 2=(Equipo rojo, Pelota, rojos, azules, Inteligente, defender 13,13,13,2)

Jugador 3=(Equipo rojo, Pelota, rojos, azules,Atacante,atacar,7,7,7,4)

Jugador 4 =(Equipo rojo, Pelota,rojos,azules,tonto, defender 15,15,15,2)


Conclusiones después de la programación


Al terminar la programación terminamos muy sorprendidos ya que entre más juega el equipo genético contra cualquier otro equipo nos dimos cuenta que se adaptan a las circunstancias y generalmente después de un par de corridas el equipo genético resulta vencedor. por otra parte es interesante ver que si juegan con un equipo completamente diferente tardan un poco en adaptarse por lo que sería recomendable tener un registro de configuraciones exitosas contra algunos equipos.




Video:

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.