Los algoritmos de desarrollo calculan la mejor estrategia de blackjack

¿No quieres aprender sobre algoritmos evolutivos de la forma habitual, generando oraciones a partir de letras aleatorias o colocando píxeles al azar para generar la Mona Lisa? ¡Entonces haz tu propio algoritmo evolutivo! ¡Con veintiuna!

[Brian] jugó con algoritmos de desarrollo y quería una tarea que fuera adecuada para la optimización. Eligió el blackjack, debido al número limitado de manos que se pueden donar al jugador (32) y al bajo número de manos que puede tener el crupier (10).

Incluso con el bajo número de requisitos iniciales para el jugador y el crupier, todavía hay 4562 x 10 ^ 192 combinaciones posibles de manos, por lo que una estrategia de blackjack rudimentaria requeriría el poder de cómputo de todo el planeta. Una forma más fácil de calcular una buena estrategia es un algoritmo evolutivo, implementado por [Brian] con la librería Watchmaker Java.

Para cada generación en [Brian]’s, se generó una cuadrícula de 32 × 10, una celda a la vez para las manos de un jugador potencial contra la mano del crupier. En cada celda, la computadora ponía “hit”, “stay” o “double”, y jugaba miles de manos con esa estrategia. Las mejores estrategias fueron criadas y eventualmente [Brian] terminó con una buena estrategia de blackjack.

La mejor estrategia resultante es bastante buena: usando su estrategia, puede salir de un casino de Atlantic City con el 96% del dinero que obtuvo.

  • cirro dice:

    * toma notas para 6.S912 *

    • ELLOS TIENEN dice:

      lollllllllllllll

  • Jon dice:

    “La mejor estrategia resultante es bastante buena: usando su estrategia, puede salir de un casino de Atlantic City con el 96% del dinero que se le ocurrió”.

    Me gusta eso, lo mejor que puedes hacer es no desperdiciar demasiado tu dinero, jaja. Una verdadera comprensión de los juegos de azar.

    • dave dice:

      si puede salir del casino con el 96% de su dinero y su novia, lo llamaría una victoria.

    • Hirudinea dice:

      Oye, siempre que puedas salir de un casino con ALGO de dinero, ¡es una victoria!

  • Tim dice:

    Buen trabajo. Sería interesante ver una repetición con la opción de que el jugador divida su mano. Dividir es una estrategia muy valiosa y debería aumentar la capacidad del jugador para retener su inversión en más del 99 %. La ventaja de la casa en los juegos de blackjack comúnmente negociados es inferior al 1% cuando un jugador utiliza la estrategia básica aceptada. ¿Podría el algoritmo reproducir la estrategia básica altamente exitosa o mejorarla? mmm

  • ben dice:

    Esta. es un poco tonto usar algoritmos de desarrollo para. No hay razón para “reproducir” cuadrículas aleatorias juntas: la política óptima para cada celda depende solo de la política óptima para celdas con sumas más altas. Para cada una de las 320 celdas, en cuenta regresiva, intente unos cuantos miles con un acierto, unos cuantos miles con una permanencia y unos cuantos miles con dobles intentos. Luego elige quién te dio la mejor recompensa.

    Además, la naturaleza encadenada de las estrategias significa que los algoritmos de desarrollo no funcionarán muy bien. Una generación que llega a veinte, por ejemplo, realmente estropeará la política por diez: considerando la posibilidad de sacar una carta con figuras, y los malos resultados de eso, el programa decidirá (erróneamente) que quedarse con diez es la mejor política. Esto es tal que la repetición política se sacude en una o tres iteraciones, pero con algoritmos evolutivos, cada celda está a merced de sus amigos de la cuadrícula, por lo que estos artefactos pueden permanecer por un tiempo.

    Ups, no quiero subestimar a Brian. Este es un resultado sorprendentemente bueno para aprender una política de algoritmos evolutivos. Como siguiente paso, ¿por qué no intentar construir una cuadrícula con repetición política y ver cómo se compara?

    • Brian Carrigan dice:

      El código que escribí libera el motor de blackjack del algoritmo genético, ¡así que tal vez pruebe esto y compare!

      La razón por la que su solución funcionaría es que la estrategia de cada celda no afecta la estrategia de otras celdas, aunque hay 4562 x 10 ^ 192 cuadrículas diferentes posibles, la [Dealer Ace, Player Hard 12] celular NO afecta el [Dealer 8, Player Soft 15] celda. Ir un paso más allá significaría no solo cambiar una celda a la vez, sino también evaluar las manos de blackjack realizadas por esa celda (es decir, si está evaluando la estrategia Soft 17, configure el simulador para tratar solo con el jugador Soft 17). Esto le permitiría jugar menos manos por ronda sin afectar la precisión de los resultados.

      Esta fue solo una continuación de otra experimentación que hice con algoritmos genéticos: sabía que no sería la BUENA solución, solo creíble. Un uso mucho mejor de los GA que encontré fue resolver los coeficientes de bucle PID, que fue mucho más eficiente que incluso la fuerza bruta. Fuente: http://www.microcontrollercentral.com/author.asp?section_id=2379&doc_id=254676&

      ¡Gracias por las sugerencias!

  • localroger dice:

    No por un trapo en el algoritmo evolutivo, que es un poco limpio, pero su evaluación de la dificultad de hacer un análisis estadístico combinatorio regular o más simple está lejos de varios órdenes de magnitud. La gente ha estado haciendo este tipo de matemáticas desde la década de 1970 y las vuelve a hacer cada vez que hay una nueva variación de la regla y lo hacen en combinación con diferentes frecuencias finales de cartas para desarrollar estrategias de conteo de cartas.

  • Blaise Pascual dice:

    El blackjack ya se conoce como la “estrategia básica”, que limita el margen de la casa al 0,5-1%. Eso parece mucho mejor que la estrategia de Brian, que parece tener un margen de la casa del 4%.

    • Brian Carrigan dice:

      Tienes razón, y cuando fui a AC terminé usando mi vieja estrategia comprobada. Cuando ejecuté esta simulación, no permití que la estrategia contuviera divisiones (principalmente debido a la gran cantidad de trabajo adicional requerido para implementarlas) y, por lo tanto, no había forma de que pudiera afectar la efectividad de la estrategia básica. Esto fue simplemente un experimento para ver si los algoritmos genéticos podían desarrollar una solución viable en poco tiempo, y lo hicieron.

      • métis dice:

        No estoy seguro de que una pérdida 400-800% mayor a la esperada sea necesariamente “alcanzable”, aunque matemáticamente si incluir la división contaría la diferencia, entonces ciertamente.

        entendiendo el asunto sin embargo.

  • chuletón dice:

    Notaría esto como “Incompleto”. Inserte la división, termine la tarea.

    • Brian Carrigan dice:

      Una multitud dura. El código fuente está incluido, contribuya a la división si cree que este programa está arruinado sin él.

      Publiqué esto no porque quisiera presentar una estrategia de blackjack nueva y mejorada al mundo, sino porque pensé que otros podrían beneficiarse al aprender cómo funcionan los algoritmos genéticos y de lo que son capaces. Dedicar las horas adicionales a la codificación probablemente generaría un ligero aumento en el porcentaje de ganancias, pero no cambiaría los conceptos presentados en este artículo.

      Supongo que solo vemos diferentes tareas 🙂

      • Joonas dice:

        No escucharía demasiado los comentarios negativos: pensé que esta era una gran publicación, y ciertamente no me molesta que quede algo por mejorar, de hecho, es mejor con proyectos de bricolaje para animar a alguien a tomar uno similar. Preste atención al buen trabajo, incluso aprendí muchas cosas nuevas sobre las estrategias de blackjack de los comentarios. 🙂

      • Brian Benchoff dice:

        No te preocupes por los comentaristas aquí.

        Vi * tal vez * dos docenas de comentaristas publicar un proyecto.

        Sorprendentemente, se construyen muy pocos sillones, por cierto.

  • Alex dice:

    ¿La cantidad de dinero que pierde no dependería de cuánto tiempo haya estado allí? ¿Pierde el 4% de su dinero durante una sesión de casino promedio de 4 horas?
    Supongamos que pudiera hacer RTFA para averiguarlo.

    • Convertirse en dice:

      No pierde el 4% del dinero que ingresa, sino el 4% del total de todas sus apuestas.

  • D dice:

    Nueva aplicación!

  • zuul dice:

    haz tu propio algoritmo evolutivo, con blackjack y prostitutas

    de hecho, olvídate del gato negro ..

    • Velli dice:

      ..y reproducir SuperChlamydia?

  • mr_guy99493 dice:

    “4.562 x 10^192 posibles combinaciones de manos” – No seas tonto. No hay tantas manos, hay tantas estrategias para reaccionar a las 320 manos posibles.

  • Alabama dice:

    parece ser una conexión b / w black jack, algoritmos genéticos y prostitutas que parece no entender. Supongo que cuando escribes un algoritmo dividido, ¿entendido?

    • jwrm22 dice:

      Es una cita de Bender en Futurama… http://youtu.be/z5tZMDBXTRQ

  • estro2013 dice:

    Brian, odio señalar esto que llamamos el truco del jugador… pero todos los resultados de tus números son con la expectativa de resultados lineales en un juego de casino en vivo. Los resultados reales son simultáneos, entre los millones de manos que se juegan en este momento. Lea la estrategia de combate básica, practíquela durante unas horas y probablemente lo hará mejor que tratar de encajar un gran programa en números aleatorios. Hoy vi un generador de números aleatorios que mostraba 1 diez veces seguidas, con un campo de 6 para elegir.

  • Sean O’Connor (@Sean_VN) dice:

    Bueno, aquí hay un nuevo algoritmo de desarrollo que introduje:
    http://www.freebasic.net/forum/viewtopic.php?f=8&t=22090
    He publicado aquí antes sobre algunos excelentes circuitos de radio regenerativos que también se me ocurrieron:
    http://theradioboard.com/rb/viewtopic.php?f=4&t=5257
    pero pocos están interesados.

  • Michael Djingga dice:

    Oh, no puedo creer que me encontré con esto. @Brian, tengo el mismo pensamiento que tú, jajaja. Siempre he pensado que tal vez haya un cambio de estrategias. También estoy haciendo una disertación sobre Blackjack, pero después de horas de investigación solo descubrí que el básico tiene las mejores probabilidades hasta ahora jajaja… Y no he implementado un splinter en mi aplicación que se supone que debo desarrollar zzzz .

  • Windynita dice:

    ¡Ustedes! Disculpe, ¿no es un matemático o sino una pregunta planteada de manera diferente y pensó que un algoritmo podría responder a esta pregunta? Donde puedo encontrar la respuesta si alguien quiere ayudar. He estado desarrollando un sistema para juegos estúpidos durante años. Las unidades no importan. El resultado importa. No estoy seguro de cuántas apuestas empiezas con 10-15 Unidades. Si eres feliz de tener tres unidades antes. ¿Cuántas veces puedes salir de un casino con +3 versus perderlo todo? Si pones stop después de +3 y sigues jugando hasta doblar o? siga reabasteciendo paradas, y su Unidad es lo suficientemente grande si puede ganar dinero, en pequeños incrementos como este. Gano más de lo que pierdo cuando tengo la disciplina para renunciar. No soy rico, pero uso $ 1000, gano $ 300 por día y salgo del casino, a veces, dos minutos después de llegar … ¿Alguien puede intentar esta pregunta?

Alberto Gimenez
Alberto Gimenez

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *