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.
La acción que realizaran los agentes en esta etapa del proyecto, será, por medio del uso de redes neuronales, y es el comportamiento que deben de seguir los agentes que tienen la pelota y se disponen a anotar. El agente tiene que visualizar a su alrededor para ver por dónde (zonas) vienen atacando los enemigos. Una vez identificado esto, debe huir del peligro pero teniendo en cuenta que se debe anotar un punto, por lo que debe intentar esquivar a los enemigos, o bien llevarlos a donde hay compañeros que lo defiendan, para después dirigirse a la meta.
Solución planteada usando Redes Neuronales:
Los patrones de aprendizaje que se alimentan a la red son la existencia de enemigos en zonas aledañas al agente que lleva la bandera. Se ha dividido el área alrededor del agente de la siguiente manera:
Zona 1 | Zona 2 | Zona 3 |
Zona 4 | Zona 5 (posicion del jugador) | Zona 6 |
Zona 7 | Zona 8 | Zona 9 |
La entrada de la red neuronal es entonces, la existencia de algún enemigo en alguna de las zonas 1 a 9 a excepción de la 5. Adicionalmente se alimenta también la distancia a la que están de la zona 5, por lo que sí es una distancia muy cercana a la zona 5, el agente decide cambiar de dirección para evitar estar en el rango de ataque de los enemigos.
La salida de la red es un número que indica la zona a la que se debe mover el agente en el siguiente movimiento. Es un entero y se utiliza para la función de movimiento por zonas.
La red es multicapas y en total se utilizan 3 capas, las cuales son:
Entrada (8 neuronas)
Intermedia ( 3 neuronas)
Salida (1 neurona)
Y se usaron los siguientes parámetros en la red:
Tasa de aprendizaje: 0.3
Momentum: 0.3
Iteraciones: Se itera durante una jugada completa (mientras el agente tiene la pelota e intenta anotar), estas iteraciones son variables.
Conclusiones después de la programación
La implementación de la red neuronal si hace mucha diferencia en el desarrollo del juego, dando ventaja a estos agentes ya que además de darles mayor variedad de comportamiento, también les dio ciertas estrategias, como cuando quien lleva la pelota se ve acorralado y no tiene modo de avanzar a la portería, decide regresar a donde están sus compañeros, los cuales ayudan a eliminar a los enemigos para dejar el paso libre para que el agente anote. Esta estrategia no era algo que se tuviera planeado, simplemente se le dio la forma en cómo debía actuar ante ciertos parámetros y solo la formo.