Artículo presentado en el reciente CoSECiVi 2020, celebrado online el 7 y 8 de octubre de 2020.
RESUMEN DEL TRABAJO:
En los últimos años, la competición internacional de IA en Hearthstone ha aumentado exponencialmente su fama entre la comunidad científica, que ha participado de forma activa con múltiples agentes. Uno de los mejores, EVA, aplicaba un enfoque greedy combinado con un algoritmo evolutivo (AE). Sin embargo, casi todas las propuestas (incluida EVA) fueron diseñadas para funcionar de manera generalista, es decir, para cualquiera de los posibles héroes del juego. Esta generalización presenta una gran carencia, ya que no se explotan las cartas exclusivas de cada héroe, así como sus posibles perfiles de comportamiento diferentes. Este artículo sigue una filosofía similar a EVA, también híbrida (Greedy + AE), pero teniendo en cuenta tres arquetipos o perfiles muy extendidos entre la comunidad de jugadores: Aggro (ofensivo), Control (defensivo) y Midrange (intermedio). De forma que, en esencia, se han optimizado tres comportamientos diferentes con el objetivo de crear un agente más especializado capaz de usar un motor de comportamiento diferente dependiendo del héroe con el que juegue. Para demostrar la valía de este enfoque, se han llevado a cabo varios experimentos, comparando los agentes evolucionados con EVA en muchas partidas diferentes, usando tres héroes distintos. Los resultados muestran una mejora sobre EVA para los tres agentes basados en perfil, y un gran rendimiento en general frente a otras propuestas menos competitivas.
*** Presentación creada por Alejandro Romero ***
SESIÓN DE APRENDIZAJE N° 5 SEMANA 7 CYT I BIMESTRE ESTUDIANTES.pdf
GRETIVE: Un Bot Evolutivo para HearthStone basado en Perfiles
1. CoSECiVi 2020
GRETIVE:
Un Bot Evolutivo para
Hearthstone
basado en Perfiles
Antonio M. Mora García
Alejandro Romero García
Dpto. Teoría de la Señal, Telemática y Comunicaciones.
Universidad de Granada.
2. CoSECiVi 2020
Índice
⦿ Hearthstone y Sabberstone
⦿ Bot propuesto
⦿ Funciones basadas en perfiles
⦿ Comparativa con EVA
⦿ Conclusión
⦿ Resultados competición
4. Hearthstone
Tableros de juego
propio y rival
Esbirros enemigos
Mano actual
Cristales de maná
Puntos de salud
héroe enemigo
Puntos de salud
héroe propio
CoSECiVi 2020
5. Sabberstone
Framework desarrollado por Hearthsim para simular partidas
de Hearthstone de manera automatizada.
Cuenta con el repertorio casi completo de cartas actualizadas.
Utilizado para la competición internacional de IA en
Hearthstone.
CoSECiVi 2020
6. Bot propuesto: Gretive
El bot de Hearthstone propuesto, llamado
GRETIVE, está compuesto por un conjunto de
reglas de decisión, siguiendo una estrategia
greedy con el fin de decidir la mejor jugada en
cada turno.
Implementa un Algoritmo Genético (AG) con
un enfoque generacional. Cada individuo se
representa como un vector de diez valores reales,
que representan los diez pesos [w1,...,w10]
utilizados para seleccionar la ejecución de la acción
que tenga el mejor valor de preferencia.
Valor de preferencia =
w1 · Ataque total de los propios esbirros +
w2 · Ataque total de los esbirros enemigos +
w3 · Salud total de los propios esbirros +
w4 · Salud total de los esbirros enemigos +
w5 · Salud total de los propios esbirros con
Provocar +
w6 · Salud total de los esbirros enemigos
con Provocar +
w7 · Armadura de Héroe propio +
w8 · Armadura de Héroe enemigo +
w9 · Salud del héroe propio +
w10 · Salud del héroe enemigo
CoSECiVi 2020
7. Bot propuesto: estrategia
Estrategia de Selección elitista donde se eliminan los individuos con peor fitness.
Utilización de un operador estándar de cruce de un solo punto.
Evaluación a través de sucesivas partidas simuladas por cada individuo cuyo fitness es
determinado por una función de evaluación basada en el perfil deseado.
CoSECiVi 2020
8. Perfil Aggro
Juego agresivo, terminar en pocos turnos, generar muchas
unidades, maximizar daño.
CAZADOR
Si el individuo vence
F = 180 - 7 * Turnos + Salud_Propia + Armadura_Propia + 2 *
Ataque_Esbirros_Propios + 3 * (Esbirros_Propios - Esbirros_Enemigos)
Si el individuo pierde
F = -130 + 5 * Turnos - 10 * (Salud_Enemiga + Armadura_Enemiga) - 3 *
Ataque_Esbirros_Enemigos + 5 * Ataque_Esbirros_Propios -
Esbirros_Enemigos
CoSECiVi 2020
9. Perfil Midrange
Estilo de juego centrado en la etapa intermedia de juego, durante
el inicio de la partida controlar el tablero con cartas muy
eficientes (coste-efecto) y cerrar la partida con una actitud
completamente agresiva.
Si el individuo vence
F = 180 - 3 * Turnos + 3 * (Salud_Propia + Ataque_Propio) + 2 *
Ataque_Esbirros_Propios
Si el individuo pierde
F = -120 + 5 * Turnos - 5 * (Salud_Enemiga + Armadura_Enemiga +
Ataque_Esbirros_Enemigos) + 3 * Ataque_Esbirros_Propios
DRUIDA
CoSECiVi 2020
10. Perfil Control
Estilo de juego tardío, durantes la primera mitad de juego,
centrado en mantener al rival lo más inmovilizado posible,
contrarrestando sus cartas y jugando cartas defensivas. Una vez
llegado un estado de juego avanzado, jugar cartas de alto coste y
gran potencial que deriven en una victoria.
Si el individuo vence
F = 150 + Turnos + 2 * (Salud_Propia + Armadura_Propia) + 2 *
(Ataque_Esbirros_Propios + Salud_Esbirros_Propios +
Salud_Esbirros_Propios_Provocar ) - 4 * (Ataque_Esbirros_Enemigos)
Si el individuo pierde
F = -200 + 10 * Turnos - 4 * (Salud_Enemiga + Armadura_Enemiga) + 5 *
Ataque_Esbirros_Propios + 2 * (Esbirros_Propios +
Salud_Esbirros_Propios_Provocar + Ataque_Esbirros_Propios_Provocar) -
6 * Ataque_Esbirros_Enemigos
CHAMAN
CoSECiVi 2020
11. Funciones basadas en perfiles
Optimización basada en el perfil Aggro usando un mazo de Cazador.
CoSECiVi 2020
12. Funciones basadas en perfiles
Optimización basada en el perfil Control usando un mazo Chamán.
CoSECiVi 2020
13. Funciones basadas en perfiles
Optimización basada en el perfil Midrange usando un mazo Druida.
CoSECiVi 2020
14. Comparativa con EVA
EVA tiene un comportamiento generalista, dispone de un conjunto de
reglas comunes para cualquiera de los 9 héroes.
Resultados en los enfrentamientos con EVA
Agente
Victorias
como J1
Victorias
como J2
Tasa de
victoria
total
GRETIVE-AG 64.9% 36.8% 50.85%
GRETIVE-MR 64.3% 39.8% 52.55%
GRETIVE-CT 65.8% 41.9% 53.85%
Para los enfrentamientos no se han
podido disponer de mazos
predefinidos para los héroes y perfiles
deseados, lo que hubiera mejorado el
rendimiento del agente al utilizar el
mazo arquetipo apropiado.
2019
Hearthstone AI
Competition
CoSECiVi 2020
15. Conclusiones
La aplicación del AE basado en perfiles parte de los arquetipos y estrategias frecuentemente
seguidas por mucho jugadores. Cada uno de los perfiles implica no sólo la forma de juego,
también dependen del héroe que el jugador está controlando.
Los agentes optimizados (uno por perfil) se han probado en 2000 enfrentamientos contra el
agente EVA, ambos con un algoritmo Greedy y optimizaciones generadas por un AE. Los
resultados muestran una mejora respecto al agente EVA. La diferencia no es muy grande en
el uso de mazos por defecto, pero con un héroe y baraja apropiada la diferencia en las tasas
de victorias crece mucho.
CoSECiVi 2020
16. Resultados Competición
Para la competición, se sustituyó el
algoritmo de búsqueda ‘greedy’ por
un algoritmo ‘dynamic look-ahead
Monte Carlo’.
Éste utilizaba como función
heurística, los pesos obtenidos
mediante el AE para cada héroe y
arquetipo.
CoSECiVi 2020
17. Trabajo futuro
En un futuro se probará a definir mazos específicos para cada uno de los arquetipos, con el
objetivo de obtener un mayor rendimiento.
También se podría considerar incluso cambiar la estrategia durante el juego según el mazo o
incluso las cartas en mano.
Además, las funciones de evaluación (o fitness del individuo) utilizadas en el AE pueden
mejorarse, teniendo en cuenta la información adicional de los enfrentamientos, como el
cementerio (cartas utilizadas), o considerando determinados parámetros concretos del juego
frente al estado final como se aplica actualmente.
CoSECiVi 2020
18. ¡Gracias!
Contacto:
Antonio Mora : amorag@ugr.es
Alejandro Romero: algebro96@gmail.com
Información sobre Hearthstone AI Competition
https://dockhorn.antares.uberspace.de/wordpress/
CoSECiVi 2020