Une IA d'échecs purement autodidacte

46

Si je comprends bien, il apparaît que, avant de déménager, tous les logiciels d’échecs puissants

  1. examine des milliers ou des millions de positions futures possibles;
  2. évalue chaque position future en fonction d'une heuristique appelée fonction d'évaluation;
  3. évalue séparément chaque position future pour le repos, afin de décider s'il convient d'explorer les prolongations à partir de la position;
  4. choisit parmi les mouvements disponibles par minimax; et
  5. utilise un livre d'ouverture.

Jusqu'ici tout va bien. Cependant, la force d'un programme d'échecs semble dépendre principalement de la qualité de ses heuristiques d'évaluation et de quiescence - ainsi que de son livre d'ouverture qui, du point de vue de l'ordinateur, est encore une autre heuristique. Un tel programme d'échecs, apparemment, seul, en sait exactement autant sur le jeu que l'homme qui a créé l'heuristique. Le programme semble n'avoir aucune idée en soi.

Est-ce que quelqu'un a déjà écrit un programme d'échecs qui a ses propres idées? Qui apprend le jeu tout seul? Qui s'entraîne? Bien entendu, un tel programme serait régi par les règles du jeu. Il serait vraisemblablement doté d’une infrastructure brute de minimax et de repos, et serait en mesure de reconnaître et de poursuivre un partenaire forcé s’il le découvrait. Cependant, aucune heuristique ne serait fournie. Par exemple, il ne serait pas dit d'ouvrir le jeu vers le centre, ni de préférer les tours aux chevaliers, ni quelle est la défense sicilienne. Il devrait en inférer de tels principes (ou, éventuellement, en découvrir de meilleurs) en lui-même.

Dans sa forme la plus pure, un tel programme ne serait jamais fourni à des jeux de maître à étudier, mais seulement à ses propres jeux, joués contre lui-même. Une fois pleinement autodidacte, il se déchaînerait sur la concurrence humaine.

Existe-t-il une intelligence artificielle aussi pure? Un autodidacte mécanique aux échecs est-il déjà apparu? En effet, le vieux Turc peut-il s’enseigner lui-même?

Il semble y avoir ici un bref avis d’une IA pure pour les échecs qui a échoué.

( Une question liée de manière tangentielle est apparue précédemment sur ce site, concernant l'étude informatisée des ouvertures d'échecs.)

MISE À JOUR

La question est ornée de trois réponses différentes et éclairantes au moment d'écrire ces lignes, de @WesFreeman, @GregE. et @ Landei. Tous les trois sont fortement recommandés et je vais me sentir coupable lorsque, conformément à la politique du site, j'accepte formellement l' un d'eux à l'exclusion des autres. Permettez-moi ici de remercier et d’exprimer mon appréciation pour les trois.

Les questions veulent de la concision. Une réponse aux réponses pourrait toutefois durer plus longtemps. Le lecteur intéressé peut donc passer directement aux réponses et, s'il le souhaite toujours, revenir à la mise à jour plus longue qui suit.

Lorsque j'ai posé la question, je pensais à quelque chose comme ce qui suit.

Supposons un village hypothétique à la périphérie de Shangri-La où les gens n’ont jamais entendu parler des échecs. Lors de votre brève visite, vous expliquez les règles du jeu aux anciens du village, mais ne leur expliquez jamais les principes du jeu. Deux des anciens jouent à un jeu sous le regard des autres, tandis que vous (ne souhaitez pas perturber le jeu en kibitzing), limitez votre commentaire aux questions de règles. Aucun post mortem ne suit la partie, ni les échecs ne sont joués ni discutés tant que vous restez à Shangri-La. Cependant, quand vous partez, pour ne jamais revenir, vous laissez votre jeu d'échecs derrière.

En votre absence, les anciens enseignent le jeu au peuple. Certaines personnes jouent ensuite un peu pendant les heures de loisir, quelques-unes avec un enthousiasme croissant, qui créent elles-mêmes des jeux d'échecs.

Il ne serait peut-être pas immédiatement évident pour ces villageois qu'une tour était préférable à un chevalier, mais les gens pourraient tout de même comprendre peu à peu la force relative des joueurs sur le jeu de nombreux jeux. De même, il ne leur est peut-être pas immédiatement évident que 1. a4 était une mauvaise ouverture: ils ne pouvaient que l'essayer et examiner les résultats.

Dans quelle mesure la compréhension du jeu par les villageois finira-t-elle par converger vers celle du monde extérieur? En l'absence d'un livre d'ouverture, pourraient-ils développer de nouvelles ouvertures? Bien sûr, on ne s'attendrait pas à ce que les ouvertures des villageois soient très bonnes au début, mais, après deux siècles d'isolement, les villageois pourraient développer un répertoire d'ouverture respectable, pour autant que je sache.

Est-ce que certaines de leurs ouvertures, développées indépendamment, s'avéreraient intéressantes pour le monde extérieur, lorsque le prochain voyageur passera prendre note d'eux, 200 ans plus tard? Shangri-La pourrait-il donner au monde le nouveau roman Shangri-La Defense?

Si tel est le cas, en ce qui concerne ma première question sur l'IA des échecs, je pensais plus ou moins à cela: une IA aux échecs pourrait-elle reproduire plus ou moins les progrès des joueurs des échecs des villages situés à la périphérie de Shanrgi-La?

Compte tenu de l'histoire de Sussman dans la réponse de @ Landei ci-dessous, il est indéniable que mes villageois apporteraient certaines idées préconçues au jeu. Par exemple, ils feraient comprendre que posséder plus d'une chose utile était généralement mieux que d'en posséder moins, et donc que capturer un joueur d'échecs était probablement préférable à la capture de son propre. La nature territoriale des personnages fictifs de Shangri-La est par nature une question de littérature, mais on peut supposer qu’ils reconnaîtront une position qui commande plus d’espace comme supérieure à une position qui commande moins. Et tout novice brillant, une fois montré un jeu d’échecs et instruit dans les règles du jeu, peut en déduire qu’une reine est probablement meilleure qu’un pion;

Par conséquent, ma question ne doit pas nécessairement être interprétée comme impliquant une injonction absolue, à la manière de Sussman, interdisant l’acquisition de connaissances quelconques sur l’échiquier; mais plutôt impliquer une injonction générale contre les connaissances préconçues, spécifiques aux échecs. Après tout (abstraction faite de l'évolution des règles du jeu il y a longtemps), à une certaine époque, le premier jeu d'échecs était joué. Peut-être que le premier joueur a ouvert 1. a4; mais finalement il a mieux appris et a enseigné ce qu'il avait appris à ses disciples; qui à leur tour ont appris davantage et enseigné davantage, génération par génération, pour nous donner Kasparov.

Un AI ne pourrait-il pas faire quelque chose comme ça, seulement dans des semaines plutôt que dans des siècles?

Platon serait sceptique, je suppose. Hume serait plus optimiste, mais la question ne doit plus être réglée uniquement par la philosophie. Nous avons maintenant des ordinateurs électroniques pour tester la proposition, et je me demandais quel était l'état de la technique de l'IA. Les meilleures IA d’échecs à l’heure actuelle semblent être des systèmes experts complètement inintelligents qui battent tout le monde sans rien intuitif. Je me demandais si des IA un peu plus larges qui, d'une certaine manière, pensaient réellement aux échecs, avaient eu un succès considérable dans leur apprentissage du jeu.

Je suppose que la réponse est non, probablement pas.

thb
la source
4
C'est vraiment l'une des meilleures questions sur ce site.
Prusswan
5
Il semblerait que la réponse soit maintenant positive, car DeepMind vient de publier des recherches sur une nouvelle intelligence artificielle d'échecs à la fine pointe de la technologie qu'ils ont formée à partir de rien (seulement du jeu en libre accès, pas de jeux de référence). arxiv.org/pdf/1712.01815.pdf
Lalaland
1
Ajoutons au commentaire de @Lalaland, après une formation de 10 heures, je pense, un stockfish complètement écrasé (je ne sais pas quelle version), comme si stockfish était un débutant. Quasiment inouï dans les jeux de moteur contre moteur. On dirait que alphago zero aime jouer dans le style de Tal
Ariana
2
"Un AI pourrait-il faire quelque chose comme ça en quelques semaines, pas des siècles? Probablement pas." Eh bien, vous aviez raison d'une certaine manière… Cela n'a pris que des heures.
user230452
1
Un certain nombre de joueurs, tels que Capablanca, sont supposés avoir compris le jeu en le voyant jouer une fois. Et rappelez-vous que Alpha Zero n'avait plus rien à penser.
Philip Roe

Réponses:

26

Vous avez des points très intéressants. J'ai un peu d'expérience dans la recherche sur l'intelligence artificielle (ma maîtrise était dans ce domaine), alors je pense pouvoir vous donner un aperçu.

Recherche dans la région

Premièrement, la recherche dans ce domaine est certainement en cours - la recherche d'une "approche évolutive des échecs" est revenue avec cet article de 2001, faisant à peu près exactement ce que vous avez suggéré, laissant l'approche Min / Max et ne modifiant que la fonction d'évaluation. Il est possible d'en découvrir beaucoup plus, et je connais plusieurs personnes qui travaillaient dans ce domaine en général.

Possibilités théoriques

A mon avis, le temps de calcul est le seul véritable facteur limitant pour la création d'un jeu d'échecs "pur". Il n'y a absolument aucune raison pour qu'une telle IA ne puisse théoriquement pas être créée avec les approches actuelles.

Les aspects pratiques

L’utilisation d’approches évolutives ou génétiques pour développer une fonction heuristique d’échecs pose deux grands problèmes. Le premier est que même la plus élémentaire des systèmes, une fonction heuristique pour les échecs est extrêmement complexe. Nous parlons de centaines de règles, d’évaluations de pièces (qui peuvent différer en fonction de la position, etc.), d’analyses de position, etc. Vous aurez besoin d’un langage informatique flexible pour décrire ces règles, qui pourront ensuite être générées de manière aléatoire. muté, élevé entre eux, etc. C'est certainement possible, mais je suppose que vous vous retrouveriez avec un ensemble de règles comprenant plusieurs milliers d'entités. C'est un très grand ensemble de règles pour évoluer de manière dynamique.

Le deuxième problème est que pour évaluer réellement votre règle nouvellement modifiée, vous devez jouer à des jeux d'échecs et voir qui finit par gagner. Si vous voulez le faire "correctement", vous voudrez laisser aux deux joueurs suffisamment de temps pour réfléchir, quelque chose de similaire à une durée de jeu typique. Cependant, ne jouer qu’un seul adversaire ne suffit pas, vous voudrez peut-être affronter de nombreux adversaires différents, voire les mêmes adversaires, bien souvent, avant de pouvoir vraiment être convaincu que vous avez trouvé une amélioration de la force de votre jeu. Cela signifierait probablement jouer à quelques centaines de jeux par individu dans votre population, ce qui vous donne une génération de votre algorithme.

En règle générale, avec ce type d’approches, vous chercherez au moins plusieurs centaines de générations, ou des fonctions complexes comme une heuristique des échecs, plusieurs centaines de milliers (voire des millions de) générations. Quelques calculs rapides devraient vous convaincre qu'il vous faudrait plusieurs milliers d’heures de processeur pour une seule génération, même si vous extrapolez une batterie de serveurs de taille importante, vous aurez probablement besoin de plusieurs années (voire des centaines) pour évoluer, exactement comme vous mentionnez dans votre mise à jour.

À la fin de cette période, vous auriez un algorithme intéressant qui donnerait probablement de nombreuses informations sur le jeu qui n’ont jamais été réellement découvertes. Il est difficile de dire s'ils seraient utiles ou même compréhensibles pour l'homme. Pourquoi cette règle existe-t-elle? Parce que sur plusieurs milliers de jeux, cela semblait fonctionner.

Futur

Je ne doute pas que ces approches gagneront en popularité, à mesure que la puissance de calcul augmentera. Actuellement, nous sommes à un point où une machine a juste assez de temps de calcul pour battre (presque tous) les humains, si son intelligence est soigneusement travaillée à la main. Dans 20 ans, il est tout à fait possible que les processeurs aient tellement évolué qu'un ou deux mouvements supplémentaires en profondeur n'apportent plus suffisamment d'avantages aux machines "codées en dur", mais sont systématiquement battus par des machines évoluées, étrangement intuitives, qui ont des millions d'heures d'évolution derrière eux.

Mise à jour 2018 mai

Comme Robert Kaucher le mentionne dans un commentaire ci-dessous, les nouvelles récentes méritent une mention ici. Plus précisément, le projet AlphaGo de Google semble être la première approche véritablement viable de ce type de jeux, basée sur l'IA, et prétend, fin 2017, avoir gagné contre StockFish 2 après avoir été réaffecté à cette tâche.

Daniel B
la source
Je vous remercie. Je remarque que le papier que vous associez entraîne son intelligence artificielle d'abord contre des adversaires humains non maîtres, puis contre des logiciels d'échecs existants, ce qui n'est pas tout à fait ce que vous et moi avions en tête. Un platonicien comme moi ne serait pas surpris d'apprendre que le type d'IA que vous discutez était une impossibilité pratique (nous savons que ce n'est pas une impossibilité théorique car les échecs peuvent être résolus en théorie par minimax); mais si une réponse me surprend n'est pas le point. Point est de demander si un IA a réalisé l'exploit proposé. La réponse semble être non.
Thb
2
@thb Je pense qu'il y a eu pas mal de tentatives contre ce type d'IA, bien que vous puissiez les considérer comme "infructueuses". Je pense qu’une tentative extrêmement réussie (aujourd’hui) jouerait probablement à un niveau amateur très faible; une grande réussite, mais pas aux yeux du public. De plus, je ne pense pas que s'entraîner contre des programmes existants et des humains soit une triche, mais une très grande optimisation, même si elle peut changer l'orientation du style de jeu de l'IA en évolution.
Daniel B
1
Si vous souhaitez en savoir plus sur l'approche "pure", vous aurez probablement plus de chance en recherchant des approches "de coévolution concurrentielle". C'est la phrase utilisée lorsqu'il n'y a pas de moyen efficace de fournir une mesure externe de performance (c'est-à-dire que nous ne pouvons pas jouer contre d'autres moteurs d'échecs), de sorte que la formation à l'IA doit évoluer en jouant avec différentes versions d'elle-même. Cela fonctionne, certes, mais prend beaucoup plus de temps, ce qui explique probablement pourquoi cette approche est moins suivie.
Daniel B
1
@DanielB AlphaZero est-il une telle IA?
Harry Weasley
1
Vous voudrez peut-être mettre à jour votre réponse. chess.com/news/view/…
Robert Kaucher
17

Je suppose que ce que vous demandez est considéré comme une sorte d’ algorithme génétique ou d’ approche fondée sur un algorithme évolutif . Je soupçonne qu'il n'existe aucun moyen réaliste de concevoir un tel algorithme sans intégrer intrinsèquement un certain degré de biais humain à un niveau fondamental, car le programmeur doit encore définir les caractéristiques statiques d'une position (nombre de matériaux, structure de pion, complexes de couleurs, etc.). selon lequel l'IA classerait et comparerait les positions de différents jeux. Si vous effectuez une recherche Google sur la terminologie algorithmique ci-dessus dans le contexte des échecs, vous obtiendrez de nombreux résultats, mais probablement très peu de recherches sérieuses qui ont réellement été utilisées pour créer des IA performants et compétitifs.

Le fait est que, en conséquence de la loi de Moore, les ordinateurs sont maintenant des machines à calculer si puissantes que des méthodes d'IA extrêmement sophistiquées ne sont pas seulement inutiles (pour jouer à un niveau plus élevé que celui des meilleurs adversaires humains), mais peuvent même être contre-productives. Les échecs sont le genre de jeu dans lequel, principalement en raison de son espace de recherche relativement petit, de mouvements raisonnables dans une position donnée et de l’existence de combinaisons tactiques forcées etc.) - une approche par force brute avec une taille d’arbre de recherche conservatrice est à la fois l’approche la plus simple en termes d’algorithme et la plus efficace. Si vous tenez compte de la disponibilité des tables de phase finale et des premiers livres, la logique de cette approche ne fait que grandir. Je comprends qu'il y ' Il ya encore beaucoup d’intérêt théorique et de valeur potentielle dans le type de nouvelle intelligence artificielle dont vous parlez, mais je soupçonne que les échecs sont une mauvaise arène pour la développer. D'autre part, un jeu comme Go, qui est par nature moins tactique et englobe un espace de recherche beaucoup plus vaste qui rend les approches de force brute irréalisables, pourrait être un meilleur candidat pour la recherche de pointe sur l'IA.

Greg E.
la source
J'ai mis à jour la question sur l'IA à la lumière de votre réponse. La mise à jour n’est pas brève, vous pouvez donc, si vous en avez le temps, la revoir dans la mesure où elle vous intéresse.
thb
2
Un tel parti pris humain ne serait pas nécessaire. Il vous suffit de générer 1000 algorithmes aléatoires capables de jouer aux échecs légaux, de les opposer les uns aux autres dans un tournoi, puis de prendre le top 20% et d'appliquer mutations et croisements pour construire la prochaine génération. Répétez l'opération sur plusieurs populations sur plusieurs générations et vous obtiendrez quelque chose de bien à la fin. La seule fonction de remise en forme nécessaire serait gagner / perdre.
superluminaire
15

Voir la page de Wikipedia sur General Game Playing . C'est un domaine de recherche actif. Il y a un tournoi annuel GGP dans lequel les programmes sont informés des règles d'un nouveau jeu, y réfléchissent pendant un moment, puis se jouent l'un contre l'autre.

Si vous donnez les règles des échecs à un programme GGP, je pense que vous constaterez qu'il joue beaucoup plus fort qu'un débutant humain et beaucoup plus faible qu'un programme d'échecs écrit à dessein.

Jay Scott
la source
13

Il convient de revenir sur cette question à la lumière du récent succès éclatant d’AlphaZero contre Stockfish 8 . Une autre évolution des programmes AlphaGo et AlphaGo Zero de DeepMind , AlphaZero, a terminé avec un score stupéfiant de +28 = 72 -0 contre l’un des plus puissants moteurs «traditionnels» d’échecs de la planète.

AlphaZero a appris à jouer par le biais de l'apprentissage par renforcement, en formant son architecture de réseau de neurones à travers une série de jeux contre elle-même. Selon le document d'accompagnement :

  1. Les entités en entrée décrivant la position et les entités en sortie décrivant le déplacement sont structurées comme un ensemble de plans; c'est-à-dire que l'architecture du réseau de neurones est adaptée à la structure de grille du tableau.
  2. AlphaZero est doté d'une parfaite connaissance des règles du jeu. Ceux-ci sont utilisés pendant les SCTM pour simuler les positions résultant d'une séquence de mouvements, pour déterminer la fin du jeu et pour marquer les simulations atteignant un état terminal.
  3. La connaissance des règles est également utilisée pour coder les plans d’entrée (c’est-à-dire les châteaux, les répétitions, les non-progrès) et les plans de sortie (déplacement des pièces, promotions et chutes de pièces dans le shogi).
  4. Le nombre typique de déplacements légaux est utilisé pour réduire le bruit d'exploration (voir ci-dessous).
  5. Les parties d'échecs et de shogi dépassant un nombre maximal d'étapes (déterminé par la durée typique de la partie) ont été arrêtées et le résultat escompté. Les parties de Go ont été terminées et marquées selon les règles de Tromp-Taylor, de la même manière que les travaux précédents (29).

AlphaZero n'a utilisé aucune forme de connaissance de domaine au-delà des points énumérés ci-dessus.

Je suis sûr que l’on peut poser des questions sur les différents matériels utilisés: " AlphaZero ... utilisait une seule machine avec 4 TPU . Stockfish ... jouait à son plus haut niveau de compétence en utilisant 64 threads et une taille de hachage de 1 Go. " - mais dans tous les cas, le résultat d'AlphaZero est remarquable et s'inscrit tout à fait dans l'esprit du PO.

Révélant peut-être encore plus le peu de connaissances spécifiques à un domaine en jeu, en plus de battre Stockfish aux échecs, AlphaZero s'est également entraîné au shogi au point de vaincre le programme champion Elmo et, bien sûr, de surpasser son prédécesseur AlphaGo Zero in Go. .

Voici un des jeux contre Stockfish, un Berlin dans lequel le déséquilibre matériel est finalement AlphaZero avec le couple évêque contre un chevalier et 4 pions pour Stockfish après 31.Qxc7. Dans cette position, toutes les pièces d'AlphaZero sont dans le dernier rang, les évêques revenant sur leurs carrés d'origine. En fin de compte, après que les reines se sont détachées, les pièces noires manoeuvrent lentement pour ramasser des pions blancs, et ce sont des rideaux.

Stockfish - AlphaZero, 2017-12-04, 0-1
1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. OO Nd7 7. Nbd2 O-O 8. Qe1 f6 9. Nc4 Rf7 10. a4 Bf8 11. Kh1 Nc5 12. a5 Ne6 13. Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 a5 25. Rxa5 Rxa5 26. Nxa5 Fa6 27. Bxd4 Rxd4 28. NC4 Rd8 29. g3 h6 30. Da5 BC8 31. Qxc7 BH3 32. Rg1 Rd7 33. QE5 Qxe5 34. Nxe5 Ra7 35. NC4 g5 36. Rc1 Fg7 37. Ne5 Ra8 38. Nf3 Bb2 39. Rb1 Bc3 40. Ng1 Bd7 41. Ne2 Bd2 42. Rd1 Be3 43. Kg2 Bg4 44. Re1 Bd2 45. Rf1 Ra2 46. ​​h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 BE5 49. Rf2 Kg7 50. g4 Bd4 51. Re2 KF6 52. e5 + Bxe5 53. KF3 Ra1 54. Rf2 Re1 55. KG2 + BF4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Re5 61 .hxg5 hxg5 62. Re2 + Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6 + Ke7 66. Ra5 Ke6 67. Ra6 + Bd6 0-1
ETD
la source
11

Je pense que la principale raison pour laquelle il est difficile de produire une telle IA est à cause de l'espace nécessaire pour stocker la "formation" pour être efficace.

Aussi (en réponse à votre commentaire d'auto-entraînement), l'auto-entraînement peut être préjudiciable lorsque vous essayez d'améliorer une telle IA - j'ai effectué des recherches avec le tic-tac-toe (certes beaucoup plus simple), et il en a trouvé de toutes les couleurs d’horribles façons de gagner (et d’entraîner ces horribles manières) parce que les deux équipes ont joué horriblement. Il a fallu beaucoup plus de temps pour obtenir des performances raisonnables avec un auto-entraînement que pour s'entraîner contre une IA à surveiller de près, au tic-tac-toe.

Cependant, je pense qu'il serait intéressant de voir un hybride qui utilise à la fois la recherche approfondie et la "formation" - une sorte de base de données stockée des positions pour le middlegame (au lieu de juste la fin du jeu et les ouvertures). Il faudrait beaucoup d'espace.

Vous pensez peut-être à une approche plus "réelle" de l'IA qui apprendrait des concepts de position plutôt que de positionner victoire / perte / tirage au sort, mais je ne pense pas que cela serait très efficace (comparé aux moteurs puissants).

Eve Freeman
la source
La réponse est appréciée. Ce que je croyais avoir en tête était une IA qui (a) possédait une capacité minimax mais (b) n'avait pas de fonction d'évaluation prédéterminée. Une telle intelligence artificielle résoudrait nécessairement un jeu aussi petit que le tic-tac-toe par pure minimax. Aux échecs, un jeu seulement théoriquement susceptible de minimax, l’intelligence artificielle évaluera non pas la position actuelle sur le tableau, mais les positions futures, après quoi minimax choisira le coup. On pourrait dire en gros que Nimzowitsch a révolutionné les échecs en rejetant les heuristiques d'évaluation connues. Si oui, une machine pourrait-elle faire de même?
thb
1
Donc, vous dites qu'il développerait sa propre fonction d'évaluation?
Eve Freeman
2
@thb, en tant que programmeur, je pense que le problème de votre idée est que, pour autant que je sache, aucune intelligence artificielle des échecs plausible ne peut commencer avec une page totalement vierge pour une fonction d'évaluation. On pourrait écrire une intelligence artificielle qui analyse les jeux pour rechercher des modèles et utilise des méthodes statistiques / probabilistes (par exemple, l'inférence bayésienne) pour affiner ses évaluations et sa prise de décision, mais le programmeur doit identifier quels motifs, facteurs de position, séquences de mouvements constituent ces modèles. et selon quels critères pour les évaluer. En d'autres termes, le noyau de base de la fonction d'évaluation devrait toujours être conçu par l'homme.
Greg E.
1
Il serait peut-être intéressant de voir ce qu'un moteur de minimaxage génétique produit, par exemple, si vous démarrez toutes les pièces avec la même valeur matérielle, basée sur le gain / la perte / le tirage, et laissez les valeurs matérielles muter. Je suis sûr que les créateurs de moteurs ont déjà essayé de les peaufiner, comme faire les pions Knights 2.9 et 3.1 des évêques.
Eve Freeman
1
@thb, je ne suis pas un expert, mais je pense que c'est le cas. Même l'IA à laquelle vous avez lié est contrainte par les préjugés des programmeurs. Si vous lisez le document de recherche original, vous remarquerez que le "vecteur de caractéristiques" de la fonction d'évaluation comprend des fonctions de tableau "qui ont été soigneusement conçues à la main". C'est-à-dire que le programmeur doit encore spécifier l'ensemble des facteurs de position statiques sur lesquels l'IA base sa prise de décision. Je pense que le principal avantage d'un réseau de neurones pour ce projet particulier est que la formation peut être mise en parallèle, ce qui permet un traitement asynchrone de quantités énormes de jeux de manière efficace.
Greg E.
10

Je veux juste développer les réponses de Greg et Wes ici. Le type d'IA proposé par ceux-ci n'existe tout simplement pas avec la sophistication requise pour cette application. Et même s'ils le faisaient, je suppose qu'ils échoueraient à cela. C'est comme si il voulait une IA forte et polyvalente qui puisse apprendre les règles de base du jeu, puis l'envoyer. Mais si vous regardez les IA à but général qui sont en développement, on leur enseigne toutes des choses comme la reconnaissance des objets et la parole par un enfant de 1 à 2 ans. Toute intelligence artificielle polyvalente aurait d’abord besoin de la sophistication pour pouvoir comprendre ce qu’est un jeu avant même de comprendre comment jouer à un jeu. Vous ne pouvez pas concevoir une IA polyvalente et vous attendre à ce qu'elle fonctionne comme une IA étroite ou spécialisée. Une intelligence artificielle polyvalente devrait être enseignée aux échecs comme une personne et vous ne pouvez pas vous attendre à réunir deux joueurs novices n'ayant aucune connaissance de l'histoire des échecs et à réinventer spontanément des ouvertures et des thèmes stratégiques. Plusieurs centaines d'IA se joueraient entre elles, chacune ayant accès aux données historiques de tous leurs jeux sur plusieurs centaines de milliers d'itérations. Et chaque IA devrait avoir certaines caractéristiques distinctes pondérées à différents niveaux.

Il a fallu près de 500 ans l' homme pour obtenir de Rodrigo (Ruy) López de Segura et Pedro Damião à Paul Morphy et d' examiner ensuite les autres changements qui se sont produits entre le jeu de Steinitz et Alekhine. Et tout ce changement s’est produit grâce au dynamisme de plusieurs centaines de milliers de joueurs de tempéraments différents et caractérisés par d’autres caractéristiques déterminantes (comme privilégier au hasard les chevaliers aux évêques ou les évêques aux chevaliers), sans oublier les styles de jeu et les modes. Toutes ces choses ont contribué à la dynamique de changement qui a influencé les échecs à travers les siècles. Aucune intelligence artificielle faible - même une intelligence artificielle faible polyvalente - ne pourrait reproduire ce type de dynamo, car elle manque de désir. Seul le désir peut amener quelque chose à rester assis pendant des heures et des heures à analyser une ouverture dans l’ intention de la briser ou de l’améliorer après l’avoir «détruite» par un rival. Vraiment, c’est ce type de motivation en matière d’analyse et de préparation qui a amélioré le jeu au fil des siècles - pas un jeu aveugle de millions de jeux entre des joueurs également faibles.

C'est comme prendre un groupe de personnes qui ne parlent pas anglais et qui ne lisent jamais les maîtres de littérature de leur langue maternelle et les placent dans une pièce contenant des livres d'anglais langue seconde et s'attendent à ce qu'elles proposent quelque chose comme les œuvres de Shakespeare. Cela n'arrivera jamais.

EDIT : J'aurais dû savoir mieux que de faire cette réclamation parce que c'est arrivé .

«AlphaZero n'a pas été« appris »au jeu au sens traditionnel du terme», explique Chess.com. «Cela signifie qu’aucun livre d’ouverture, aucune table de phase finale et apparemment aucun algorithme compliqué ne dissèque les différences minimes entre les pions centraux et les pions latéraux. Cela ressemblerait à un robot ayant accès à des milliers de pièces et de pièces métalliques, mais n’ayant aucune connaissance d’un moteur à combustion, il expérimente de nombreuses fois avec toutes les combinaisons possibles jusqu’à la construction d’une Ferrari. … Le programme a eu quatre heures pour se jouer plusieurs fois, devenant ainsi son propre professeur. ”

Mon continuant, bêlement évidemment sans fondement:

Nous prenons pour acquis toutes les connaissances implicites que nous avons sur le monde. Pour pouvoir comprendre que si j'ai des bouts de bois et un clou, un marteau m'est plus utile qu'un tournevis, je dois d'abord comprendre que certaines classes de choses sont plus utiles dans certaines situations que d'autres. Je dois aussi comprendre que les choses ont un usage qui peut être appliqué à un objectif. Ce sont des heuristiques. Si on ne peut pas dire à l'IA que certaines pièces ont plus de valeur que d'autres, comment peut-elle même comprendre ce qu'est le partenaire? S'il ne peut pas être programmé avec une heuristique spécifique, il doit être capable d'extrapoler ces idées telles que l'expérience de la forme "valeur" et "utilité". Et ce n'est pas le domaine de l'IA étroite. C'est le domaine de l'utilité générale, l'IA forte.

Robert Kaucher
la source
1
Excellente réponse. Je pense que votre premier paragraphe cristallise vraiment l'idée que j'essayais de faire comprendre, mais le fait avec plus de lucidité.
Greg E.
Merci Greg. Je veux juste ajouter que je parle d'une IA faible polyvalente. Je crois qu’une véritable IA forte pourrait faire quelque chose comme cela via de nombreuses instances et de nombreuses itérations dans un laps de temps très comprimé. Mais nous n'avons pas encore d'IA forte. en.wikipedia.org/wiki/Strong_AI
Robert Kaucher
Je suis d'accord avec tout ce que vous avez dit sauf la section sur le désir. L'intelligence artificielle peut rester pendant des heures à faire ce que les concepteurs veulent. Une puissance informatique suffisante peut résoudre les échecs, c'est simplement que nous n'avons pas encore assez de puissance.
Eve Freeman
C'est vrai, Wes, mais ensuite nous injectons le biais du "programmeur" ou quoi que ce soit dans l'IA; ce qui est l'une des choses que l'auteur de la question ne voulait pas.
Robert Kaucher
@ EveFreeman, je pense que vous comprenez mal ce que je dis. Je ne dis pas que les ordinateurs ne "résoudront pas les échecs". Je dis que le scénario spécifique du PO est bloqué au point qu'il ne fonctionnera pas. Si le système n'a pas d'heuristique, comment peut-il mettre une valeur sur des morceaux?
Robert Kaucher
9

Veuillez méditer sur l'IA Koan suivant:

À l'époque où Sussman était un novice, Minsky lui est arrivé une fois alors qu'il était assis à la PDP-6. "Que faites-vous?", Demanda Minsky. "Je forme un réseau de neurones câblé au hasard pour jouer au Tic-Tac-Toe", répondit Sussman. «Pourquoi le réseau est-il câblé au hasard?», A demandé Minsky. "Je ne veux pas qu'il ait des idées préconçues sur la façon de jouer", a déclaré Sussman. Minsky ferma ensuite les yeux. «Pourquoi fermez-vous les yeux?», Demanda Sussman à son professeur. "Pour que la pièce soit vide." À ce moment, Sussman était éclairé.

Nos applications ont toujours des idées préconçues, que vous fermiez les yeux ou non ...

Landei
la source
Votre anecdote est la plus convaincante. Dans la mesure où cela vous intéresse, votre anecdote m’a incité à élargir la question avec une mise à jour, que vous pouvez voir ci-dessus lorsque vous avez un peu de temps.
thb
8

Est-ce que quelqu'un a déjà écrit un programme d'échecs qui a ses propres idées? Qui apprend le jeu tout seul? Qui s'entraîne?

Oui. Découvrez le moteur d'échecs girafe écrit par Matthew Lai. Il a écrit le moteur des échecs dans le cadre de sa recherche sur l'intelligence artificielle pour une maîtrise en informatique.

Il y a eu beaucoup de discussions à ce sujet l'année dernière sur le forum de programmation des échecs TalkChess . Je sais parce que je suis un auteur de moteur d’échecs dont le moteur est à peu près aussi puissant que Giraffe. Cependant, j'ai implémenté mon moteur en utilisant des techniques traditionnelles alors que l'auteur de Giraffe l'a entraîné en utilisant "l'apprentissage par renforcement différentiel temporel avec des réseaux de neurones profonds". Matthew devait encore mettre en œuvre la recherche alpha / bêta traditionnelle pour évaluer de manière dynamique une position, autrement dit, anticiper de nombreux mouvements. Son innovation consiste à entraîner le moteur à évaluer une position statique . En comparaison, j'ai inscrit des connaissances spécifiques dans la routine d'évaluation statique de mon moteur.

J'ai écrit du code pour ajuster les paramètres d'évaluation à l'aide d'un algorithme Essaim de particules (voir la page de remerciement de mon blog pour des liens vers des discussions techniques) qui ont donné des résultats positifs: un moteur plus puissant. Cependant, il ne s’agissait pas de faire en sorte que le moteur «apprenne» au lieu de minimiser les erreurs dans un très grand espace de paramètres d’évaluation (de l’ordre de 10 à 150 combinaisons de paramètres discrets).

Matthew discute de sa thèse sur le forum TalkChess. Il travaille pour Google sur DeepMind maintenant, si je me souviens bien.

Consultez également le blog de Thomas Petzke . Il a écrit un moteur d'échecs extrêmement puissant, iCE, et a utilisé des algorithmes génétiques pour améliorer l'évaluation statique du moteur. Voir ses publications de 2013 et antérieures, telles que Apprentissage incrémental basé sur la population .

Erik Madsen
la source
Bienvenue sur le forum! Un de plus.
SmallChess
5

Une recherche sur Google comme celle-ci peut donner des résultats comme celui-ci .

Plus particulièrement, je pense que vous voudrez regarder ce document . Ils communiquent à leur moteur des données initiales, telles que des valeurs de pièce, de sorte que ce n'est pas exactement ce que vous demandez, mais cela a très bien fonctionné.

David Spencer
la source
+1 parce que j'apprécie la citation intéressante de l'IEEE. Je connais déjà la page NeuroChess. Ni l'un ni l'autre ne semble faire exactement ce que j'avais en tête, cependant.
jeudi
3

C'est possible avec l'apprentissage automatique.

L’ouverture des livres de moteurs d’échecs utilise l’apprentissage automatique. Le moteur teste les lignes d'ouverture du livre en les jouant. Si une ligne marque mieux que les autres, elle la valorisera dans l'arborescence d'ouverture. Avec le temps, le moteur apprend les meilleures lignes.

Une fois la phase d'ouverture terminée, le moteur cesse d'utiliser le livre et commence à utiliser la fonction d'évaluation.


Comment mettre en place un moteur d'auto-apprentissage en machine learning?

Imaginez un moteur utilisant un livre sans fonction d'évaluation. Et le livre est vide au début. Donc, le moteur n'a aucune connaissance sur les échecs.

Engine commence à jouer avec ce livre vide et ne ferme pas le livre avant la fin de la partie. On peut le penser comme un moteur classique qui utilise un livre d’ouverture jusqu’à la fin de la partie.

Avec le temps, le moteur trouverait les meilleures continuations sur le plan statistique, car les mauvaises lignes marqueraient moins bien avec le temps. Mais bien sûr, il faut jouer à beaucoup de jeux pour obtenir un bon livre. Je ne sais pas combien, mais autant que nous pouvons dire peu pratique.

Mise à jour de décembre 2017 : Eh bien, je suppose qu'Alpha Zero m'a prouvé qu'il avait tort en s'entraînant suffisamment fort pour battre l'un des moteurs les plus puissants, Stockfish, avec une quantité pratique de jeux.

ferit
la source
2

Quoi que vous essayiez dans ce domaine, assurez-vous de lire d'abord le récit de Turry ici: http://waitbutwhy.com/2015/01/artificial-intelligence-revolution-2.html

TL; DR; version spoiler par demande:

Dans l'histoire de Turry, l'IA auto-entraînée de Turry doit écrire de belles notes manuscrites et se débarrasser des humains, car ils ne sont pas nécessaires pour atteindre l'objectif apparemment anodin d'écrire de belles notes manuscrites. L'analogie est qu'un moteur d'échecs autoformé avec une intelligence artificielle va très probablement également se débarrasser des humains car ils ne sont pas nécessaires pour améliorer l'objectif apparemment inoffensif d'améliorer les compétences en matière d'échecs.

Dynamisme
la source
Votre réponse est intéressante, mais peut-être pas tout à fait convaincante. J'ai lu l'article lié (les deux parties) sur vos conseils. L’écrivain affaiblit un peu son cas en attaquant des hommes de paille, mais c’est un type pensif. Je ne pense pas que j'avais quelque chose de très semblable à l'article de Turry. Un échiquier 8-sur-8 sur lequel deux joueurs effectuent une quarantaine de tours discrets est fondamentalement une affaire tellement plus simple. Je trouve remarquable qu'IA ne puisse même pas penser aux échecs de manière générale. Pour une vue contraire, lecture assignée: Feser, Edward. La dernière superstition. Toujours, +1 pour l'intérêt.
jeudi
1

Et il y a AlphaZero. Célébrez toute une nouvelle génération de moteurs d'échecs

Prusswan
la source
0

L'utilisation de la terminologie anthropomorphique dans le traitement des systèmes informatiques est un symptôme d'immaturité professionnelle

De Comment pouvons-nous dire des vérités qui pourraient blesser? par Edsger W.Dijkstra résume assez bien l'hypothèse erronée à la base de votre question. L'intelligence artificielle peut être artificielle mais ce n'est pas une intelligence au sens humain.

Dans les Conférences Reith de 1984 de la BBC, le philosophe américain John Searle explique exactement ce qui ne va pas avec l'IA dure. Le résumé "trop ​​long, n'a pas écouté" de son argument est "La syntaxe n'est pas de la sémantique" mais je vous encourage néanmoins à au moins écouter la conférence 2 "Boîtes de bière et machines à la viande ".

Une fois que vous avez compris ce que Dijkstra et Searle disaient il y a plus de 30 ans, vous comprendrez ce qui ne va pas dans vos questions:

Est-ce que quelqu'un a déjà écrit un programme d'échecs qui a ses propres idées? Qui apprend le jeu tout seul?

Les êtres humains ont des "idées" et peuvent apprendre. Les ordinateurs ne peuvent pas. Votre village d'êtres humains primitifs pourrait, au fil des siècles, reproduire la théorie de l'ouverture des échecs, mais pas l'ordinateur.

Brian Towers
la source
Faites-vous valoir que les ordinateurs n'atteindront pas l'intelligence au niveau humain, ou que même si "penser" et "comprendre" sont réservés aux humains?
BlindKungFuMaster
@BlindKungFuMaster Si vous prenez la peine d'écouter "Des canettes de bière et des machines à la viande" dans le lien ci-dessus, vous verrez clairement ce que pense John Searle. Il m'a convaincu et je partage son point de vue.
Brian Towers
La compréhension simpliste des programmes informatiques d'IA par Searle est excusable, après tout, elle ne date que de 1984. Mais les architectures modernes d'IA n'imitent que l'architecture de l'esprit humain, de sorte que seule l'architecture est décrite de manière syntaxique, pas ce qui finit par "penser". "Un pouvoir (pas encore tout à fait équivalent) au pouvoir du cerveau humain" vient de l'ingestion de grandes quantités de données, par "l'apprentissage". Ce n'est qu'à cette étape que le contenu sémantique est capturé.
BlindKungFuMaster
Ainsi, l'argument de Chinese Room est erroné en supposant que vous pouvez simuler la compréhension avec un seul grand livre de règles, ce qui est en fait relativement absurde, et en évitant la possibilité que le contenu sémantique puisse être capturé par l'architecture appropriée à partir de grandes quantités de données. En fait, voici
BlindKungFuMaster
@BlindKungFuMaster Il y a un mot clé dans ce que vous dites et il me semble que vous ne comprenez pas. C'est le mot "simuler". Je suis ingénieur en logiciel depuis 35 ans. Pendant ce temps, j’ai eu plusieurs simulateurs et en ai écrit quelques-uns. Les simulateurs sont souvent des composants vitaux d'un projet mais, dans un projet en temps réel, ils ne remplacent jamais complètement l'équipement cible. Nul doute que les ordinateurs sont excellents pour simuler l'intelligence et la compréhension sémantique, mais ils ne peuvent jamais atteindre la conscience, la volonté, la compréhension.
Brian Towers
0

Cette réponse est donnée par le demandeur de la question initiale, quatre ans après la question. Il ne remplace ni ne remplace les réponses données précédemment, car la plupart des réponses précédentes sont plus intéressantes que celle-ci. Cependant, cette réponse pourrait ajouter un contexte supplémentaire.

Autant que je sache, la plupart des recherches sur l'intelligence artificielle semblent implicitement sous-entendre que la pensée et la raison ne sont que des phénomènes matériels, ou du moins que des résultats impossibles à distinguer de la pensée et de la raison doivent nécessairement être atteints par des processus uniquement matériels. Je ne conteste pas la prémisse (ni ici la promouvoir, d'ailleurs). Je constate simplement que cela semble être une prémisse.

Et, après tout, dans la recherche sur l'IA, comment cela ne devrait-il pas être une prémisse? Les chercheurs en IA doivent travailler à travers des processus matériels, qu’ils le fassent ou non.

Les écoliers de philosophie réaliste , à travers Duns Scot, Saint Thomas, Aristote et Platon, ont eu beaucoup à dire sur la théorie de l'esprit. Les représentationnalistes comme Kant ont eu des choses assez différentes à dire. La recherche sur l'IA est probablement plus proche de Kant, mais cela ne donne pas tort aux écoliers.

Certes, il existe une objection de " dieu des trous" qui a tendance à apparaître à ce stade des conversations du genre actuel, mais un philosophe professionnel vous dirait que l'objection de dieu des espaces attaque un homme de paille, que cette objection ne sert que contre les personnes qui n'ont étudié aucune philosophie et ne savent donc pas de quoi elles parlent. Selon Aristote, c'est la causalité formelle et finale qui pourrait être impliquée dans la question de l'IA auto-entraînée aux échecs. Pourtant, en termes aristotéliques, le chercheur en IA travaille uniquement avec une causalité matérielle et, en particulier, efficace.(sauf peut-être obliquement, dans la mesure où des formateurs humains apportent personnellement des éléments formels et finaux dans le système). Si la raison est formelle, si la pensée est finale, si la salle chinoise de Searle s'avère être une impossibilité ontologique (ce qui pourrait être le cas), il se peut alors qu'une IA d'échecs purement autodidacte ne puisse être atteinte, même en théorie.

Je soupçonne qu'une IA d'échecs purement autodidacte peut effectivement être atteinte et sera - qu'en termes d'Aristote, cette question s'avérera suffisamment cadrante compte tenu d'une causalité simplement efficace. Je suis plus sceptique vis-à-vis d'une forte intelligence artificielle en général, mais cela doit être prouvé par l'expérience, n'est-ce pas? Personne ne sait vraiment encore.

La philosophie de la causalité et de l’ esprit est subtile et comprise par quelques-uns (et probablement par quelques-uns, même parmi les chercheurs en intelligence artificielle, qui sont des hommes plus pratiques). Si vous souhaitez apprendre une telle philosophie, cela vaut la peine d'être appris. mais sachez que, sur Internet et même souvent sous forme imprimée, il est extrêmement facile de trouver des explications trompeuses basées sur des incompréhensions mal informées. Pour mon argent, le meilleur professeur d'initiation écrivant aujourd'hui sur le sujet est Edward Feser, dont les livres restent imprimés à des prix raisonnables. Vous pouvez apprendre beaucoup plus de lui.

Cependant, on doute que même le Dr Feser oserait une réponse faisant autorité sur la question actuelle! La réponse reste à prouver dans les laboratoires d'IA.

thb
la source
-3

Je veux qu'ils publient le code, alors nous pouvons parler. Ce n'est pas si facile de résoudre les échecs, Alpha ne le résoudra pas, même dans un demi-siècle. Drôle, il joue toujours 1.d4. Pourquoi? Parce qu’il a été formé aux jeux de l’homme, sa théorie donne un taux de performance maximal pour 1.d4. La pauvre ne sait pas 1 ... c5 réalise un match nul avec exactement 8 coups. Maintenant, ils veulent que je croie qu'Alpha n'a pas utilisé un livre de simulation simulé ... Ils disent qu'Alpha a bien joué. Eh bien, oui, à quelques exceptions près. 1.d4 ne parle certainement pas bien du niveau d'intelligence atteint par le programme. Heureusement, SF est encore plus faible au début. :)

Lyudmil Tsvetkov
la source
3
Vous faites des déclarations audacieuses en disant que 1. ... c5 réalise un match nul en 8 coups et que Stockfish est faible au début. Pourriez-vous s'il vous plaît fournir des références à ces revendications?
Pablo S. Ocal
1
1.d4 ne parle certainement pas bien du niveau d'intelligence atteint par le programme. En tant que joueur 1.d4, je me demande si je devrais considérer que mon intelligence est insultée ici.
Evargalo
Bien qu’ils n’aient pas publié le code ni même publié le document, un projet visant à reproduire leurs résultats a été lancé: lczero.org Vous pouvez même jouer avec le "AlphaZero" en évolution
Junyan Xu le