¿Qué tan fuerte sería un motor de ajedrez que utilizara la tecnología AlphaGo?

Ya fue construido por Matthew Lai, y es bastante fuerte. Aparentemente fue mucho más fácil de construir que AlphaGo.

Desde Deep Learning Machine se enseña ajedrez en 72 horas, juega a nivel internacional

Lai ha creado una máquina de inteligencia artificial llamada Giraffe que se ha enseñado a sí misma a jugar al ajedrez evaluando posiciones mucho más parecidas a los humanos y de una manera completamente diferente a los motores de ajedrez convencionales.

Directamente desde el primer momento, la nueva máquina juega al mismo nivel que los mejores motores de ajedrez convencionales, muchos de los cuales se han afinado durante muchos años. A nivel humano, es equivalente al estado de FIDE International Master , ubicándolo dentro del 2.2 por ciento superior de los jugadores de ajedrez del torneo.

Por lo tanto, no sorprende que las redes neuronales profundas sean capaces de detectar patrones en el ajedrez y ese es exactamente el enfoque que Lai ha tomado. Su red consta de cuatro capas que juntas examinan cada posición en el tablero de tres maneras diferentes.

El primero analiza el estado global del juego, como el número y el tipo de piezas en cada lado, qué lado debe moverse, enderezar los derechos, etc. El segundo analiza las características centradas en la pieza, como la ubicación de cada pieza en cada lado, mientras que el aspecto final es mapear los cuadrados que cada pieza ataca y defiende.

Lai entrena su red con un conjunto de datos cuidadosamente generados tomados de juegos de ajedrez reales .

Y este conjunto de datos debe ser enorme. La cantidad masiva de conexiones dentro de una red neuronal debe ajustarse durante el entrenamiento y esto solo se puede hacer con un vasto conjunto de datos.

… [Lai] utilizó una técnica de arranque en la que Giraffe jugó contra sí misma con el objetivo de mejorar su predicción de su propia evaluación de una posición futura. Eso funciona porque hay puntos de referencia fijos que en última instancia determinan el valor de una posición, ya sea que el juego se gane, pierda o dibuje más tarde.

De esta manera, la computadora aprende qué posiciones son fuertes y cuáles son débiles.

Lai usa esto para probar la máquina en varias etapas durante su entrenamiento. A medida que comienza el proceso de arranque, Giraffe alcanza rápidamente un puntaje de 6,000 y finalmente alcanza un máximo de 9,700 después de solo 72 horas . Lai dice que coincide con los mejores motores de ajedrez del mundo.

Y esto es solo el comienzo. Lai dice que debería ser sencillo aplicar el mismo enfoque a otros juegos. Uno de los que destaca es el tradicional juego chino de Go, donde los humanos aún tienen una ventaja impresionante sobre sus competidores de silicio. Tal vez Lai podría tener una grieta en el próximo.


Aclaraciones: como señaló Bernhard H. Schmitz en los comentarios, aunque es impresionante lo fuerte que Giraffe se enseñó a sí misma en tan poco tiempo, no está estrictamente hablando “al mismo nivel que los mejores motores de ajedrez convencionales”. Además, para aquellos que no están familiarizados con el ajedrez (incluido yo), “International Master” no es el título más alto que un jugador de ajedrez puede alcanzar.

AlphaChess sería más débil que los motores de ajedrez hoy en día . Go y Chess son muy diferentes y, por lo tanto, necesitan enfoques diferentes.

Puedes leer mi respuesta a ¿Es Go el juego de mesa para 2 jugadores más complicado?

Se necesitaron décadas de investigación y desarrollo continuo para desarrollar programas de ajedrez capaces de vencer a los campeones del mundo. Con el enfoque correcto, fue relativamente fácil desarrollar un sistema Go que sea capaz de vencer al campeón mundial.

AlphaGo adoptó un enfoque radicalmente nuevo después de décadas de “copiar” algoritmos de búsqueda utilizados en el ajedrez y aplicarlos a Go. Esto realmente no valió la pena para Go.

AlphaGo utiliza redes neuronales. Y sospecho que esto realmente no valdrá la pena para el ajedrez.

Aquí es por qué. Las diferencias entre Go y el ajedrez hacen que sea difícil aplicar las estructuras de red neuronal AlphaGo al ajedrez, porque Go es “más lineal” que el ajedrez:

El ajedrez es más asimétrico que GO
porque las piezas tienen diferentes movimientos en el ajedrez pero los mismos “movimientos”
en GO. Jugar con diferentes piezas es obviamente más complicado que
jugando con piezas que son todas iguales.

El ajedrez es más dinámico que GO
porque las piezas pueden cambiar sus posiciones. En GO las piezas no cambian su
puestos. Por lo tanto, Go es más estático.

El alcance de las piezas está más lejos en Ajedrez que en Go .
Ir es más local.

El ajedrez y el GO son más o menos semi-dinámicos.
lo que asegura que los juegos terminen: las piezas de ajedrez desaparecen paso a paso. En GO, los puntos libres para piezas desaparecen paso a paso. En Go las estructuras “crecen”.

Las situaciones de go son más locales / independientes que el ajedrez, que es más holístico / interdependiente:
Ampliar o reducir un campo de juego Go no hará que el juego sea más o menos
complicado para los humanos pero más o menos complejo en términos de
posibilidades El principio de localidad / independencia no hace que Go
más o menos complicado si alguien elige un 39 × 39.

El suicidio / sacrificio está permitido en el ajedrez pero está prohibido en Go .
Esto hace que los juegos también sean un poco no lineales.

En comparación con el ajedrez, Go es más estático, más local, más simétrico, más semi-dinámico, más lineal . Por lo tanto, Go es más adecuado para redes neuronales. Si en absoluto existieran estructuras de red neuronal para el ajedrez en forma de GammaChess u OmegaChess, estas serían mucho más complicadas que las arquitecturas neuronales en la actualidad.

Me gustaría abordar esto de manera hardware, dejando de lado el software (porque, como mencionó Bernhard, el software en AlphaGo no es adecuado para el ajedrez). ¿Cuánto más poderoso es AlphaGo y cuál es su calificación teórica?

Para responder esto, me gustaría ver un poco de la primera vez que una computadora ganó contra un humano en el ajedrez: Deep Blue. Algunos sitios web mencionan que tiene 57.5 GFLOPS (operaciones de punto flotante por segundo). Hoy en día, un procesador i7 básico tiene ~ 80 GFLOPS.

Ahora para AlphaGo, alpha go tiene 1920 CPU y / 280 GPU. Si suponemos que las CPU son Intel Xeon E5-2600v3, y suponemos que las GPU son Nvidia 40K (se especula si esto es cierto). Cada Xeon tiene aproximadamente 500 GFLOPS cada uno, y cada Nvidia 40K tiene aproximadamente 1.4 TFLOPS Performance.

Asi que:

0.5 x 1920 + 1.4 * 280 = 1382 TFLOPS = 1.382 PetaFLOPS.

La computadora de ajedrez Deep Blue que derrotó a Kasparov en 1997 normalmente buscaría entre seis y dieciséis capas hasta un máximo de cuarenta capas en algunas situaciones.

Entonces, si tuviéramos una potencia de cálculo similar a la de AlphaGo, y asumimos una correlación lineal entre las capas analizadas y FLOPS, podríamos suponer que con el potencial de hardware de AlphaGo, podríamos ir de 138 a 368 niveles de profundidad de ajedrez.

Un gran maestro típico generalmente solo va de 20 a 30 movimientos hacia adelante.