Una nueva IA gana en marcha. ¿Puede una IA similar ganar en el ajedrez? ¿Se puede lograr un auto entrenamiento puro?

20

Una de las preguntas más populares que se hacen en este sitio se refiere a la posibilidad de una IA de ajedrez puramente autodidacta.

Hoy, ChessBase se distrae de su cobertura del torneo FIDE Candidates para informar que una nueva IA está, por primera vez, superando a un maestro líder del juego bastante diferente, que se había resistido a las IA de estilo ajedrez durante muchos años. Una lectura inicial del informe sugiere que la nueva IA de go es diferente a las IA de ajedrez, pero es más una IA de juego general (GGP). Sin embargo, el artículo de ChessBase no usa el término GGP, pero parece decir que la inteligencia artificial puede ganar en videojuegos simples.

¿Hay alguna razón por la que una IA tan ganadora no pueda, con pequeños ajustes, también ganar en el ajedrez? Si es así, ¿una IA de este tipo promete lograr el autoformación pura que las varias respuestas excelentes a la pregunta anterior han discutido anteriormente, que en ese momento aún no era posible? ¿Por qué o por qué no?

Sospecho que todavía no hay disponible una respuesta completa e informada a mi pregunta, por lo que se agradecería incluso una respuesta parcial basada en la experiencia relacionada.

Para referencia adicional, vea también esta pregunta y respuestas relacionadas.

ACTUALIZAR

Cuando la pregunta anterior se publicó por primera vez hace cinco días y cuando se dieron algunas de las excelentes respuestas a continuación, acababan de aparecer las primeras noticias sobre la victoria de la IA. Desde entonces, ha surgido información y comentarios adicionales.

Particularmente interesante desde entonces ha sido una discusión de mesa redonda de cinco lados bastante legible en la que Jonathan Schaeffer comenta:

Aprender de los juegos humanos ayuda a acelerar el aprendizaje del programa. AlphaGo podría aprender a convertirse en un jugador fuerte por sí solo, sin usar los juegos humanos. El proceso de aprendizaje llevaría más tiempo.

Según el anfitrión de la mesa redonda, Schaeffer es "[c] profesor de ciencias informáticas en la Universidad de Alberta y el hombre que resolvió las damas"; entonces, presumiblemente, él podría estar calificado para comentar.

Para obtener más información, aquí está el registro de otra discusión abierta, muchos de cuyos participantes parecen estar mejor informados que de costumbre. La discusión tuvo lugar durante el partido.

Actualización adicional, un año y medio después: comentarista @MarkS. escribe:

Esto es solo un comentario porque se trata de Go, no de Ajedrez, pero AlphaGo Zero logró un "auto-entrenamiento puro" solo por saber quién ganó (y no el puntaje final) y es más fuerte y mucho más eficiente que la IA que venció a Lee Sedol . Para obtener más información, consulte deepmind.com/blog/alphago-zero-learning-scratch

thb
fuente
Le sugiero que pregunte esto en foros más técnicos. La IA es un tema complicado, y uno debe tener una experiencia significativa para comprenderlo. Mirando las respuestas aquí, no estoy seguro de que obtenga una respuesta razonable.
Salvador Dali
55
Las respuestas dadas son muy apreciadas. He votado más de uno. Si aún no he aceptado ninguna, esto no es una crítica de las respuestas, sino un reconocimiento de que la pregunta es tan difícil y el tema tan nuevo que la respuesta aceptable puede no estar disponible todavía. Dejemos esta pregunta abierta un momento para ver si, después de un tiempo, una respuesta que no está disponible hoy más tarde estará disponible. Gracias.
THB
1
Esto es solo un comentario porque se trata de Go, no de Ajedrez, pero AlphaGo Zero logró un "auto-entrenamiento puro" solo por saber quién ganó (y no el puntaje final) y es más fuerte y mucho más eficiente que la IA que venció a Lee Sedol . Para obtener más información, visite deepmind.com/blog/alphago-zero-learning-scratch
Mark S.
1
@thb Creo que AlphaZero es una IA.
Harry Weasley
1
A partir de diciembre de 2017, AlphaZero aprendió un estilo de ajedrez solo a partir de las reglas del juego arxiv.org/pdf/1712.01815.pdf y descartó StockFish de manera convincente.
saille

Respuestas:

14

¡Bien bien bien! DeepMind ha publicado un artículo en el que dicen que han programado y entrenado una computadora de red neuronal para vencer a Stockfish.

Con 1 minuto de tiempo de reflexión por movimiento, su computadora AlphaZero venció a Stockfish por +25, = 25, -0 con blanco y + 3, = 47,0- como negro.

Ellos "entrenaron" 3 computadoras separadas para jugar ajedrez, shogi y Go y derrotaron a sus rivales de silicio de manera convincente.

Así es como el documento describe la capacitación y la evaluación:

Los juegos de auto-juego se generan utilizando los últimos parámetros para esta red neuronal, omitiendo el paso de evaluación y la selección del mejor jugador.

AlphaGo Zero ajustó el hiperparámetro de su búsqueda por optimización bayesiana. En AlphaZero reutilizamos los mismos hiperparámetros para todos los juegos sin ajustes específicos del juego. La única excepción es el ruido que se agrega a la política anterior para garantizar la exploración; esto se escala en proporción al número típico de movimientos legales para ese tipo de juego.

Al igual que AlphaGo Zero, el estado del tablero está codificado por planos espaciales basados ​​solo en las reglas básicas de cada juego. Las acciones están codificadas por planos espaciales o por un vector plano, nuevamente basado solo en las reglas básicas de cada juego (ver Métodos).

Aplicamos el algoritmo AlphaZero al ajedrez, shogi y también a Go. A menos que se especifique lo contrario, se utilizaron los mismos ajustes de algoritmo, arquitectura de red e hiperparámetros para los tres juegos. Entrenamos una instancia separada de AlphaZero para cada juego. La capacitación se llevó a cabo durante 700,000 pasos (mini lotes de tamaño 4,096) a partir de parámetros inicializados aleatoriamente, utilizando 5,000 TPU de primera generación para generar juegos de auto-juego y 64 TPU de segunda generación para entrenar las redes neuronales. En los Métodos se proporcionan más detalles del procedimiento de capacitación.

La Figura 1 muestra el rendimiento de AlphaZero durante el aprendizaje de refuerzo de auto-juego, en función de los pasos de entrenamiento, en una escala Elo (10). En ajedrez, AlphaZero superó a Stockfish después de solo 4 horas (300k pasos); en shogi, AlphaZero superó a Elmo después de menos de 2 horas (110k pasos); y en Go, AlphaZero superó a AlphaGo Lee (29) después de 8 horas (165k pasos).

Evaluamos las instancias completamente entrenadas de AlphaZero contra Stockfish, Elmo y la versión anterior de AlphaGo Zero (entrenado durante 3 días) en ajedrez, shogi y Go respectivamente, jugando 100 partidas en controles de tiempo de torneo de un minuto por jugada. AlphaZero y el anterior AlphaGo Zero usaban una sola máquina con 4 TPU. Stockfish y Elmo jugaron en su nivel de habilidad más fuerte usando 64 hilos y un tamaño de hash de 1GB. AlphaZero derrotó de manera convincente a todos los oponentes, perdiendo cero juegos contra Stockfish y ocho juegos contra Elmo (ver Material complementario para varios juegos de ejemplo), así como derrotar a la versión anterior de AlphaGo Zero (ver Tabla 1).

Su computadora usó una nueva forma de chip llamada "TPU" ( Unidad de procesamiento de tensor ) desarrollada por Google para tareas de aprendizaje automático.

También afirman que su algoritmo de búsqueda de árboles de Monte Carlo es mejor y más "humano" que los algoritmos de búsqueda alfa-beta tradicionales:

También analizamos el rendimiento relativo de la búsqueda MCTS de AlphaZero en comparación con los motores de búsqueda alfa-beta de última generación utilizados por Stockfish y Elmo. AlphaZero busca solo 80 mil posiciones por segundo en ajedrez y 40 mil en shogi, en comparación con 70 millones para Stockfish y 35 millones para Elmo. AlphaZero compensa el menor número de evaluaciones mediante el uso de su red neuronal profunda para enfocarse de manera mucho más selectiva en las variaciones más prometedoras, posiblemente un enfoque de búsqueda más "humano", como originalmente propuso Shannon. La Figura 2 muestra la escalabilidad de cada jugador con respecto al tiempo de pensamiento, medido en una escala Elo, en relación con Stockfish o Elmo con un tiempo de pensamiento de 40 ms. El MCTS de AlphaZero aumentó más efectivamente con el tiempo de reflexión que Stockfish o Elmo,

Estos son algunos de los juegos:

Stockfish - AlphaZero, 0-1
1. e4 e5 2. Cf3 Cc6 3. Ab5 Nf6 4. d3 Ac5 5. Axc6 dxc6 6. OO Cd7 7. NBD2 OO 8. QE1 f6 9. Cc4 Tf7 10. a4 Af8 11. KH1 Cc5 12. a5 Ce6 13. Ccxe5 fxe5 14. Cxe5 Rf6 15. Cg4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Cd4 21. Qc3 Re6 22. Be3 Rb6 23. Cc4 Rb4 24. b3 a5 25. Rxa5 Rxa5 26. Nxa5 Ba6 27. Bxd4 Rxd4 28. Nc4 Rd8 29. g3 h6 30. Qa5 Bc8 31. Qxc7 Bh3 32. Rg1 Rd7 33. Qe5 Qxe5 34. Nxe5 Ra7 35. Nc4 g5 36. Rc1 Bg7 37. ne5 Ra8 38. Cf3 Ab2 39. Rb1 Ac3 40. Cg1 Ad7 41. Ce2 JLd2 42. Td1 JLe3 43. kg2 Ag4 44. Te1 JLd2 45. Rf1 Ta2 46. h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Ae5 49. Rf2 Rg7 50. g4 Ad4 51. Re2 Rf6 52. e5 + Axe5 53. KF3 Ra1 54. Rf2 Re1 55. kg2 + Af4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Re5 61 . hxg5 hxg5 62. Re2 + Rf6 63. Kf2 Ae5 64. Ra2 Rc4 65. Ta6 + Re7 66. Ra5 Re6 67. Ta6 + Ad6 0-1

Juego

Stockfish - AlphaZero, 0-1
1. e4 e5 2. Cf3 Cc6 3. Ab5 Nf6 4. d3 Ac5 5. Axc6 dxc6 6. OO Cd7 7. c3 OO 8. d4 Ad6 9. Ag5 We8 10. Re1 f6 11. Ah4 Df7 12. NBD2 A5 13. Bg3 Re8 14. Qc2 Nf8 15. c4 c5 16. d5 b6 17. Nh4 g6 18. Nhf3 Bd7 19. Rad1 Re7 20. h3 Qg7 21. Qc3 Rae8 22. a3 h6 23. Bh4 Rf7 24. Bg3 Rfe7 25. Bh4 Tf7 26. Bg3 a4 27. Kh1 Rfe7 28. Bh4 Rf7 29. Bg3 Rfe7 30. Bh4 g5 31. Bg3 Ng6 32. Nf1 Rf7 33. Ne3 Ne7 34. Qd3 h5 35. h4 Nc8 36. Re2 g4 37. Cd2 Qh7 38. Kg1 Bf8 39. Cb1 Cd6 40. Cc3 Bh6 41. Rf1 Ra8 42. Kh2 Kf8 43. Kg1 Qg6 44. f4 gxf3 45. Rxf3 Bxe3 + 46. ​​Rfxe3 Ke7 47. Be1 Qh7 48. Rg3 RG7 49. Rxg7 + Qxg7 50. Re3 Tg8 51. Rg3 Qh8 52. Nb1 Rxg3 53. Bxg3 Dh6 54. Nd2 Ag4 55. KH2 Rd7 56. b3 axb3 57. Nxb3 Dg6 58. Nd2 Bd1 59. Cf3 bA4 60. Nd2 Re7 61 .Bf2 Dg4 62. Qf3 Bd1 63. Qxg4 Bxg4 64. a4 Nb7 65. Nb1 Na5 66. Be3 Nxc4 67. Bc1 Bd7 68. Nc3 c6 69. Kg1 cxd5 70. exd5 Bf5 71. Kf2 Nd6 72. Be3 Ne4 + 73. Nxe4 Bxe4 74. a5 bxa5 75. Bxc5 + Kd7 76. d6 Bf5 77. Ba3 Kc6 78. Ke1 Kd5 79. Kd2 Ke4 80. Bb2 Kf4 81. Bc1 Kg3 82. Ke2 a4 83. Kf1 Kxh4 84. Kf2 Kg4 85. Ba3 Bd7 86. Bc1 Kf5 87. Ke3 Ke6 0-1

Blanco: AlphaZero Negro: Stockfish

AlphaZero - Stockfish, 1-0
1. Nf3 Nf6 2. c4 b6 3. d4 e6 4. g3 Ba6 5. Qc2 c5 6. d5 exd5 7. cxd5 Bb7 8. Bg2 Nxd5 9. OO Nc6 10. Rd1 Be7 11. Qf5 Nf6 12. e4 g6 13. Df4 O-O 14. e5 Nh5 15. Dg4 Re8 16. Cc3 Db8 17. Cd5 Bf8 18. Bf4 Qc8 19. h3 Ne7 20. Ne3 Bc6 21. Rd6 Ng7 22. Rf6 Db7 23. Bh6 Cd5 24. Cxd5 Bxd5 25. Rd1 Ne6 26. Bxf8 Txf8 27. Qh4 Bc6 28. Qh6 Rae8 29. Rd6 Bxf3 30. Bxf3 Qa6 31. h4 Qa5 32. Rd1 c4 33. Rd5 Qe1 + 34. Kg2 c3 35. bxc3 Qxc3 36. h5 Re7 37. Ad1 Qe1 38. Bb3 Rd8 39. Rf3 Qe4 40. Qd2 Qg4 41. Bd1 Qe4 42. h6 Nc7 43. Rd6 Ne6 44. Bb3 Qxe5 45. Rd5 Qh8 46. ​​Qb4 Nc5 47. Rxc5 bxc5 48. Qh4 Tde8 49. Rf6 Rf8 50. Qf4 a5 51. g4 d5 52. Bxd5 Rd7 53. Bc4 a4 54. g5 a3 55. Qf3 Rc7 56. Qxa3 Qxf6 57. gxf6 Rfc8 58. Qd3 Rf8 59. Qd6 Rfc8 60. a4 1- 0 0
Brian Towers
fuente
Solo lee el periódico. Realmente increíble. Por supuesto, esto no significa que no puedas construir algo aún más fuerte con las técnicas tradicionales combinadas con AlphaZero, pero aún así ...
BlindKungFuMaster
10

Ok, tengo que admitir que estaba equivocado. Aunque afirmaría que se debió al conocimiento de la opinión de los expertos, no a la obtusidad general: Para citar el artículo : "Sin embargo, los programas de ajedrez que usan MCTS tradicionales fueron mucho más débiles que los programas de búsqueda alfa-beta (4, 24); mientras que alfa -beta programas basados ​​en redes neuronales han sido incapaces de competir con funciones de evaluación más rápidas y artesanales ".

Aparentemente, el ajedrez es lo suficientemente profundo desde el punto de vista estratégico, que puedes hacer una estrategia para alguien que pueda calcularte. Para mí eso es una gran sorpresa porque el desarrollo en los motores de ajedrez había ido en la dirección opuesta. (Aparentemente, todavía hay una pequeña advertencia sobre si AlphaZero es realmente más fuerte que Stockfish: Stockfish jugó con solo 1 gb para las tablas hash y 64 núcleos pueden no ser un rival para cuatro TPU)

También es algo muy, muy emocionante, porque AlphaZero probablemente tiene puntos fuertes muy diferentes de los motores tradicionales.

También significa que actualizo mucho mi creencia de la importancia de AlphaGo como un avance tecnológico. Básicamente rompiendo shogi, Go y ajedrez con una sola configuración es completamente sorprendente, sin mencionar docenas de otros juegos que AlphaZero podría jugar a un nivel sobrehumano.

Hay una buena explicación de por qué MCTS es en realidad una idea decente incluso para el ajedrez en comparación con la búsqueda alfa-beta (del documento): "AlphaZero evalúa las posiciones usando aproximación de función no lineal basada en una red neuronal profunda, en lugar de la lineal Aproximación de funciones utilizada en programas de ajedrez típicos. Esto proporciona una representación mucho más poderosa, pero también puede introducir errores de aproximación espurios. El MCTS promedia sobre estos errores de aproximación, que por lo tanto tienden a cancelarse al evaluar un subárbol grande. En contraste, la búsqueda alfa-beta calcula un mini-max explícito, que propaga los mayores errores de aproximación a la raíz del subárbol ". (énfasis por mí)

Aquí está mi vieja respuesta, que todavía contiene algunos puntos válidos, a pesar de que la conclusión es reemplazada por la realidad.

En primer lugar, Alphago no es un sistema de juego general. Es un programa diseñado exclusivamente para jugar y nada más. Sin embargo, está construido a partir de ciertos bloques de construcción que tienen una aplicabilidad mucho más amplia, como las redes neuronales convolucionales , que se han utilizado en el reconocimiento de imágenes y que tienen una aplicación inmediata en el diagnóstico médico, y el aprendizaje de refuerzo que se utilizó para dominar los juegos de Atari mencionados en el artículo.

Además, los motores actuales "aprenden" jugando a sí mismos : "Durante la noche, las seis computadoras de Lefler juegan más de 14,000 juegos cada una durante un período de ocho horas." Seis máquinas por 14,000 juegos son muchos juegos ", dice. Y con cada juego que se juega, la base de datos se vuelve más profunda y más rica. Incluso hay un interés deportivo en ver a las computadoras jugar una contra la otra. El resultado de las bulliciosas máquinas de Lefler es la habilidad cada vez mayor de Komodo ".

Para llegar al grueso de su pregunta:

Hay una diferencia importante entre ajedrez e ir, al menos desde la perspectiva de un programador. El ajedrez es más un juego táctico, mientras que ir es más un juego estratégico. Esto significa que en el cálculo del ajedrez la profundidad triunfa sobre la evaluación posicional. Esa es básicamente la idea clave que distingue los motores "viejos" como Fritz, Shredder, Junior y la generación más nueva como Fruit, Rybka, Houdini, Stockfish, Komodo. Debido a que al final de cada línea tiene que evaluar la posición y desea calcular muchas líneas y la calidad de la evaluación no es tan importante como la profundidad de búsqueda, los motores de ajedrez tienen funciones de evaluación ajustadas y rápidas.

En cambio, la complejidad táctica es demasiado grande incluso para las computadoras. Consecuentemente, evaluar posiciones y movimientos con precisión es clave. Lo que Alphago aporta al juego es este poder de evaluación, que se basa en redes neuronales convolucionales .

Para finalmente llegar a mi punto: mientras que las funciones de evaluación de ajedrez son esbeltas y rápidas, las redes neuronales tienen millones, a veces miles de millones de parámetros. Debido a que "aprender" en este contexto significa ajustar los parámetros, hay mucho más progreso posible para los programas de autoaprendizaje.

Entonces, sí, podría usar una configuración como Alphago para crear un motor de ajedrez, pero no sería particularmente bueno. Ejecutar la función de evaluación llevaría tanto tiempo, que tendría que utilizar un gran grupo de gpus para llegar a las profundidades de búsqueda necesarias (que es lo que hace Alphago). Podría crear una función de evaluación muy buena , pero la compensación de velocidad no vale la pena.

BlindKungFuMaster
fuente
1
No estaría de acuerdo con usted en esto , podría usar una configuración como Alphago para crear un motor de ajedrez, pero no sería particularmente bueno . Puedo apostar algo al hecho de que en menos de un año, habrá un motor de ajedrez que depende en gran medida de NN (lo más probable es que tenga una búsqueda de árboles y monte carlo, pero esto no es importante), que estará cerca de bacalao de última generación. Y este motor no se originará en una súper corporación (porque el interés en el ajedrez se desvaneció de los investigadores de IA hace mucho tiempo), sino en un hobbist fuerte.
Salvador Dali
Monte Carlo es completamente inútil en el ajedrez. Y aunque las NN no son inútiles, son demasiado lentas.
BlindKungFuMaster
3
¿Por qué es exactamente inútil MCTS? Tiene mucho sentido comenzar desde una posición actual en el tablero, ejecutar 1000 juegos con una profundidad de nodo de 5 y ver qué nodo tiene mejores posibilidades. Esto es muy similar a lo que haces cuando miras la estadística de movimientos en la base de datos y ves que después de 14. Kg4 las blancas ganan el 25%, pero con 14. Tb2 gana con el 45%. ¿Tienes alguna prueba de frase completamente inútil ?
Salvador Dali
2
MCTS no se trata de aleatoriedad, se trata de simulación. Libros introductorios básicos sobre MC que muestran un ejemplo de aleatoriedad solo para mostrar el punto. Puede jugar una posición nítida muchas veces con la profundidad del nodo de 6, que es súper rápida (y aún bastante confiable), y le permitirá estimar aproximadamente qué movimiento es mejor.
Salvador Dali
1
Mis declaraciones no son audaces, son convencionales. Simplemente lea algunos sitios de programación de ajedrez, encontrará más o menos mis argumentos. MCTS se conoce desde hace una década y en ajedrez otras cosas simplemente funcionan mejor. Por otro lado, no creo que sus declaraciones se basen en nada más que instinto, así que este será mi último comentario.
BlindKungFuMaster
5

Hay un proyecto llamado spawkfish que intenta hacer exactamente esto. Es un motor basado en redes neuronales cuyo propósito "es explorar cómo los recientes avances en Computer Go se pueden aplicar al mundo del ajedrez informático".

Es un proyecto joven y el motor todavía es bastante débil. Jugarlo es interesante, porque su juego posicional es mejor que sus tácticas.

Alexander Garden
fuente
2
No estabas bromeando con esa última oración. Acabo de jugar un par de juegos contra él, y cada uno se metió en un final bastante nivelado, solo para ver a spawkfish soltar material repentinamente (en un caso, simplemente colgar una torre de la nada). Extraño.
ETD
Desde que respondiste, parece haber surgido nueva información sobre la IA activa. He actualizado la pregunta para vincularla a las noticias, si esto le interesa.
THB
El sitio web de spawkfish parece haber desaparecido ...
hkBst
4

¿Puede una IA similar ganar en el ajedrez? ¿Se puede lograr un auto entrenamiento puro?

¡La respuesta corta es no!"

El ajedrez y el go son radicalmente diferentes en su relativa simplicidad y complejidad relativa que se deriva de su geometría y de cómo ganas. Estos se combinan para hacer un programa que es bueno para uno inútil en el otro.

En el ajedrez ganas haciendo checkmating al oponente, los puntos no cuentan. Por supuesto, un oponente sensato a menudo renunciará antes de entregar jaque mate, pero el principio es el mismo. En ir, ganas al tener más puntos al final del juego. Si tengo un rey y una reina y tú tienes un rey, una torre y un peón pero has construido una fortaleza, no importa que tenga 9 puntos para la reina y que solo tengas 6 puntos para tu torre y peón. El juego es un empate.

Esto hace una diferencia fundamental en la complejidad entre el ajedrez y el go. En ir, simplemente puede mantener la puntuación y sabrá quién está ganando. En ajedrez, la única forma de saber quién está ganando es por puro cálculo. En este sentido, el ajedrez es mucho más complejo que ir.

Al mismo tiempo, debido a la geometría de los dos juegos, hay órdenes de magnitud más posibilidades en el juego que en el ajedrez. En este sentido, ir es mucho más complejo que el ajedrez.

Un programa de ajedrez funciona mediante el cálculo de la fuerza bruta de todos los movimientos posibles hasta una cierta profundidad que determina su fuerza. Un programa go no puede funcionar así y reproducir algo más avanzado que el nivel principiante.

El objetivo básico de ir es controlar más territorio que tu oponente. Al final de un juego, no importa si la diferencia es 1 piedra o 100 piedras, ambas son victorias. Cada vez que colocas una piedra haces dos cosas. Aumenta su territorio, ya sea potencial o real, y disminuye a su oponente.

A veces, cuando se trata de un aumento o disminución real en el territorio, es fácil calcular el valor del movimiento, pero cuando es potencial es muy difícil de evaluar. Como jugador débil, entiendo el "real" mucho mejor que el "potencial" y un jugador más fuerte me vencerá construyendo un territorio potencial mucho mayor en el centro mientras construyo un territorio real más pequeño en los bordes y en las esquinas. El jugador más fuerte habrá desarrollado la capacidad de juzgar a través de la intuición y la sensación de jugar muchos juegos y reconocer cómo construir un territorio "potencial".

Anteriormente dije que cada vez que coloco una piedra, aumenta mi territorio (real o potencial) y disminuye a mi oponente (en realidad, si es un movimiento estúpido, ¡hará lo contrario!). En cualquier posición no todos los movimientos son iguales. Una piedra colocada en una posición puede valer mucho más o mucho menos que una piedra colocada en otra.

Por lo general, en un juego habrá pequeñas "peleas" donde los jugadores colocan sus piedras cerca de otros, marcando su territorio y limitando a su oponente. Mientras tanto, hay posibilidades de comenzar a replantear territorio en otra parte del tablero o cambiar a una pelea en otro lugar donde ambos jugadores ya tienen piedras.

Lo que es muy importante en estas situaciones es saber cuándo detener una pelea, porque las ganancias potenciales han disminuido, y cambiar a otra pelea o tal vez atacar en territorio virgen. A veces esto depende de un cálculo difícil, pero a menudo es mucho más nebuloso y no está sujeto a cálculo. Como jugador débil, aquí es donde un pagador fuerte me aplastará cada vez.

Lo que hace la computadora en estas situaciones es usar métodos probabilísticos para generar un puntaje esperado para un movimiento en particular. A veces, el valor real será un poco menos, a veces un poco más, pero a largo plazo se igualará más o menos. Seguirá eligiendo el movimiento con el valor más alto esperado con la expectativa de que a largo plazo de un juego se cancelarán los pequeños errores y su estrategia ganará.

Esta no es una estrategia que les suene familiar a los jugadores de ajedrez y no funcionará en el ajedrez. Es algo que le suena familiar a cualquiera que siga lo que sucede en los mercados de acciones. Suena muy similar a algo llamado "comercio de alta frecuencia", donde las computadoras harán miles de pequeñas apuestas o solo propusieron apuestas cada segundo para "ganar cinco centavos" en el mercado y tal vez incluso moverlo muy marginalmente a su favor durante períodos de milisegundos.

Los mercados financieros ya están dominados por este tipo de comercio algorítmico, lo que sugiere que este tipo de programa ya ha triunfado en un área mucho más lucrativa que un juego de mesa.

Brian Towers
fuente
44
El comercio de alta frecuencia no es nada como ir a jugar. Algoritmos totalmente diferentes afaik. Además, hay muchas cosas interesantes en su respuesta, pero es difícil ver el punto principal, tal vez agregue un TL; DR. ;-)
BlindKungFuMaster
@BlindKungFuMaster El principio subyacente detrás de HFT y AlphaGo es probabilístico. La ganancia esperada de este "movimiento" es x%. A largo plazo, la acumulación de tales movimientos / apuestas ganará el juego para AlphaGo o hará una fortuna para los comerciantes de HFT. Sin embargo, de vez en cuando habrá un "choque repentino" o un "movimiento maravilloso" de un Lee Se-dol que convierte una ganancia / ganancia en una pérdida. Eso de ninguna manera invalida su programación. No está programado para encontrar el mejor movimiento absoluto cada vez. Se parece un poco a las pseudo soluciones al problema del vendedor ambulante que intentan obtener el 5% de las mejores.
Brian Towers
Desde que respondiste, parece haber surgido nueva información sobre la IA activa. He actualizado la pregunta para vincularla a las noticias, si esto le interesa.
THB
1
@thb, creo que esta respuesta ahora es algo obsoleta dado el nuevo éxito de AlphaZero, como en arxiv.org/abs/1712.01815
Mark S.
@ Will No. ¿Por qué? No juzgues a los demás por tus propios estándares superficiales.
Brian Towers
4

(Cualquiera que quiera una discusión técnica profunda para AlphaGo puede ver mi publicación )

Respuesta corta : no

Respuesta larga :

Primero, debemos entender por qué Google no implementó alfa-beta en AlphaGo. Stockfish y Komodo (y todos los motores de ajedrez) tienen alfa-beta, ¿por qué AlphaGo no?

Motivo : no existe una forma fácil y económica de evaluar con precisión una posición Go de forma estática.

En Ajedrez, siempre podemos contar los materiales, una forma muy efectiva de evaluar una posición estáticamente. Aunque no es perfecto, es muy rápido y un muy buen proxy para el ajedrez.

Buscar en el espacio de estado con Monte-Carlo es un método inferior al alfa-beta. Google habría implementado alfa-beta si pudieran, pero no pudieron. Por lo tanto, se vieron obligados a usar algo mucho más lento.

El motor de ajedrez no jugaría mejor con Montecarlo.

SmallChess
fuente
¿Es hora de reconsiderar, o tal vez todavía no?
Evargalo
3

No estoy de acuerdo con las otras respuestas. Soy un informático que trabaja profesionalmente en el área de la inteligencia artificial y también soy candidato a maestro en ajedrez y 3 dan en igo.

Creo que no está claro en este momento si los métodos de Deep Mind podrían aplicarse al ajedrez, pero creo que es posible.

Actualmente, los principales programas de juego de ajedrez dependen cada vez más de la heurística e intentar usar la arquitectura AlphaGo para el ajedrez de alguna manera estaría en la misma línea de pensamiento.

Una característica arquitectónica clave de AlphaGo que tendría que ser alterada es su método de identificación de cuadrados clave (o mapas de calor), que es particular de los juegos tipo igo y no es directamente aplicable al ajedrez. Algún análogo de este método tendría que ser desarrollado para hacer que la arquitectura AlphaGo sea relevante para el ajedrez. Por ejemplo, podríamos tener el concepto de "piezas clave" en lugar de cuadrados clave.

Creo que el argumento de que la arquitectura AlphaGo no es relevante para el ajedrez porque el ajedrez es más táctico no es una muy buena afirmación porque, en última instancia, ambos tienen árboles de búsqueda que son lo suficientemente similares en forma que AlphaGo definitivamente podría adaptarse al ajedrez.

Cecil De Vere
fuente
Le di un +1, ya que sus afirmaciones podrían ser correctas, pero no lo sabemos con certeza hasta que alguien publique un documento.
SmallChess
Uh El documento ya existe, como lo señaló Brian Towers. La respuesta es un sí.
bosón condensado termomagnético el
Parece que tenía razón, je.
Cecil De Vere
@CecilDeV no estaba en desacuerdo con las otras respuestas, 2 de ellas señalaron la respuesta correcta. Y no afirmando que no está claro en este momento, mientras que está claro que esa respuesta es sí (no un tal vez).
bosón condensado termomagnético el
3

¡La respuesta es sí! Google acaba de demostrar esto ayer, cuando AlphaZero venció al mejor programa de ajedrez utilizando solo el conocimiento sobre las reglas y un autoformación pura sin el conocimiento del ajedrez humano utilizado. La respuesta aceptada es incorrecta. El enlace al artículo está aquí: enlace

zaifrun
fuente