IA en el Póker Online
            Presentación Media




                                   Raúl Martínez Fernández
                                   Antonio Díaz Ponce
                                   Javier García-Cuerva Velasco
La Inteligencia Artificial en las Organizaciones 2009-2010
Índice

•   Obtención de datos
•   Estudio de los datos
•   Procesado de los datos
•   Técnicas de selección de atributos (Weka)
•   Clasificadores probados (Weka)


            La Inteligencia Artificial en las Organizaciones 2009-2010
Obtención de los datos
                        Dificultades

• No queríamos pagar por los datos, así que:
  • Petición en Blogs
  • Contactando con los responsables de 3
    webs
  • Foro
     • Críticas: trampas, bots,…
     • Rechazo: la gente paga por esas manos
     • Escepticismo: no lo conseguiríamos
       La Inteligencia Artificial en las Organizaciones 2009-2010
Obtención de los datos
                          Fuente de los datos




                                                                          101
                         BBDD
                                                                      Ficheros xml
Sitios Póker                                  Jugadores
   Online                                   Profesionales

 100.000 manos de Texas Hold’em NL
                La Inteligencia Artificial en las Organizaciones 2009-2010
Estudio de los datos
                       Análisis de los ficheros xml


         Analizamos las manos de los fichero xml
 Sólo se mostraban las manos si llegaban al showdown
 Pensamos en cambiar de objetivo: clústering del tipo de
                          jugadores
Gran dificultad añadida: atributos no triviales (postgreSQL)
      En showdwn suele haber 2 jugadores (o más)
                     Doble de manos
          Finalmente tenemos 10710 manos

             La Inteligencia Artificial en las Organizaciones 2009-2010
Procesado de los datos
                       Extracción de información

• Programa en Java:
   • Leer todos los ficheros
   • Extraer los patrones
   • Extraer los atributos
   • Clases a utilizar




            La Inteligencia Artificial en las Organizaciones 2009-2010
Procesado de los datos
                    Extracción de atributos

•   CiegaPequena       •   PosicionJugador2          •Números Reales
•   CiegaGrande        •   FichasJugador2
•   Hora               •   PosicionJugador1
•   Minuto             •   FichasJugador1
                                                  • Añadir atributo para
•   JugadoresTotales   •   PaloCarta1
                       •   ValorCarta1
                                                  indicar la posición del
•   PosicionJugador6
                       •   PaloCarta2                 jugador al que
•   FichasJugador6
•   PosicionJugador5   •   ValorCarta2             pertenece el patrón?
•   FichasJugador5     •   Suited
•   PosicionJugador4   •   ValorSubida1
                       •   ValorSubida2
•   FichasJugador4
                       •   ValorSubida3
•   PosicionJugador3
                       •   ValorSubida4
•   FichasJugador3
                       •   ValorSubida5
         La Inteligencia Artificial en las Organizaciones 2009-2010
Procesado de los datos
                        Extracción de clases

• Clases a utilizar:
   • 4 clases {0,1,2,3} Valores Continuos (Clasificación)
      • 0: Apuesta de $0 1048 patrones
      • 1: Apuesta entre $0 y $2.5 3866 patrones
      • 2: Apuesta entre $2.5 y $5 4193 patrones
      • 3: Apuesta superior a $5 1596 patrones


                              Patrones.arff
             La Inteligencia Artificial en las Organizaciones 2009-2010
Procesado de los datos
             Valores de los atributos para nuestros datos

Ciega       Ciega                           Nº          Jugador 6ª Stack 6º
Pequeña     Grande   Hora        Minuto     Jugadores   posición Jugador      …
0.5         1.0      0.0         32.0       6.0         6.0        1.0E7      …
0.5         1.0      23.0        1.0        6.0         6.0        1.0E7      …
0.5         1.0      23.0        1.0        6.0         6.0        1.0E7      …


Palo Valor Palo Valor          Subida Subida Subida Subida Subida
Carta Carta Carta Carta Suited nº 1 nº 2 nº 3 nº 4 nº 5 Accion
1.0   13.0    2.0     10.0    0.0    0.0     0.0     0.0     0.0     0.0      1.0
2.0   1.0     4.0     3.0     0.0    0.0     0.0     0.0     0.0     0.0      1.0
2.0   0.0     0.0     0.0     0.0    0.0     1.0     0.0     0.0     0.0      3.0




                La Inteligencia Artificial en las Organizaciones 2009-2010
Técnicas de selección de
                atributos
                                    Weka
  Evaluador de atributos:                       Evaluador de atributos: ChiSquared
      CfsSubsetEval
                                                Método de búsqueda: Ranker
  Método de búsqueda: BestFirst                      •   ValorSubida1
       • ValorCarta1                                 •   ValorSubida2
       • ValorCarta2                                 •   ValorSubida3
                                                     •   ValorCarta2
       • ValorSubida1                                •   ValorCarta1
       • ValorSubida2                                •   ValorSubida4
       • ValorSubida3                                •   ValorSubida5
                                                     •   Suited
       • ValorSubida4
                                                     •   JugadoresTotales
       • ValorSubida5                                •   FichasJugador6
                                                     •   PosicionJugador6
                                                     •   FichasJugador5
•Pocas Pruebas
                                                     •   PosicionJugador5
•Seleccionaremos otros estadísticos                  •   FichasJugador4
                                                     •   PosicionJugador4

              La Inteligencia Artificial en las Organizaciones 2009-2010
Clasificadores probados
                                Weka

70% de Train y 30% de Test

Multilayer                                      Porcentaje de       Error
Perceptron    Capas Ocultas Porcentaje Aciertos Fallos              cuadrático
              1               43.6975 %            56.3025 %        98.2544 %
              2               45.4093 %            54.5907 %        97.7409 %
              3               46.0317 %            53.9683 %        96.7809 %

 J48                          47.8369 %            52.1631 %        110.109 %


                  •Pocas Pruebas
                  •Batería de Pruebas (Experimenter)
                  •Validación Cruzada
                  •Selección de Atributos
                  •Nuevos Atributos
             La Inteligencia Artificial en las Organizaciones 2009-2010
PREGUNTAS?




La Inteligencia Artificial en las Organizaciones 2009-2010

Presentacion intermedia

  • 1.
    IA en elPóker Online Presentación Media Raúl Martínez Fernández Antonio Díaz Ponce Javier García-Cuerva Velasco La Inteligencia Artificial en las Organizaciones 2009-2010
  • 2.
    Índice • Obtención de datos • Estudio de los datos • Procesado de los datos • Técnicas de selección de atributos (Weka) • Clasificadores probados (Weka) La Inteligencia Artificial en las Organizaciones 2009-2010
  • 3.
    Obtención de losdatos Dificultades • No queríamos pagar por los datos, así que: • Petición en Blogs • Contactando con los responsables de 3 webs • Foro • Críticas: trampas, bots,… • Rechazo: la gente paga por esas manos • Escepticismo: no lo conseguiríamos La Inteligencia Artificial en las Organizaciones 2009-2010
  • 4.
    Obtención de losdatos Fuente de los datos 101 BBDD Ficheros xml Sitios Póker Jugadores Online Profesionales 100.000 manos de Texas Hold’em NL La Inteligencia Artificial en las Organizaciones 2009-2010
  • 5.
    Estudio de losdatos Análisis de los ficheros xml Analizamos las manos de los fichero xml Sólo se mostraban las manos si llegaban al showdown Pensamos en cambiar de objetivo: clústering del tipo de jugadores Gran dificultad añadida: atributos no triviales (postgreSQL) En showdwn suele haber 2 jugadores (o más) Doble de manos Finalmente tenemos 10710 manos La Inteligencia Artificial en las Organizaciones 2009-2010
  • 6.
    Procesado de losdatos Extracción de información • Programa en Java: • Leer todos los ficheros • Extraer los patrones • Extraer los atributos • Clases a utilizar La Inteligencia Artificial en las Organizaciones 2009-2010
  • 7.
    Procesado de losdatos Extracción de atributos • CiegaPequena • PosicionJugador2 •Números Reales • CiegaGrande • FichasJugador2 • Hora • PosicionJugador1 • Minuto • FichasJugador1 • Añadir atributo para • JugadoresTotales • PaloCarta1 • ValorCarta1 indicar la posición del • PosicionJugador6 • PaloCarta2 jugador al que • FichasJugador6 • PosicionJugador5 • ValorCarta2 pertenece el patrón? • FichasJugador5 • Suited • PosicionJugador4 • ValorSubida1 • ValorSubida2 • FichasJugador4 • ValorSubida3 • PosicionJugador3 • ValorSubida4 • FichasJugador3 • ValorSubida5 La Inteligencia Artificial en las Organizaciones 2009-2010
  • 8.
    Procesado de losdatos Extracción de clases • Clases a utilizar: • 4 clases {0,1,2,3} Valores Continuos (Clasificación) • 0: Apuesta de $0 1048 patrones • 1: Apuesta entre $0 y $2.5 3866 patrones • 2: Apuesta entre $2.5 y $5 4193 patrones • 3: Apuesta superior a $5 1596 patrones Patrones.arff La Inteligencia Artificial en las Organizaciones 2009-2010
  • 9.
    Procesado de losdatos Valores de los atributos para nuestros datos Ciega Ciega Nº Jugador 6ª Stack 6º Pequeña Grande Hora Minuto Jugadores posición Jugador … 0.5 1.0 0.0 32.0 6.0 6.0 1.0E7 … 0.5 1.0 23.0 1.0 6.0 6.0 1.0E7 … 0.5 1.0 23.0 1.0 6.0 6.0 1.0E7 … Palo Valor Palo Valor Subida Subida Subida Subida Subida Carta Carta Carta Carta Suited nº 1 nº 2 nº 3 nº 4 nº 5 Accion 1.0 13.0 2.0 10.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 2.0 1.0 4.0 3.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 2.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 3.0 La Inteligencia Artificial en las Organizaciones 2009-2010
  • 10.
    Técnicas de selecciónde atributos Weka Evaluador de atributos: Evaluador de atributos: ChiSquared CfsSubsetEval Método de búsqueda: Ranker Método de búsqueda: BestFirst • ValorSubida1 • ValorCarta1 • ValorSubida2 • ValorCarta2 • ValorSubida3 • ValorCarta2 • ValorSubida1 • ValorCarta1 • ValorSubida2 • ValorSubida4 • ValorSubida3 • ValorSubida5 • Suited • ValorSubida4 • JugadoresTotales • ValorSubida5 • FichasJugador6 • PosicionJugador6 • FichasJugador5 •Pocas Pruebas • PosicionJugador5 •Seleccionaremos otros estadísticos • FichasJugador4 • PosicionJugador4 La Inteligencia Artificial en las Organizaciones 2009-2010
  • 11.
    Clasificadores probados Weka 70% de Train y 30% de Test Multilayer Porcentaje de Error Perceptron Capas Ocultas Porcentaje Aciertos Fallos cuadrático 1 43.6975 % 56.3025 % 98.2544 % 2 45.4093 % 54.5907 % 97.7409 % 3 46.0317 % 53.9683 % 96.7809 % J48 47.8369 % 52.1631 % 110.109 % •Pocas Pruebas •Batería de Pruebas (Experimenter) •Validación Cruzada •Selección de Atributos •Nuevos Atributos La Inteligencia Artificial en las Organizaciones 2009-2010
  • 12.
    PREGUNTAS? La Inteligencia Artificialen las Organizaciones 2009-2010