Esta pregunta fue hecha pre-AlphaGo. Así que mi respuesta, proveniente del futuro (en relación con la pregunta) conlleva el beneficio de la retrospectiva.
El problema al que se enfrentaron los programadores al programar un Go bot fue el mismo que enfrentó a los programadores para los robots de ajedrez.
Las computadoras no tienen la suficiente capacidad de procesamiento para simplemente realizar una fuerza bruta y calcular todas las variaciones hasta el final del juego. (Todavía no pueden hacerlo incluso para el ajedrez)
Los robots de ajedrez resolvieron este obstáculo al tener algoritmos para calcular la fuerza de la posición de un tablero (ventaja material, ventaja posicional, etc.)
- ¿Es Quora la próxima gran cosa en la búsqueda?
- ¿Qué sabrán nuestras futuras generaciones dentro de 1000 años sobre la historia de nuestra generación?
- ¿Qué es la gastronomía molecular?
- ¿Cuáles son algunas ideas para una obra de teatro sobre el tema de las escuelas futuristas?
- ¿Cuál es la mejor manera de generar electricidad en las ciudades y comunidades en un futuro cercano?
Fue mucho más difícil programar un Go bot porque la ventaja material y posicional son más fluidas en Go. La pérdida de piezas no tiene mucho impacto en comparación con el ajedrez (y, a diferencia del ajedrez, no necesariamente tiene ramificaciones permanentes), y los méritos de las posiciones pueden no ser evidentes incluso después de varios movimientos.
Los programadores de AlphaGo intentaron superar esto a través de una red neuronal utilizando un aprendizaje profundo.
Y el resto es historia.