Quel serait l'Elo d'un programme informatique qui joue des coups aléatoires?
Par souci de simplicité, supposons qu'il ne demande jamais un tirage ou démissionne et n'accepte jamais une offre de tirage.
Quel serait l'Elo d'un programme informatique qui joue des coups aléatoires?
Par souci de simplicité, supposons qu'il ne demande jamais un tirage ou démissionne et n'accepte jamais une offre de tirage.
Réponses:
Tout en bas de la liste de classement des échecs informatiques pour le contrôle du temps 40/4 se trouve Brutus RND, un moteur qui sélectionne simplement les mouvements légaux aléatoires.
Il a une cote de 205 (au 6/6/2018). Ce n'est pas une cote FIDE bien sûr, mais il utilise le système Elo.
Il a 0 victoires, 242 défaites et 64 nuls. Les tirages sont dus à des programmes défectueux qui provoquent accidentellement des tirages par répétition ou parfois une impasse, bien qu'ils aient généralement un avantage matériel substantiel lorsque cela se produit.
La FIDE a un plancher de notation de 1000. Brutus RND ne parviendrait tout simplement pas à établir une cote aussi élevée et ne serait pas évalué.
Si nous ignorons le plancher de notation FIDE, il est possible d'avoir une note négative sous le système Elo.
Un point à mentionner est que la FIDE utilise un tableau pour calculer les changements de note et si la différence de note est supérieure à 735, aucun changement ne se produit lorsque le joueur le plus fort gagne. Cela signifie que Brutus ne pourrait jamais avoir une cote de -5000 ou quelque chose comme ça, car il aurait besoin de perdre des points face à des joueurs spectaculairement incompétents qui ne seraient pas capables de livrer échec et mat.
https://www.fide.com/component/handbook/?view=article&id=197
Il nous reste à deviner ici. 1000 joueurs classés Elo pourraient réduire la note de Brutus à 265, mais comme il n'y a pas de joueurs avec de moins bonnes notes, nous ne pouvons pas dire exactement jusqu'à quel point ils pourraient pousser la note de Brutus vers le bas s'ils existaient.
Je suppose que les joueurs de 500 Elo ou moins auraient du mal à livrer leur compagnon de manière cohérente, tout comme les programmes défectueux. Les tirages par répétition triple ou la règle des 50 coups ne sont pas automatiques selon les règles FIDE et ne se produiraient que si Brutus les réclamait. Mais un humain pourrait perdre en manquant de temps, ainsi qu'en dessinant par impasse accidentelle.
Je suppose donc quelque part entre -200 et 200 si la FIDE autorisait des cotes inférieures à 1000 et permettait à Brutus de rivaliser.
Le problème avec le jeu aléatoire est que sur une position d'échecs moyenne, il y a beaucoup de nombreux mouvements (de 20 en ouverture à facilement 50 ou plus dans des finales compliquées), mais seulement une poignée d'entre eux sont acceptables. Des mouvements aléatoires entraîneront une discoordination totale dès le début du jeu. De plus, la capture de pièces moins précieuses serait très courante, surtout au milieu du jeu. Cela dit, même contre une opposition extrêmement faible, l'ordinateur sera, à long terme, une erreur: des tonnes de matériel seront échangées et peut-être pas beaucoup de bien pour l'ordinateur, l'ordinateur sera sans aucun doute sous-développé, son roi ne sera pas en sécurité et peut-être même pas chiné ...
Tant de mauvaises choses s'accumulant, et extrêmement rapidement, entraîneront une défaite certaine pour la machine. Son Elo sera probablement 0 FIDE.
Je ne sais pas comment les notes de Go se comparent aux échecs, mais le jeu aléatoire est d'environ -3500 là-bas . Étant donné que le facteur de branchement pour les échecs est plus faible, je m'attends à ce que l'élo du joueur aléatoire soit plus élevé, peut-être entre -2000 et -500.
Pire qu'un débutant absolu qui connaît à peine les règles du jeu, car au moins le débutant met un peu la pensée dans le choix d' un déménagement. Leurs mouvements peuvent encore être principalement aléatoires, mais au moins il y a une évaluation des positions en cours.
La cote de ce moteur serait donc au plancher le plus bas possible de tout système de cote que vous choisiriez. Il pourrait éventuellement gagner ou tirer un match contre un adversaire tout aussi mauvais, puis augmenter de quelques points. Cependant, vous pouvez vous attendre à ce que la cote du moteur retombe rapidement au plancher minimum par la suite.
Dans "Programmation d'un ordinateur pour jouer aux échecs" de Shannon, il note que la probabilité qu'un jeu aléatoire bat Botvinnik est de l'ordre de 10 ^ -75. Ainsi, si cet ordinateur aléatoire devait jouer à Botvinnik (ou même à un maître régulier) sans arrêt pendant toute une vie humaine, nous pouvons raisonnablement nous attendre à ce qu'il ne gagne jamais.
Cependant, Shannon poursuit en disant que le jeu aléatoire n'est pas la pire stratégie; la pire stratégie consiste à jouer délibérément des coups qui aident l'adversaire. Bien qu'il soit possible qu'un débutant complet puisse le faire, il est probable qu'il essaiera de jouer des mouvements qui améliorent sa propre position.
Une très bonne réponse serait de faire ceci:
Utilisez numpy, un moteur de jeu très faible, 1500 ELO ou plus, et attachez-y un script python. Il existe de nombreuses bibliothèques qui vous fournissent les mouvements possibles dans une position, nous pouvons donc en choisir un au hasard. Je publierai les résultats plus tard.
http://creative-co.de/random_chess/
Vous devriez également vérifier cela.