15
Clustering de Jugadores de Tetris Diana Lora

CoSECiVi'15 - Clustering de jugadores de Tetris

Embed Size (px)

Citation preview

Page 1: CoSECiVi'15 - Clustering de jugadores de Tetris

Clustering de Jugadores de Tetris

Diana Lora

Page 2: CoSECiVi'15 - Clustering de jugadores de Tetris

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.

Page 3: CoSECiVi'15 - Clustering de jugadores de Tetris

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

Page 4: CoSECiVi'15 - Clustering de jugadores de Tetris

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).

Page 5: CoSECiVi'15 - Clustering de jugadores de Tetris

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.

Page 6: CoSECiVi'15 - Clustering de jugadores de Tetris

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

Page 7: CoSECiVi'15 - Clustering de jugadores de Tetris

● 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

Page 8: CoSECiVi'15 - Clustering de jugadores de Tetris

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.

Page 9: CoSECiVi'15 - Clustering de jugadores de Tetris

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.

Page 10: CoSECiVi'15 - Clustering de jugadores de Tetris

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

Page 11: CoSECiVi'15 - Clustering de jugadores de Tetris

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%.

Page 12: CoSECiVi'15 - Clustering de jugadores de Tetris

Matriz de Confusión Last4LinesARFF

2 Mov. Consecutivos

Page 13: CoSECiVi'15 - Clustering de jugadores de Tetris

Comparación de algoritmos con Weka Experimenter

● Comparación de los algoritmos con T-Test pareado

● SimpleKMeans(t=50.05)● EM(t=46.48)

Page 14: CoSECiVi'15 - Clustering de jugadores de Tetris

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.

Page 15: CoSECiVi'15 - Clustering de jugadores de Tetris

Gracias