Peut-il y avoir un algorithme d'échecs parfait?

15

Les algorithmes d'échecs actuels vont d'environ 1 ou peut-être 2 niveaux dans un arbre de chemins possibles en fonction des mouvements du joueur et de l'adversaire. Disons que nous avons la puissance de calcul pour développer un algorithme qui prédit tous les mouvements possibles de l'adversaire dans une partie d'échecs. Un algorithme qui a tous les chemins possibles que l'adversaire peut emprunter à tout moment en fonction des mouvements des joueurs. Peut-il jamais y avoir un algorithme d'échecs parfait qui ne perdra jamais? Ou peut-être un algorithme qui gagnera toujours? Je veux dire en théorie que quelqu'un qui peut prédire tous les mouvements possibles doit être capable de trouver un moyen de vaincre chacun d'entre eux ou simplement de choisir un chemin différent si un certain le mènera efficacement à la défaite .....

edit-- Quelle est vraiment ma question. Disons que nous avons la puissance de calcul pour un algorithme parfait qui peut jouer de manière optimale. Que se passe-t-il lorsque l'adversaire joue avec le même algorithme optimal? Cela s'appliquera également dans tous les jeux à 2 joueurs avec un nombre fini (très grand ou non) de coups. Peut-il jamais y avoir un algorithme optimal qui gagne toujours?

Définition personnelle: un algorithme optimal est un algorithme parfait qui gagne toujours ... (pas un qui ne perd jamais, mais un qui gagne toujours

John Demetriou
la source
Cette question est basée sur plusieurs idées fausses. Premièrement, les ordinateurs d'échecs semblent bien plus avancés qu'un ou deux plis: il y a même cinq ans sur un ordinateur portable ordinaire, des programmes d'échecs assez ordinaires avaient 15 à 16 plis et 25+ sur les lignes critiques. Deuxièmement, la définition de "parfait" comme "gagne toujours" ne peut pas être atteinte, comme le montrent les réponses. Troisièmement, les moteurs d'échecs ne "prédisent" pas les mouvements: ils calculent et jouent des mouvements qui sont bons contre toutes les réponses possibles.
David Richerby

Réponses:

13

Votre question s'apparente au vieux châtaignier: "Que se passe-t-il lorsqu'une force irrésistible rencontre un objet inamovible?" Le problème est dans la question elle-même: les deux entités décrites ne peuvent exister dans le même univers logiquement cohérent. Votre algorithme optimal, un algorithme qui gagne toujours, ne peut pas être joué par les deux camps dans une partie où un camp doit gagner et l'autre par définition perdre. Ainsi, votre algorithme optimal tel que défini ne peut pas exister.

Kyle Jones
la source
3
Eh bien, il peut, par exemple, un algorithme qui permet au premier joueur de gagner. Cela signifierait que jouer en premier a un avantage. Ou peut-être que l'algorithme optimal permet uniquement au deuxième joueur de gagner. Cela donnerait au deuxième joueur un avantage. La troisième possibilité (s) est un algorithme qui permet à l'un des joueurs de toujours forcer un match nul, sans toutefois garantir une victoire (car comme l'OP veut le savoir, c'est ce qui se passe, par exemple, si les deux joueurs jouent la même stratégie gagnante , s'il n'y a aucun avantage à jouer en premier ou en deuxième).
Realz Slaw
3
@Realz Eh bien, oui, si vous changez la définition d'un "algorithme optimal", vous pouvez prouver ce que vous voulez. J'ai utilisé la définition que l'interrogateur nous a demandé d'utiliser.
Kyle Jones
C'est la réponse que j'essayais de faire sortir des gens. Il ne peut pas y avoir d'algorithme qui gagne toujours parce que c'est un jeu de 2 joueurs donc il n'y a aucun moyen que l'algorithme puisse fonctionner parce que les deux joueurs peuvent avoir le même algorithme donc simplement au moins l'un des deux est forcé de ne pas gagner (perdre ou tirer) . J'ai posé la même question à mon professeur et il nous a fallu beaucoup de discussions pour arriver à cette conclusion
John Demetriou
3
@JohnDemetriou Le problème est que cette conclusion est fausse . Les échecs ne sont pas un jeu symétrique en raison de l'avantage du premier arrivant - il est tout à fait possible qu'un algorithme optimal existe qui permette aux Blancs de jouer et de gagner, mais les Noirs ne peuvent pas utiliser cet algorithme pour la simple raison qu'elle n'est pas blanche!
Steven Stadnicki
Il est également possible, je dois noter, que le premier n'est pas un avantage et qu'il existe en fait un algorithme qui permet toujours aux Noirs de gagner contre le meilleur jeu des Blancs - mais il devrait être immédiatement évident qu'il n'y a pas d'algorithme qui pourrait toujours permettre à quelqu'un de gagner que ce soit noir ou blanc. C'est pourquoi les gens parlent de «meilleur résultat possible», car «gagner des deux côtés» est trivialement impossible.
Steven Stadnicki
23

Tout d'abord, je crois que les algorithmes d'échecs semblent plus de 2 plis, bien qu'ils ne considèrent pas toutes les possibilités différentes; l'élagage de l'arbre de recherche est très important pour éviter l'explosion combinatoire du nombre de mouvements possibles.

Pour un jeu comme les échecs, il y a trois possibilités quant à l'identité du vainqueur: soit le joueur 1 a une stratégie gagnante, soit le joueur 2 a une stratégie gagnante, soit les deux joueurs tirent sous un jeu optimal. On ne sait pas ce qui est le cas pour le jeu d'échecs. Cependant, comme les échecs sont un jeu fini, il existe un algorithme informatique, composé d'une très grande table, qui joue aux échecs de manière optimale.

Bien sûr, un tel algorithme ne serait pas pratique. Mais pour certains jeux plus simples, la "valeur" du jeu (quel joueur gagne, le cas échéant) a été déterminée, et un algorithme optimal a été conçu. Un tel jeu est connu comme un jeu résolu .

Le sujet mathématique qui traite (ce qu'on appelle) les jeux combinatoires est la théorie des jeux combinatoires . Les mathématiciens ont développé une méthode récursive pour déterminer la valeur d'un jeu étant donné le graphique du jeu, qui inclut toutes les positions et mouvements autorisés. Vous devriez pouvoir trouver une description de cet algorithme dans l'entrée Wikipédia ou dans toutes les notes de cours sur le sujet.

Yuval Filmus
la source
oui, en effet, mais j'essayais de répondre à toute réponse par une autre question, que se passe-t-il lorsque les deux joueurs jouent avec l'algorithme optimal ???? que se passe-t-il si un joueur trouve un moyen de vaincre l'algorithme optimal?
John Demetriou
11
@JohnDemetriou Lorsque les deux joueurs jouent de manière optimale, vous obtiendrez un résultat. Ce résultat est appelé la valeur du jeu. Si les échecs sont blancs, cela signifie que rien de noir ne pourrait faire battre un joueur blanc jouant de manière optimale. Les blancs ont effectivement un énorme livre (ou sont capables de produire le mouvement d'un tel livre par ordinateur) qui contient un compteur parfait pour tout mouvement que les noirs peuvent effectuer dans toute situation possible qui se développe depuis le début de la partie. BTW, chillax sur les points d'interrogation. Une par phrase suffit.
rrenaud
Je m'excuse pour les points d'interrogation. C'est juste la façon dont je tape en général. Et si les échecs étaient la victoire la plus optimale. Si le blanc et le noir ont le même livre et les mêmes compteurs? Que se passera-t-il alors?
John Demetriou
1
@JohnDemetriou "Optimal" signifie "le meilleur possible". Si les conséquences mathématiques des règles d'échecs sont que le meilleur noir peut éventuellement faire contre un blanc optimal est un tirage au sort (ou même ne peut que retarder la victoire du blanc aussi longtemps que possible), alors l'algorithme optimal pour le noir est celui qui y parvient, et sa capacité à gagner contre la plupart des adversaires non optimaux.
Ben
1
@JohnDemetriou Il est possible qu'il existe un algorithme qui gagne toujours en blanc ; évidemment, cet algorithme ne pouvait pas toujours gagner en tant que Noir pour les raisons qui ont déjà été exposées (car il jouerait contre lui-même). Il est même possible qu'il se avère que noir de jeu d' échecs "victoires joué parfaitement, et qu'il existe un algorithme garantissant une victoire pour les Noirs contre toute opposition. Si vous voulez dire «un algorithme qui gagne toujours des deux côtés», je suggère d'utiliser cette terminologie; «optimal» a déjà une signification bien définie.
Steven Stadnicki
8

Tout d'abord, les bons algorithmes d'échecs vont au-delà de 1 ou 2 niveaux. Plutôt que d'utiliser une recherche d'arbre naïve, ils effectuent un élagage alpha-bêta pour réduire le nombre d'options à considérer. Notez que pour les ouvertures et les jeux de fin, une grande base de données de mouvements est utilisée car elle a de meilleures performances que la recherche dans les arbres, qui est utilisée au milieu du jeu.

A la question: ce que vous demandez, je crois, c'est "Les échecs sont-ils résolubles ?". En théorie, c'est le cas, bien que les opinions divergent sur la question de savoir si ce résultat sera réalisable de sitôt. Checkers a été résolu en 2007 par exemple, mais a beaucoup moins de positions (autour de la racine carrée du nombre d'échecs). Voir l'article Wikipedia pour plus d'informations.

Soit dit en passant, les meilleures IA d'échecs actuelles battent ou tirent presque toujours avec des champions du monde; donc bien qu'ils ne soient pas actuellement parfaits, les algorithmes sont au moins assez bons!

sjmeverett
la source
6

En principe, les échecs peuvent être résolus comme n'importe quel autre jeu. Cependant, comme les autres réponses l'ont souligné, cela ne devrait pas se produire de sitôt.

Edit: il a été souligné dans les commentaires que [1] est un canular donc sautez le reste de cette réponse.

Cela dit, il y a eu récemment des développements dans cette direction. [1] prétend avoir montré que l'ouverture d'échecs appelée King's Gambit est résolue : il n'y a qu'un seul coup qui tire pour les Blancs, tandis que tous les autres coups d'ouverture mènent à une victoire pour les Noirs. Notez que [1] n'a pas exploré l'arborescence du jeu en profondeur, mais prétend que ces résultats sont valables avec une forte probabilité.

[1] http://chessbase.com/newsdetail.asp?newsid=8047

Peter
la source
1
Article très intéressant en effet!
Paresh
Alors ce n'est pas un algorithme optimal. Je demande si un algorithme optimal peut jamais exister (si nous avons la puissance de calcul)
John Demetriou
1
À droite, et compte tenu de votre définition de "l'algorithme optimal" comme un algorithme qui gagne toujours, un tel algorithme ne peut pas exister pour les deux joueurs, noir et blanc. À part l'arbre de jeu plus grand (mais fini), les échecs n'ont rien de spécial à cet égard par rapport à d'autres jeux comme par exemple Hex, pour lesquels la solution est déjà connue: si le premier joueur utilise la stratégie optimale (connue) pour jouer Hex , le premier joueur gagne toujours, quel que soit l'algorithme utilisé par le deuxième joueur.
Peter
L'article du King's Gambit en cours de résolution s'est avéré être un canular. Notez que l'article commence "Le 31 mars, l'auteur du programme Rybka, Vasik Rajlich, et sa famille ont déménagé de Varsovie, en Pologne, dans un nouvel appartement à Budapest, en Hongrie. Le lendemain, malgré l'agitation des boîtes de déménagement et de la mise en place des connexions téléphoniques et Internet Vas, a aimablement accepté l'interview suivante "- en d'autres termes, c'était le 1er avril ...
Joe K
-1

Qu'il soit possible de toujours gagner une partie d'échecs ou non dépend des règles du jeu. Cependant, il existe une technique / algorithme nommé Minimax (pour plus de détails, consultez https://en.wikipedia.org/wiki/Minimax ). L'algorithme consiste à essayer de prédire quel joueur a le dessus dans différents scénarios avec une fonction récursive. Voici une explication claire de la façon dont cela fonctionne avec un jeu plus simple: Tic-tac-toe https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 .

Luc le geek
la source
Bien que d'autres réponses ne fassent pas explicitement référence à minimax, certains se réfèrent à des liens qui y mènent éventuellement ou à un élagage alpha-bêta, un algorithme pour implémenter minimax plus efficacement. Qu'ajoute cette réponse qui n'a pas encore été dite?
Lézard discret
-3

ajoutera une autre réponse qui met l'accent sur l'espace d'état massif, pas vraiment conceptualisé dans la question ou souligné dans d'autres réponses. doit être en désaccord avec votre prémisse:

Disons que nous avons la puissance de calcul pour développer un algorithme qui prédit tous les mouvements possibles de l'adversaire dans une partie d'échecs.

voir info sur le shannons 1950 paper, "Programming a Computer for Playing Chess" qui a introduit le domaine du jeu d'échecs / algorithmes sur ordinateur et dont son analyse est fondamentalement inchangée et toujours solide (même par la révolution informatique et la loi de Moores qui ont suivi ). il estime le nombre de coups. son absolument astronomique. dans la gamme de "matériel jamais envisageable même avec des avancées révolutionnaires imprévues".

c'est un fait psychologique documenté [3], probablement l'un des nombreux biais psychologiques [2], que les humains ont du mal à comprendre des nombres de cette ampleur. voir aussi la pensée contrefactuelle . [4] tandis que les supercalculateurs calculent des problèmes massifs, ce n'est incontestablement pas à la portée de tout supercalculateur qui est actuellement construit ou pourrait jamais être construit. (et de nombreux amateurs d'échecs diraient que cette "explosion combinatoire" dans les possibilités de mouvement / position est un aspect intrinsèque de la "saveur" des jeux qui semble être intentionnellement conçue dans le jeu millénaire).

par conséquent, les échecs sont fondamentalement différents de certains jeux qui ont des espaces d'état "résolubles" plus petits [dont il existe des études en informatique et en théorie des jeux, etc.] et, à certains égards, ne peuvent pas être évalués dans ce cadre.

dix1234×dix79dix81

maintenant, cela dit, il est concevable (mais peu probable) qu'il puisse y avoir des informations théoriques sur le jeu qui pourraient être utilisées pour tailler l'espace de recherche de manière substantielle. cela s'est produit depuis 1950, mais pas vraiment d'une manière fondamentalement révolutionnaire.

voir également

[1] quelle est la complexité de calcul pour résoudre les échecs, tcs.se

[2] Les préjugés humains dans le jugement et la prise de décision

[3] Les étudiants en psychologie publient des recherches sur la conceptualisation des nombres

[4] pensée contrefactuelle

vzn
la source
bien en théorie ma question a commencé car disons que nous avons la puissance de calcul, nous combinons la moitié des ordinateurs du monde pour fonctionner comme un cluster pour le blanc et l'autre moitié pour le noir ....
John Demetriou
1
mec, il tient même si brancher tous les supercalculateurs qui existent maintenant, ou qui existent déjà. votre question revient alors à "en théorie, si la théorie était fausse ..." la théorie (y compris de la physique) dit fondamentalement que vous ne pouvez pas calculer (bien) plus de chemins qu'il n'y a d'atomes dans l'univers, maintenant ou jamais dans le futur. .
vzn
3
vrai, mais la question commence par disons que nous avons la puissance de calcul, cela peut-il être fait? c'est la vraie question, si nous avons le pouvoir, peut-il y avoir un algorithme?
John Demetriou
+1 pour avoir déclaré qu'il est physiquement impossible d'obtenir la puissance de calcul nécessaire pour résoudre les échecs exactement. De plus, je ne sais pas pourquoi tous les -1 avec cette réponse, je pense que c'est juste et ajoute un bon aperçu aux autres réponses.
Alejandro Piad