Esta es esencialmente la cuestión de cuál es la complejidad del juego del ajedrez. Tenga en cuenta que, por finitud, sabemos que el ajedrez está determinado, pero no sabemos si la posición inicial es una victoria para las blancas, una victoria para las negras o un empate. La complejidad del juego del ajedrez es aproximadamente el número mínimo de posiciones que necesitamos verificar en el árbol del juego para determinar el estado de la posición inicial. Esto se conoce como el número de Shannon . En el influyente artículo Programming a Computer for Playing Chess , Shannon estimó que el número de Shannon es al menos 10 ^ {120). Tenga en cuenta que el número de partículas en el universo se estima en 10 ^ (80). Para responder la pregunta, en realidad queremos saber la alturadel árbol del juego cuando se determina la posición inicial. También deberíamos dividir esta altura entre 2, ya que un movimiento en el ajedrez generalmente se considera un movimiento blanco y negro. Se estima que el factor de ramificación del árbol es de aproximadamente 30. Por lo tanto, podemos tomar el N más grande de modo que 30 ^ (2N) <10 ^ (120).
Responder. Al dorso del sobre, N = 40 funciona. Casualmente, esta es la duración de un juego promedio entre grandes maestros (aunque a menudo renuncian y en realidad no juegan el juego hasta la conclusión).
Editar. La moraleja de la historia es que estaba tratando de estimar un límite superior para su límite inferior. La primera parte del razonamiento de Shannon no es circular; Él dice que hay alrededor de 30 movimientos legales de cada posición, y este número es razonablemente constante para la primera parte de un juego.
Por lo tanto, podemos estimar el valor actual conocido de N (que es realmente lo que está preguntando, llamemos a esto N ') como máximo log_30 (C) donde C es igual a la cantidad de potencia informática que ha existido en la historia de la humanidad. Incluso con estimaciones conservadoras para C, obtenemos algo así como N 'como máximo 20. En la práctica, no creo que nadie haya llevado a cabo este cálculo muy lejos en el árbol, ya que a priori sabemos que el cálculo se vuelve inviable después de un período muy prolongado. altura corta y no es necesario buscar exhaustivamente en el árbol para escribir buenos programas de ajedrez.
Sin embargo, tenga en cuenta que está haciendo una pregunta un poco más débil, ya que es posible que el estado inicial del juego sea un empate con un juego óptimo. Entonces, uno podría obtener límites para N escribiendo un programa cuyo objetivo era no perder el mayor tiempo posible. Entonces podríamos jugar este programa contra los mejores programas o jugadores humanos del mundo y ver cuál es la duración de un juego más corto. Nuevamente, esto no responde adecuadamente la pregunta, ya que no podemos suponer que nuestros oponentes están jugando de manera óptima . El verdadero juego óptimo requiere un conocimiento completo del árbol del juego, pero hemos visto que esto es computacionalmente inviable. Por lo tanto, lo mejor que podemos hacer actualmente es aproximarnos a un oponente que juega de manera óptima con un Kasparov o un muy buen programa de ajedrez.