En el poker, existe una estrategia óptima llamada equilibrio de Nash. A principios de 2013, escribí sin ayuda un programa que calcula el equilibrio de Nash para la forma más popular de poker, No-Limit Holdem. Pero hacer un programa y venderlo de manera rentable son dos tareas diferentes.

Este artículo trata sobre cómo contacté a los jugadores de poker más fuertes del mundo, negocié un precio con ellos, los convencí de la corrección de mi algoritmo y, al final, pude ganar $500,000 en el primer año.

Mi nombre es Oleg Ostroumov, conocido en el poker en línea como Laegoose.

Para seguir los próximos artículos, suscríbete a mi canal de Telegram .

El poker y el equilibrio de Nash

Conocí el mundo del poker en el verano de 2008, después del primer año del Departamento de Mecánica y Matemáticas en la Universidad Estatal de Moscú, cuando fui a un campamento de estudiantes. Había un tipo que se ganaba la vida jugando al poker en línea. Al escuchar sus historias, me disparé: "¡¿Guau, puedes jugar un juego de computadora todo el día y que te paguen por ello?! Tengo que aprender esto. El juego se basa en la teoría de la probabilidad, por lo que definitivamente tendré éxito”.

En el campamento de estudiantes después del primer año.
El entusiasmo por el poker era exagerado.

Después de un año y medio, ya había ganado suficiente dinero para alquilar un apartamento y alejarme de mis padres.

Hay miles de jugadores profesionales en el mundo para los que el poker es un trabajo. Los más fuertes ganan millones de dólares al año.

La complejidad y la belleza del poker radica en el hecho de que no ves las cartas de tu oponente, a diferencia del mismo ajedrez, donde tienes la disposición completa de las piezas frente a tus ojos.

Sin embargo, también existe una estrategia óptima en el poker, el llamado "equilibrio de Nash". En una lucha lo suficientemente larga contra cualquier otra estrategia, el equilibrio de Nash ganará o empatará.

La existencia del equilibrio de Nash en el poker es bastante simple de probar, con base en los materiales de teoría de juegos del primer año de Mecánica y Matemáticas. Pero la prueba no da una forma práctica de calcular este equilibrio.

Toda esta situación era molesta porque en el grado 11 gané el diploma de la Olimpiada de Informática de toda Rusia, luego aprendí a implementar los algoritmos más complejos... Pero al resolver un problema real, para calcular el equilibrio de Nash, ¡ninguno de ellos ayudaba! Diferentes pensamientos pasaban por mi cabeza: "Puedo jugar al poker, puedo programar, debería poder hacer un puto programa de poker". Se convirtió en un desafío personal para mí.

Ahora la IA para el poker, el equilibrio de Nash y Game Theory Optimal son la corriente principal. Y a finales de 2012, incluso Tom 'durrr' Dwan, uno de los jugadores más fuertes del mundo, escribió en el foro twoplustwo que no creía en la existencia de un equilibrio de Nash en No-Limit Holdem.

Para 2013, los programas disponibles en el mercado podían calcular el balance en situaciones triviales de poker, pero no se hablaba de resolver todo el juego.

Sin embargo, en enero de 2013, después de medio año de experimentación y codificación, logré crear un programa que calculaba los equilibrios de Nash para la variante de poker No-Limit Holdem más popular.

Para los entendidos: el programa calculó balances para No-Limit Holdem, comenzando desde el flop, con dos jugadores activos y con un pequeño número de tamaños de apuesta permitidos. El algoritmo se llama Minimización del arrepentimiento contrafactual de Monte-Carlo (en inglés, Monte-Carlo Counterfactual Regret Minimization).

En resumen, el programa comenzó a contar con una estrategia completamente aleatoria y luego “evolucionó”, es decir, jugó contra sí mismo, y en cada iteración siguiente aumentó la frecuencia de acciones más rentables.

Cubriré los detalles técnicos de la creación del programa en un artículo separado.

Jugando Big Cards Omaha en 2010 en Turquía.
No fui a la playa en ese viaje, sólo jugué en línea en PokerStars en el hotel.

Entendí que había creado un producto único y que sería muy interesante y beneficioso para los jugadores que juegan en apuestas altas profundizar su comprensión del juego con su ayuda. El nombre "solver" (del verbo to solve – solve) fue posteriormente dado al programa por mis clientes angloparlantes.

Fui el primero en crear tal producto. Docenas de los profesionales exitosos de apuestas más altas con los que he hablado no han accedido ni oído hablar de los solvers anteriores de No-Limit Holdem. Había artículos académicos sobre algoritmos para calcular el equilibrio de Nash, y me basé en ellos. Pero el producto terminado, con el que puedes entrenar y mejorar tus habilidades, no existía antes.

Encontrando clientes

Tomé la decisión de vender mi producto a un precio muy alto a un pequeño número de profesionales que jugaban en las apuestas más altas, y no a un público amplio a bajo precio.

La existencia del programa era beneficiosa para mantener en secreto. Después de todo, si su oponente sospecha que ha estudiado y reproducido la estrategia óptima, entonces, en primer lugar, no jugará demasiado con usted y, en segundo lugar, copiará su estrategia. Y si no sospecha nada, lo más probable es que piense que eres un bicho raro con una estrategia extraña que está teniendo suerte.

En ese momento estaba jugando al poker a nivel profesional con $200 en la mesa y sabía programar, pero no tenía experiencia en vender software y administrar un negocio.

Una complicación adicional fue que, por un lado, es beneficioso mantener en secreto la existencia del programa y, por otro lado, es necesario buscar clientes potenciales.

Pero, ¿cómo determinar el precio cuando no hay competidores en el mercado? Mi proceso de pensamiento fue algo así:

Los productos que calculan el equilibrio de Nash en situaciones simples cuestan $50, otros software para el análisis de juegos cuesta lo mismo. Mi programa era más genial, así que la primera idea fue cobrar $500 por persona. Entonces decidí que era posible por $2,000. Gradualmente, me volví más audaz para pensar: "Dado que el programa es genial, ¿quizás venderlo por $10,000?". Y al día siguiente decidí aún más radicalmente: “¿Por qué no por $50,000? Es sólo un precio normal. ¡¡Vaya, joder, hazte rico!!"

En el mundo de las grandes empresas, cientos de miles y millones de dólares en software son comunes, pero yo iba a vender a personas específicas, no a corporaciones. Todos mis conocidos en ese momento recibían como mucho $5,000 al mes.

Luego leí un libro de Gavin Kennedy "Puedes estar de acuerdo en todo". Una de las tesis allí era sobre el hecho de que es necesario iniciar negociaciones con un precio superior al que finalmente aceptará el comprador. Camino y pienso, a lo mejor se pueden pedir más de $50,000, ¿por ejemplo, $100,000?

Fue una ventaja para mí que encontrar un buen maestro en el poker es lo más difícil posible: es más rentable para los mejores jugadores ganar dinero ellos mismos que compartir secretos. Los jugadores fuertes, pero no los más fuertes, a veces entrenaban por $1,000 la hora o más. Y el programa era un maestro ideal con tiempo de uso ilimitado.

Escribí un solver en el lenguaje de programación Java.
Captura de pantalla del proyecto en el entorno de desarrollo.

A un precio alto, no sólo giré sobre fantasías, sino que tenía un comprador potencial que hablaba en serio: Trueteller.

Trueteller fue un jugador muy exitoso que en sólo un año y medio subió a los límites más altos y ganó más de $2,000,000 en una variante de poker en la que yo mismo me especialicé (stacks de 20bb en PokerStars). Además de la perspectiva de ganar dinero, fue interesante hablar con el más fuerte de mis oponentes y comprender cuál es su magia.

El contacto de Skype de Trueteller me lo dio nuestro amigo en común. Inicialmente, la idea era conseguir un trato exclusivo de seis cifras con Trueteller. Ambos entendimos que el producto es único y puede dar una gran ventaja en el juego. Pero las negociaciones durante un mes y medio casi no progresaron: las partes no confiaban particularmente entre sí.

Estaba jugando con $40,000 en la mesa en ese momento, literalmente estuvo grindeando todo el día y no pudo encontrar tiempo para llamar. En un momento se tomó una semana para pensar. Fui tímido, no se lo recordé, esperé dos semanas. Luego tuvimos la llamada: estaba enojado, y él simplemente entró al juego con la cabeza y se olvidó. El diálogo fue el siguiente:

Yo (molesto): “Con las negociaciones, vas más despacio, y te quedas con la exclusividad por este periodo, sin importar el resultado. Le sugiero que pague $5,000 por semana durante la duración de las negociaciones".

Trueteller (también irritado): "Vamos, me pagarás $2,000 por hora mientras hablamos, esa es mi expectativa en el juego en este momento".

Tenía miedo de que nos peleáramos así y que no hubiera ningún trato, y no insistí. Pero me di cuenta de que estaba perdiendo el tiempo y necesitaba buscar otros clientes, de lo cual le informé a Trueteller.

Timofey habló sobre la compra del primer solver en una de nuestras entrevistas:

— Cuéntanos sobre el primer solver. Dijiste que lo compraste en 2013 por $100k, Raúl y otros jugadores por la misma época por $200k . ¿Era un software diferente?

— No, el mismo. Le compramos todo a una sola persona, sólo que fueron tratos diferentes: Raúl se asoció con varios jugadores y yo estaba solo.

— Probablemente te hayan ofrecido una estafa directa más de una vez. ¿Cómo saber si era útil? ¿Ya tenías claro entonces que existía un juego óptimo en el poker?

— Sí, hubo propuestas completamente inadecuadas, como tomar un software que costaba $3 millones, no lo consideré seriamente. Y el hecho de que en el poker haya una estrategia que corresponde al equilibrio de Nash, me di cuenta tan pronto como comencé a jugar. Porque pasamos por esto en el Mekhmat. Incluso antes de que aparecieran los solvers, en algunos de los puntos más simples, descubrí en una hoja de papel cómo sería el equilibrio de Nash. Condicionalmente en el river, esto no es muy difícil de hacer. Entonces apareció Oleg y se ofreció a vender un programa que calcula el balance por sí mismo. Respondí: “¡Oh! Genial, vamos".

La búsqueda progresó con un crujido. Me puse en contacto con un par de jugadores que conocía, pero absolutamente no vieron el valor en el programa, ofrecieron de $50 a $500. Hablar de montos de cinco cifras por una licencia les causaba desconcierto o ridículo.

Recuerdo bien cómo le escribí a una estrella de esos años y le ofrecí una demostración del software, pero ignoró mi frío mensaje y me envió un ping a través de un amigo en común. Como descubrí mucho más tarde, él no creía que se pudiera calcular el equilibrio de Nash y estaba seguro de que yo era una especie de estafador. Es curioso que luego se convirtió en uno de mis clientes más interesados.

Este mensaje a RaulGonzalez fue ignorado con confianza.

Luego le escribí a Alex 'Kanu7' Millar, uno de los 10 mejores jugadores del mundo, en el foro twoplustwo.

Era un usuario nuevo en el foro y no podía enviar mensajes privados a otros, así que le pedí una cuenta a mi amigo Ivan Bogaty. Le escribí a Alex y luego comencé a preocuparme: ¿y si decide que un ruso está tratando de engañarlo? También busqué en Google y descubrí que el apodo de Vanya estaba en algún foro de hackers. Bueno, todo, creo, podía joderse. Afortunadamente, esto no impidió que Alex y yo comenzáramos una conversación.

Le mostré la demo y acordamos que traería a algunos amigos que también son jugadores caros y luego discutiríamos la exclusividad de su banda. Y así sucedió: atrajo amigos, les mostré todo. Este grupo de jugadores estaba interesado, pero el trato y el pago aún estaban lejos. Y el tiempo se estaba acabando.

De una entrevista con Alex:

— Incluso antes de Pio, ya tenía acceso a un solver propietario...

— Espera, ¿qué quieres decir? ¿La misma "Máquina de los Sueños"?

— Sí, finalmente la encontramos. De hecho, cuando todavía nadie había oído hablar de los solucionadores, recibí un mensaje en 2+2. No entendiste lo que era al principio. ¿Quizás algo de spam? El trabajo del solver se me describió en detalle allí. Empezamos a hablar, luego armé un pequeño equipo y pagamos una suma de 6 cifras por los derechos exclusivos del programa. Cuando obtuve un software que nadie más tenía, no solo quería jugar todo el tiempo, sino también trabajar. Dediqué todo mi tiempo al poker.

En el poker, siempre existe la oportunidad de hacer algo que otros jugadores aún no están haciendo. Por ejemplo, en los días en que solo existía Holdem Manager, después de cada sesión de mano a mano, pasaba de 4 a 5 horas estudiando el juego de los oponentes para prepararme para el próximo partido. Si no lo haces, otros jugadores te alcanzarán.

En ese momento, llevaba 7 meses haciendo solo programación y negociaciones, no había jugado al poker. Mi dinero se estaba acabando.

En el mismo libro se dice "Puedes estar de acuerdo en todo": quien tiene prisa, recibe menos. Quería obtener más, así que cuando hice una oferta a clientes potenciales y se fueron a pensar, no mostré que pronto sería desalojado del apartamento, no los presioné. Al mismo tiempo, no podía contarle a la gente nueva sobre el programa.

Como resultado, negocié con clientes por $200,000, no estuve de acuerdo con sus ofertas y no me apresuré con las respuestas. Me quedaban $6,000, aunque sólo el alquiler costaba $1,500 al mes.

Estaba ocupado pensando en el trato el 100% del tiempo. Llegó al punto del absurdo...

La computadora estaba en el dormitorio y yo mismo estaba acostado en la sala de estar leyendo un libro. Los parlantes estaban encendidos al máximo volumen y cuando sonó el "¡Kulk!" del mensaje de Skype, corrí a la computadora.

Una vez que escuché “¡Kulk!”, me acerqué, pero no había ningún mensaje. Pensé que era una falla extraña. Luego, al día siguiente, volví a escuchar el sonido, pero nuevamente no había ningún mensaje. Estaba confundido. Más tarde encontré una explicación: había un refrigerador viejo en la cocina y su compresor gorgoteaba. Por lo general, estos sonidos no se pueden confundir, pero estaba lo más sensible posible a los mensajes en Skype e interpreté todos los sonidos similares como notificaciones.

Hubo otra historia divertida con Skype...

Trueteller, a pesar de su fama, ocultó su identidad, casi no se comunicó con nadie y nadie sabía siquiera su nombre. Hablamos con él por Skype, sin video.

Regularmente compartía mi pantalla en Teamviewer, y Skype tenía una función que, sin importar cómo la configuraras, a veces aparecía en la parte superior de todas las ventanas. Era peligroso, porque protegía la confidencialidad de los clientes (incluidos los potenciales) y no les hablaba unos de otros sin el consentimiento mutuo. Por lo tanto, cambié el nombre de todos en Skype a diferentes nombres rusos. Truteller pasó a llamarse Tim (lo primero que se me ocurrió, porque la primera letra era la misma).

Una vez le mostré la siguiente versión del programa y accidentalmente vio cómo lo grabé en Skype.

Trueteller: "¿Te dije mi nombre?"
Yo: “No…"

Pausa por 2 segundos.

Trueteller (sonriendo): "Está bien, vamos a conocernos".

Se dio cuenta de que se había dormido, y de que yo también lo entendía.

Pensamos en el trato durante mucho tiempo. Hubo muchos problemas.

Problema 1: Los clientes tienen miedo de que tome su dinero por exclusividad y luego se lo venda a otra persona. Historias como esta suceden a veces.
Solución: solo queda confiar en el desarrollador, mantenerse en contacto con otros jugadores y pagar por meses, y no el monto total de una vez.

Problema 2: Temo que el cliente pague por sí mismo y que comparta el software con amigos. Cualquier jugador de poker profesional, por regla general, tiene 1-2 socios con los que discute estrategia. Es peligroso compartir con extraños, porque luego les ganarán en las mesas. Pero si se te ocurrió o encontraste algo nuevo e interesante, entonces no es realista no compartirlo con tus socios.
Solución: Lo entendí desde el principio, e inicialmente incluimos a los socios de cada cliente en la transacción. Esto también es conveniente porque el cliente tendrá a alguien con quien discutir la estrategia, además de mí.

Problema 3: Si paga todo de una vez, entonces el cliente no tiene influencia sobre mí y lo más probable es que necesite actualizaciones. Y si paga por meses, entonces el cliente aprenderá toda la estrategia en los primeros tres meses y no pagará más.
Solución: Pago por meses, pero los primeros meses son más caros que los últimos.

En abril, negocié un trato con un grupo de 6 jugadores liderados por Alex Millar, y por separado con Trueteller. Sabían de la presencia de los otros participantes en la transacción, pero no querían conocerse.

Recibieron acceso exclusivo al programa. Mi remuneración era de $200.000 por un año y medio, con pagos mensuales irregulares. $10,000 al final del primer mes, $15,000 durante los próximos meses y luego descendiendo.

La lógica era esta: en el primer mes se familiarizarían con el programa y verificarían dos veces que todo converja y parezca razonable. Al mismo tiempo, ya están consiguiendo la exclusividad, por lo que sería injusto darles un mes gratis.

4 meses después del trato, fui a Croacia con amigos.
Compré una pequeña computadora portátil para el viaje para dar soporte a los solvers.

Un par de días después de la conclusión de la transacción, Raúl, uno de los clientes, me escribe y me pide que agregue algún tipo de característica a la interfaz.

La interfaz, por supuesto, era entonces absolutamente básica. Años más tarde, nos dimos cuenta de que la interfaz es aún más importante que el algoritmo, porque la conveniencia de aprender es fundamental.

Yo: “Tenemos un mes de prueba para el primer mes, cuando te guste todo y lo pagues, continuaré con el desarrollo”.
Raúl: "Está bien, ahora transfiero", y arroja su parte del pago del primer mes en Moneybookers: $2,000.
Yo: “Hago funciones para todo el grupo, entonces el pago debería ser por todo el grupo”
Raúl: no contesta el mensaje, solo lanza otros $8,000.

Fue agradable ver dinero real en la cuenta y sentir que la persona está ansiosa por seguir trabajando conmigo.

Raúl era generalmente el mayor admirador de mi solver. Después de otra actualización con características convenientes para jugar contra el solver, Raúl voló durante dos semanas a alguna isla, cortó su wifi para no distraerse y entrenó con el programa todo el día.

Raúl también recordó la compra del primer solver en una de sus entrevistas .

— Háblanos de la compra del solver en 2013. ¿Cómo se te ocurrió esta idea?
— Con la excepción de dos jugadores, todos los demás eran mis conocidos cercanos, con quienes trabajamos juntos en el juego. Ni siquiera pensé en comprarlo. Es gracioso que un poco antes el desarrollador me escribió aquí por PM, pero lo ignoré. Pensé que era algún tipo de estafa obvia. Pero luego el solver me llegó a través de terceras personas, ni siquiera conozco los detalles. Me quedé atónito cuando vi que el NLHE realmente se podía resolver.

Resultados

Basado en el solver de Hold'em, hice un solver adicional para Omaha (otro tipo popular de poker) en el mismo año, que eventualmente vendí por $300,000. Junto con los $200,000 de Hold'em, eso me dio $500,000 netos.

Al mismo tiempo, no le dije a nadie sobre el montón de dinero que obtuve y, lo más importante, no gasté casi nada, porque no me permitía vivir bien en ese momento. Esto, por supuesto, no era un enfoque muy saludable.

Dos años después, en 2015, apareció en el mercado mi primer competidor público, otro solver de No-Limit Holdem. Vendían licencias en dólares a $500 por usuario. No me metí en la lucha por los centavos y me concentré en otros proyectos.

El mismo hecho de que calculé el equilibrio de Nash en el poker me causó alegría y orgullo. En primer lugar, esta tarea estuvo abierta para mí durante 4 años. En segundo lugar, toda la comunidad profesional del poker lleva años pensando en la estrategia óptima y tratando de acercarse a ella, y yo (y solo yo) tuve una respuesta definitiva.

Me di cuenta de que crear programas complejos me resulta más interesante que jugar al poker. Otro motivo de orgullo para mí fue que creé este negocio completamente solo, ganando 8 veces más en un año que en el anterior.

Desde entonces, además de los solvers, he estado involucrado en el desarrollo de una sala de poker, herramientas para comerciantes e inversiones.

Mis clientes, los jugadores de poker más fuertes del mundo, con quienes tuvimos discusiones agotadoras en un intento de negociar los términos, terminaron convirtiéndose en mis amigos. Continuamos trabajando juntos y el nivel de confianza que hemos logrado se ha convertido en la base de nuestra amistad y negocios conjuntos.

En los siguientes artículos, hablaré sobre la historia técnica del solver y otras aventuras comerciales. Para seguir las próximas publicaciones, suscríbete a mi canal de Telegram.

Un agradecimiento especial a Ivan Bogaty, sin cuya ayuda no habría escrito esta historia.

Ivan me ha estado inspirando durante muchos años con sus publicaciones épicas sobre sus aventuras atrevidas y profundamente técnicas: Ivan hizo la primera prueba de blockchain del mundo, hackeó la criptomoneda Grin, dio una conferencia sobre su trabajo en Google AI Research.

Ivan habla sobre su brillante carrera como investigador/empresario/inversionista en Silicon Valley desde el lado técnico en Twitter y, desde el lado personal, en su canal de Telegram, suscríbase allí.

Gracias a Andrey Somov por las fotos.

Gracias a Ilya Laut, Andras Gusti, Sergey Bartunov, Timofey Kuznetsov, Daria Feshchenko, Ekaterina Lurina, Alexander Yelensky, Ilya Gorodetsky, Dmitry Filonov y Andrey Shelomentsev por su ayuda en la redacción del artículo.