Los algoritmos de ajedrez actuales van alrededor de 1 o tal vez 2 niveles por un árbol de posibles caminos dependiendo de los movimientos del jugador y del oponente. Digamos que tenemos el poder informático para desarrollar un algoritmo que predice todos los movimientos posibles del oponente en un juego de ajedrez. Un algoritmo que tiene todos los caminos posibles que el oponente puede tomar en un momento dado dependiendo de los movimientos de los jugadores. ¿Puede haber un algoritmo de ajedrez perfecto que nunca pierda? ¿O tal vez un algoritmo que siempre ganará? Quiero decir, en teoría, alguien que puede predecir todos los movimientos posibles debe ser capaz de encontrar una manera de derrotar a todos y cada uno de ellos o simplemente elegir un camino diferente si cierto lo llevará a la derrota ...
editar-- Cuál es mi pregunta realmente. Digamos que tenemos la potencia informática para un algoritmo perfecto que puede jugar de manera óptima. ¿Qué sucede cuando el oponente juega con el mismo algoritmo óptimo? Eso también se aplicará en todos los juegos de 2 jugadores con un número finito (muy grande o no) de movimientos. ¿Puede haber un algoritmo óptimo que siempre gane?
Definición personal: un algoritmo óptimo es un algoritmo perfecto que siempre gana ... (no uno que nunca pierde, sino uno que siempre gana)
fuente
Respuestas:
Su pregunta es similar a la vieja castaña: "¿Qué sucede cuando una fuerza irresistible se encuentra con un objeto inamovible?" El problema está en la pregunta misma: las dos entidades descritas no pueden existir en el mismo universo lógicamente consistente. Su algoritmo óptimo, un algoritmo que siempre gana, no puede ser jugado por ambos lados en un juego donde un lado debe ganar y el otro debe, por definición, perder. Por lo tanto, su algoritmo óptimo como se define no puede existir.
fuente
En primer lugar, creo que los algoritmos de ajedrez se ven más de 2 capas, aunque no consideran todas las posibilidades diferentes; podar el árbol de búsqueda es muy importante para evitar la explosión combinatoria en el número de movimientos posibles.
Para un juego como el ajedrez, hay tres posibilidades en cuanto a la identidad del ganador: el jugador 1 tiene una estrategia ganadora, o el jugador 2 tiene una estrategia ganadora, o ambos jugadores sortean en condiciones óptimas. No se sabe cuál es el caso del juego de ajedrez. Sin embargo, dado que el ajedrez es un juego finito, existe un algoritmo informático, que consiste en una mesa muy grande, que juega al ajedrez de manera óptima.
Por supuesto, tal algoritmo no sería práctico. Pero para algunos juegos más simples, se ha determinado el "valor" del juego (qué jugador gana, si lo hay), y se ha ideado un algoritmo óptimo. Tal juego se conoce como un juego resuelto .
El tema matemático que trata (lo que se conoce como) juegos combinatorios es la teoría de juegos combinatorios . Los matemáticos han desarrollado un método recursivo para determinar el valor de un juego dada la gráfica del juego, que incluye todas las posiciones y movimientos permitidos. Debería poder encontrar una descripción de este algoritmo en la entrada de Wikipedia o en las notas de clase sobre el tema.
fuente
En primer lugar, los buenos algoritmos de ajedrez miran más allá de 1 o 2 niveles. En lugar de utilizar la búsqueda de árbol ingenua, realizan una poda alfa-beta para reducir el número de opciones a considerar. Tenga en cuenta que para aperturas y juegos finales, se utiliza una gran base de datos de movimientos, ya que tiene un mejor rendimiento que la búsqueda de árbol, que se utiliza en el medio del juego.
A la pregunta: lo que preguntas, creo, es "¿El ajedrez tiene solución ?". Hipotéticamente, lo es, aunque las opiniones varían sobre si este resultado será alcanzable en el corto plazo. Las damas se resolvieron en 2007, por ejemplo, pero tienen muchas menos posiciones (alrededor de la raíz cuadrada del número en el ajedrez). Vea el artículo de Wikipedia para más información.
Por cierto, las mejores IA actuales de ajedrez casi siempre derrotan o empatan con campeones mundiales; así que, aunque actualmente no es perfecto, ¡los algoritmos son bastante buenos al menos!
fuente
En principio, el ajedrez se puede resolver como cualquier otro juego. Como las otras respuestas han señalado, sin embargo, no se espera que esto suceda pronto.
Editar: se ha señalado en los comentarios que [1] es un engaño, así que omita el resto de esta respuesta.
Dicho esto, ha habido algunos desarrollos recientes en esta dirección. [1] afirma haber demostrado que la apertura de ajedrez llamada King's Gambit está resuelta : solo hay un movimiento que atrae a las blancas, mientras que todos los demás movimientos de apertura conducen a una victoria para las negras. Tenga en cuenta que [1] no exploró el árbol del juego en profundidad, pero solo afirma que estos resultados se mantienen con alta probabilidad.
[1] http://chessbase.com/newsdetail.asp?newsid=8047
fuente
Si es posible ganar siempre una partida de ajedrez o no, depende de las reglas del juego. Sin embargo, hay una técnica / algoritmo llamado Minimax (para más detalles, consulte https://en.wikipedia.org/wiki/Minimax ). El algoritmo consiste en tratar de predecir qué jugador tiene la ventaja en diferentes escenarios con una función recursiva. Aquí hay una explicación clara de cómo funciona esto con un juego más simple: Tic-tac-toe https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 .
fuente
agregará otra respuesta que enfatice el espacio de estado masivo, no realmente conceptualizado en la pregunta o señalado en otras respuestas. debe estar en desacuerdo con su premisa:
vea la información sobre el artículo de 1950 de Shannons, "Programación de una computadora para jugar ajedrez", que introdujo el campo de los juegos / algoritmos de ajedrez basados en computadora y que su análisis básicamente no ha cambiado y sigue siendo sólido (incluso por la posterior revolución de la computadora y ley de Moores ). estima el número de movimientos. Es absolutamente astronómico. en el rango de "nunca dentro de hardware concebible incluso con avances revolucionarios imprevistos".
Es un hecho psicológico documentado [3], probablemente uno de los muchos prejuicios psicológicos [2], que los humanos tienen problemas para entender números de esta magnitud. vea también el pensamiento contrafactual . [4] mientras que las supercomputadoras calculan problemas masivos, no está indiscutiblemente dentro del rango de cualquier supercomputadora que se construya actualmente o que se pueda construir alguna vez. (y muchos aficionados al ajedrez dirían que esta "explosión combinatoria" en las posibilidades de movimiento / posición es un aspecto intrínseco del "sabor" de los juegos que parece haber sido diseñado intencionalmente en el juego milenario).
por lo tanto, el ajedrez es fundamentalmente diferente a algunos juegos que tienen espacios de estado "solucionables" más pequeños [de los cuales hay algún estudio en ciencias de la computación y teoría de juegos, etc.] y en algunos aspectos clave no pueden evaluarse dentro de ese marco.
ahora, dicho esto, es concebible (pero poco probable) que pueda haber ideas teóricas sobre el juego que podrían usarse para podar sustancialmente el espacio de búsqueda. eso ha sucedido desde 1950, pero no de una manera fundamentalmente innovadora.
ver también
[1] ¿Cuál es la complejidad computacional de resolver ajedrez? Tcs.se
[2] sesgos humanos en el juicio y la toma de decisiones
[3] Estudiantes de psicología publican investigaciones sobre conceptualización de números
[4] pensamiento contrafactual
fuente