Derrotar a un bot de póquer

107

Hay un nuevo bot de póquer de código abierto llamado PokerPirate . Estoy interesado en cualquier forma creativa en la que una aplicación web pueda detectar / frustrar / derrotar a un bot de póquer. (Esta es una discusión puramente académica, con el mismo espíritu con el que se escribió PokerPirate).

torre
fuente
8
Supongo que te refieres a " más formas", dado que la primera respuesta es la tuya :-)
David Johnstone
9
Habla con cada jugador.
Lasse V. Karlsen
2
@Lasse: hmm, eso no es suficiente si el jugador es un bot que pasa la prueba de Turing
lornova
5
Independientemente de si puede pasar la prueba de turing o no, no impide que el creador del bot se siente en las mesas y pase todo su tiempo charlando.
Tom Gullen
6
El mejor enfoque es hacer lo que hace Vegas: manipular las reglas del juego para que la única estrategia ganadora sea ser la casa y luego ser la casa. En ese momento, todo lo que hace un bot es perder dinero más rápido y puedes dejar de preocuparte.
BCS

Respuestas:

209

Derrotar a un bot desde la perspectiva del servidor

  1. Muchos sitios de póquer en línea utilizan entradas Captcha emergentes que se activan por una actividad sospechosa.

  2. Algunos sitios de póquer monitorean los tiempos y patrones de juego (es decir, el peor de los casos es un jugador que juega 24x7 y 16 mesas de forma continua, hay una pequeña posibilidad de que sea un humano real (sin embargo, algunos jugadores tienen la capacidad de jugar una mano muy grande) volúmenes que para el ojo inexperto parecerían un bot)

  3. Tíralo con fallas. Si sospecha que un jugador es un bot, cambie todas las posiciones de sus cartas de juego en unos pocos píxeles en la pantalla, hágales diferentes colores / diseños / patrones para 1/100 manos y vea si los arroja. Si no puede capturar la pantalla, se agotará el tiempo de espera de todas sus decisiones y esa es una evidencia de bot bastante concluyente.

  4. El tiempo lo dice, si un jugador de computadora responde a las opciones en milisegundos a la vez sin pausa para pensar en decisiones importantes, esto podría ser sospechoso.

  5. Autocontrol. El sitio web de póquer pokertableratings.com extrae datos de muchos sitios grandes. Ha tenido una recepción mixta, algunos aman la transparencia, otros la odian . El beneficio es, sin embargo, que ha habido casos en los que las estadísticas de jugadores sospechosos (porcentajes de VPIP, porcentajes de PFR son algunas de una gran cantidad de estadísticas cuantificables que se pueden registrar) han llevado a conclusiones de trampa.

  6. Las redes de clasificación artificialmente inteligentes podrían monitorear estadísticas cuantificables para clasificar a los jugadores robóticos o trampas deshonestos.

  7. Cuando el póquer en línea era una entidad relativamente nueva, se rumoreaba y se hablaba con evidencia limitada de que algunos programas de software de clientes de póquer tomaban capturas de pantalla de los escritorios de jugadores sospechosos para ver si estaban ejecutando programas que los ayudaran. Sin embargo (incluso si esto fuera cierto) ejecutar dos computadoras para realizar las dos tareas de forma independiente evitaría esto.

  8. Compartir información entre infractores reincidentes entre varios sitios sería beneficioso para la industria, si solo fueran honorables y estuvieran dirigidos por personas responsables competentes.

  9. Algunos bots probablemente serían bastante simples por diseño, si pudieras descubrir su estilo de juego y ver cómo actúan en situaciones idénticas (ten en cuenta que esto solo es posible con bots poco sofisticados que juegan una estrategia muy básica), podrías descubrirlos razonablemente rápido.

  10. El uso inconsistente de las funciones del programa se inclinaría hacia que un jugador sea genuino. Tomemos, por ejemplo, que muchos sitios de póquer en el juego tienen un botón "Retirar cuando es mi turno". Si te reparten una mala mano y estás esperando que otro jugador decida qué hacer, muchos jugadores marcarán este botón. Un bot puede usar estos botones. La diferencia es que un bot estaría en los extremos de la frecuencia de uso, probablemente lo usarían todo el tiempo o no lo usarían en absoluto. Mientras que un jugador normalmente puede presionar 'plegado automático', pero a veces hará clic en plegar de todos modos incluso en las condiciones más favorables. Por ejemplo, un jugador genuino usualmente presiona auto-plegado, pero esta vez no lo hace. Se les ha retirado sin que ningún otro jugador actúe, ahora se les ha presentado la condición más favorable posible. Ahora bien, si presionan plegar, habrían estado muy inclinados a presionar plegado automático desde el principio. Este es un comportamiento inconsistente / no optimizado / aleatorio, consistente con ser un ser humano. El tiempo dice cuándo se hace clic en estas funciones son otros indicadores. Es importante reconocer que todos estos son indicadores y no una prueba concluyente. Todos estos indicadores de comportamiento se pueden simular fácilmente.

Derrotar a un bot desde la perspectiva de los jugadores

  1. Intente registrar y recopilar la mayor cantidad de datos posible utilizando un software como PokerTracker

  2. Intenta identificar patrones en su estilo de juego.

  3. Intente encontrar relaciones entre el tamaño de la apuesta en proporción al bote / número de jugadores y la fuerza de la mano

  4. Intente calcular sus rangos de manos . Un bot de apuestas bajas probablemente no estará faroleando con la frecuencia suficiente para ser una preocupación estratégica significativa, por lo que construir rangos de manos altamente precisos no debería ser demasiado complicado.

  5. Intente encontrar fugas en su juego a través del análisis de datos y prueba y error. Una vez que se hayan encontrado fugas / patrones, intente explotarlos repetidamente y evite cualquier otra situación.

Donde un ser humano es capaz de adaptarse , los bots probablemente lo sean menos, y donde los humanos están cargados por las cadenas de inclinación , pensamiento orientado a resultados y frustraciones , los bots no. Puedes usar esto a tu favor.

Entonces, en esencia, no hay nada que pueda hacer para detenerlo si el robot es lo suficientemente inteligente como para simular retrasos de tiempo reales durante las decisiones, así como para crear patrones de juego razonables y realistas. Agregue algunas condiciones aleatorias y una simple charla trasera (el léxico de los jugadores de póquer suele ser bastante limitado ) y tendrá un jugador de IA que será bastante difícil de detectar.

Qué pueden hacer los bots para evitar la detección

La clave para evitar la detección sería pensar en el problema desde tantos ángulos como sea posible. Estás intentando simular el comportamiento humano inteligente en un mundo muy pequeño y restrictivo. La mayoría de las simulaciones de comportamiento que puede ejecutar son bastante obvias, pero cuanto más inconsistente e impredecible sea su bot, es menos probable que lo descubran.

  1. Cree horarios de juego realistas (es decir, de 3 a 5 veces a la semana, 4 horas por sesión con las semanas impares aquí y allá durante el año).

  2. Ejecute programas para tomar decisiones en una computadora separada, controlando una computadora zombi en caso de que cualquier sitio capture la pantalla.

  3. Aleatorice los tiempos de acción (no actúe de inmediato, espere entre 0,5 y 2 segundos por acción)

  4. Tiempo de espera para las grandes decisiones. Si una decisión está en el límite, calcule la decisión y luego espere un poco para simular el pensamiento.

  5. Uso aleatorio de las funciones del software del cliente. Simule las pausas para ir al baño haciendo clic en el botón "repartirme" en todas las mesas y tenga un descanso de 5 minutos de vez en cuando.

  6. El chat simulado, el chat de póquer es a menudo muy simple, nunca suele ser una discusión o un debate. Diga cosas como "mala suerte" o "stfu" en los momentos detectables apropiados. O incluso hacer que el codificador controle su bot y participe en el chat durante la ejecución.

  7. Asegúrese de que los movimientos del mouse sean realistas. Si las tablas están en mosaico , no tome una decisión en la tabla superior izquierda y luego haga instantáneamente en la tabla inferior derecha. La mayoría de software de sitios ahora ofrece atajos de teclado, que pueden ser preferibles para usar como se supone que para el movimiento del mouse.

  8. Haga cosas que simplemente los clasificadores de IA no esperarían. Por ejemplo, una vez al año, llámelos por teléfono con una consulta sencilla y no compleja ("¡Ayuda, no puedo iniciar sesión hoy!" O "¡Internet no funciona!"). Es poco probable que marque una gran diferencia, pero si la persona que trabaja para el La compañía de póquer es lo suficientemente inteligente como para haberla reconocido como un indicador confiable.

  9. Sesiones perdedoras esporádicas. La inclinación se puede simular y el bot puede jugar mal y perder algo de dinero de vez en cuando. Todo el mundo se inclina en algún momento.

La preocupación también es que a los sitios web de póquer no les importa particularmente si los bots se ejecutan en sus redes, cada jugador vale una gran cantidad de rake y, teóricamente, desde un punto de vista comercial puramente cínico, el único inconveniente sería la mala prensa si se descubriera. .

Incluso cuando se hayan descubierto hazañas flagrantes (busque en Google los escándalos de la red Cereus o Absolute Poker Scandal , es bastante impactante), el negocio parece sobrevivir y mantenerse saludable, solo perdiendo jugadores bien educados y ganadores (de los cuales no hay muchos). Esto aumenta la proporción de jugadores menos hábiles en la red, lo que a su vez atrae a los buenos jugadores. Es un buen truco 22. Un excelente argumento para una regulación adecuada del mercado.

Es importante señalar que para cada juego existe un equilibrio nash . El póquer en línea tiene una línea de tiempo de la forma en que se ejecuta ahora, tendrá que pasar a algo más social (cámara web / voip) para que cualquiera pueda confiar en él en el futuro (si la gente confía en él) ya que los bots eventualmente se harán cargo tan matemáticamente superior y psicológicamente inmune. La comunidad de IA del póquer es muy activa , impulsada por la academia y / o el beneficio capital.

Las versiones más simples de póquer, como el póquer con límite, casi se han resuelto en pequeños espacios de búsqueda. Es solo cuestión de tiempo antes de que las versiones más complejas del juego (variaciones sin límite / Omaha con límite de bote, etc.) se vuelvan vencidas para los jugadores artificiales.

Conclusión

Los bots sofisticados simplemente no se pueden detectar hasta que la industria cambia a un entorno de juegos en línea más social. Esto no resolverá el problema, pero ciertamente dificultará que los bots ganen en los niveles inferiores. Ya hemos visto un ligero cambio con el lanzamiento de PKR , 3D y una versión más interactiva. versión , con menos manos por hora, de los otros sitios donde la multimesa es bastante difícil de lograr para un jugador.

El problema también se debe a la naturaleza de la industria, otra razón más para atenerse a los sitios web más grandes y de mayor reputación, donde la reputación se ha integrado cada vez más en su modelo de negocio. La falta de transparencia y la transacción fingida no ayudan a la causa.

El verdadero desafío para los desarrolladores de bots actualmente es escribir un algoritmo ganador, esto no es tan trivial como parece. Todos los que juegan al póquer se consideran buenos, ganadores o un jugador de equilibrio, lo que simplemente no es cierto. Es por eso que la gente sigue jugando, incluso cuando pierden dinero porque están bajo la ilusión de que simplemente tienen mala suerte o su estilo de juego es incomprendido. Esta arrogancia y debilidad en la psicología humana ha costado a los jugadores perder mucho dinero y es la razón fundamental por la que el póquer aún puede ser rentable.

El póquer es un juego enormemente complicado en el que se necesitan años para volverse bueno (el viejo dicho sigue siendo cierto, "Diez minutos para aprender, toda una vida para dominar"). El elemento suerte es extremadamente limitado a largo plazo.

Como cualquier otra profesión, para ser bueno es necesario estudiar cientos y cientos de horas y jugar muchos miles. Comprenderá cosas que los jugadores menos experimentados no entenderán, detectará las cosas que los menos experimentados no detectarán. El aprendizaje continúa durante mucho, mucho tiempo, quizás más de lo que podamos vivir. Es un juego complicado.

¿Con qué frecuencia ha visto un juego de dinero en efectivo de alto riesgo en la televisión y escuchó a alguien gritarle "¡Es una decisión fácil!" De esta manera, demostrar que los aficionados realmente no comprenden ni reconocen la sofisticación en el juego, y realmente creen que el juego a ese nivel sigue siendo, en última instancia, simple. No lo es. Esos jugadores de altas apuestas (una gran parte del tiempo) hay en la televisión, ya que son muy muy muybueno. Probablemente también se esté jugando un metajuego complicado, del cual nuestro aficionado no puede reconocer la existencia. El amatuer no se pararía junto a un maestro de ajedrez y le gritaría que moviera su caballo, sin embargo, debido a que la dinámica del póquer es información imperfecta, su psicología les hace realmente creer lo que están diciendo. Al igual que en el ajedrez, las decisiones pueden ser complejas, sensibles y extremadamente importantes para el juego en general. A medida que el juego aumenta en complejidad, las decisiones triviales ya no son tan triviales, porque tu oponente las espera.

Una vez que mueva su bot o su juego en los niveles, inevitablemente se encontrará con una población más grande de jugadores más hábiles. Entonces, la complejidad de su estrategia tendrá que subir al siguiente nivel, teniendo en cuenta las imágenes de la tabla , el equilibrio de rango , el farol sofisticado e inteligente (es decir, no solo farolear ante la debilidad, farolear en los rangos y farol en la imagen, etc.), con análisis más detallado del alcance de la mano. Realmente es un juego diferente a medida que avanzas.

Una vez que se ha escrito un bot ganador, sin duda el programador tendrá la habilidad, el conocimiento y el sentido común suficientes para aplicar el bot de una manera indetectable. Esto es trivial para ellos.

Entonces realmente no hay nada que puedas hacer. Si quieres jugar en línea, comprende los riesgos. Nunca arriesgue más dinero del que puede pagar, e intente mantener registros precisos de los gastos para no tener una sobreestimación equivocada, poco realista y, en última instancia, perjudicial de su propia capacidad. ¡Haga stop loss y abandone la mesa si no tiene ventaja o si no está seguro de tener ventaja! Por supuesto, si todos hicieran que nadie ganaría, esa es la naturaleza depredadora y explotadora del juego, de ahí proviene la competencia y eso es lo que lo hace divertido.

Tom Gullen
fuente
3
Al menos en los días de los monitores analógicos, sería posible tener un capturador de pantalla ejecutándose en una computadora que estuviera completamente separada de la que estaba jugando. Detectar algo así en el software del juego sería completamente imposible, por supuesto. Incluso si HDCP no le permitiera hacer tal cosa con la salida de video de una computadora moderna, siempre se podría usar una cámara enfocada con precisión. Si las tarjetas son fácilmente legibles por un humano, una máquina no tendrá problemas.
supercat
Hoy en día, incluso puedes ejecutar el juego en una VM y el bot fuera de ella, capturando imágenes y enviando eventos de teclado / mouse.
André Paramés
Eche un vistazo a OpenHoldem. Incluso tiene algunas extensiones DLL para simular la fluctuación del mouse y la aceleración del mouse similar a la humana para hacer clic en los botones. Si su código genera triples de probabilidad para Call o Check / Fold / Raise, será difícil localizar patrones sin posiblemente miles de manos.
rndapology
9

Hay tres áreas separadas a considerar. El bot tiene que averiguar el estado de la mesa, tomar una decisión y enviar la decisión al anfitrión.

Determinar el estado de la tabla es mucho más fácil si se envía a través del cable de alguna forma reconocible o se muestra al usuario como texto estándar. Primero, haga que el reconocimiento de imágenes sea la única opción, luego hágalo lo más difícil posible. Muestre las tarjetas en 3D y cambie lentamente la orientación y posición de las tarjetas. Anime pequeños parpadeos o fuegos artificiales frente a las tarjetas para que cualquier captura de pantalla sea ilegible, pero se necesita un tiempo para determinarlo.

No hay nada que hacer para tomar la decisión. Tratar de decidir si una decisión fue tomada por un humano o no es como una prueba de turing sin casi información.

Devolver la decisión puede resultar difícil si se vuelve a utilizar 3D. Haga que sea difícil enviar paquetes directamente o enviar una decisión por cualquier medio que no sea hacer clic en un botón con el mouse. Mueva los botones ligeramente con cada acción o haga que floten lentamente alrededor del área de juego mientras espera una decisión. Desactive cualquier función de tipo de accesibilidad que permita encontrar o manipular botones.

hacia adelante
fuente
3
Seguridad a través de la dificultad. Suponiendo que se le permita transmitir un video renderizado del juego, el objetivo es convertirlo en un CAPTCHA en movimiento.
dibujado hacia adelante
3
@The Rook: PokerPirate, al que hace referencia en su pregunta, no tiene absolutamente nada que ver con HTTP. De hecho, dudo que haya sitios de póquer que utilicen HTTP. Su pregunta, respuesta y comentarios revelan que sabe muy poco sobre este tema. Debe intentar saber de qué está hablando antes de dar consejos a las personas sobre lo que deben hacer. :)
RarrRarrRarr
2
@drawnonward: si la usabilidad no es una preocupación, puede tener seguridad cortando todas las conexiones de datos, lo que podría decirse que es una forma creativa de detener las trampas. No veo cómo evaluar las medidas de seguridad excepto en el contexto de la usabilidad.
David Thornley
1
@drawnonward: Claro, pero (a) no puedo ir a un sitio bancario sin una contraseña, (b) la banca es más una necesidad para la mayoría de las personas que el póquer en línea, y (c) no es una molestia continua que persistirá durante mucho tiempo. Es probable que esta solución sea peor que el problema original.
David Thornley
2
El problema original es garantizar que solo los humanos jueguen al póquer en una página web. Con un sitio bancario, una vez que ingresa su contraseña, se gana la confianza del anfitrión. En este caso, no puede hacer nada para ganarse la confianza continua del host, por lo que el desafío de seguridad debe ser continuo.
dibujado hacia adelante
8

PokerPirate, como casi todos los bots de póquer jamás escritos, funciona raspando la pantalla y simulando clics del mouse en una aplicación de póquer de Windows. Por lo tanto, la clave para el sistema es su capacidad para reconocer objetos en el juego y realizar acciones en la ventana. Por muy inteligente que sea en el póquer, es probable que todavía tenga problemas con estas operaciones básicas.

Por lo tanto, las formas obvias de frustrar este bot incluirían:

  1. Implemente un CAPTCHA, ya sea antes del juego o cuando otros factores sugieran que un jugador puede ser un bot.
  2. Haz que los gráficos de la mesa sean más complicados o cambia el tema a lo largo del juego.
  3. Detecta movimientos y clics inusualmente rápidos y / o robóticos del mouse (un humano nunca moverá un mouse en una línea matemáticamente perfecta).
Cerin
fuente
2
La mayor parte de esto es seguridad aunque oscuridad. Todo esto se puede romper, incluido el captcha. Aunque admito que es la parte más difícil de romper. (+1 No hay una solución al 100% y mucho de esto descrito podría usarse con otras técnicas)
Torre
2
¿Qué tan buenos son los bots de captcha ahora, de todos modos? Te diré esto: la mitad de las imágenes que obtengo de Google Apps son imposibles de leer para un humano .
WCWedin
Toda la seguridad informática se realiza a través de la oscuridad. La razón por la que alguien no puede leer un correo electrónico cifrado es porque no puede encontrar fácilmente la clave privada. Pero con suficiente tiempo y recursos informáticos, eso también puede "romperse". La mayoría de los captchas son bastante buenos y eliminarán el 99,99% de los bots.
Cerin
5

Idealmente, la única solución válida es crear una lógica honeypot que atraiga a un bot comprometido al proporcionar la tentación de una condición lógica más favorable que favorezca las respuestas de comportamiento más ideales del bot. Una vez que el bot está involucrado en el honeypot, debe alimentar continuamente las condiciones del bot que prefiere, asumiendo que el bot no tiene un tiempo de espera establecido. Luego, el bot puede medirse, registrarse y estudiarse. Además del bot, también tendría la red y los datos de sesión aislados para su estudio, siempre que el bot no se conecte a través de TOR.

En esta situación, las consideraciones deterministas adecuadas para diferenciar un bot de un humano son menos severas; sin embargo, la consideración determinista al identificar el comportamiento del bot se vuelve más severa. Desafortunadamente, el propietario del bot puede realizar cambios en el bot para evitar dicha identificación si ese propietario conoce la condición del honeypot, o la consideración lógica de la misma.


fuente
3
Citando a Sun Tzu: "Conoce a tu enemigo". Evite sus fortalezas y explore sus debilidades.
jweyrich
No es una mala idea y estoy interesado en cómo se vería este software. ¿Le gustaría dar más detalles sobre una condición específica?
torre
1
Los puntos de salida de Tor son bastante limitados. Cualquier jugador que se conecte a través de un Tor exist Points debería sospechar.
Christian
Crear un honeypot podría resultar muy caro para un sitio de póquer
resultar
Puedes hacer que piense que está ganando dinero.
Jeff Davis
4

Derrotar a los bots de póquer puede tomar dos formas: puede intentar identificarlos y bloquearlos del sistema, o simplemente puede vencerlos en el póquer. Vencerlos en el póquer es la cuestión académica más interesante. :-)

Vea aquí algunos artículos sobre cómo vencer a los robots de póquer: http://www.cs.cmu.edu/~sganzfri/

Aaron
fuente
2

Otro pensamiento sobre jugar con la pantalla para que sea difícil de escanear:

Haga la tarjeta con una gran cantidad de colores diferentes, cercanos en términos del ojo humano, pero no iguales. Esto dificultaría la selección de las cosas para leer. Por otro lado, ponga escritura falsa en la tarjeta en colores que el ojo humano no separe del fondo.

Loren Pechtel
fuente
2
Desafortunadamente, esto sería bastante fácil de derrotar para cualquier programador competente, ya que eliminarían los rangos de color de la pantalla y no los valores exactos sin pasar por alto esta solución.
Tom Gullen
Los rangos de color funcionarían si fueran fijos, pero ¿y si siguiera cambiando las cosas? Significaría que su raspador tendría que estar programado para comprender la visión humana. No sería imposible, pero haría las cosas mucho más difíciles.
Loren Pechtel
Es plausible, pero va a restar valor a la experiencia válida de los usuarios del software, que probablemente sea un mal negocio.
Tom Gullen
Muy fácil de derrotar. He escrito un robot de póquer antes y reconozco cartas calculando la similitud de la imagen dentro de un cuadro delimitador. Incluso si ninguno de los píxeles es exactamente el mismo (ya sea porque los colores de la tarjeta o la ubicación de la pantalla cambian ligeramente en cada uno), todavía puedo usar esas medidas de similitud para identificar la tarjeta "más probable".
benjismith
¿Y por qué crees que los colores deben permanecer incluso similares? Haz un ciclo a través de colores tremendamente diferentes y el fondo cíclico: estoy imaginando un efecto como una ola que sigue barriendo las cartas y cambiando los colores. Mantenga mucho contraste y asegúrese de que los colores que resulten no sean feos.
Loren Pechtel
2

¿El problema con los bots es el hecho de que juegan mejor que los jugadores humanos decentes, o que pueden esperar 24 horas al día, 7 días a la semana, a que aparezcan malos jugadores y luego tratar de exprimirlos?

Además, ¿sería "legítimo" o "trampa" que alguien tuviera una computadora junto a él mientras jugaba al póquer, consultando a esa otra computadora en busca de consejo?

No estoy seguro de cómo se puede afirmar que el espacio de solución para el póquer con límite está "resuelto" cuando la estrategia óptima para un jugador se verá influenciada por lo que se sabe sobre los oponentes. ¿Cómo puede cualquier intento de analizar a los jugadores afirmar que es tan perfecto que no se puede mejorar?

Super gato
fuente
Aquí hay una discusión interesante sobre si el póquer tiene solución : forumserver.twoplustwo.com/29/news-views-gossip/… Algunos de los carteles que aparecen allí son muy respetables. El problema es que, en teoría, un bot funcionará de una manera inmejorable. Además, el software que describe para 'ayudarlo' es un área gris, muchos sitios permiten software de análisis de datos como PokerTracker / PokerOffice, pero traza la línea en las calculadoras ICM y otras herramientas matemáticas para la toma de decisiones (por ejemplo, estas son extremadamente útiles en hiper estrategia de finalización del torneo turbo).
Tom Gullen
1

Si tiene acceso a muchas coincidencias, puede adoptar un enfoque de minería de datos. La fuerza de juego de una IA debería ser bastante constante, aunque probablemente haya patrones simples para los humanos: más débil en las primeras rondas de calentamiento y la fuerza se deteriora después de jugar durante mucho tiempo. Además, los tiempos de decisión humana probablemente aumentan cuando hay más dinero en juego.

Si tiene acceso a los movimientos del mouse (o al menos haga clic en las ubicaciones, lo cual es cierto incluso para las aplicaciones web), debería ser bastante simple reconocer los bots, excepto los más sofisticados. Los humanos no mueven el mouse en una línea recta exacta, tienen períodos de aceleración y desaceleración, distribuciones de ubicación de clic estadísticamente descripbles, etc.

Tgr
fuente
Muchos sitios de póquer ahora implementan atajos de teclado para multimesa, por lo que puede eliminar la necesidad de un mouse en un bot. Tampoco creo que la decisión aumente con el dinero en juego a menudo, está primordialmente correlacionado con la dificultad de decisión.
Tom Gullen
1

Eche un vistazo a Ajax Control Toolkit NoBot :

NoBot emplea algunas técnicas anti-bot diferentes:

* Forcing the client's browser to perform a configurable JavaScript calculation and verifying the result as part of the postback. (Ex: the calculation may be a simple numeric one, or may also involve the DOM for added assurance that a browser is involved)

* Enforcing a configurable delay between when a form is requested and when it can be posted back. (Ex: a human is unlikely to complete a form in less than two seconds)

* Enforcing a configurable limit to the number of acceptable requests per IP address per unit of time. (Ex: a human is unlikely to submit the same form more than five times in one minute)
lmsasu
fuente
0

Una solución al 100% es imposible, lo que me propongo es una solución que ahorrará dinero al usar la IA contra sí misma. Tenga una instancia de la IA de PokerPirate ejecutándose en el lado del servidor y jugando como un jugador invisible en cada juego. Si algún jugador realiza demasiadas acciones idénticas, probablemente esté ejecutando una instancia de PokerPirate. Se trata de un tipo de Honeypot o trampa en la que el atacante pueda caer. El atacante puede defenderse de este honeypot haciendo que su bot tenga menos éxito. Por lo tanto, esto está creando un came de "Cat and Mouse" en el que el atacante siempre puede robar algo de dinero y el defensor siempre puede ahorrar algo de dinero.

torre
fuente
5
Es una pena que eliminaste tu otra respuesta casi idéntica, ya que contenía comentarios interesantes.
Paul Dixon
Esto supone que solo hay un robot que juega al póquer y que un humano nunca haría las mismas cosas que haría un robot.
dibujado hacia adelante
@drawnonward Un humano no va a actuar como un bot todo el tiempo , hay un factor de confusión aquí.
torre
3
@TheRook 'Bromear "IA" debe ser puramente matemático y siempre existe la "respuesta correcta".' Eso solo es cierto en los juegos de información completa de los cuales el póquer no es uno. Un jugador que siempre realiza la misma acción en el mismo estado se vuelve predecible y, por lo tanto, fácil de derrotar. Los mejores bots tendrán elementos de aleatoriedad. Incluso los jugadores más matemáticos recomendarán comportamientos variables incluso en la misma situación (normalmente con un porcentaje de probabilidad).
Davy8
1
@The Rook Yo no era este era un entorno académico, sin embargo, busqué una referencia (y casi cualquier libro de póquer serio que elija estará de acuerdo en que en un alto nivel de juego la imprevisibilidad es crucial) sciencenews.org/sn_arc98/ 7_18_98 / bob1.htm Algunas citas:"We've been working on categorizing and understanding styles of play, [...] it gets more difficult in games against top players because they mix up their play deliberately to confuse you." Being unpredictable is a good strategy, he adds. "If our computer is going to beat the world champion, it's got to do something similar."
Davy8
-2

Hay formas mucho más sencillas. si. muchas de las sugerencias son correctas y necesarias. pero alrededor del 90% de los fraudes se detectan de manera demasiado simple.

si alguien deja que un bot funcione para él, después de un tiempo querrá que un segundo bot funcione para él. (otra máquina o lo que sea) pero: usará la misma contraseña, ya que es difícil de recordar 2 (<--- sarcástico)

lo que queda: verifique las cuentas con el mismo comportamiento de juego y el mismo hash de contraseña.

crichter
fuente
¿Cómo es confiable? Supongo que MUCHAS personas diferentes están usando la misma contraseña. Ni siquiera me hagas empezar con una contraseña como su fecha de nacimiento, o simplemente "azerty" o "contraseña".
DuoSRX
6
¡Sal tus hashes! > = (
WCWedin
1
@WCWedin buena llamada, todos los hash de contraseña deben usar una sal única.
torre el
@DuoSRX cierto, no confiable, pero una buena pista. la lista completa de resultados va al equipo de fraude, y ellos hacen una verificación de antecedentes de las cuentas. @WCWedin sí. nobrainer ;-)
cRichter