Bots, redes neuronales e integridad del RNG

El backgammon fue el primer juego complejo entre dos jugadores en el que un ordenador venció de forma comprobada a los mejores jugadores humanos. La prueba se publicó en 1992, cuatro años antes de que Deep Blue ganase a Kasparov y veinticuatro antes de AlphaGo, y vino de una sola red neuronal entrenada por autojuego en IBM Research. La línea que va de aquel programa, TD-Gammon de Gerald Tesauro, pasando por Jellyfish, Snowie, GNU Backgammon, eXtreme Gammon (XG), BGBlitz y hasta los motores open source modernos, forma la historia técnica del backgammon por ordenador.

Esta página recorre esa línea, explica cómo se evalúan los bots modernos, documenta la familia original de bots de GamesGrid de 1996 a 2008 y deja por escrito nuestra postura sobre la integridad del generador de números aleatorios, con el algoritmo Mersenne Twister que utilizamos y un contraejemplo documentado tomado de la historia de los operadores de backgammon online.

La página de Performance Rating (PR) y ELO, en inglés, cubre el marco estándar de medición del nivel que usa toda la escena competitiva moderna.


1. La línea cronológica de los motores

La historia de los bots de backgammon va por cinco fases distinguibles. Cada fase corresponde a un enfoque fundamentalmente distinto para evaluar posiciones.

FaseEnfoqueMotor representativoAño
Pre-neuronalHeurística codificada a mano y rolloutsBKG 9.8 (Berliner)1979
Primera generación NNAprendizaje por diferencia temporal con autojuego sobre redes poco profundasTD-Gammon1992
NN comercialProgramas neuronales comerciales pulidosJellyfish, Snowie1994-1998
NN open sourceConstruido por la comunidad, de uso libreGNU Backgammon2002+
Referencia modernaRedes más profundas, conjuntos de features mayores, rollouts más rápidoseXtreme Gammon (XG), BGBlitz, Wildbg2009+

1.1 Pre-neuronal: BKG (Hans Berliner, 1979)

El primer programa de ordenador que ganó a un campeón del mundo en un juego de mesa complejo fue BKG 9.8, escrito por Hans Berliner en Carnegie Mellon. En 1979 venció a Luigi Villa, campeón mundial vigente de backgammon, en un duelo por dinero a 7 puntos en Montecarlo. La victoria se atribuyó, con razón, en parte a una racha extraordinaria con los dados; el propio Berliner escribió que su programa probablemente jugaba por debajo de Villa si la muestra hubiera sido más amplia. Pero el resultado era innegable: la era de "los ordenadores no pueden jugar al backgammon" había acabado antes incluso de que empezase la fase siguiente.

BKG evaluaba posiciones con heurísticas codificadas a mano: rasgos como la longitud de prima, la exposición de blots y el pip count, ponderados con parámetros que Berliner había ajustado contra posiciones de prueba representativas. No había componente de aprendizaje. Fue el programa más fuerte sin aprendizaje que se ha construido para el juego.

1.2 TD-Gammon (Tesauro, IBM Research, 1992)

El salto llegó desde otro paradigma. Gerald Tesauro, en IBM Research, aplicó aprendizaje por refuerzo con diferencia temporal al backgammon. Su programa, TD-Gammon, era una red neuronal feedforward con una capa de entrada de 198 unidades que codificaba el tablero (4 unidades por punto y color para la distribución de fichas, más 6 unidades adicionales para la barra, las fichas sacadas y el bando al turno), conectada a una sola capa oculta de 40 a 80 unidades sigmoidales según la versión (TD-Gammon 2.1 usaba 80). Se entrenaba con autojuego: el programa jugaba cientos de miles de partidas contra sí mismo, y después de cada jugada ajustaba sus pesos para que su evaluación de la posición previa se acercase a su evaluación de la posición posterior.

El resultado notable, publicado en 1992 y refinado hasta 1995, fue que TD-Gammon descubrió aperturas competitivas que contradecían décadas de teoría humana. El análisis con rollouts, impulsado por TD-Gammon y consolidado en los años siguientes por Jellyfish y Snowie, dio la vuelta al consenso pro-slot de los años setenta en varias tiradas de apertura, a favor de jugadas de split-builder (entre ellas, en 2-1, 4-1 y 5-1). El estándar que aplica hoy cualquier jugador serio de torneo en varias tiradas de apertura lo fijó, en parte, esta primera oleada de análisis con redes neuronales. Consulta la página de tiradas de apertura en inglés.

1.3 Jellyfish, Snowie, GNU Backgammon (1994 - principios de los 2000)

El primer programa comercial con red neuronal fue Jellyfish, lanzado por Fredrik Dahl en 1994. Jellyfish seguía la arquitectura tipo TD-Gammon (una red feedforward con una capa oculta) y fue durante años el programa público más fuerte. Snowie, lanzado en 1998, usaba una red más sofisticada y añadía un analizador de cubo pulido; fue el motor comercial dominante de finales de los noventa.

GNU Backgammon (también GNUbg o gnubg) es el heredero open source de esa línea. El desarrollo arrancó a finales de los noventa; las releases grandes se estabilizaron a principios de los dos mil. La evaluación de GNUbg es una red feedforward multicapa entrenada con rollouts de millones de posiciones; sus modos de evaluación a 0, 1, 2 y 3 niveles ofrecen a los jugadores competitivos un abanico de compromisos entre velocidad y precisión para analizar. GNU Backgammon publica también la tabla de match equity (Rockwell-Kazaross MET) que la comunidad usa como referencia.

1.4 eXtreme Gammon (XG) y posteriores (2009+)

eXtreme Gammon, lanzado en 2009 por Xavier Dufaure de Citres, es la referencia mundial actual. XG combina una red neuronal más profunda con rollouts optimizados, un analizador de cubo integrado y la interfaz de análisis más usada en la escena competitiva. XG2 (la revisión grande) es el bot contra el que se calibran los ratings PR modernos en la mayoría de los casos. Los Performance Ratings de torneo se calibran de manera rutinaria contra rollouts de XG2 a 4 niveles.

BGBlitz, de Frank Berger, es un motor de red neuronal independiente en desarrollo activo. Wildbg, un motor open source escrito en Rust, lanzado en 2023, no destaca tanto por fuerza bruta como por transparencia de entrenamiento: el pipeline de entrenamiento es público y verificable, y el motor se ha convertido en plataforma de investigación para evaluar arquitecturas de red y estrategias de entrenamiento. Esa filosofía de transparencia conecta directamente con nuestra propia documentación del RNG y del stack de análisis, que sale más abajo.


2. Cómo analizan los bots las partidas: la cadena FIBS / GamesGrid → GNUbg

El flujo de trabajo estándar en backgammon competitivo, de 1996 hasta hoy, consiste en jugar las partidas online, exportarlas en un formato de texto estandarizado y analizarlas después en un motor con red neuronal. La cadena original:

  1. Juega la partida en FIBS, GamesGrid o un servidor parecido.
  2. Exporta la partida a un archivo de texto en formato SGF o JF (Jellyfish). FIBS admitía la exportación con el comando oldboard; GamesGrid tenía su propia función de exportación.
  3. Importa la partida en Jellyfish, Snowie, GNU Backgammon o, más tarde, XG.
  4. Analiza a la profundidad elegida: normalmente 2 niveles para la revisión diaria, rollouts completos para el estudio serio.
  5. Informe con las tasas de error por jugada, por decisión de cubo, y un Performance Rating global de la partida.

La plataforma GamesGrid, en su versión de 1996-2008, era inusual entre los servidores comerciales porque la exportación de partidas era una función de primera clase. La comunidad de jugadores fuertes que construyó su reputación en GamesGrid, jugando miles de partidas puntuadas y analizando todas contra GNU Backgammon y Snowie, formaba una parte sustancial de la élite competitiva de principios de los dos mil.

La plataforma de 2026 continúa esa línea. Cada partida en GamesGrid se exporta a petición en formatos estándar y se puede importar en GNU Backgammon, eXtreme Gammon o BGBlitz para la revisión posterior independiente. Sin cierre de proveedor. El oráculo de evaluación de posiciones lo elige cada jugador.


3. La familia original de bots de GamesGrid (1996-2008)

La plataforma GamesGrid de 1996 a 2008 entregaba una familia escalonada de bots, todos construidos sobre un fork de GNU Backgammon hecho por GamesGrid Engineering (el brazo de ingeniería de CyberArts Inc., la empresa matriz). Las modificaciones al motor, entre ellas mejoras en los algoritmos de evaluación a n niveles, se devolvieron al proyecto GNU original, lo que convirtió a GamesGrid en uno de los pocos operadores comerciales que han hecho aportes reales al ecosistema open source del backgammon.

El escalonado de los bots se conseguía induciendo errores a frecuencias distintas, no entrenando redes más débiles desde cero. Todos los bots utilizaban la misma red neuronal de base derivada de GNUbg; los más débiles simplemente cometían jugadas subóptimas a una frecuencia controlada. Los ratings publicados originalmente:

BotRating objetivoEnfoqueRango ELO original (bajo / medio / alto)
GG ForeverNinguno (fuerza plena, solo Life Members)2 niveles de lookahead1850 / 1920 / 2114
GG RaccoonNinguno (fuerza plena)0 niveles (sin lookahead)1850 / 1920 / 2114
GG Otter~1700 (avanzado)Errores inducidos1543 / 1701 / 1827
GG Weasel~1500 (principiante)Errores inducidos con más frecuencia1410 / 1516 / 1652
GG Chipmunk~1300 (novato)Modo de errores en alta frecuencia1171 / 1275 / 1487

Los bots jugaban de 2.000 a 4.000 partidas al día en la plataforma, con un máximo de 9 puntos por match. Jugaban tanto backgammon estándar como Nackgammon (la variante de apertura de Nack Ballard). Las invitaciones tenían un filtro de rating: GG Otter solo aceptaba invitaciones de jugadores por debajo de 1800, GG Weasel solo por debajo de 1600 y GG Chipmunk solo por debajo de 1400.

MrHyperBot, una arquitectura distinta

Aparte, MrHyperBot jugaba la variante Hypergammon, la variante rápida de tres fichas en la que cada jugador empieza con solo tres fichas en los puntos 22, 23 y 24. MrHyperBot no usaba red neuronal. En su lugar utilizaba una base de datos exhaustiva con la mejor jugada calculada para cada posición legal de Hypergammon, desarrollada por Hugh Sconyers (con el handle "hugh" en GamesGrid). El espacio de estados más pequeño del Hypergammon permite la solución teórica completa por ordenador, y la base de datos de Sconyers sigue siendo la referencia canónica para esa variante.

Xbot, el bot de Paul Magriel

Un bot independiente, Xbot, lo operaba en GamesGrid Paul Magriel (con el handle "X22"). Magriel —autor de Backgammon (1976), el texto canónico de teoría posicional, y columnista de backgammon en The New York Times entre 1977 y 1980— mantenía un bot de red neuronal para partidas por dinero con apuestas pequeñas, a 9 puntos. Que Magriel fuera operador activo en GamesGrid era una señal de la posición cultural de la plataforma en la era 1996-2008 del backgammon competitivo.

La familia completa de bots —GG Forever, GG Raccoon, GG Otter, GG Weasel, GG Chipmunk, MrHyperBot y el espíritu de Xbot— vuelve en la plataforma de 2026, reconstruida a partir de la huella documentada de juego de cada uno y acompañada por una nueva generación de bots con nombre propio. Más detalles, cerca del lanzamiento.


4. Generación de números aleatorios: por qué importa

Un servidor de backgammon es, en el fondo, un generador de dados. La decisión técnica sobre cómo el servidor produce las tiradas aleatorias tiene consecuencias enormes para la integridad competitiva, y la historia del backgammon online recoge casos documentados de operadores que se equivocaron en ese punto.

4.1 Mersenne Twister (MT19937)

La plataforma GamesGrid de 2026 usa el generador de números pseudoaleatorios Mersenne Twister, concretamente la variante MT19937, desarrollada por Makoto Matsumoto y Takuji Nishimura en 1997. El algoritmo tiene:

MT19937 es el RNG por defecto en GNU Backgammon, en el módulo random de Python y en una larga lista de simuladores Monte Carlo científicos. Conviene apuntar dos matices técnicos:

  1. No es criptográficamente seguro. Un atacante que observe 624 salidas consecutivas puede reconstruir el estado interno y predecir las salidas futuras. Para la generación de dados en un servidor de juego autenticado que no expone su estado interno no es un problema relevante, pero descarta MT19937 como única fuente de entropía para usos críticos de seguridad.
  2. Tiene debilidades conocidas en tests de linealidad. Por estar construido sobre realimentación lineal en el cuerpo de dos elementos F2\mathbb{F}_2, falla de forma previsible en ciertos tests de complejidad lineal de la batería TestU01 BigCrush. Supera Diehard y las baterías estándar NIST, y los modos de fallo están bien caracterizados y son ortogonales a nuestro caso de uso (tiradas enteras uniformes 1-6); pero una descripción honesta de MT19937 tiene que mencionarlos, no esconderlos.

Para la generación de dados, las propiedades de periodo y equidistribución superan con creces cualquier preocupación por la linealidad. Hay alternativas criptográficas disponibles (por ejemplo, AES-CTR-DRBG), y el registro de auditoría de la plataforma deja registro del algoritmo y de la fuente de la semilla en cada partida.

4.2 Política de auditoría de la semilla

Cada partida en GamesGrid lleva asociada una semilla generada por el servidor. Esa semilla:

  1. Queda registrada al empezar la partida en un log de auditoría de solo lectura.
  2. Se obtiene de una fuente de alta entropía (RNG hardware combinado con el pool de entropía del sistema) en el momento de iniciar la partida; no es predecible a partir de partidas anteriores.
  3. Se guarda junto al registro de la partida, lo que permite a un auditor independiente reproducir a posteriori la secuencia de dados.

En la práctica: cada tirada de una partida de GamesGrid es verificable de manera independiente como generada por MT19937 a partir de una semilla concreta en un momento concreto. Los dados no están "amañados" contra ni a favor de ninguna cuenta, y no hay ningún mecanismo algorítmico que sesgue los resultados a favor o en contra de jugadores concretos.

4.3 El contraejemplo: SafeHarbor Games

La historia del backgammon online incluye operadores que se apartaron de una política neutral de RNG. El caso documentado es SafeHarbor Games, que en varios momentos operó salas en las que la frecuencia de dobles se reducía deliberadamente para apaciguar a los jugadores que se quejaban de que "los dados los aplastaban".

La intención era retener jugadores. El efecto fue un RNG explotable: cualquier jugador que supiera que la distribución de dobles estaba sesgada tenía una ventaja medible en valor esperado sobre los que no lo sabían. En un contexto con dinero real, eso constituye una violación de la integridad competitiva, y la escena del backgammon online en general reaccionó en consecuencia. Este episodio aparece en los foros de jugadores de la época y forma parte de la historia de operadores que sustenta la postura de la plataforma de 2026 a favor de una generación de dados neutral, transparente y algorítmica.

La postura de la plataforma de 2026 no admite ambigüedades: distribución uniforme, algoritmo nombrado, semillas registradas. Los dados son los mismos para cada jugador, en cada sala, en cada marcador.


5. La plataforma de 2026: lo público y lo que queda por venir

El nuevo GamesGrid conserva las decisiones de arquitectura que distinguieron al servidor de 1996-2008: cliente cerrado con estado del lado del servidor, exportación transparente de partidas a GNU Backgammon y XG, una familia escalonada de bots descendiente del elenco original de GG, y reconstruye todo eso sobre ingeniería moderna. El conjunto concreto de funciones, incluida la estructura de las ligas de bots del modo carrera y el nuevo elenco de bots, se publicará cerca del lanzamiento.

Lo que está comprometido públicamente desde ya:

El marco completo de Performance Rating en el que opera la familia de bots está en la página de PR y ELO en inglés.


Véase también


Notas