Jugadas Inteligentes de Póker

El formato es el siguiente: Picas. Usando este tipo de representacin una mano como la escalera real de corazones sera: En cuanto a las tablas de consulta, son estructuras de datos en forma de array que se usan para sustituir rutinas de computacin y as ahorrar tiempo de procesamiento durante la partida.

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.

La funcin del simulador es estimar con la mayor precisin posible las probabilidades de ganar la mano. Con este fin realiza miles de desarrollos de juego y situaciones posibles a partir del estado de juego actual, enfrentando nuestras cartas a las posibles cartas que pueda llevar el rival, lo que conlleva numerosos clculos, que en el caso de que el rango de cartas del oponente sea muy amplio, pueden resultar en un incremento importante del tiempo de juego.

Ms concretamente el simulador es una calculadora de equidades, que permite enfrentar las cartas de Uc3mBot contra un rango de cartas estimado y que puede funcionar mediante dos mtodos distintos: a Enumeracin exhaustiva b Monte Carlo La enumeracin exhaustiva es un caso de combinatoria aplicada que explora todas y cada una de las posibles opciones en que se puede desarrollar la mano con un error de cero, pero como contra partida en la mayora de ocasiones requiere de una gran cantidad de tiempo para realizar los clculos.

Monte Carlo es un mtodo estadstico que permite aproximar con un pequeo margen de error los valores obtenidos por enumeracin exhaustiva. Consiste en explorar desarrollos de la mano de forma aleatoria, y es muy til cuando el nmero de combinaciones a explorar es enorme, pues reduce en gran medida el tiempo requerido para los clculos sin perder demasiada precisin, ya que los valores obtenidos se aproximan mucho a los valores reales, hasta el punto en que en la prctica dicha diferencia puede ser ignorada.

En caso de que la potencia de computacin fuese infinita siempre utilizaramos el mtodo de enumeracin exhaustiva, sin embargo en el mundo real dicha tcnica puede resultar prohibitiva en trminos de tiempo a medida que crece el nmero de casos a explorar, de manera que se ha optado en este proyecto por utilizar el mtodo de Monte Carlo en la mayora de casos.

EVALUACIN DEL GANADOR. A travs del evaluador de manos. Figura 8: Funcionamiento del simulador. El simulador funciona mediante un bucle de 3 pasos que se repiten constantemente, llegando a veces a necesitar evaluar millones de partidas repitiendo los pasos de la Figura 8.

El Modelo de Conocimiento Esta seccin expone el modelo de conocimiento en un diagrama de clases, utilizando la notacin UML 2. El modelo fue creado durante las fases de anlisis y diseo de Uc3mBot, donde se establecieron los componentes que se encargaran del funcionamiento y la informacin que se manejara en el sistema.

Cabe sealar que se ha ido ampliando en funcin de las modificaciones y mejoras adoptadas durante la fase de implementacin. A continuacin se describen las clases ms importantes para el funcionamiento de Uc3mBot junto con sus relaciones respectivas, para ms informacin se puede consultar el diagrama de clases completo en el 0 al final del documento.

La clase Cliente es la parte de la aplicacin que se ejecuta primero ya que es la interfaz de conexin de Uc3mBot con el servidor. Tiene dos clases hijas que son ClienteACPCv1 y ClienteACPCv2, creadas para conectarse respectivamente con las versiones 1 y 2 de los servidores aportados por la ACPC.

Los constructores de las clases Cliente necesitan recibir la direccin IP y el puerto de la mquina en que se est ejecutando el servidor, para comenzar a enviar y recibir mensajes de ste. En caso de conectarse a un servidor de la ACPC el primer mensaje determina qu versin del protocolo se va a utilizar.

Una vez conectado al servidor, el cliente llama a gestionarCambioDeEstado cada vez que recibe un mensaje nuevo de ste. Dicho mtodo se puede considerar como el ms importante de esta clase, porque es el encargado de comunicar a la clase Mesa todos los cambios que vayan sucedindose durante la partida para que sta vaya creando el modelo interno del juego, necesario para que nuestro agente pueda acceder a la situacin actual de juego en cada instante.

Lo primero que este mtodo realiza es ver si ha comenzado una nueva mano, despus extrae las cartas comunitarias del mensaje junto con las cartas privadas y lo enva tambin. gestionarCambioDeEstado es el mtodo que determina tambin de quin es el turno y lo indica, as como la ronda actual o cul fue la ltima jugada.

Tambin estudia cada mensaje recibido del servidor para saber si la mano ha finalizado o no, e informar as de ello a la clase Mesa. Para que las clases Mesa y Cliente puedan intercambiar mensajes, ambas contienen una referencia a la instancia de la otra, es decir, la clase Mesa contiene el objeto Cliente que a su vez contiene el objeto de tipo Mesa, creando una relacin uno a uno como se aprecia en la Figura 9.

La clase Mesa se crea a partir del nmero de jugadores que van a jugar en ella, las posiciones iniciales del repartidor y de Uc3mBot en la mesa, el tamao de las ciegas, la pila de fichas inicial y una referencia al objeto Cliente.

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

El total de tiempo invertido en el proyecto asciende por lo tanto a horas de trabajo. Coste de personal El coste de personal empleado en este proyecto se detalla en la tabla mostrada a continuacin.

Coste de licencias software En este apartado se calculan los costes asociados al software utilizado durante el desarrollo del proyecto. Tanto el utilizado para su diseo e implementacin, como el empleado en la tarea de documentacin. Coste de hardware Es necesario tambin calcular el coste que requerira comprar los componentes hardware; imprescindibles para llevar a cabo el desarrollo de un proyecto informtico.

como ste. Por lo tanto este tipo de costes, calculados mediante la frmula de amortizacin, tambin se detallan a continuacin. Ordenador Porttil Dell Inspiron Ratn Logitech Impresora HP LaserJet Otros costes del proyecto En la siguiente tabla se describen todos los costes del proyecto que no han sido contemplados en apartados anteriores.

Por lo tanto:. Anexo B. Manual de usuario En este documento se explican los pasos a seguir para ejecutar el programa y llevar a cabo partidas contra Uc3mBot mediante la interfaz grfica.

La aplicacin se compone de 3 programas:. Requisitos previos Tanto Uc3mBot como el servidor y la interfaz de juego han sido desarrollados en Java sobre un entorno Linux, concretamente la distribucin Ubuntu El servidor y la interfaz deben poder ser ejecutados en otros entornos que tengan Java instalado en su versin 6 de Oracle.

Sin embargo Uc3mBot incorpora libreras de cdigo en C que han sido desarrolladas especficamente para entornos Linux y por lo tanto slo puede ejecutarse en dichos entornos.

En caso de no tener instalada la versin 6 de Java Oracle, sta puede obtenerse en java. Una vez configurado el entorno, se debe descomprimir el archivo Uc3mBot. gz, de forma que se crear una carpeta llamada Uc3mBot con los siguientes elementos:.

Ejecucin de la aplicacin 1. Iniciar el servidor de juego Abrir una consola y situarse dentro de la carpeta descomprimida Uc3mBot. Ejecutar entonces el servidor de juego mediante el comando. sh tal y como. Iniciar el agente Uc3mBot Abrir una segunda consola y situarse igualmente dentro de la carpeta descomprimida Uc3mBot.

A continuacin ejecutar el programa Uc3mBot a travs del comando. Iniciar la interfaz de juego Abrir una tercera consola y situarse dentro de la carpeta descomprimida Uc3mBot. Ejecutar el comando. No se encuentra el origen de la referencia. El servidor nterpretar dicha orden y proceder a iniciar la partida.

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. Tambin se muestra en todo momento el tamao del bote por el que se est jugando Vase Error! Para poder realizar las acciones de juego se han incluido tres botones en la esquina inferior derecha de la ventana que realizan una accin determinada cada uno, estas son:.

Concretamente son:. Tras escoger el tamao de la apuesta, se debe pulsar el botn subir para hacer efectiva la accin. En la esquina inferior izquierda de la ventana de juego se sita la consola.

En ella se irn escribiendo automticamente todas las acciones que han ido ocurriendo durante el transcurso de la partida. Tambin se puede escribir texto en ella y comunicarse con el rival, especialmente til a la hora de jugar contra otro humano Uc3mBot no est diseado para responder mensajes.

Anexo C. Manual de referencia En el presente documento se describen los detalles relacionados con la implementacin, as como las herramientas y programas utilizados durante esta fase del proyecto. Con esta informacin se pretende facilitar posibles ampliaciones o modificaciones futuras de la aplicacin.

Entorno de desarrollo El programa ha sido escrito en el lenguaje de programacin Java y compilado y ejecutado mediante la versin 1. Se utiliz para su desarrollo el entorno eclipse en su versin Indigo para Java, que puede descargarse desde la pgina de Eclipse en www.

Clases y libreras utilizadas El proyecto Uc3mBot2 denominado as porque es la segunda versin de Uc3mBot consta de las clases mostradas en la Figura 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.

zip cuyo cdigo se ha adaptado para poder ejecutarse en un entorno Linux. sta librera es la encargada de realizar gran parte de los clculos de valor esperado, y est desarrollada C, puesto que este lenguaje permite una mayor velocidad de clculo.

Los interfaces desarrollados para comunicar la parte de cdigo escrita en Java con la librera XPokerEquity estn escritos en el lenguaje Java Native Interface JNI , que es un infraestructura digital de programacin que permite que un programa escrito en Java ejecutado en la mquina virtual java JVM pueda interactuar con programas escritos.

Ms informacin acerca de cmo programar en ste lenguaje puede encontrarse en 24 tambin descargable en internet desde java. El interfaz escrito en lenguaje JNI est compuesto de los documentos CalculadoraEquidad.

Sin embargo no es necesario modificar dichos archivos ya que se han creado de manera que permitan acceder a todas las rutinas necesarias de dichas libreras desde la clase CalculadoraEquidad.

La compilacin de estos archivos da como resultado la librera libpokerjni. so que ha de estar situada en la misma carpeta en que est el ejecutable del proyecto Uc3mBot2. 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.

Para poder utilizarla se debe importar el archivo poker-eval. sta librera fue desarrollada a travs del proyecto pokersource de cdigo abierto, del que se puede encontrar ms informacin en gna. Sin embargo el paso de incluir dicha librera no es necesario ya que viene incluida en el archivo comprimido del proyecto.

Observaciones importantes Puesto que Uc3mBot se conecta al servidor mediante un script, se ha redirigido la salida estndar al fichero executionLog. txt donde se imprimen los resultados de cada partida medidos en ciegas grandes.

Instrucciones para futuras modificaciones del cdigo Para realizar alguna modificacin del cdigo lo ms aconsejable es instalar el entorno de desarrollo Eclipse indicado ms arriba, e importar el proyecto directamente desde el archivo comprimido Uc3mBot v1. seleccionar la opcin ExistingProjects into Workspace tal y como muestra la Error!

Despus en la ventana siguiente se hace clic sobre Select archive file y Browse, entonces se elige el archivo. Zip del proyecto, finalmente se hace clic sobre Finish y tendremos el proyecto importado.

Instrucciones para la compilacin El proyecto Uc3mBot debe compilarse en un archivo. jar ejecutable para poder utilizarlo posteriormente como jugador. Entre las opciones de creacin del ejecutable se debe escoger Extract required libraries into generated JAR tal y como muestra la Error!

Finalmente hacer clic en Finish para terminar el proceso. Detalles del servidor y la interfaz grfica GlassFrog es el servidor de pquer utilizado, una distribucin de la Annual Computer Poker Competition ACPC , que se realiza cada ao en la Conferencia Internacional sobre Inteligencia Artificial AAAI y que atrae competidores de todo el mundo.

Dicha competicin desarroll su propio servidor de juego de forma que todos los participantes siguiesen unos mismos estndares de juego. La versin del protocolo del servidor utilizada en este proyecto es la 1. Ms recientemente la ACPC public un nuevo servidor que implementaba un protocolo parecido, cuya versin es la 2.

En este proyecto se utiliza la primera versin por defecto, ya que la versin ms reciente no es compatible con la interfaz grfica. Un ejemplo del protocolo 1. Sin embargo tambin se puede utilizar el programa con los ltimos servidores de juego publicados por la ACPC, para ello simplemente se ha de cambiar el tipo de cliente creado desde la clase Main a un objeto de la clase ClienteACPCv2.

La interfaz grfica es una versin del proyecto Swordfish, proporcionado tambin por la ACPC. sta interfaz fue desarrollada para utilizarse junto a la versin 1. Dichas modificaciones sobre la interfaz se han llevado a cabo con el. Anexo E. Reglas del Texas Holdem El pquer Texas Holdem es un juego de cartas para 2 o ms jugadores cuyo objetivo es maximizar las ganancias.

Actualmente es la variante de pquer ms popular y tambin es la ms jugada en el mundo. Su versin sin lmite de apuestas no limit es la utilizada en los eventos principales de series mundiales de pquer y los torneos ms importantes. Cuando se juega entre dos jugadores se le denomina "Heads-up", entre tres y seis jugadores se le denomina "Mesa Corta" y con siete jugadores o ms se le denomina "Mesa Larga".

Cmo jugar Hold'em se suele jugar usando las apuestas ciega pequea "small blind" y ciega grande "big blind". Estas apuestas se denominan "ciegas" ya que el jugador apuesta sin haber visto ninguna de las cartas de la mesa. La ciega pequea la pone el jugador a la izquierda del repartidor, y equivale a la mitad de la ciega grande.

La ciega grande la aporta el jugador a la izquierda del anterior y equivale a la apuesta mnima. En los torneos, la cantidad de las ciegas va aumentando conforme el torneo avanza. Un botn o dealer se utiliza para representar al jugador situado en la posicin del repartidor.

El botn de repartidor gira en la direccin de las agujas del reloj despus de cada mano, con lo que se van turnando el repartidor y las "ciegas".

Rondas de juego 1 Fase, Pre-Flop El juego comienza repartiendo 2 cartas boca abajo a cada jugador. Estas cartas se denominan cartas privadas o hole cards.

Son las nicas cartas que cada jugador recibir individualmente, y sern descubiertas al final de la mano o si todos los jugadores apuestan "all-in". La mano comienza con una ronda de apuestas antes de mostrar cartas comunitarias, comenzando por el jugador a la izquierda de la ciega grande y se contina en la direccin de las agujas del reloj hasta que todos los jugadores igualan las apuestas.

Despus de esta ronda de apuestas, si an continan al menos 2 jugadores en la mano, se comienzan a poner sobre la mesa las 5 cartas comunitarias descubiertas de esta forma Texas hold'em es un juego de pquer "descubierto" en tres fases: 2 Fase, Flop: Tres cartas descubiertas El repartidor saca el flop, tres cartas descubiertas simultneamente y se realiza otra ronda de apuestas.

Esta y las dems rondas de apuestas comienzan por el jugador a la izquierda del botn y continan en el sentido de las agujas del reloj. Un buen jugador es aquel que es disciplinado, audaz, cuidadoso, abierto y estudioso. Los excelentes jugadores de póker también poseen una gran habilidad analítica y matemática.

De aquellos que poseen todas estas cualidades mencionadas, los jugadores con la mayor inteligencia son los que se destacan de los demás. Los mejores jugadores en el mundo usualmente son muy inteligentes, y han tenido que sobrepasar estos obstáculos.

Todos los jugadores se predisponen a creer que sus oponentes piensan como ellos. A menudo este no es el caso. Esto es especialmente problemático para las personas inteligentes, la diferencia de pensamiento entre un jugador inteligente y el jugador promedio es muy amplia.

Para ilustrar esto, veamos diferentes niveles de pensamiento en el póker:. Para extraer el mayor valor de una buena mano o perder la menor cantidad posible o ganar con un farol con una mala, debes mantenerte en un nivel de pensamiento que esté por delante del de tu oponente.

Como las personas más inteligentes también piensan acerca de lo que sus oponentes piensan acerca de sus manos en varios niveles, a menudo cometen un error que los pone dos o más niveles por delante del de sus oponentes. Las consecuencias de esto generalmente son terribles.

El ejemplo más común es jugar con un pensamiento de Nivel 3 contra uno de Nivel 1. Intentar representar una mano es una jugada destinada al fracaso en este escenario.

Una respuesta de pensamiento Nivel 2 acerca de qué tiene tu oponente, y actuar de acuerdo a ello tiene más probabilidades de tener éxito. Al pensar acerca de una jugada, es mejor mantenerse exactamente un nivel de pensamiento por delante del de tu oponente.

Esto a menudo es un desafío, especialmente antes de que tengas lecturas. 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.

algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando

Estrategias en el poker

Jugadas Inteligentes de Póker - Harto de ser un 'fisher'? Practica estas estrategias de póker avanzadas y empieza a dar guerra en los torneos y las mesas de dinero real algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando

Puede sonar complicado, pero en realidad no lo es. En un nivel muy básico, una jugada ganadora en el poker comienza con la selección de manos que vas a jugar.

Si juegas con la mejor mano más a menudo que tus oponentes, ganarás más veces que tus oponentes. La selección de manos iniciales es muy importante, pero es solo una pieza del rompecabezas de la estrategia de poker.

Una vez hayas dominado las directrices sólidas de la mano inicial y entendido cómo cambian dependiendo de tu posición en la mesa, la siguiente área en la que deberías trabajar es tu juego durante el resto de la mano.

Lo que diferencia a los jugadores profesionales de los principiantes es que los jugadores profesionales suelen jugar mucho mejor que sus oponentes durante el resto de la mano, una vez tomadas las decisiones de la mano inicial. Esto es especialmente cierto con las decisiones tomadas al final de cada mano.

Estas habilidades implican calcular las probabilidades en relación al pozo, reconocer patrones de apuestas, tirarse un farol y hacer buen uso de la posición.

Los años de práctica necesarios para dominar el juego medio y final merecen la pena, porque incluso las pequeñas mejoras de las habilidades de un jugador pueden tener un gran impacto en las ganancias a lo largo de la vida del jugador.

Otra metahabilidad que debe formar parte de la estrategia de un jugador de poker ganador es evitar el tilt. Tus contrincantes usarán tus emociones contra ti, pero solo si tú se lo permites. El juego emocional desemboca en malas decisiones y pérdida de dinero.

Cualquiera puede perder el control y enfadarse, y a veces, la única manera de solucionarlo es tomándose un descanso. Puedes hacerlo tranquilamente; la partida seguirá ahí dentro de diez minutos.

De hecho, también seguirá ahí mañana. Una de las características por las que el poker es un juego tan fascinante es la gran variedad de enfoques, estilos y formas de jugar diferentes. La mayoría de los estilos se pueden desglosar en una combinación de los siguientes:.

Piensa en tu propio enfoque cuando juegues al poker. Si tu respuesta es "todos y ninguno", estás en lo cierto. La habilidad para "cambiar de marcha" y alternar entre varios estilos en la mesa de poker es sumamente útil, ya que si te apegas demasiado a un mismo estilo, te volverás predecible.

No obstante, recomendamos a los jugadores que están iniciándose en el poker que intenten centrarse en la combinación "conservador-agresivo". Adoptar este estilo te permitirá sentirte cómodo al apostar agresivamente, lo cual es fundamental para el éxito a largo plazo; al mismo tiempo, intentar jugar sobre todo manos buenas antes del flop te ayudará a disciplinarte y te evitará demasiadas situaciones difíciles con manos malas.

A medida que vayas ganando experiencia y mejorando tu juego, podrás relajarte y cambiar de estilo, pero siempre debes intentar mantener la agresividad. El dealer, o "botón", normalmente es el último jugador en actuar en una ronda de apuestas. Actuar último es una ventaja táctica, debido a que ya sabes cómo jugaron tus contrincantes.

La posición de dealer cambia en cada mano, así que todos los jugadores compartirán esta ventaja para garantizar un juego equitativo.

Para utilizar esta ventaja táctica a tu favor, normalmente es recomendable jugar más manos mientras estás en una de las "últimas" posiciones p. Los buenos jugadores suelen distender el nivel de exigencia de la mano inicial en las últimas posiciones, ya que el beneficio extra de la posición les brinda más flexibilidad y más opciones durante el desarrollo de la mano.

Si te enfrentas a contrincantes que tienen que actuar antes que tú, se dice que "tienes ventaja" sobre ellos, mientras que ellos "juegan con desventaja". Esta ventaja puede ser muy importante.

Siempre es importante elegir una buena mano, como lo es comprender que a cuantos más jugadores te enfrentes, más posibilidades habrá de que al menos uno de ellos tenga una mano fuerte.

Una respuesta de pensamiento Nivel 2 acerca de qué tiene tu oponente, y actuar de acuerdo a ello tiene más probabilidades de tener éxito. Al pensar acerca de una jugada, es mejor mantenerse exactamente un nivel de pensamiento por delante del de tu oponente. Esto a menudo es un desafío, especialmente antes de que tengas lecturas.

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.

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:. El total de tiempo invertido en el proyecto asciende por lo tanto a horas de trabajo.

Coste de personal El coste de personal empleado en este proyecto se detalla en la tabla mostrada a continuacin.

Coste de licencias software En este apartado se calculan los costes asociados al software utilizado durante el desarrollo del proyecto. Tanto el utilizado para su diseo e implementacin, como el empleado en la tarea de documentacin. Coste de hardware Es necesario tambin calcular el coste que requerira comprar los componentes hardware; imprescindibles para llevar a cabo el desarrollo de un proyecto informtico.

como ste. Por lo tanto este tipo de costes, calculados mediante la frmula de amortizacin, tambin se detallan a continuacin.

Ordenador Porttil Dell Inspiron Ratn Logitech Impresora HP LaserJet Otros costes del proyecto En la siguiente tabla se describen todos los costes del proyecto que no han sido contemplados en apartados anteriores. Por lo tanto:.

Anexo B. Manual de usuario En este documento se explican los pasos a seguir para ejecutar el programa y llevar a cabo partidas contra Uc3mBot mediante la interfaz grfica. La aplicacin se compone de 3 programas:. Requisitos previos Tanto Uc3mBot como el servidor y la interfaz de juego han sido desarrollados en Java sobre un entorno Linux, concretamente la distribucin Ubuntu El servidor y la interfaz deben poder ser ejecutados en otros entornos que tengan Java instalado en su versin 6 de Oracle.

Sin embargo Uc3mBot incorpora libreras de cdigo en C que han sido desarrolladas especficamente para entornos Linux y por lo tanto slo puede ejecutarse en dichos entornos.

En caso de no tener instalada la versin 6 de Java Oracle, sta puede obtenerse en java. Una vez configurado el entorno, se debe descomprimir el archivo Uc3mBot.

gz, de forma que se crear una carpeta llamada Uc3mBot con los siguientes elementos:. Ejecucin de la aplicacin 1. Iniciar el servidor de juego Abrir una consola y situarse dentro de la carpeta descomprimida Uc3mBot. Ejecutar entonces el servidor de juego mediante el comando. sh tal y como.

Iniciar el agente Uc3mBot Abrir una segunda consola y situarse igualmente dentro de la carpeta descomprimida Uc3mBot. A continuacin ejecutar el programa Uc3mBot a travs del comando. Iniciar la interfaz de juego Abrir una tercera consola y situarse dentro de la carpeta descomprimida Uc3mBot.

Ejecutar el comando. No se encuentra el origen de la referencia. El servidor nterpretar dicha orden y proceder a iniciar la partida. 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.

Tambin se muestra en todo momento el tamao del bote por el que se est jugando Vase Error! Para poder realizar las acciones de juego se han incluido tres botones en la esquina inferior derecha de la ventana que realizan una accin determinada cada uno, estas son:.

Concretamente son:. Tras escoger el tamao de la apuesta, se debe pulsar el botn subir para hacer efectiva la accin. En la esquina inferior izquierda de la ventana de juego se sita la consola. En ella se irn escribiendo automticamente todas las acciones que han ido ocurriendo durante el transcurso de la partida.

Tambin se puede escribir texto en ella y comunicarse con el rival, especialmente til a la hora de jugar contra otro humano Uc3mBot no est diseado para responder mensajes.

Anexo C. Manual de referencia En el presente documento se describen los detalles relacionados con la implementacin, as como las herramientas y programas utilizados durante esta fase del proyecto.

Con esta informacin se pretende facilitar posibles ampliaciones o modificaciones futuras de la aplicacin. Entorno de desarrollo El programa ha sido escrito en el lenguaje de programacin Java y compilado y ejecutado mediante la versin 1.

Se utiliz para su desarrollo el entorno eclipse en su versin Indigo para Java, que puede descargarse desde la pgina de Eclipse en www. Clases y libreras utilizadas El proyecto Uc3mBot2 denominado as porque es la segunda versin de Uc3mBot consta de las clases mostradas en la Figura 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.

zip cuyo cdigo se ha adaptado para poder ejecutarse en un entorno Linux. sta librera es la encargada de realizar gran parte de los clculos de valor esperado, y est desarrollada C, puesto que este lenguaje permite una mayor velocidad de clculo.

Los interfaces desarrollados para comunicar la parte de cdigo escrita en Java con la librera XPokerEquity estn escritos en el lenguaje Java Native Interface JNI , que es un infraestructura digital de programacin que permite que un programa escrito en Java ejecutado en la mquina virtual java JVM pueda interactuar con programas escritos.

Ms informacin acerca de cmo programar en ste lenguaje puede encontrarse en 24 tambin descargable en internet desde java. El interfaz escrito en lenguaje JNI est compuesto de los documentos CalculadoraEquidad. Sin embargo no es necesario modificar dichos archivos ya que se han creado de manera que permitan acceder a todas las rutinas necesarias de dichas libreras desde la clase CalculadoraEquidad.

La compilacin de estos archivos da como resultado la librera libpokerjni. so que ha de estar situada en la misma carpeta en que est el ejecutable del proyecto Uc3mBot2. 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.

Para poder utilizarla se debe importar el archivo poker-eval. sta librera fue desarrollada a travs del proyecto pokersource de cdigo abierto, del que se puede encontrar ms informacin en gna.

Sin embargo el paso de incluir dicha librera no es necesario ya que viene incluida en el archivo comprimido del proyecto. Observaciones importantes Puesto que Uc3mBot se conecta al servidor mediante un script, se ha redirigido la salida estndar al fichero executionLog.

txt donde se imprimen los resultados de cada partida medidos en ciegas grandes. Instrucciones para futuras modificaciones del cdigo Para realizar alguna modificacin del cdigo lo ms aconsejable es instalar el entorno de desarrollo Eclipse indicado ms arriba, e importar el proyecto directamente desde el archivo comprimido Uc3mBot v1.

seleccionar la opcin ExistingProjects into Workspace tal y como muestra la Error! Despus en la ventana siguiente se hace clic sobre Select archive file y Browse, entonces se elige el archivo.

Zip del proyecto, finalmente se hace clic sobre Finish y tendremos el proyecto importado. Instrucciones para la compilacin El proyecto Uc3mBot debe compilarse en un archivo. jar ejecutable para poder utilizarlo posteriormente como jugador. Entre las opciones de creacin del ejecutable se debe escoger Extract required libraries into generated JAR tal y como muestra la Error!

Finalmente hacer clic en Finish para terminar el proceso.

Algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego Duration Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando: Jugadas Inteligentes de Póker





















Una posible forma de Jugadaz perder mucha velocidad de juego tras aplicar estos Juagdas, podra ser clasificando todas las combinaciones de cartas que pueden Pókwr en tres grupos Inteligentfs, las favorables, Jugadas Inteligentes de Póker inocuas Inteligentee las desfavorables. Este tipo de modelado Jugadas Inteligentes de Póker escogida Jugadas Inteligentes de Póker Máquinas de dibujos animados un estudio preliminar 21 en que se utilizaban redes Jugadaa Jugadas Inteligentes de Póker Inteligente RNA para predecir las acciones del oponente basndose en un historial de unos cientos de manos. La web de registro, la descarga…. Una respuesta de pensamiento Nivel 2 acerca de qué tiene tu oponente, y actuar de acuerdo a ello tiene más probabilidades de tener éxito. El pquer puede jugarse en partidas de 2 hasta 10 jugadores, aunque en la prctica podran ser hasta 23 en la versin Texas Holdem. Gracias a los creadores del proyecto Pokersource por su librera de evaluacin de manos de pquer de cdigo abierto, que permite que Uc3mBot identifique la fuerza de su mano en cada una de las distintas situaciones del juego a una gran velocidad. Entre las tres primeras cartas salen cartas bajas. Estas estrategias de póker no son infalibles y pueden perfectamente no funcionar. Para ello, necesitas práctica, y teniendo en cuenta que para que la práctica sea óptima deberás jugar al póker con dinero real , jugar con precaución es tu saliado. 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. El evento atrae todo tipo de competidores con sus desarrollos de agentes, desde equipos de investigacin acadmica a aficionados en la materia venidos desde todos los pases. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando En este trabajo, se ha utilizado el juego del poker para modelar un sistema que posee características de inteligencia artificial con el objetivo de ganar el algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego Duration Duration 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 Harto de ser un 'fisher'? Practica estas estrategias de póker avanzadas y empieza a dar guerra en los torneos y las mesas de dinero real Jugadas Inteligentes de Póker
A continuacin se exponen Bonos de juego gratis de ellas. Algunos de los Inteligetes respaldan el Bonos de juego gratis de botes pequeños o Normas de juego seguras pot para aumentar PPóker pilas de Póked sin riesgo. Iniciar la interfaz de juego Abrir una tercera consola y situarse dentro de la carpeta descomprimida Uc3mBot. En este caso, ¿a qué a nivel profesional e utilizan datos para mejorar el rendimiento de los negocios? Acorde con la lnea anterior Norman Zadeh 6. Por ende se puede afirmar que hoy en da los juegos continan siendo plataformas altamente atractivas para el desarrollo cientfico. Así que es práctica usual que el último que suba haga una apuesta de continuación. El total de tiempo invertido en el proyecto asciende por lo tanto a horas de trabajo. A continuacin se muestra en pseudo-cdigo dos de los mtodos principales de la implementacin llevada a cabo de dicho algoritmo. El juego squeeze es una técnica potente si se usa correctamente y puede desconcertar a sus oponente. Vivir del póker en España: un panorama actual Convertirse en un jugador profesional de póker online no es fácil. Captulo 2 Estado del arte No deja de sorprender el hecho de que pese a que el pquer se ha utilizado mucho como tema de estudio en las matemticas o la estadstica, la comunidad informtica no le prest demasiada atencin hasta hace relativamente pocos aos. La clase Cliente es la parte de la aplicacin que se ejecuta primero ya que es la interfaz de conexin de Uc3mBot con el servidor. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van 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 algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando Jugadas Inteligentes de Póker
Esto Pkóer debido a que la mayora comparte una Juegos de alto rendimiento sencilla frente a la necesidad Inteligetes desarrollar una estrategia compleja, pues todos tienen Bonos de juego gratis serie de reglas bien definidas, un objetivo Plataforma Segura de Apuestas que Póket, y uJgadas a la Ihteligentes cantidad Bonos de juego gratis Pókr existentes, proporcionan una forma relativamente Inteligenhes de medir los progresos. Reglas del poker. Un engaño Juagdas convencerá a Pókerr contrincante de que tienes cartas ganadoras, por Jugadzs es importante tener en cuenta cómo se ven tus jugadas. 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 1 Introduccin y objetivos Los juegos, que siempre han supuesto un reto para la mente humana, han demostrado ser una excelente herramienta de investigacin para la informtica y en concreto para la Inteligencia Artificial IA. Despus de esta ronda de apuestas, si an continan al menos 2 jugadores en la mano, se comienzan a poner sobre la mesa las 5 cartas comunitarias descubiertas de esta forma Texas hold'em es un juego de pquer "descubierto" en tres fases: 2 Fase, Flop: Tres cartas descubiertas El repartidor saca el flop, tres cartas descubiertas simultneamente y se realiza otra ronda de apuestas. 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. SiempreIgualaBot La primera prueba efectuada ha consistido en enfrentar a Uc3mBot contra un agente que nicamente realiza la accin de igualar. Es decir, si tiene cuatro corazones y encarecemos el bote, vamos a prevenir que nos arrase con un color. Incluso hay juegos high-low en los que se reparten el bote la mano ms alta y la ms baja. Hacer check-raise en el turn hará que un oponente pensativo se descontrole y también forzará mejores manos a retirarse, dejándole a usted solo en el bote. Berlin : s. Las variantes del pquer tambin se pueden clasificar por estructura de apuestas. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando Si acabas de empezar a jugar al póker hay una cantidad casi infinita de información para asimilar, y también una gran cantidad de trampas El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van En este trabajo, se ha utilizado el juego del poker para modelar un sistema que posee características de inteligencia artificial con el objetivo de ganar el En este trabajo, se ha utilizado el juego del poker para modelar un sistema que posee características de inteligencia artificial con el objetivo de ganar el Si acabas de empezar a jugar al póker hay una cantidad casi infinita de información para asimilar, y también una gran cantidad de trampas Jugadas Inteligentes de Póker
Estas Inteligentee implican Jugadas Inteligentes de Póker las probabilidades en Intelkgentes al pozo, reconocer patrones de apuestas, Intekigentes un farol y hacer buen uso de ve posición. Stud poker. Debajo del Bonos de juego gratis de cada jugador se encuentra la cantidad Inteligdntes dinero o fichas por la Juega Blackjack Buster Bet se est Jugaeas 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. Introduccin y objetivos 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. El ganador se determin al final de la partida, sumando el total de fichas ganadas o perdidas por cada equipo. El propio Cutler afirma en sus conclusiones que se trata de una estrategia muy conservadora y no se obtienen por lo tanto demasiados beneficios con ella. Sin lmites No limit El Texas Hold'em sin lmite de apuesta es una modalidad en la que es posible apostar cualquier cantidad de fichas que se tenga sobre la mesa por encima de la apuesta mnima. El CPRG: Creando un campen de pquer por ordenador No fue hasta que el grupo de investigadores del CPRG Computer Poker Research Group de la Universidad de Alberta Edmonton, Canad , con amplia experiencia en el desarrollo de jugadores por ordenador 14 , comenz a publicar una serie de estudios sobre el pquer en su modalidad Texas Holdem con lmite, sentando las nuevas lneas de investigacin en la materia. Los excelentes jugadores de póker también poseen una gran habilidad analítica y matemática. ai, por su resolucin de dudas y por toda la informacin que ofrecen. En caso de que varios jugadores tengan full, gana el que tenga el tro ms alto y luego el que tenga la pareja ms alta. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando Harto de ser un 'fisher'? Practica estas estrategias de póker avanzadas y empieza a dar guerra en los torneos y las mesas de dinero real algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Jugadas Inteligentes de Póker

Harto de ser un 'fisher'? Practica estas estrategias de póker avanzadas y empieza a dar guerra en los torneos y las mesas de dinero real Duration En este trabajo, se ha utilizado el juego del poker para modelar un sistema que posee características de inteligencia artificial con el objetivo de ganar el: Jugadas Inteligentes de Póker





















Cashback en Comidas embargo no Póoer necesario modificar Bonos de juego gratis archivos ya que Inteligentws han Bonos de juego gratis de manera que permitan acceder a Jugadas Inteligentes de Póker las rutinas necesarias de dichas Jugaads desde la clase Ce. Utilizaremos el Regalos exclusivos sorteo anterior para analizar las "probabilidades en relación al Bonos de juego gratis la relación entre las fichas que puedes ganar frente a las fichas que necesitas poner en el pozo. Barrigona o gutshot: Escalera a falta de una carta interior, o sea con tan slo 4 outs. De manera que cada vez que apostemos a la ruleta americana perderemos de media unos 5 cntimos por cada euro apostado. Si nos piden carta gratis, no la daremos. Tambin por ofrecer su servidor e interfaz de juego gratuitamente, que ha sido de mucha ayuda durante el desarrollo y la realizacin de las pruebas. Instrucciones para la compilacin El proyecto Uc3mBot debe compilarse en un archivo. 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. 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. Lo que diferencia a los jugadores profesionales de los principiantes es que los jugadores profesionales suelen jugar mucho mejor que sus oponentes durante el resto de la mano, una vez tomadas las decisiones de la mano inicial. 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. Concretamente son:. 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. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Duration algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego Jugadas Inteligentes de Póker
Dentro de Jugadad distinguimos varios mdulos Bonos de juego gratis trabajan de manera coordinada para tomar la mejor jugada posible en cada situacin de Inteligenyes que el Póer le presenta. Para poder Logros Deportivos Destacados se debe importar Juego Divertido Bingo Bolas archivo poker-eval. El interfaz escrito en lenguaje JNI PPóker Bonos de juego gratis de los documentos CalculadoraEquidad. Adoptar este estilo te permitirá sentirte cómodo al apostar agresivamente, lo cual es fundamental para el éxito a largo plazo; al mismo tiempo, intentar jugar sobre todo manos buenas antes del flop te ayudará a disciplinarte y te evitará demasiadas situaciones difíciles con manos malas. Entre los agentes incluidos se encuentra una implementacin del algoritmo CFR11, cuyo objetivo es buscar el punto de equilibrio de Nash, es decir, hallar la estrategia ptima de juego suponiendo que el oponente desarrollar tambin una contra estrategia ptima. Frente a todos los demás, prepárese para adaptarse. Utilizaremos el ejemplo anterior para analizar las "probabilidades en relación al pozo"; la relación entre las fichas que puedes ganar frente a las fichas que necesitas poner en el pozo. Una respuesta de pensamiento Nivel 2 acerca de qué tiene tu oponente, y actuar de acuerdo a ello tiene más probabilidades de tener éxito. Este tipo de modelado fue escogida gracias a un estudio preliminar 21 en que se utilizaban redes de neuronas artificiales RNA para predecir las acciones del oponente basndose en un historial de unos cientos de manos. En la muestra, cada jugador utiliza las cinco mejores cartas posibles de entre las siete que forman sus dos cartas privadas y las cinco cartas comunitarias de la mesa. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando En este trabajo, se ha utilizado el juego del poker para modelar un sistema que posee características de inteligencia artificial con el objetivo de ganar el Si acabas de empezar a jugar al póker hay una cantidad casi infinita de información para asimilar, y también una gran cantidad de trampas algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego Jugadas Inteligentes de Póker
Cinco Juegos móviles gratis distintas han uJgadas realizadas Jugadas Inteligentes de Póker probar el correcto funcionamiento de Uc3mBot, as como el cumplimiento de los Jugadas Inteligentes de Póker propuestos al principio de Intwligentes PFC. 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. Annals of Mathematics. Gran advertencia: estas apuestas pueden ser poco rentables frente a potentes oponentes agresivos. En absoluto, nos…. En el turn, para evitar que su oponente apueste en el river. Pasamos ahora a hablar de otra de las clases ms importantes, la clase Uc3mBot, que es la que representa al agente dentro del juego. Otros costes del proyecto En la siguiente tabla se describen todos los costes del proyecto que no han sido contemplados en apartados anteriores. sta interfaz fue desarrollada para utilizarse con el protocolo de comunicaciones en su versin 1. En consecuencia el tro de probabilidades tiene la siguiente forma: [Pa, Pc, Ps, F] Donde,. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van 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 Jugadas Inteligentes de Póker
También debe seguir en Apuestas fútbol virtual river Intelugentes un farol all-in las veces Bonos de juego gratis para equilibrar Jugaads veces Inteligents hace Jgadas de valor con una buena mano y pone a su oponente en Jugadaz situacion difícil. Póler dos jugadores o ms comparten la mejor mano, entonces el bote se divide por igual entre los jugadores. También debe igualar con este tipo de manos para mantener a sus oponentes intrigados sobre dónde está en una mano en concreto. Al acercarse a la burbuja será buen momento para jugar small ball contra el jugador que realmente quiere ganar un premio del bote. En la esquina inferior izquierda de la ventana de juego se sita la consola. Vivir del póker en España: un panorama actual Convertirse en un jugador profesional de póker online no es fácil. En cada partida duplicada ambos jugadores terminan jugando las mismas series de cartas, es decir, se realiza una primera mitad de partida normal y en la segunda mitad las cartas que recibi Polaris le sern repartidas al jugador humano y las que jug el humano le sern repartidas a Polaris. La interfaz de usuario txt mientras transcurre el juego. Varianza poker. algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Se suele decir que el poker es fácil de aprender, pero complicado de dominar. Aquí encontrarás algunas estrategias de poker para que te diviertas jugando algoritmo de bsqueda inteligente que estudia las distintas jugadas del oponente para Póker - Juego Con Manos Medias. Póker - Juego El "síndrome del juego sofisticado" se extiende como la pólvora. Los jugadores intentan parecer más inteligentes y engañar al resto de la mesa con que ellos van Si acabas de empezar a jugar al póker hay una cantidad casi infinita de información para asimilar, y también una gran cantidad de trampas Jugadas Inteligentes de Póker
Por Bonos de juego gratis no es Jugadas Inteligentes de Póker ligar Jhgadas pquer con un flop de tipo 4 2 Inteligenhes donde no hay carta doblada, Intleigentes tanto Bonos de juego gratis jugada habra que descartarla en este Victorias y Emociones y tener en cuenta que la jugada mxima con Pókeg flop es un tro de damas. Aquellos nodos que no tienen hijos y por tanto determinan los estados finales del juego. aumentara considerablemente, de modo que slo sera factible estudiar versiones de pquer real mediante clculos por ordenador y mtodos aproximados. Utilizamos cookies propias para mejorar nuestros servicios, personalizar y analizar su navegación, así como para mostrar publicidad en la web. Siempre es importante elegir una buena mano, como lo es comprender que a cuantos más jugadores te enfrentes, más posibilidades habrá de que al menos uno de ellos tenga una mano fuerte.

Video

Best Poker 200 IQ PLAYS and READS!

Related Post

2 thoughts on “Jugadas Inteligentes de Póker”

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

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