He realizado la creación de un sistema de IA para aprendizaje de la decisión de compra para el juego del Hotel. Se trata de decidir si se compra o no en la casilla de compra, y predecir cual de las propiedades es mejor comprar.

Programa generador de partidas

Generador de partidas

En primer lugar he tenido que realizar una generador de partidas del juego del Hotel, para alimentar a la IA. Posteriormente he creado también un jugador IA para comparar los resultados obtenidos tras el aprendizaje de la IA.

Generador de partidas aleatorio (juego Hotel, 4 jugadores):

Generador de partidas

Dataset

El conjunto de datos utilizado es el dataset de 500 partidas, pero se ha probado progresivamente de 10, 100, 500, 1000. No teniendo apenas diferencia en el aprendizaje entre el de 500 a 1000 partidas.

10 partidas - 100 partidas - 500 partidas - 1000 partidas

Dataset 10 partidas Dataset 100 partidas Dataset 500 partidas Dataset 1000 partidas

Programa de IA

Tras alimentar con el dataset y realizar el EDA correspondiente, he procedido a probar los modelos predictivos de IA que podrían ser más recomendables debido a la casuística en la que nos encontramos. Tras descartar, los que dabamos valores totalmente fuera de lugar, han sido: Adaboost, Naives Bayes, Decision Tree, Random Forest, XGBoost y 3 modelos diferente de deep learning (LSTM, Neuronal básica, Neuronal profunda).

Evaluación y resultados

Modelo predictivo Tasa acierto Tase error * Accuracy
Naives Bayes (Smooth 1e-10) 66% 40% 0.66662
Naives Bayes (Smooth 1e-7) 91% 75% 0.90729
Naives Bayes (Smooth 1e-11) 65% 40% 0.65114
Adaboost 2% 100% 0.96112
Decision Tree 2% 63% 0.96113
Adaboost 2% 100% 0.96011
Adaboost 2% 78% 0.95977

*en los diferenetes a ‘no compra’, es decir en la elección de la propiedad

Para ver los detalles de la evaluación y el programa de IA que contiene los resultados en :

Programa IA

Jugadores vs IA

El resultado es que gana la IA entre un 40%-47% de las veces.

Para ver el programa que evalua la partida de jugadores aleatorios vs IA:

Programa Jugadores vs IA

Los resultado de las partidas se encuentran aquí:

10 partidas - 100 partidas

Dataset 10 partidas Dataset 100 partidas

Programa de predicción

He realizado en flask el programa de predicción, importando el modelo ya entrenado con pickle y creado un formulario web para la introducción de los datos necesarios para la predicción.

Aplicación web - https://vps.rarcos.com:10446/


Si quieres ver el resultado de todo, te recomiendo visites:

Repositorio con el contenido

Repositorio - Generador - Prog. IA - Jugadores vs IA

Repositorio Generador de partidas Programa IA Programa Jugadores vs IA