Para garantizar el éxito comercial de los videojuegos para móviles es necesario asegurar un algoritmo de Inteligencia Artificial que suponga al jugador un desafío ni demasiado elevado ni demasiado bajo.
tekken tag tournament |
En estos casos muchos de los agentes IA pueden presentar un comportamiento más aleatorio que inteligente, por lo que se precisa el uso de algoritmos de inferencia por parte de la máquina que le permitan intuir las intenciones del oponente, tal y como hacemos los seres humanos.
La mejor forma en la que un algoritmo IA obtendría información de su oponente sería infiriendo información sobre su estilo de juego y de su tendencia a reaccionar ante determinadas situaciones. Por tanto el algoritmo de aprendizaje iría compilando un perfil del comportamiento de dicho jugador. Así, cada comportamiento podría ser identificado con una clase o categoría: jugador agresivo, esquivo, etc. Al fin y al cabo de lo que se trata es de un problema de reconocimiento de patrones.
Diagrama |
Hay básicamente dos métodos de predicción:
- discriminativo
- no-discriminativo.
Predicción discriminativa
Uno de los métodos de clasificación discriminativa más eficaces son las máquinas de soporte vectorial o SVM (Support Vector Machine). Sin entrar en detalles matemáticos, un algoritmo basado en SVM construye un modelo capaz de predecir si una muestra nueva (cuya categoría desconocemos) pertenece a una categoría o a la otra.
PAC-MAN malo malo |
Predicción no-discriminativa
Por el contrario, el modelo no-discriminativo o bayesiano estimaría la predicción en base a la regla de Bayes (la probabilidad de que un jugador realice tal movimiento, dado que antes ha realizado este otro) y entonces cada nueva instancia se compararía con la clase más probable.
Así, el sistema no discriminativo tiende a ser más eficiente en dispositivos móviles, ya que consume menos recursos computacionales que los métodos discriminativos, a pesar de que estos últimos presenten un mejor desempeño deliberativo. Por tanto se adapta mejor a juegos donde necesitamos un mayor procesamiento de datos en tiempo real con muchas fuentes de incertidumbre (por ejemplo el mítico StarCraft, que por cierto estará disponible muy pronto en Android mediante controles táctiles).
STARCRAFT |