Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Une petite histoire de la programmation des jeux
JM Alliot
Donald Michie
« La recherche sur le jeu d’échecs est le champ le plus important de la recherche cognitive. Les échecs seront pour nous ce que la drosophile a été pour les généticiens : un moyen simple et pratique de développer de nouvelles techniques. »
Points forts
Domaine complètement spécifiable et à information totale
Résultats facilement lisibles: victoire ou défaite Domaine « représentatif » de l’intelligence humaine Domaine « populaire » qui attire l’attention…et les
financements Domaine riche et complexe
Le Turk
Construit en 1770 par Wolfgang von Kempelen
El Ajedrecista (1910)
Leonardo Torres y Quevedo. Joue la finale Roi contre Roi+Tour. En 1920, version magnétique.
Shannon (1950) Machine pour les fins de parties. « Programming a computer for
playing chess" Philosophical Magazine, Series 7, Vol. 41 (No. 314, March 1950) : premier article sur la programmation des échecs
Définition des stratégies de type A et B
Le nimrod (1951)
Construit par Ferranti pour une exposition. Joue parfaitement au
jeu de Nim. Dietrich Prinz écrit un
programme résolvant des mats à deux pièces 6Kw, 40m3
Le turochamp (1950-1952)
A partir de 1950, Alan Turing construit un jeu d ’instructions (le turochamp) qui constitue le premier « programme » d ’échecs existant. Faute de machine capable de l ’exécuter, le programme sera simulé par Turing dans une partie contre un étudiant, Alick Glennie en 1952.
Chess for MANIAC (1956)
Ecrit par Stanislas Ulam et Paul Stein à Los Alamos Fonctionne sur un
MANIAC I (conçu par Von Neuman et Metropolis) Joue à une variante
6x6 des échecs
Paul Stein et Nick Metropolis
The Bernstein Chess Program (1957)
Ecrit par Alex Bernstein sur un IBM 704 Premier vrai programme
d’échecs Calcule 4 niveaux en
minimax en 8 minutes, avec de l’élagage (Shannon B) Alex Bernstein
The Bernstein Chess Program
NSS (Newell, Simon and Shaw) 1958
« Goal directed » Reste extrêmement
faible Shannon type B
Kotok-McCarthy (Stanford) program (1962)
Ecrit Par Kotok alors qu’il était un étudiant de John McCarthy Basé sur le programme de Bernstein Tourne sur IBM 7090 Implante l’alpha-béta Utilise extensivement de l’élagage (Shannon
B) Premier programme à jouer « correctement »
ITEP chess program (1963)
Developpé en Russie par Adelson-Velski, et Arlazarov sur des calculateurs russes M-2 et M-20 Support du maitre Alexander Bitman Alpha-béta, pas d’élagage (Shannon A) Match en 1965 contre le programme de
Stanford: victoire 3-1
2001,l’odyssée de l’espace Kubrick, (1968) Film très documenté qui reprend beaucoup de ce
que certains scientifiques pensaient à l’époque
« Bishop to b3… »
Mac Hack (1967) Développé par Richard
Greenblatt Librairie de 5000 coups
(Larry Kaufman) Shannon B Première utilisation des
tables de transposition Premier programme à jouer
dans des tournois humains Classement ELO autour de
1400
Chess (1968-1980) Développé par Slate et
Atkin comme un programme Shannon B (de Chess 1.0 à Chess 3.6), transformé en Shannon A en 1973 (Chess 4.0)
Utilisation de bitboards 8 fois vainqueurs de l’ACM
North American (70-73, 75-77, 79) et du WCCC 1977
Tournait sur CDC 6600
Kaissa (1970-1980)
Suite du programme ITEP
Pure Shannon A, bitboards, élagage « null move »
Remporte le premier WCC en 1974 sur un ICL 4/70
Alan Bailey (Tech) - Mikhail Donskoy (Kaissa)
The Technology Chess Program (1971)
Développé par James Gillogly Premier programme (américain) à utiliser
une stratégie pure Shannon A Sera en service jusqu’en 1978
Belle (1973-1986) Première approche
hybride incluant des circuits spécialisés
5 fois vainqueurs de l’ACM, une fois du WCC (1980)
Développé par l’archi-gourou Ken Thompson
MicroChess80 sur TRS-80 (1976)
Fidelity Chess Challenger (1977)
Ron Nelson 8080, 2Mhz RAM: 256 octets ROM: 2Ko 850 ELO
Fidelity Chess Challenger 10 (1979)
Ron Nelson Z80, 4Mhz, RAM: 512 octets ROM: 4Ko 1175 ELO
Le backgammon
Examiné de bonne heure, en particulier par Hans Berliner Un des premiers jeux à utiliser des
techniques de type Monte-Carlo En 1980, BKG bat le champion du monde
humain Les meilleurs programmes sont
aujourd’hui probablement meilleurs que les meilleurs humains
Cray Blitz (1980-1994)
Développé par Bob Hyatt sur des Crays
Shannon A Rotated biboards Premier algorithme
parallèle (Principal Variation Search)
2 ACM et deux WCC (83 et 86)
Fidelity Elite Champion (1982)
Dan et Kathe Spracklen
1580 ELO 6502, 4MHz RAM 4Ko ROM 16 Ko
Sargon III (1983) sur Apple 2
Hitech (1985-1995)
Développé par Hans Berliner
Shannon type A et « B* »
Hardware spécialisé 2530 ELO en 1985 1988: classement
GMI 2ACM, 1 WCC
Mephisto Amsterdam (1985)
Richard Lang 68000, 12Mhz RAM: 16 Ko ROM: 48 Ko ELO: 1930
Psion (1985)
Mephisto Lyon (1990)
Richard Lang 68030, 50Mhz RAM: 2048 Ko ROM: 128 Ko ELO: 2152
Les checkers
Dames américaines 8x8 Chinook: meilleur programme développé
par l’équipe de Jonathan Schaeffer En 1992, Chinook bat le champion du
monde humain Marion Tinsley +4-2=34
Fritz 3 (1995)
Frans Morsch Pentium 90MHz ELO: 2245 Une victoire en
Blitz contre Kasparov
ChipTest – Deep Thought (1985-1995)
Hardware hybride Ancêtre de Deep
Blue Murray Campbell Feng-Hsiung Hsu Thomas Anantharam Mike Browne Andreas Nowatzyk
DeepBlue (1995-1997)
Supercalculateur fabriqué sur mesure par IBM 200 millions de positions
par seconde Premier ordinateur à
battre un champion du monde humain avec un contrôle de temps standard sur 6 parties
Othello
Les programmes sont aujourd’hui beaucoup plus forts que les meilleurs joueurs humains 1997: Logistello
bat Takeshi Murakami 6-0
Les développements nouveaux ont quasiment cessés.
« Chess in the Stratosphere »
Les meilleurs programmes actuels: Stockfish: open source Komodo: close source
ELO >? 3300 sur un Q6600 (quad core) 2.4GHz ELO sur un processeur plus récent
probablement >? 3400
Awele (Awari, Awale)
2002: Awele is solved (Romein-Bal). La partie est nulle en cas de jeu parfait.
Les checkers
2007: l’équipe de Schaeffer et Chinook prouvent que le jeu de checkers est nul en cas de jeu parfait.
Les checkers sont résolus
Le bridge
Il est difficile d’évaluer le niveau d’un programme de façon objective.
Le meilleur programme actuel (GIB/Matthew Ginsberg) est moins fort que les meilleurs humains, mais est meilleur que la majorité des joueurs de club
Il utilise des méthodes de force brute (Double Dummy Solver et Monte-Carlo)
Go Longtemps considéré comme inaccessible aux ordinateurs Facteur de branchement trop important Notion d’influence difficile à traduire informatiquement 03/2013: CrazyStone (Remi Coulom) bat Yoshio Ishida (9p)
avec 4 de handicap 09/2015: AlphaGo bat FanHui 03/2016: AlphaGo bat Lee Sedol (2ème mondial) 4-1 Durant la fin de l’année 2016, AlphaGo « updated » joue en
ligne contre les meilleurs joueurs mondiaux et gagne 60-0 “After humanity spent thousands of years improving our tactics,
computers tell us that humans are completely wrong... I would go as far as to say not a single human has touched the edge of the truth of Go.” (Ke Jie)