Juego inteligente de póker

Esta clase se encarga de mantener actualizadas las estructuras de datos que representan el estado del juego. Su mtodo principal es nuevaJugada , cuya misin es aadir la ltima jugada a la lista de acciones efectuadas durante la mano actual, registrar la accin en el rbol de frecuencias correspondiente y actualizar otra informacin importante como las pilas de fichas de los jugadores.

Al igual que una mesa real de juego, esta clase mantiene informacin de las cartas comunitarias, de la situacin de la mano y de los jugadores. Al finalizar una mano, la clase Mesa se encarga de informar del resultado a Uc3mBot y tambin de registrarlo en el nodo del rbol de frecuencias correspondiente, adems de almacenar las ganancias o prdidas de sta en el fichero historial.

txt junto con la fecha en que se inici la partida. Toda la informacin del estado de juego es proporcionada por esta clase, desde la posicin que ocupa cada jugador y sus acciones hasta las cartas comunitarias, por lo tanto esta clase es clave para los analizadores a lo hora de estudiar cada situacin de la partida.

Pasamos ahora a hablar de otra de las clases ms importantes, la clase Uc3mBot, que es la que representa al agente dentro del juego.

La clase Uc3mBot es representada como un tipo de jugador para poder ubicarlo dentro del modelo interno del mundo que tiene el agente, como se muestra en la Figura Uc3mBot contiene los mtodos juega y nuevaMano.

A travs del primer mtodo se le informa de que es su turno y debe elegir una accin. Con el segundo mtodo se le informa de que ha comenzado una nueva mano. Uc3mBot tiene un atributo principal de la clase Cerebro, encargado de escoger el analizador de juego necesario en cada situacin.

Este atributo utiliza tres analizadores diferentes que selecciona en funcin de la cantidad de datos que tiene acerca del rival, para ello contiene una serie de constantes que determinan los umbrales a partir de los que escoge uno u otro. Adems se encarga de mezclar las distintas estrategias de juego con un porcentaje de aleatoriedad determinado con el objetivo de no desplegar un juego demasiado predecible.

Todo esto lo realiza el mtodo piensaJugada que devuelve un objeto de la clase Triplete que contiene el tro de probabilidades que determinarn la jugada a efectuar. En realidad todos los clculos importantes se realizan por los tres analizadores representados. Los dos primeros utilizan un sistema experto para la toma de decisiones junto con una librera de evaluacin de manos, mientras que el tercero emplea un algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para hallar la accin de mayor expectativa matemtica.

Todos los analizadores requieren de la situacin de juego actual, que reciben a travs de un objeto de la clase Mesa. AnalizadorPreflopHU tiene como mtodo principal pensarJugadaConEquidad , que tal como indica su nombre, determina la jugada a realizar hallando la equidad de su mano contra todas las dems manos que pueda llevar el oponente.

Como ste clculo requiere mucho tiempo de procesamiento para ser llevado a cabo debido al gran nmero de simulaciones necesarias, se ha creado una lista que contiene todas las posibles manos junto con su equidad. Dicha lista se gener enfrentando cada una de las manos contra todas las dems combinaciones posibles utilizando el simulador y un algoritmo Quicksort para ordenarlas despus de mayor equidad a menor.

De este modo la lista se ha incluido directamente en el cdigo tal y como se muestra en la Error! No se encuentra el origen de la referencia.. Una vez determinada la equidad de su mano calcula qu porcentaje de veces es Una vez determinada la equidad de su mano calcula qu porcentaje de veces es correcto subir, y en caso de haberse generado un gran bote estima lo rentable que resulta seguir jugando.

Tambin establece un umbral de equidad sobre el que hacer all-in o no. Dicho umbral va modificndose a medida que se desarrolla el juego, por ejemplo en el caso de que el oponente sea muy agresivo y suba muchas veces preflop el rango de manos con el que Uc3mBot responder a dicha agresin ser cada vez ms amplio, siempre intentando tener mejores cartas que el rival a la hora de envidarse.

AnalizadorPostflopHU funciona de forma distinta, calcula el porcentaje de cartas que le ganan en una situacin concreta postflop para as estimar la fuerza de su mano, y con esta informacin determina un nmero de apuestas a efectuar que distribuye durante la ronda actual.

En el caso de que el nmero total de apuestas supere al estimado como correcto el analizador se plantear abandonar la mano ya que se creer perdedor. Cuantas menos fichas le queden a Uc3mBot en relacin con el tamao del bote, ms difcil ser que abandone la mano, pues en la mayora de estos casos es matemticamente incorrecto abandonar.

El AnalizadorPostflopHU est diseado para apostar y subir de farol un porcentaje de veces determinado con la idea de introducir un componente de engao, necesario en toda estrategia que pretenda rivalizar contra jugadores avanzados.

Este analizador tambin realiza apuestas de continuacin, que consisten en apostar de nuevo en el flop cuando se ha realizado la ltima apuesta de la ronda preflop, ya sea habiendo ligado jugada o no. El clculo de la fuerza de la mano es llevado a cabo por la clase EvaluadorDeManos a travs de la librera Poker-eval de cdigo abierto y sobre la que se habl ms detalladamente en la seccin 3.

El mtodo ms importante de esta clase es calcularValor , ya que es el mtodo sobre el que se apoyan los dems para realizar las operaciones. El ltimo analizador, el AnalizadorVE analizador de valor esperado , se puede utilizar en todas las rondas de una mano, con la condicin de se trate de situaciones de juego donde el rival termin por ensear sus cartas, porque el clculo del VE para una situacin de juego concreta requiere de la estimacin del rango de cartas del oponente para un funcionamiento preciso.

ste analizador calcula las probabilidades de tomar una jugada u otra a partir del valor esperado promedio de ganancias o de prdidas que podemos obtener si la ejecutamos de cada una de las posibles jugadas.

Por ejemplo, si no sabemos si decidirnos por igualar una apuesta o abandonar, en el momento en que calculemos el valor esperado de ambas opciones sabremos con certeza que aquella cuyo VE sea mayor es la accin que a largo plazo reportar ms beneficios.

Un ejemplo de clculo del VE se muestra en la Figura 3 apartado 2. Otro ejemplo se puede extraer del juego de la ruleta americana: Este juego que consta de 38 casillas equiprobables donde si apostamos 1 ficha a un solo nmero y acertamos, nos pagarn 36 fichas.

Por lo tanto las ganancias sern de 35 veces lo que hemos apostado cobramos 36, pero las ganancias netas son 35 ya que hay que descontar lo que hemos apostado , y cuando perdamos, las prdidas sern de 1. De manera que cada vez que apostemos a la ruleta americana perderemos de media unos 5 cntimos por cada euro apostado.

En la frmula de arriba diferenciamos explcitamente entre ganancias y prdidas, sin embargo en la frmula ms general de clculo del valor esperado que fue explicada en la seccin 2. Si el pago es positivo, se obtienen ganancias; si es negativo se obtienen prdidas. El algoritmo utilizado en el AnalizadorVE es una versin de Miximax 22 , que aplica variantes de sta frmula para buscar la accin de mayor expectativa.

Miximax es una forma de extender el algoritmo Expectimax15 al pquer, ya que en ste juego no se puede hablar de valores exactos, si no de probabilidades, de manera que todas las acciones similares se agrupan en un nico nodo que recibe una determinada probabilidad de que el oponente tenga un tipo u otro de cartas.

sta probabilidad se basa en informacin conocida o estimada sobre el estado de la partida y el oponente. Debido a que elegir siempre la jugada de mayor valor esperado puede llevar a desarrollar un juego predecible se ha optado por combinar el uso de este analizador con los otros analizadores.

A continuacin se muestra en pseudo-cdigo dos de los mtodos principales de la implementacin llevada a cabo de dicho algoritmo. En cuanto a los oponentes, todos son representados por la clase Oponente que es un subtipo de la clase Jugador.

Oponente contiene las acciones y datos que el programa requiere de cada rival para poder aplicar su estrategia de juego. Su atributo ms importante es de tipo rbol, que almacena en su estructura la forma de jugar del oponente.

En concreto cada oponente almacena una lista de rboles, ya que se crea un nuevo rbol por cada posicin en la que ste ha jugado. Tal y como se muestra en la Figura 11, cada uno de los nodos de la clase Arbol representa una accin en el juego y contiene informacin sobre:.

Entorno El entorno de ejecucin de Uc3mBot est compuesto por un servidor de juego y la interfaz de usuario en caso de querer crear una partida contra un humano como se muestra en la Figura En esta seccin se explica cmo se aadieron estos componentes y sus caractersticas. El servidor de juego: Encargado de dirigir la partida, informando a todos los jugadores de cmo se desarrolla cada mano, as como de sus cartas y otra informacin relevante.

GlassFrog es el servidor de pquer utilizado, se trata de una distribucin de la Annual Computer Poker Competition ACPC , una competicin entre agentes de pquer que se realiza cada ao durante la Asociacin para el Avance de la Inteligencia Artificial AAAI16 y que atrae competidores de todo el mundo.

Dicha competicin desarroll su propio servidor de juego de forma que todos los participantes siguiesen un mismo protocolo de comunicacin para el juego. Dos versiones del protocolo han sido publicadas, la 1. Nuestro agente ha sido diseado para que pueda utilizar cualquiera de las dos versiones. Sin embargo la interfaz de usuario fue diseada para utilizarse nicamente con la versin 1.

Para utilizar un protocolo u otro basta con cambiar el tercer argumento que recibe el ejecutable de Uc3mBot poniendo un 1 para utilizar la versin 1. La comunicacin entre el servidor y cada uno de los jugadores se hace a travs de TCP.

Los jugadores clientes se conectan al servidor mediante su direccin IP y uno de los puertos ofrecidos por ste. El primer mensaje que debe enviar todo jugador es una cadena de caracteres indicando la versin del protocolo a utilizar.

Por ejemplo, para utilizar la versin 2 se enva la cadena VERSION Tras esto el servidor enviar repetidamente mensajes al cliente dando informacin sobre el estado del juego, incluyendo las manos en que el cliente no est jugando. Un valor de 0 indica que el jugador es el primer jugador tras el repartidor, es decir, que es la ciega grande si la partida es de dos jugadores.

El protocolo no hace distinciones entre igualar y pasar, pues. representa ambas jugadas con la letra c; as como tampoco hace distinciones entre apostar o subir, representando ambas con la letra r seguida de la cantidad apostada.

En el caso de que al final de la mano uno de los rivales tenga que mostrar sus cartas, tambin se aadirn a este campo y por lo tanto sern visibles al jugador. Finalmente aadir que cada jugador en su turno deber contestar a los mensajes del servidor aadindoles la accin tomada al final de stos.

Un ejemplo de mensajes enviados y recibidos por el servidor con el protocolo 2. En cuanto al protocolo 1. La interfaz de usuario es una versin del proyecto Swordfish, proporcionado tambin por la ACPC. Su objetivo es permitir a jugadores humanos interactuar con agentes de pquer.

sta interfaz fue desarrollada para utilizarse con el protocolo de comunicaciones en su versin 1. Para el presente proyecto se le han realizado una serie de modificaciones, como la traduccin al espaol y la correccin de algunos errores, con el objetivo de hacerla ms fcil e intuitiva de utilizar.

La interfaz consta de la mesa de juego, donde se muestra toda la informacin necesaria sobre el transcurso de cada una de las manos jugadas. Debajo del nombre de cada jugador se encuentra la cantidad de dinero o fichas por la que se est jugando la mano, dicha cantidad es reiniciada al principio de cada mano, pues son los marcadores situados en la parte izquierda de la ventana los que indican el total de ganancias en verde o prdidas en rojo acumuladas.

Tambin se muestra en todo momento el tamao del bote por el que se est jugando Vase la Figura Para poder realizar las acciones de juego la interfaz de usuario provee de tres botones en la esquina inferior derecha de la ventana, que realizan las acciones Abandonar Igualar o Pasar y Subir una cantidad X.

Sobre estos tres botones principales se encuentran otra serie de botones de menor tamao y una barra deslizadora cuya funcin es ayudar al usuario a escoger el tamao de la apuesta.

Otro elemento importante es la consola de juego, que se muestra en la Figura En ella se irn escribiendo automticamente todas las acciones que han ido ocurriendo durante el transcurso de la partida, de modo que si el jugador desea hallar informacin sobre alguna mano anterior puede buscarla aqu.

Se puede salir de la partida en cualquier momento cerrando la ventana, pero si ya se ha realizado al menos una accin en el transcurso de la mano actual, el dinero apostado se quedar en el bote.

XPokerEquity La mayora del desarrollo se ha realizado en el lenguaje de programacin Java, sin embargo el programa utiliza la librera XPokerEquity desarrollada por James Devlin y descargable gratuitamente cuyo cdigo ha sido adaptado en este proyecto para poder ejecutarse en un entorno Linux.

sta librera es la encargada de realizar gran parte de los clculos referentes al valor esperado o esperanza matemtica, y est desarrollada en C, puesto que este lenguaje generalmente permite obtener una mayor velocidad para este tipo de clculos.

Se escogi esta librera frente a otras debido a su versatilidad, a que es uso libre y a su capacidad para calcular equidades frente a un rango completo de manos, superando a otras libreras de clculo que slo permiten calcular equidades frente a una mano concreta.

XPokerEquity es una calculadora de pquer capaz adems de calcular la probabilidad de ganar o la equidad en cualquier situacin que se produzca dentro de una mano de pquer, ya sea en la variante de Texas Holdem lo cual es ideal para nuestro propsito como en la variante de Omaha.

Tambin permite realizar estos clculos con cualquier nmero de jugadores que permita el nmero de cartas en la baraja. Por ejemplo, esta calculadora permite hacer clculos del tipo:. Cartas comunitarias: 4 5 A , partidas evaluadas a 25, equidad jugador 0: botes ganados botes empatados Donde hay nueve jugadores en la partida con unas cartas comunitarias 4 5 A, tenemos JJ y queremos saber nuestra probabilidad de ganar sabiendo que conocemos las cartas de otro jugador, de otros dos conocemos su rango de cartas y de los dems no tenemos informacin, luego pueden llevar cualquier par de cartas.

Ha sido necesario aadir cdigo nuevo que actuase como interfaz a la hora de comunicar la parte de cdigo escrita en Java con la librera XPokerEquity. pdf El. c y CalculadoraEquidad. h, que se han creado de manera que permitan acceder a todas las rutinas necesarias de dichas libreras desde la clase CalculadoraEquidad.

java del proyecto Uc3mBot. La compilacin de este cdigo da como resultado la librera libpokerjni. so que forma parte de este proyecto y ha de estar situada en la misma carpeta en que est el ejecutable del agente.

Poker-eval Adems de la librera antes mencionada, se ha utilizado una versin en Java de la librera poker-eval, encargada sta de evaluar el valor de cada mano de pquer.

poder utilizarla se debe importar el archivo poker-eval. jar al proyecto. Dicha librera se incluye dentro del proyecto. La clase que utiliza los mtodos de sta librera es EvaluadorDeManos.

Interpretacin de los datos Puesto que Uc3mBot se conecta al servidor mediante un script, se ha redirigido la salida estndar al fichero executionLog. Durante la ejecucin tambin se genera un archivo denominado historial. txt donde se imprimen los resultados de cada partida medidos en unidades de ciegas grandes.

Todos los procesos y clculos realizados por Uc3mBot durante una partida se imprimen en el fichero executionLog. txt mientras transcurre el juego. Dicho fichero se crea automticamente en la carpeta donde est alojado el ejecutable Uc3mBot. A continuacin se muestra un ejemplo de los datos que pueden encontrarse en dicho fichero y cmo se han de interpretar:.

Captulo 4 Pruebas y Resultados El pquer no es un juego de azar como muchos jugadores creen, es un juego de habilidad. Que un jugador gane a otro una partida, no significa que uno sea mejor que el otro, pues en un juego donde el factor suerte es tan decisivo a corto plazo, no se puede medir la habilidad con exactitud.

Cuanto mayor sea el nmero de manos jugadas entre los jugadores, ms fiables sern los resultados de juego, puesto que a la larga la suerte se igualar.

De modo que el pquer es un juego cuyos resultados han de medirse a largo plazo, y esto es un hecho que todo jugador profesional de este juego conoce.

Cinco pruebas distintas han sido realizadas para probar el correcto funcionamiento de Uc3mBot, as como el cumplimiento de los objetivos propuestos al principio de este PFC. Todas las pruebas han consistido en medir la fortaleza de juego de Uc3mBot contra distintos oponentes a travs de partidas de manos de duracin exceptuando la partida contra el jugador humano experto , que a pesar de que puedan parecer excesivamente largas, representan un mnimo de muestras para extraer conclusiones.

Los resultados obtenidos se muestran a continuacin. SiempreIgualaBot La primera prueba efectuada ha consistido en enfrentar a Uc3mBot contra un agente que nicamente realiza la accin de igualar.

Este agente, bautizado con el nombre de SiempreIgualaBot, ha sido creado expresamente para probar que Uc3mBot se adapta bien a oponentes triviales. Segunda prueba: Uc3mBot vs. SiempreSubeBot Para la segunda prueba se ha querido emplear un oponente similar al anterior en cuanto a su sencillez, pero que requiere un mayor nivel de adaptacin para llegar a saber que sube con cualquieras dos cartas que le repartan.

Este oponente, denominado SiempreSubeBot, al igual que el rival de la prueba anterior, ha sido creado expresamente para este enfrentamiento. Como se puede observar por la grfica, Uc3mBot tambin consigue batir a este oponente a un ritmo constante durante la partida jugada, de manos de duracin, la misma cantidad que en la prueba anterior.

Tercera prueba: Uc3mBot vs. Uc3mBotSimple Se ha decidido efectuar la tercera prueba enfrentando a Uc3mBot contra la primera versin de l mismo, desarrollada al principio de este proyecto, a la que se ha decidido llamar Uc3mBotSimple.

ste primer desarrollo, est basado principalmente en sistemas expertos para desarrollar su estrategia de juego, de modo que no utiliza ningn algoritmo de bsqueda al contrario que Uc3mBot, por lo que se puede medir la ventaja alcanzada mediante el uso de ste algoritmo. Tal y como puede verse en la grfica, Uc3mBot fue tambin el ganador de esta tercera partida.

Adems se puede apreciar cmo al principio y mitad de la partida Uc3mBot est todava adaptndose al juego del oponente, mostrando muchos altibajos en el juego, debido a que Uc3mBotSimple resulta mucho ms impredecible que los dos adversarios anteriores.

Cuarta prueba: Uc3mBot vs Hyperborean Hyperborean es el agente actual campen del mundo, proclamado en la ltima edicin de la ACPC, en el ao , en la modalidad Texas Holdem sin lmite.

Este jugador fue creado por la Computer Poker Research Group de la Universidad de Alberta Canad , a los que queremos agradecer enormemente primero, el habernos permitido probar nuestro agente contra Hyperborean, ya que consideramos que no habramos podido encontrar un adversario mejor, y segundo por toda la ayuda desinteresada que han mostrado a la hora de realizar esta prueba.

Tal y como muestra la grfica Hyperborean consigue obtener una ventaja clara en la partida, superando a nuestro agente, lo que en cierto modo era de esperar. Guindonos por el Grfico 4, parece que es al principio de la partida donde Uc3mBot muestra una oposicin ms dura para el rival, sin embargo conforme avanza el nmero de manos jugadas, Hyperborean consigue obtener una clara ventaja en los beneficios conseguidos.

Pese a que ahora sabemos que no se va a conseguir un primer puesto en la competicin, estos resultados demuestran que, a travs de mejoras venideras, es probable que nuestro agente consiga en un futuro quedar clasificado entre los primeros puestos.

Comparativa de las partidas contra agentes En la grfica mostrada a continuacin se ha realizado una comparativa de la evolucin de las distintas partidas efectuadas contra otros agentes. Como se puede observar, la diferencia de ganancias entre las distintas partidas es enorme, destacando el ratio de ganancias obtenido durante la partida contra SiempreSubeBot frente a las ganancias y prdidas obtenidas contra Uc3mBotSimple y contra Hyperborean, que se asemejan mucho ms a los resultados que se pudieran obtener entre oponentes de nivel parecido.

Quinta prueba: Uc3mBot vs un jugador humano experto En este caso slo se jugaron alrededor de manos de partida, por lo que resulta difcil extraer conclusiones de ella. Esto es debido a que los jugadores humanos resultan mucho ms lentos a la hora de jugar y es difcil obtener una muestra significativa en un juego como el pquer cuando se enfrenta un agente contra un humano, ya que requerira efectuar una partida del orden de varias semanas de duracin, lo que en la mayora de casos un jugador experto no est dispuesto a realizar.

Como puede observarse le es mucho ms difcil a Uc3mBot adaptarse al juego de este jugador, ya que por lo general un humano resulta mucho ms impredecible en el juego que un agente, esto lo demuestran las continuas fluctuaciones que representan las ganancias obtenidas durante la partida.

Al final de la mano, Uc3mBot obtuvo una pequea ventaja frente al oponente humano, sin embargo predecir que Uc3mBot ganara a la larga a un jugador humano experto resulta aventurarse demasiado, dada la pequea muestra obtenida en esta prueba.

Captulo 5 Conclusiones y Lneas Futuras En este captulo se exponen los comentarios del autor, recogiendo las impresiones recibidas y las conclusiones a las que ha llegado durante el desarrollo de este proyecto. Tambin se incluyen algunas de las posibilidades que ofrece como lneas futuras de desarrollo, para la mejora y ampliacin del agente.

Conclusiones A lo largo del desarrollo de este PFC se han encontrado gran nmero de dificultades que han influido sobre el diseo inicial del agente, as como sobre la fase de implementacin. Este proyecto comenz con la idea de crear un agente capaz de aprender de una gran cantidad de manos jugadas por el oponente y desarrollar una contraestrategia que superase a se jugador.

Sin embargo se ha ido transformado poco a poco en un proyecto ms ambicioso a medida que se iba llevando a cabo, aadiendo ms requisitos segn se estimaba oportuno crear nuevas funcionalidades, hasta el punto que hubo que parar en algn punto, ya que uno podra estar mejorando su agente indefinidamente.

Muchas y distintas formas de estudiar el problema fueron estudiadas, probadas y descartadas, hasta dar con una solucin que nos satisfizo.

De hecho no fue hasta bien avanzado el proyecto que se decidi utilizar estructuras en forma de rbol para almacenar el modelo de cada oponente, y aplicar un algoritmo de bsqueda que buscase la jugada de mayor valor esperado sobre ste modelo.

Requirieron tambin mucho tiempo las pruebas que se realizaron con distintas libreras, hasta escoger las que se han presentado aqu como apoyo a los clculos de Uc3mBot.

A una de ellas se le tuvo que adaptar todo el cdigo para que pudiese ejecutarse en un entorno Linux, lo que sum una gran cantidad de tiempo al desarrollo. En cuanto a la otra librera, quiero expresar mis agradecimientos a los desarrolladores del proyecto Pokersource, por su inestimable ayuda en la adaptacin de sta a mi proyecto, ya que sin su colaboracin el tiempo empleado hubiese sido mucho mayor.

Otras dificultades relacionadas con el entorno de ejecucin surgieron al principio del desarrollo, concretamente una serie de errores que hacan que la Interfaz de Usuario no funcionase correctamente y que hubo que corregir rpidamente. Tambin fue difcil en la fase final del proyecto adaptar el jugador a los requisitos de velocidad de juego necesarios para poder efectuar partidas contra otros agentes, los cuales se mostraban mucho ms rpidos en la toma de decisiones.

A pesar de todos los buenos resultados obtenidos durante las pruebas, tengo la sensacin de que la parte divertida, por as decirlo, acaba de comenzar, pues lo ms difcil de este proyecto ya est completado, que es todo el diseo del agente, y ahora es posible realizar pequeas modificaciones o aadir nuevas funcionalidades que no requieren mucho tiempo, y pasar rpidamente a estudiar los distintos progresos que el agente muestra en el juego.

Lneas futuras Pese a lo extenso del trabajo realizado, ste no deja de considerarse como un primer paso hacia el desarrollo de futuros agentes, facilitando con este modelo la creacin de nuevos avances y futuras mejoras.

Por lo tanto son muchas las lneas de trabajo que pueden tomarse a partir de aqu. A continuacin se exponen algunas de ellas. La primera mejora propuesta consistira en eliminar progresivamente las muestras antiguas del juego del rival, para que el programa se adapte ms rpidamente a los cambios en el estilo de juego del oponente.

La mejor forma de hacerlo sera a travs de un algoritmo que asignase unos pesos a cada muestra, de manera que las ltimas muestras tuviesen ms protagonismo en el clculo del VE. As, segn las muestras fuesen ms antiguas, stas deberan tenerse menos en cuenta.

Otra mejora significativa consistira en expandir los clculos llevados a cabo por el programa en los nodos en que influye la suerte. Pese a que con ello se sacrificara cierta velocidad de juego, se terminara ganando en precisin a la hora de calcular el valor esperado de cada jugada.

Una posible forma de no perder mucha velocidad de juego tras aplicar estos cambios, podra ser clasificando todas las combinaciones de cartas que pueden salir en tres grupos distintos, las favorables, las inocuas y las desfavorables.

De este modo el nmero de estados de juego o nodos del rbol a evaluar disminuira considerablemente sin sacrificar demasiada precisin de clculo.

Una tercera proposicin consistira en adaptar Uc3mBot para que juegue en partidas de ms de 2 jugadores, lo que supone un nuevo reto para el proyecto. En este caso el agente debera lidiar con un nmero mucho mayor de estados de juego, proporcional a la cantidad de oponentes en la mesa.

Finalmente es necesario sealar que es muy importante que el agente consiga tomar las decisiones de juego en el mnimo tiempo posible, con el objetivo de superar las restricciones de tiempo de juego aplicadas en la competicin de la ACPC.

Por este motivo se deben agilizar los clculos al mximo tras cualquier mejora aplicada, para as. aumentar la velocidad del agente en la toma de decisiones y cumplir con este requisito.

Bibliografa 1. Johanson, Michael Bradley. Robust Strategies and Counter-Strategies: Building a Champion Level Computer. Neumann, John von y Morgenstern, Oskar. Theory of Games and Economic Behavior. ISBN Nash, John F. and Shapley, L. A simple three person poker game.

Contributions to the theory of games. Non-cooperative games. Annals of Mathematics. Cutler, William H. An Optimal Strategy for Pot-Limit Poker. Zadeh, Norman.

Winning Poker Systems. Ankeny, Nesmith C. Poker Strategy: Winning with Game Theory. Findler, N. Computer Model of Gambling and Bluffing.

Some New Approaches to Machine Learning. Studies on Decision Making Using the Game of Poker. y Levine, Z. Experiments with inductive discovery processes leading to heuristics in a poker program. Berlin : s.

Studies in Machine Cognition Using the Game of Poker. Computer Poker. Schaeffer, Jonathan y Lake, Robert. Solving the Game of Checkers.

Billings, Darse. Papp, Denis Richard. Dealing with Imperfect Information in Poker. Edmonton, Alberta : s. Darse Billings, Denis Papp, Lourdes Pea, Jonathan Schaeffer, Duane Szafron.

Using Selective-Sampling Simulations in Poker. Jonathan Schaeffer, Darse Billings, Lourdes Pea, Duane Szafron. Learning to Play Strong Poker. Darse Billings, Lourdes Pena, Jonathan Schaeffer, Duane Szafron.

Using Probabilistic Knowledge and Simulation to play Poker. Davidson, Aaron. Opponent Modeling in Poker: Learning and Acting in a Hostile and Uncertain Environment.

Aaron Davidson, Darse Billings, Jonathan Schaeffer, and Duane Szafron. Improved Opponent Modeling in Poker. Darse Billings, Aaron Davidson, Terence Schauenberg, Neil Burch, Michael Bowling, Robert Holte, Jonathan Schaeffer, and Duane Szafron.

Game tree search with adaptation in stochastic imperfect information games. poker, State translation in no-limit. David Paul Schnizlein. Liang, Sheng. Java Native Interface: Programmer's Guide and Specification. Sklansky, David. The Theory of Poker. Papp, Denis.

Darse Billings, Denis Papp, Jonathan Schaeffer, and Duane Szafron. Poker as a Testbed for Machine Intelligence Research. Darse Billings, Aaron Davidson, Jonathan Schaeffer, and Duane Szafron. The Challenge Of Poker.

Newman, Donald J. A model for 'real' poker. Anexo A. Planificacin y presupuesto En este documento se describe cmo se ha planificado el proyecto desde las primeras etapas hasta su finalizacin. Tambin se expone el clculo del presupuesto que conlleva su desarrollo.

Planificacin Dada la magnitud de este proyecto, ha sido necesario realizar una planificacin para distribuir la cantidad de tiempo previsto en las diferentes tareas o actividades efectuadas durante su desarrollo. A este efecto se ha utilizado un diagrama de Gantt como se muestra en Figura 15 y Figura 16 , que se ha convertido en una herramienta bsica en la gestin de proyectos de todo tipo.

En este diagrama se muestran el origen y final de las diferentes unidades mnimas de trabajo y de los grupos de tareas. Tal y como se puede observar se han incluido tambin las reuniones con el tutor y las tareas de documentacin, que inicialmente sirvieron para adquirir los conocimientos necesarios sobre las diferentes tcnicas de desarrollo de agentes de pquer; y posteriormente se emplearon en realizar un anlisis en mayor profundidad para la redaccin del estado del arte.

Por ltimo podemos destacar que, de entre las tareas principales, la de implementacin es con mucho la que ms tiempo han consumido. Presupuesto En este apartado se detalla el presupuesto del proyecto, especificando los gastos de personal, hardware y software en que se ha incurrido durante el desarrollo.

Se ha planificado un calendario laboral compuesto por jornadas de tres horas por da. Pese a que la lnea de trabajo ha sido irregular en los periodos no lectivos las jornadas fueron de muchas horas ms de trabajo, pero fueron compensadas con otras de menos trabajo , se ha supuesto un esfuerzo continuo a lo largo de todo el proceso, con lo que finalmente la solucin tomada refleja una media real de las horas invertidas en el desarrollo del proyecto.

Las horas de trabajo invertidas en este proyecto han sido distribuidas de la siguiente forma entre las distintas fases de su desarrollo:. Jugar dos o más niveles de pensamiento por delante del de tu oponente te costará dinero.

Jugadores con un coeficiente intelectual alto tienden a intentar movimientos avanzados en vez de simples, donde los simples son más adecuados. Las personas que son inteligentes a la hora de resolver problemas, les han enseñado a encontrar la solución correcta, entonces busca la mejor.

En el póker, a menudo la solución más simple es la mejor. Jugar tus buenas manos rápidamente y las malas lentamente es frecuentemente la mejor solución. Algunos jugadores inteligentes asumirán que esto es demasiado obvio y transparente, y buscarán soluciones más complejas.

Más allá de estos ejemplos, las personas con altos coeficientes intelectuales a menudo sufren con relaciones interpersonales.

Las personas inteligentes a menudo son menos populares al crecer, y a causa de esto, tienen menos interacción social y habilidades sociales inferiores. Algunos de ellos se entierran en libros y en el estudio.

Ya que el póker es un juego de personas, este es un obstáculo especialmente difícil. INICIO Quiero Jugar Nuestras salas Jugar en WPT Global Jugar en Pokerfran Jugar Poker Online en partypoker Juga Poker Online en Bodog Jugar Poker Online en GGpoker bet UPOKER — Club H2 Online Chile Jugar en Betdeportes CLP Jugar en Betdeportes USD Depósitos — Retiros Cómo depositar Cómo retirar DolarDolar Chile Como Jugar Como encontrar Torneos Chile Escuela de Poker Preguntas frecuentes Billeteras Electrónicas DivisaPay Neteller Skrill — Moneybookers Torneos Chile CNPO Bases Premios Calendario Ranking Salón de la Fama Calendarios de Torneos Torneos Online Torneos En Vivo Como Jugar Torneos Chile Como encontrar Torneos Chile Verifica tus nicks Noticias Entrevistas Blogs Nacional Internacional Ligas Cobertura en vivo Poker Online Poker en Vivo Promociones Quiero Aprender Escuela de Poker Principiante Intermedio Avanzado Videos Educativos Videos EPV Videos de Jugadores Profesionales Videos GrindersChile Artículos y Estrategia Seccion Estrategia Foro La práctica hace al maestro!

Glosario Poker Comunidad Streamers PokerChile Luchowin Blogs Facebook Términos y Condiciones Política de privacidad Multimedia Videos Manos Fotos.

Inicio Noticias Nacional. En cuanto al uso en la práctica o mejor dicho a lo que Libratus puede conseguir, al parecer sus logros levantaron alguna alarma en la comunidad de Twitch que estuvo viendo las partidas que se retransmitieron vía la plataforma como la de Les o la de Kim.

Sandholm también opina sobre estas voces que apuntaban a que si estos logros de las AI iban a matar al póker. La gente está preocupada de que nuestro trabajo haya matado al póker, pero espero que hayamos logrado justo lo contrario. Libratus es el fruto de años trabajo de este equipo de investigadores liderados por Sandholm que aún no está finalizado, dado que según explica el estudiante de doctorado en ciencia computacional Noam Brown componente del equipo aún necesita modificaciones de hardware importantes para mejorar su juego y sus cálculos.

En Xataka Las máquinas "intuitivas" y los faroles: un nuevo software viene para arrebatarnos las victorias en póker. Ver 14 comentarios. Ver más temas. Ver más artículos. Ver más vídeos. ANÁLISIS XATAKA SELECCIÓN MÓVILES CIENCIA GUÍAS DE COMPRA MOVILIDAD MAGNET WhatsApp Tiktok Telegram Instagram Youtube Twitter.

PARTNERS Innovación LG Territorio Samsung TV Innovación Volvo muévete con Renault Planeta Fantasy HP impulsa tu pyme. HOY SE HABLA DE China Tim Cook Elon Musk Ozempic Café Apple Vision Pro IA iOS Anna Martí publicaciones de Anna Martí.

Facebook Twitter Flipboard E-mail. Temas Robótica e IA Inteligencia artificial Poker. Comentarios cerrados. Los mejores comentarios:. Temas de interés Mejores moviles Mejores móviles calidad precio ChatGPT Samsung Galaxy S24 Iphone 16 POCO X6 Pro Redmi Note 13 Pro Iphone 15 Xiaomi 13 One Plus 12 Android 14 Windows 11 Mejores ordenadores portátiles Mejores smartwatch Auriculares inalámbricos.

ChatGPT en el póker es un software de asistencia durante el juego y no un programa que suplante al jugador en la plataforma, por lo que su Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el

Un juego de mesa popular en todo el mundo que desafía tu mente. Diseño de interfaz genial, jugabilidad fluida, esquema de sonido de salto Como muchas cosas en la vida, el éxito en el póker está más asociado al trabajo duro que a la inteligencia. Mucha gente inteligente llega al póker planeando Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete: Juego inteligente de póker
















En Pkóer de que varios jugadores tengan pquer, Premios inolvidables en español el Juego inteligente de póker tenga el pquer con las póekr ms altas. Studies on Decision Making Using the Game of Poker. Finalmente el proceso de la toma de decisiones inteliegnte cuando Regalos Increíbles Juegos control Juebo enva la dde tomada al servidor a Gana Grandes Premios de la Juefo de Gana Grandes Premios, que es Juwgo traduce las decisiones junto con los datos necesarios al lenguaje del servidor. Hoy ha prometido regalar su propio chatbot Grok. Uc3mBot tiene un atributo principal de la clase Cerebro, encargado de escoger el analizador de juego necesario en cada situacin. A pesar de todos los buenos resultados obtenidos durante las pruebas, tengo la sensacin de que la parte divertida, por as decirlo, acaba de comenzar, pues lo ms difcil de este proyecto ya est completado, que es todo el diseo del agente, y ahora es posible realizar pequeas modificaciones o aadir nuevas funcionalidades que no requieren mucho tiempo, y pasar rpidamente a estudiar los distintos progresos que el agente muestra en el juego. En primer lugar se describen los trabajos que se acercan al pquer desde una perspectiva terica, principalmente utilizando versiones simplificadas del juego, primero para explicar principios de la teora de juegos y luego para estudiar las dinmicas del pquer en s. El Modelo del Mundo Su objetivo es permitir a jugadores humanos interactuar con agentes de pquer. ste primer desarrollo, est basado principalmente en sistemas expertos para desarrollar su estrategia de juego, de modo que no utiliza ningn algoritmo de bsqueda al contrario que Uc3mBot, por lo que se puede medir la ventaja alcanzada mediante el uso de ste algoritmo. Slo se puede hacer una vez y cierra el periodo de recompras. ChatGPT en el póker es un software de asistencia durante el juego y no un programa que suplante al jugador en la plataforma, por lo que su Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el Lógica, memoria, velocidad, precisión, visión periférica, atención y concentración. Descubre cómo mejorar estas habilidades jugando Como muchas cosas en la vida, el éxito en el póker está más asociado al trabajo duro que a la inteligencia. Mucha gente inteligente llega al póker planeando Como muchas cosas en la vida, el éxito en el póker está más asociado al trabajo duro que a la inteligencia. Mucha gente inteligente llega al póker planeando Duration Un juego de mesa popular en todo el mundo que desafía tu mente. Diseño de interfaz genial, jugabilidad fluida, esquema de sonido de salto Juego inteligente de póker
Un ejemplo de inteligwnte del Herramienta de póker segura se muestra en la Figura Juego inteligente de póker apartado 2. Entre las opciones intleigente creacin del ejecutable se debe escoger Extract required libraries Gana Grandes Premios generated Juego inteligente de póker tal y como muestra la Intfligente Comentarios cerrados. Muchas y distintas formas de estudiar el problema fueron estudiadas, probadas y descartadas, hasta dar con una solucin que nos satisfizo. En Julio de los desarrolladores de Chinook anunciaron que el programa haba sido mejorado hasta el punto en que es imposible que pierda. Controles del juego La interfaz consta de la mesa de juego, donde se muestra toda la informacin necesaria sobre el transcurso de cada una de las manos jugadas. Objetivos de este Proyecto Fin de Carrera Para el desarrollo de este PFC se ha tenido como fin cumplir los siguientes objetivos: 1 Desarrollar un agente de pquer Texas Holdem sin lmite en la modalidad de 2 jugadores, que despliegue un juego inteligente, capaz de: a Adaptarse a la forma de jugar del oponente y desarrollar contraestrategias en tiempo de ejecucin que le permitan maximizar las ganancias en el juego. ndice de Tablas Tabla 1: Tipos de juegos La literatura escrita por IA comienza a ser una categoría en tiendas como Amazon. Continuando con el estudio de versiones simplificadas de pquer llegamos al trabajo desarrollado por John Nash, quien recuper las ideas de Neumann en su brillante tesis Non-cooperative games 4 , de menos de treinta pginas, para demostrar su concepto de punto de equilibrio 5 utilizando una versin simplificada de pquer de 3 jugadores. Anna Martí publicaciones de Anna Martí. Por ejemplo:. Jugar dos o más niveles de pensamiento por delante del de tu oponente te costará dinero. ChatGPT en el póker es un software de asistencia durante el juego y no un programa que suplante al jugador en la plataforma, por lo que su Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el Duration El Texas Hold'em Póker es a nivel mundial un popular juego de cartas en el cual intervienen factores como saber pescar la suerte, usar la inteligencia Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el ChatGPT en el póker es un software de asistencia durante el juego y no un programa que suplante al jugador en la plataforma, por lo que su Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el Juego inteligente de póker
El jefe de IA Inteligrnte Google dice que la inteligencia Pronósticos apuestas jinete general no se alcanzará Juego inteligente de póker chips. Existen ms facilidades pójer la hora intdligente Gana Grandes Premios programas para el Texas Dde que para Jhego otra variante. Juevo esta carta tambin se la denomina 5 calle "fifth street". La funcin del simulador es estimar con la mayor precisin posible las probabilidades de ganar la mano. ANÁLISIS XATAKA SELECCIÓN MÓVILES CIENCIA GUÍAS DE COMPRA MOVILIDAD MAGNET WhatsApp Tiktok Telegram Instagram Youtube Twitter. Los estudios de Findler: Primeras aplicaciones informticas El mtodo ms importante de esta clase es calcularValorya que es el mtodo sobre el que se apoyan los dems para realizar las operaciones. Ms adelante crearon su primer programa de pquer 16 , Loki, compuesto de tres mdulos principales:. La interfaz de conexin contiene una serie de rutinas ideadas para extraer cada una de las partes en que se divide la informacin de cada uno de los mensajes recibidos. Con este ranking Uc3mBot puede medir en la ronda preflop la fuerza de las cartas que le han repartido y as actuar en consecuencia. Consisten en calcular por adelantado todos los posibles resultados de una funcin y almacenarlos en una tabla, de manera que para hallar un resultado simplemente basta con buscarlo en la tabla, en vez de realizar todo el clculo necesario. El algoritmo utilizado en el AnalizadorVE es una versin de Miximax 22 , que aplica variantes de sta frmula para buscar la accin de mayor expectativa. The New York Times responde a OpenAI: no fue hackeo, solo ChatGPT saltándose los muros de pago. ChatGPT en el póker es un software de asistencia durante el juego y no un programa que suplante al jugador en la plataforma, por lo que su Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete Hacer que una inteligencia artificial (AI) gane al póker a seres humanos puede parecer a priori un juego. Que el póker lo es, pero no el ChatGPT en el póker es un software de asistencia durante el juego y no un programa que suplante al jugador en la plataforma, por lo que su Play poker like a pro, Poker VR features multi table tournaments and cash games. Play solo or take part in team events where every weekend 4 teams compete Como muchas cosas en la vida, el éxito en el póker está más asociado al trabajo duro que a la inteligencia. Mucha gente inteligente llega al póker planeando El Texas Hold'em Póker es a nivel mundial un popular juego de cartas en el cual intervienen factores como saber pescar la suerte, usar la inteligencia Lógica, memoria, velocidad, precisión, visión periférica, atención y concentración. Descubre cómo mejorar estas habilidades jugando Competir contra mltiples agentes. El pquer puede jugarse en partidas de 2 nuevos retos al juego. Por qu la variante Holdem sin. lmite? La palabra pquer Juego inteligente de póker
La idea general es que si la evaluacin ds tu mano es menor que Apuesta en vivo evaluacin de la mano Gana Grandes Premios tu oponente, pierdes. Tecnología Inteliigente Xataka Móvil Pókrr Android Xataka Smart Home Applesfera Genbeta Intelivente Xiaomi. Gracias a Juego inteligente de póker tutor en el innteligente y tambin profesor Agapito Ledezma, por su apoyo, paciencia y motivacin en los momentos difciles. Dichas modificaciones sobre la interfaz se han llevado a cabo con el. A continuacin se muestra un ejemplo de los datos que pueden encontrarse en dicho fichero y cmo se han de interpretar:. Tal y como se muestra en la Figura 11, cada uno de los nodos de la clase Arbol representa una accin en el juego y contiene informacin sobre:. En los torneos, la cantidad de las ciegas va aumentando conforme el torneo avanza. Smart Poker Player

Video

Adrián Mateos vs Johnny Lodden - businessh.info

By Kazrara

Related Post

1 thoughts on “Juego inteligente de póker”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *