View
23
Download
0
Embed Size (px)
Citation preview
Clustering de Jugadores de Tetris
Diana Lora
Introducción
● Análisis de comportamiento de jugadores de Tetris a partir de sus movimientos tácticos.○ 1 movimiento táctico.○ 2 movimientos tácticos consecutivos.
● Generación de modelo de comportamiento a partir de trazas de jugadores.○ Diferenciar los jugadores a partir de las trazas
generadas en las partidas● Trabajo futuro
○ Ajuste dinámico de la dificultad.
TetrisAnalytics● Juego de Tetris sencillo.● Al pasar del tiempo las
fichas caen más rápido por el tablero.
● 7 piezas diferentes● Movimientos: izquierda,
derecha, rotación y bajar.● El juego finaliza cuando el
jugador pierde.● Genera binario con
información de la partida
Políticas de Generación de Trazas
● PosYTipoFichaARFF: guarda la posición de la ficha actual, la acción, el tipo de ficha actual y siguiente.
● LastXLinesARFF: guarda la información de la política anterior y las X filas superiores no vacías del tablero.
● EstadoCompletoARFF: guarda todo el estado del juego(posición de la pieza, rotación, tipo, ficha siguiente y el estado completo del tablero (casilla libre=0, casilla ocupada=1).
Variables● PosX, PosY: posición X e Y donde el
jugador ubica la pieza(enumerado). ● Rot: rotación de la ficha. Esta variable es
una enumeración con valores: r0, r1, r2, r3.● NextPiece: pieza siguiente que saldrá a
continuación(valor entero entre 0 y 6).● Celda_X_Y: estado de cada celda concreta
del tablero(celda vacía=0 o celda ocupada=1).
● TipoFicha: tipo de ficha. Enumerado p0, p1, p2, p3, p4, p5, p6.
Pre-procesamiento de Datos
● Agregar ID de jugador(clase)● Para el caso de dos movimientos
consecutivos(mismo jugador)○ Duplicar las variables○ Copiar instancia actual sin clase más instancia
siguiente con clase
● Inicialmente ignora la clase(id jugador) y genera los clusters
● Número de clusters = número de jugadores● Fase de pruebas
○ Asigna las clases a los clusters basándose en la clase con mayor cantidad de instancias que se encuentren en dicho cluster.
○ Calcula la tasa de error de la clasificación. ○ Genera la matriz de confusión.
Evaluación Clases a clusters de Weka
Jugadores
● 3 jugadores reales● 3 IAs
○ AlwaysRight: siempre ubica la pieza en el lado derecho.
○ AlwaysLeft: siempre ubica la pieza en el lado izquierdo.
○ HardCodedTacticalAI: evalúa el tablero de acuerdo
a su altura y el número de espacios para cada una
de las 4 rotaciones posibles de la pieza, y selecciona la mejor ubicación.
Variable PosX
Característica PosX de ubicación de la ficha. Varía de x0 a x9. Donde x0 es la posición más a la izquierda.
Experimentos con Weka Explorer
● Evaluación de movimientos tácticos individuales○ PosYTipoFichaARFF, Last4LinesARFF,
EstadoCompletoARFF● Evaluación de 2 movimientos tácticos
consecutivos del mismo jugador○ PosYTipoFichaARFF, Last4LinesARFF,
EstadoCompletoARFF
Resultados
● Evaluación de Movimientos Tácticos Individuales(error)○ Last4LinesARFF: SimpleKMeans 44.15%, EM
48.46%.● Evaluación de 2 Movimientos tácticos
consecutivos(error)○ Last4LinesARFF: SimpleKMeans 40.78%, EM
47.08%.
Matriz de Confusión Last4LinesARFF
2 Mov. Consecutivos
Comparación de algoritmos con Weka Experimenter
● Comparación de los algoritmos con T-Test pareado
● SimpleKMeans(t=50.05)● EM(t=46.48)
Conclusiones y Trabajo Futuro
● La evaluación de movimientos tácticos individuales no describe el estilo de juego del usuario.
● La unión de movimientos tácticos consecutivos mejora la clasificación de los jugadores.
● Evaluar trazas con más de 2 movimientos tácticos consecutivos.
● Realizar clasificación de nuevas partidas de jugadores existentes.
● Realizar clasificación de nuevos jugadores.
Gracias