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

40 respuestas
15/05/2014 17:12
1
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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:

15/05/2014 18:16
Malaleche
Cash Project
Nivel 38
1.747 mensajes
28 premiados

Interesante, te sigo a veer que tal, y si necesitas ayuda si puedo, aqui estoy

15/05/2014 18:24
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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

15/05/2014 19:45
Ganesha
Cash Project
Nivel 18
261 mensajes

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.

15/05/2014 19:52
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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.

16/05/2014 01:01
JMGnz
Cash Project
Nivel 28
161 mensajes

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.

16/05/2014 01:16
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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.

16/05/2014 01:39
uvaspasas
Cash Project
Nivel 37
1.714 mensajes
55 premiados

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

16/05/2014 07:17
Ganesha
Cash Project
Nivel 18
261 mensajes

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.

16/05/2014 07:45
GajdoDilo
Spin Project
Nivel 30
271 mensajes

interesante + 1 se une al seguimiento

16/05/2014 07:59
AIRE71
MTT Project
Nivel 35
676 mensajes
4 premiados

vaya currada teneis por delante, os sigo
+1

16/05/2014 09:49
kuthulhu2…
Cash Project
Nivel 51
427 mensajes
11 premiados

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

16/05/2014 10:35
Pandepoulus
Staff
Cash Project
Nivel 59
19.492 mensajes
5 premiados

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.

16/05/2014 12:55
Kaylips
Cash Project
Nivel 18
230 mensajes
3 premiados

Os sigo, suerte!

16/05/2014 13:47
amquak
Cash Project
Nivel 23
183 mensajes
7 premiados

Aquí me quedo también.

16/05/2014 14:09
GATOR
Cash Project
Nivel 27
713 mensajes
16 premiados

Me sumo a ver que sale de todo esto

16/05/2014 14:24
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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.

16/05/2014 14:44
fold1221
Cash Project
Nivel 23
462 mensajes
5 premiados

Yo tambien me quedo

16/05/2014 17:53
krixtian
Cash Project
Nivel 21
80 mensajes

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

16/05/2014 18:09
lecorbusier
Cash Project
Nivel 41
10.994 mensajes
27 premiados

Interesante, te sigo a veer que tal, y si necesitas ayuda si puedo, aqui estoy

opino igual que el DALAI malaleche

16/05/2014 18:25
Iratxoak
Spin Project
Nivel 35
1.170 mensajes
41 premiados

Esto promete. Ánimo y para lo que pueda se intentará colaborar. ..

16/05/2014 18:27
AceNoMercy
Cash Project
Nivel 45
6.757 mensajes
60 premiados

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

16/05/2014 20:48
educapep
Cash Project
Nivel 18
6 mensajes

Desde mi ignorancia... ¿no seria bastante parecido al ya existente "flopzilla"?
De todas formas tengo que decir... buen trabajo! y GL!

16/05/2014 21:03
Pana1990
Cash Project
Nivel 57
2.756 mensajes
40 premiados

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

16/05/2014 21:17
Iratxoak
Spin Project
Nivel 35
1.170 mensajes
41 premiados

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

16/05/2014 21:49
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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.

16/05/2014 21:52
Pana1990
Cash Project
Nivel 57
2.756 mensajes
40 premiados

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.

16/05/2014 22:10
Iratxoak
Spin Project
Nivel 35
1.170 mensajes
41 premiados

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.

16/05/2014 22:28
Pana1990
Cash Project
Nivel 57
2.756 mensajes
40 premiados

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

16/05/2014 23:10
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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++ ;)

17/05/2014 01:56
falkao-91
Spin Project
Nivel 20
4 mensajes
1 premiado

Gran proyecto, siguiendo para ver avances

17/05/2014 02:11
abenza8
Cash Project
Nivel 44
729 mensajes
7 premiados

Gran trabajo.
P.D : Me mola tu salvapantallas

17/05/2014 02:13
Pana1990
Cash Project
Nivel 57
2.756 mensajes
40 premiados

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.

17/05/2014 02:30
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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.

17/05/2014 11:42
Pana1990
Cash Project
Nivel 57
2.756 mensajes
40 premiados

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 ;)

17/05/2014 14:21
Gust4v0x
Cash Project
Nivel 8
44 mensajes

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)

18/05/2014 20:01
macac0
Cash Project
Nivel 30
248 mensajes

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

18/05/2014 22:26
Gust4v0x
Cash Project
Nivel 8
44 mensajes

+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 ;).

Responder

¿Quieres participar?
Inicia sesión o crea tu cuenta gratis para formar parte de la comunidad de EducaPoker.