33 votos

¿Por qué no hay ningún refuerzo profundo aprendizaje motores de ajedrez, similar a AlphaGo?

Computadoras durante mucho tiempo pudieron jugar al ajedrez con una "fuerza bruta"-técnica, buscar a cierta profundidad y luego evaluar la posición. El equipo de AlphaGo sin embargo, sólo utilice una ANN para evaluar las posiciones (no cualquier búsqueda de profundidad lo que sé). ¿Es posible crear un motor de ajedrez que juega al ajedrez de la misma manera como AlphaGo Go? ¿Por qué nadie ha hecho esto? ¿Este programa se desempeñan mejor que los mejores motores de ajedrez y jugadores de ajedrez de hoy?

52voto

Mohammadreza Puntos 1964

Vamos a aclarar tu pregunta:

  • No, ajedrez motores de no uso de la fuerza bruta.
  • AlphaGo hace uso del árbol de búsqueda, los usos de Monte Carlo Árbol de Búsqueda. Google "Monte Carlo Árbol de Búsqueda alphaGo" si usted quiere ser convencido.

ANN puede ser utilizado para motores de ajedrez:

Sería este programa se desempeñan mejor que los de la parte superior de ajedrez-motores (y los jugadores de ajedrez) de hoy en día?

Jirafa juega en alrededor de Internation nivel de Maestría, que es acerca de la FIDE 2400 clasificación. Sin embargo, Stockfish, Houdini y Komodo todo el juego en acerca de la FE 3000. Esta es una gran diferencia. Por qué? ¿Por qué no Monte-Carlo Árbol de Búsqueda?

  • Material heurístico en el ajedrez es simple. La mayoría del tiempo, una posición de ajedrez es ganar/perder por solo contar material en la junta. Por favor recuerde conteo de materiales no trabajo para Ir. Material de conteo es órdenes de magnitud más rápido que el funcionamiento de las redes neuronales - esto se puede hacer por bitboards representado por un entero de 64 bits. En el sistema de 64 bits, sólo pueden hacer varias instrucciones de la máquina. Buscando con la tradicional algoritmo es mucho más rápido que la máquina de aprendizaje. Más nodos por segundo traducir a la búsqueda más profunda.
  • Del mismo modo, hay muy útil y barato técnicas tales como null mover la poda, a finales de mover la reducción y el asesino se mueve etc. Son baratos, y más eficiente para el enfoque utilizado en AlphaGo.
  • Estática de evaluación en el ajedrez rápido y útil
  • La máquina de aprendizaje es útil para optimizating parámetros, pero también tenemos SPSA y CLOP para el ajedrez.
  • Hay un montón de indicadores útiles para el árbol de reducción en el ajedrez. Mucho menos para Ir.

Se realizó la investigación que Monte Carlo Árbol de Búsqueda no escala bien para el ajedrez. El Go es un juego diferente para el ajedrez. El ajedrez algoritmos no trabajo para Ir porque ajedrez se basa en tácticas brutales. La táctica es, sin duda, más importante en el ajedrez.

Ahora, hemos establecido que MCTS funcionan bien para AlphaGo, pero menos para el ajedrez. Aprendizaje profundo sería más útil si:

  • La sintonía NN evaluación es mejor que los algoritmos tradicionales. Sin embargo ... el aprendizaje profundo no es magia, como el programador tendrá que hacer la programación. Como se ha mencionado, tenemos algo así como SPSA para la auto-reproducción de los parámetros de sintonía en el ajedrez.
  • La inversión, el dinero! No hay mucho dinero para el aprendizaje de máquina en el ajedrez. Stockfish es libre y de código abierto, pero lo suficientemente fuerte como para derrotar a todos los jugadores humanos. ¿Por qué Google se gastan millones si alguien puede descargar Stockfish gratis? Por qué va a pagar por la CPU clusters? Quién va a pagar para los talentos? Nadie quiere hacerlo, porque el ajedrez es considerado un "resuelto" de juego.

Si el aprendizaje profundo se puede lograr de la siguiente, que va a vencer a la tradicional algoritmo:

  • Dado un tablero de ajedrez de la posición, se "siente" como un gran maestro humano. Por ejemplo, un ser humano de gran maestro de no ir en las líneas que son malas - por la experiencia. Ni el algoritmo tradicional ni el aprendizaje profundo se puede lograr eso. Su NN modelo que podría dar una probabilidad [0..1] para su posición, pero eso no es lo suficientemente bueno.

Permítanme señalar:

No. La jirafa (el enlace publicado por @Tim) no utilizar Monte Carlo Árbol de Búsqueda. Se utiliza la normal nega-max algoritmo. Todo lo que hace es reemplazar la evaluación periódica de la función con NN, y es muy lento.

uno más:

Aunque Kasparov fue golpeado por Deep Blue en 1997 el partido. "La humanidad" fue realmente perdido alrededor de 2003-2005, cuando Kramnik perdió un partido a Deep Fritz sin ganar y Michael Adams perdido a un clúster de máquinas en un solo lado de partido. Alrededor de ese tiempo, Rybka resultó demasiado fuerte incluso para los mejores jugadores del mundo.

Referencia:

http://www.talkchess.com/forum/viewtopic.php?t=64096&postdays=0&postorder=asc&highlight=alphago+chess&topic_view=flat&start=0

Cito:

En el ajedrez tenemos el concepto de materialidad que ya da una razonable estimación de qué tan bien un motor que está haciendo y puede ser calculada de forma rápida. Además, hay un montón de otros aspectos del juego que pueden ser codificados en una función de evaluación estática que no se podía hacer en Ir. Debido a la cantidad de la heurística y la buena evaluación, el FONDO (Efectiva-Ramificación-Factor) es muy pequeño. El uso de una Red Neuronal como un reemplazo para la estática de la función de evaluación sería definently desacelerar el motor por mucho.

6voto

Dipstick Puntos 4869

DeepBlue ya ha golpeado Kasparov por lo que este problema se resuelve con enfoque mucho más simple. Esto fue posible porque el número de posibles movimientos en el ajedrez es mucho más pequeña que en el go, por lo que es mucho más simple problema. Por otra parte, se observa que ambos NN y la fuerza bruta necesidad enorme de los recursos de computación (aquí usted puede encontrar una foto del equipo, detrás de AlphaGo, observe que se utiliza ni siquiera de la GPU, pero TPU para el cálculo). Todo el alboroto con la go fue que cuando Deep Blue beat Kasparov, la comunidad ha argumentado que esto no sería posible con ir (por muchas razones diferentes, pero para resumir los argumentos que había necesidad de dar una detallada introducción sobre el juego de go). Sí, usted puede enseñar a NN a jugar al ajedrez, Mario, o intenta enseñar a jugar a Starcraft...

Supongo que la razón para ello es que, simplemente, no escuchan a menudo en los medios de comunicación acerca de los casos cuando la gente a resolver los problemas que ya se han resuelto.

Además de su premisa es incorrecta, el Aprendizaje Profundo se utiliza para jugar al ajedrez, por ejemplo, como se describe en el Aprendizaje Profundo de la Máquina Enseña a Sí mismo de Ajedrez en 72 Horas, Juega en el Internacional de Nivel de Máster. Véase también el papel correspondiente, Jirafa: el Uso de Profundo Aprendizaje por Refuerzo para Jugar al Ajedrez.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X