Nueva Herramienta para iniciados: Flopsaurus [Under development] Matemáticos a mí!

Desde ayer he estado desarrollando una herramienta pensado para aplicar el concepto de rangos, éste programita está pensada principalmente para los que recién empiezan en el mundo pokeril y quieren aprender a estimar cuanta equity tenemos y necesitamos vs el rango del villano.
Aún está en fase alpha (si quieren probarlo lo subo a dropbox), estoy estancado en cuál es la fórmula para calcular la equity de Hand vs Range y Range vs Range. Necesito matemáticos por aquí xD.
El programita es cross-platform, es decir, multi-plataforma, corre en Windows, Linux y Mac. Y con unos pequeños ajustes también funcionaría en Android.
Los requisitos son pocos: 60MB RAM disponibles, Java 7+.
Screenshot:
- Inicie sesión o registrese para enviar comentarios
Interesante, te sigo a veer que tal, y si necesitas ayuda si puedo, aqui estoy
- Inicie sesión o registrese para enviar comentarios
De momento está en Alpha, tomará un tiempo terminarlo, hay que diseñar otras interfaces y funcionalidades, como las de elegir rangos que será una ventanita similar a Equilab donde escogeremos el rango o una mano determinada y así, incluyendo más cosillas. También agregar filtros en la gráfica, como Made Hand y Good Draws, etc.
Lo que me preocupa son las mates, no se me ocurre aún como calcular la equity programando :S Alguien que sea bueno en algoritmos por favor jaja
Dejo Skype para todo el que desee ayudar :) - gust4v0x
- Inicie sesión o registrese para enviar comentarios
Hice algo parecido en Excel. Pero el cálculo de la Equity preflop no supe hacerlo y lo copié desde una web norteamericana que daba la equity en función de la mano y el número de jugadores.
A partir del flop no tengo ni idea de cómo calcularla. Por más que he buscado por la red los algoritmos no los he encontrado.
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Mmm creo que también implementaré la equity preflop, ¿podrías pasarme por skype ese algoritmo o subirlo a un hosting para echarle un ojo?
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Es un gran trabajo.
Según el stack efectivo, el tamaño del bote y de la apuesta del villano nos calcula el equity contra su rango? es así?
Un saludo.
- Inicie sesión o registrese para enviar comentarios
De momento va así:



"JMGnz"
Es un gran trabajo.
Según el stack efectivo, el tamaño del bote y de la apuesta del villano nos calcula el equity contra su rango? es así?
Un saludo.
Gracias. Gran trabajo no es tanto, el trabajo hardcore son las fórmulas complejas que se deben usar para calcular el equity xD
Los campos Pot, Bet y Eff. Stack son opcionales para calcular el SPR y el PME que lo he puesto como EQM(Equity mínima necesaria, como leí en un artículo gringo) que viene a ser lo mismo.
La equity la calculamos eligiendo el rango del villano y nuestra mano o rango y la mostramos en una gráfica de acuerdo al % de hit de cada mano del villano en un board específico.
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Las calculadoras de equity según tengo entendido para calcular la equity de una mano vs un rango o rango vs rango lo que hacen es simular la ostia de board´s y calculan en cuantos ganan cada uno
- Inicie sesión o registrese para enviar comentarios
Mmm creo que también implementaré la equity preflop, ¿podrías pasarme por skype ese algoritmo o subirlo a un hosting para echarle un ojo?
Un saludo.
Luego lo busco en el disco duro y lo pego aquí o lo subo a la red. Pero no son algoritmos si no tablas en Excel del valor de las manos contra rangos aleatorios. A partir de ahí hay que calcular la equity de rango contra rango y mano contra rango.
Yo estuve mucho tiempo mirando en la web dedicada al poker en la UCLA y por muchas formulaciones que encontré no vi nada.
http://www.math.ucla.edu/~tom/papers/poker3.pdf
http://www.math.ucla.edu/~tom/
Lo que dice Gust4v0x es un resultado empírico y no parece la forma más elegante de hacerlo. Aunque pueda ser el más efectivo.
En cualquier caso, el cálculo correcto de la equity conlleva conocer las veces que el villano foldea en cada calle y frente a cada caso. Por ejemplo, villanos que foldean si les resubes con 3 cartas del mismo color en la mesa, o con As sobre la mesa, etc. Y eso no es nada fácil de conocerlo con exactitud.
Es mejor no enredarse mucho con las matemáticas del póquer porque el juego tiene demasiadas variables que impiden reducirlo a algoritmos. Digo esto porque yo al principio también anduve mucho tiempo enredado en ese tipo de trabajo intentando lograr el cálculo correcto.
Si quieres podemos hablar por Skype. Si me envías tu nick por mensaje personal. Yo no subo aquí el mío porque no sé si está prohibido hacerlo.
Un saludo.
- Inicie sesión o registrese para enviar comentarios
interesante + 1 se une al seguimiento
- Inicie sesión o registrese para enviar comentarios
vaya currada teneis por delante, os sigo
+1
- Inicie sesión o registrese para enviar comentarios
Buen trabajo, para lo de la equity preflop te pueden hacer falta las librerias preflop de pokerstove por ejemplo.... en la pagina de Github puedes encontrar alguna cosilla
- Inicie sesión o registrese para enviar comentarios
Hola.
Necesitas un evaluador de manos.
Te paso un enlace, desafortunadamente en ingles, que habla sobre distintos evaluadores de manos. Un evaluador de manos básicamente te indica cual es el valor de una mano al showdown, por lo que puedes iterar todos los posibles flops y calcular el equity de la mano.
ADemas te suministra el codigo de algunos.
http://www.poker-ai.org/archive/www.pokerai.org/pf3/viewtopic4bef.html?…
Rango contra rango esto es bastante tedioso y se suele usar montecarlo, que es un modo en el que simplemente tiras un numero (bien grande de flops) y vas sumando quien gana. Este es un metodo aproximativo.
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Os sigo, suerte!
- Inicie sesión o registrese para enviar comentarios
Aquí me quedo también.
- Inicie sesión o registrese para enviar comentarios
Me sumo a ver que sale de todo esto
- Inicie sesión o registrese para enviar comentarios
Gracias a todos por unirse al curro xD.
Profe Pandepoulus voy a estudiar esos evaluadores. Ty por el enlace.
Ganesha: Mi skype lo dejé más arriba, no puedo enviar MP a un nivel superior. Ty por tu ayuda.
Kuthulhu: Si, justamente ayer estaba por ver en Github el repo de Pokerstove y algunos otros, pero me agarró un dolor de cabeza infernal por estar programando tantas horas (casi 32 de 48 xD).
Un saludo a todos.
- Inicie sesión o registrese para enviar comentarios
Yo tambien me quedo
- Inicie sesión o registrese para enviar comentarios
+1
- Inicie sesión o registrese para enviar comentarios
Hola yo llevo utilizando mazo de tiempo un programa de pago que se junta a la mesa
Te calcula p.me per y el equity de tu mano según tenga el villano ak premiun.pareja media .kj.qk etcc y el equity de una mano aleatoria se llama tournament indicator
- Inicie sesión o registrese para enviar comentarios
Interesante, te sigo a veer que tal, y si necesitas ayuda si puedo, aqui estoy
opino igual que el DALAI malaleche
- Inicie sesión o registrese para enviar comentarios
Esto promete. Ánimo y para lo que pueda se intentará colaborar. ..
- Inicie sesión o registrese para enviar comentarios
Pinta muy bien ese programa!
Se nota que empiezas con ganas y no hay mejor carta de presentación que un aporte así para la comunidad.
Bienvenido y GL
- Inicie sesión o registrese para enviar comentarios
Desde mi ignorancia... ¿no seria bastante parecido al ya existente "flopzilla"?
De todas formas tengo que decir... buen trabajo! y GL!
- Inicie sesión o registrese para enviar comentarios
Yo también quiero en un futuro incluir algo así en la plataforma de la liga de educa (Liga multinivel de cash).
Generalmente como te dicen, se calcula iterando sobre flops aleatorios o puedes iterar sobre todas las posibilidades(más lento en algunos casos). Te sugiero que busques por google el algoritmo de montecarlo, es en el que está basado.
Por último te dejo el mejor recurso posible, el código del pokerstove:
https://github.com/andrewprock/pokerstove
El código es algo complejo para gente que nunca haya trabajado en c pero viene bien explicadito y con muchos comentarios. Respeto para su creador ;)
Suerte y buen trabajo :)
- Inicie sesión o registrese para enviar comentarios
Joe... el código de pokerStove.. es que yo lo flipo con la gente de aquí. ..
Pues nada. .. si tienes ganas. .. con eso tienes mucho andado. ... pero auguro muuuucho curro por delante
- Inicie sesión o registrese para enviar comentarios
Ahora empezaré a estudiar el código de PokerStove, no he podido porque he estado en clases. No he trabajado en C++ que es en el lenguaje en que está escrito, a ver si logro entenderlo y traducir el algoritmo de evaluación.
Espero dedicarle 3-4h diarias al proyecto para terminarlo pronto. Lo mejor es que será completamente gratis para todo el que desee usarlo. No puedo meterle más tiempo por otros proyectos en los que estoy además de mis estudios.
Espero en unas semanitas liberar la 1ra beta al 65-70% de funcionalidad (hasta hand vs range).
Un saludo a todos.
- Inicie sesión o registrese para enviar comentarios
Ahora empezaré a estudiar el código de PokerStove, no he podido porque he estado en clases. No he trabajado en C++ que es en el lenguaje en que está escrito, a ver si logro entenderlo y traducir el algoritmo de evaluación.
Espero dedicarle 3-4h diarias al proyecto para terminarlo pronto. Lo mejor es que será completamente gratis para todo el que desee usarlo. No puedo meterle más tiempo por otros proyectos en los que estoy además de mis estudios.
Espero en unas semanitas liberar la 1ra beta al 65-70% de funcionalidad (hasta hand vs range).
Un saludo a todos.
Por experiencia de algún proyecto de final de carrera de algún compañero hacer esto en cualquier otro lenguaje que no sea c/c++ u otro nativo va a ser bastante mas lentito.
Con que entiendas el algoritmo de montecarlo es suficiente.
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Si aceptas consejos te doy alguno que son gratis:
No te pongas plazos. Si nadie te exige un plazo simplemente espera hasta que te sientas satisfecho tu mismo con el resultado.
Mucho menos te pongas un plazo tan exigente... es directamente proporcional el tamaño del plazo con la calidad final del programa.
- Inicie sesión o registrese para enviar comentarios
Si aceptas consejos te doy alguno que son gratis:
No te pongas plazos. Si nadie te exige un plazo simplemente espera hasta que te sientas satisfecho tu mismo con el resultado.
Mucho menos te pongas un plazo tan exigente... es directamente proporcional el tamaño del plazo con la calidad final del programa.
+100000000....
- Inicie sesión o registrese para enviar comentarios
sigo
- Inicie sesión o registrese para enviar comentarios
Ty por los consejos, los tomaré en cuenta sin duda. Siempre es bueno ir a un ritmo normal pero constante ;)
@Pana1990: No creas que el programita va lentito por no estar en C/C++ ;)
- Inicie sesión o registrese para enviar comentarios
Gran proyecto, siguiendo para ver avances
- Inicie sesión o registrese para enviar comentarios
Gran trabajo.
P.D : Me mola tu salvapantallas
- Inicie sesión o registrese para enviar comentarios
Ty por los consejos, los tomaré en cuenta sin duda. Siempre es bueno ir a un ritmo normal pero constante ;)
@Pana1990: No creas que el programita va lentito por no estar en C/C++ ;)
Mi opinión está basada en la experiencia.
En el ejemplo que te puse de un proyecto de final de carrera , era una calculadora similar a la que quieres implementar realizada en java, al chico en cuestión le tardaba 30 segundos en hacer los calculos.
Otro ejemplo es comparar el icmizer (.net)vs holdem resources(java). Quien los haya probado verá cierta soltura mayor al icmizer.
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Claro está que la velocidad de cálculo de C++ es superior a la de Java, pero por muy poco. Por lo que tu amigo debe haber cometido un error de programación.
Yo también te hablo por (mi poca, cierto) experiencia. He sido parte de un sistema integrado de ventas/administrativo/contable para una empresa, y fue escrito enteramente en Java, y los resultados fueron muy buenos (mejores aún si lo hacíamos en JavaEE web).
Te dejo un enlace de interés: http://everac99.wordpress.com/2012/12/13/desempeno-de-c-vs-java-todo-re…
Un saludo.
- Inicie sesión o registrese para enviar comentarios
Claro está que la velocidad de cálculo de C++ es superior a la de Java, pero por muy poco. Por lo que tu amigo debe haber cometido un error de programación.
Yo también te hablo por (mi poca, cierto) experiencia. He sido parte de un sistema integrado de ventas/administrativo/contable para una empresa, y fue escrito enteramente en Java, y los resultados fueron muy buenos (mejores aún si lo hacíamos en JavaEE web).
Te dejo un enlace de interés: http://everac99.wordpress.com/2012/12/13/desempeno-de-c-vs-java-todo-re…
Un saludo.
Hola de nuevo compi, no quiero crear tampoco un debate de c++ vs java xD.
Sobre mi amigo el mismo tutor que le asesoraba le comento que la lentitud de ejecución venía entre otras cosas por la tecnología que usaba (JAVA), aunque no te quito razón en que su código no fuera el más optimizado del mundo.
El enlace que me dejas es interesante pero realmente dice lo mismo que el 100% de los que defiende a java, que si en c++ no lo usas bien es más lento que java (esto puede ser aplicable en todas las cosas de la vida no?¿).
Por último no te digo como hacer tus propios proyectos, si no sugerencias de como podrías afrontarlos, si no estabas pidiendo sugerencias te pido disculpas.
Un saludo ;)
- Inicie sesión o registrese para enviar comentarios
Hola Pana1990, claro que todas las sugerencias son bienvenidas compañero ;) Y si, en C/C++ tendría mucha velocidad de cálculo y ejecución, pero lamentablemente aun no conozco bien C/C++ como para mandarme a hacer un programita con interfáz gráfica xD, pero queda pendiente aprenderlo! Sobre todo si quiero hacer un jueguito hahaha
Un saludo (Y)
- Inicie sesión o registrese para enviar comentarios
+1, me instaapunto pues yo tambien estoy empezando en el maravilloso mundo de java y tenia en mente hacer algo asi. Si te hace falta ayuda y puedo dimelo y te ayudare en lo que pueda.
- Inicie sesión o registrese para enviar comentarios
+1, me instaapunto pues yo tambien estoy empezando en el maravilloso mundo de java y tenia en mente hacer algo asi. Si te hace falta ayuda y puedo dimelo y te ayudare en lo que pueda.
Bienvenido a la programación dura (luego de C/C++ of course) y al inmenso mundo de Java (luego verás por qué jaja). Agrégame al skype (lo dejé en los primeros posts) si deseas ayudar en el desarrollo, así aprendes el lenguaje más rápido ;).
- Inicie sesión o registrese para enviar comentarios
Añadido ;)
- Inicie sesión o registrese para enviar comentarios