# Turochamp

Turochamp est un programme d'échecs et le premier jeu développé pour un ordinateur, développé en 1948 par Alan Turing et D. G. Champernowne. Le duo écrit les algorithmes alors qu'il n'a pas d'ordinateur, puis Turing tente d'adapter le programme sur Ferranti Mark I, mais l'écriture reste inachevée. Le programme utilise notamment d'importantes méthodes d'évaluation et des concepts de sélectivité. Toutefois, son fonctionnement n'est pas basé sur une recherche exhaustive, mais plutôt sur une orientation de type heuristique. En 1952, un ami de Turing joue contre Turochamp et gagne la partie, alors que Turing simule à la main les calculs normalement pris en charge par l'ordinateur.
À l'occasion des 100 ans de la naissance d'Alan Turing, en 2012, le programme est reconstruit par des experts informatiques, et Garry Kasparov, l'un des meilleurs joueurs de l'histoire du jeu d'échecs, joue une partie contre lui, qu'il gagne facilement tout en reconnaissant le contexte historique et la qualité de Turochamp.
Turochamp reste le premier programme d'échecs, conçu avant même les premiers ordinateurs. Toutefois, en novembre 1951, Dietrich Prinz, qui a travaillé pour Ferranti, développe le premier programme d'échecs fonctionnant sur un ordinateur, le Ferranti Mark I du Massachusetts Institute of Technology (MIT).

## Histoire du développement

Alan Turing est un mathématicien britannique né en 1912, célèbre pour sa machine de Turing dont il pose les bases dès 1936, sa participation dans le décryptage de la machine Enigma durant la Seconde Guerre mondiale et ses travaux qui fondent scientifiquement l'informatique. En 1946, Turing rédige un rapport pour le National Physical Laboratory (NPL), intitulé Proposed Electronic calculator, dans lequel il décrit quelques problèmes qu’il prévoit de soumettre à l'ordinateur ACE, dont l’un est la réalisation d'un programme permettant de jouer aux échecs. En 1947, il fait une lecture à la London Mathematical Society dans laquelle il présente l’idée qu’une machine programmée pour jouer aux échecs pourrait apprendre seule et acquérir sa propre expérience. Par la suite en 1948, il rédige un nouveau rapport pour le NPL, intitulé Intelligent Machinery, qui suggère une forme d’imitation du jeu (s’apparentant au test de Turing) qu deviendra célèbre à travers son article intitulé Computing Machinery and Intelligence, paru en 1950.
À la fin de l'été 1948, Turing et le statisticien économique D. G. Champernowne, son ami et collègue au King's College de Cambridge, conçoivent un système de règles théoriques visant à déterminer les coups suivants d'une partie d'échecs. Ils développent donc un programme d'échecs connu sous le titre de Turochamp, pour un ordinateur n'existant pas encore. Le nom du programme est fondé sur leur patronyme. Champernowne précise que sa femme a joué une partie d'échecs contre le programme et a perdu la partie. L'algorithme de Turing, seulement posé sur papier, se voit donner le surnom de paper machine.
Turochamp met en œuvre les règles de bases édictées par Turing et Champernowne, permettant de réaliser les meilleurs coups. Le programme utilise notamment d'importantes méthodes d'évaluation et des concepts de sélectivité. Toutefois, son fonctionnement n'est pas basé sur une recherche exhaustive, mais plutôt sur une orientation de type heuristique. Il prévoit uniquement les deux coups suivants d'une partie en calculant des centaines de coups potentiels et peut normalement terminer une partie$^,$. Turochamp simule tous les mouvements autorisés en fonction de la situation jusqu'aux positions mortes, puis calcule toutes les actions possibles lors du coup suivant de son adversaire. Pour évaluer les positions et les décisions à prendre, Turing et Champernowne mettent au point plusieurs critères comme la mobilité des pièces et leurs déplacements possibles, la sécurité des pièces ainsi que la mobilité et la sécurité du roi, le roque, la structure de pions, la menace d'échec et mat et la valeur de chaque pièce. Chaque critère attribue des points que le duo a définis en fonction du coup, ce qui permet à Turochamp de décider du meilleur coup à jouer (par exemple : un pion vaut 1 point, un cavalier en vaut 3, un fou 3,5, une tour 5 et la reine 10 ; d'autres points sont attribués si la tour, le fou ou le cavalier sont défendus, 1 point ou un demi-point sont attribués en fonction de la menace échec ou mat ; et des points sont retirés en fonction de la vulnérabilité du roi). Champernowne précise que la plus grande part de leur attention s'est focalisée sur la décision du coup à suivre. Turing admet que ces règles produisent un jeu d'échecs d'un niveau faible, à la mesure de son niveau qu'il juge moyen$^,$$^,$.
Turing essaye de faire fonctionner le jeu sur l’ordinateur Ferranti Mark I, mais la plate-forme manque de puissance et ne peut exécuter le programme. De plus, le code est d'une trop grande complexité. L'écriture du programme reste inachevée$^,$. Jack Copeland, professeur de philosophie à l'université de Canterbury en Nouvelle-Zélande et auteur d'un livre sur Alan Turing, précise que cela ne dérange pas Turing, tant il est convaincu du fonctionnement futur de son programme. Turochamp perd une partie, qui fut enregistrée, contre un collègue de Turing dénommé Alick Glennie. Turing réalise à la main les opérations normalement calculées par l'ordinateur, ce qui requiert près d'une demi-heure pour déterminer chaque coup$^,$.
En 1953, Turing écrit un article publié dans l'ouvrage de B. V. Bowden intitulé Faster Than Thought: Symposium on Digital Computing Machines. Turing pose des questions et y répond en évoquant le système d'évaluation, avec les concepts de stratégie minimax, d'analyse préalable variable, de recherche quiescente (en) et d'apprentissage. Il va beaucoup plus loin que dans les règles mises en place dans Turochamp. Il n'y mentionne pas le nom de Turochamp mais évoque la partie d'une machine contre un humain$^,$.

## Postérité
### Héritage et influence

Le code original écrit par Turing et Champernowne n'a pas été conservé. En 1980, Champernowne décrit aussi bien qu'il le peut la manière dont fonctionnait Turochamp, mais il ne se rappelle pas en détail toutes les règles mises en œuvre dans le programme$^,$. En 2012, des experts en informatique recréent le programme dans le but de jouer une partie symbolique.
Turochamp reste le premier programme d'échecs, conçu avant même les premiers ordinateurs. Turochamp fait d'Alan Turing un des candidats au titre de fondateur des programmes d'échecs, au même titre que Claude Shannon avec son article de 1949 intitulé Programming a Computer for Playing Chess et que Konrad Zuse grâce à son langage de programmation intitulé Plankalkül et les routines informatiques d'échecs qu'il écrit de 1941 à 1945$^,$. En 1947-1948, Donald Michie et Shaun Wylie écrivent également un programme d'échecs intitulé Machiavelli, que Turing essaye en vain de transposer sur Ferranti Mark I en même temps que Turochamp. Ce programme, qui permet seulement de calculer une profondeur de coup et écrit comme un concurrent de Turochamp, reste inachevé.
En novembre 1951, Dietrich Prinz, qui a travaillé pour Ferranti, développe le premier programme d'échecs fonctionnant sur un ordinateur, le Ferranti Mark I du Massachusetts Institute of Technology (MIT). Prinz apprend à programmer sur Ferranti Mark I en suivant des séminaires animés par Alan Turing.

### Turochamp contre Kasparov

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
À l'occasion de la The Alan Turing Centenary Conference du 22 au 25 juin 2012 célébrant les 100 ans de la naissance d'Alan Turing, une partie d'échecs est organisée entre Turochamp et Garry Kasparov, l'un des meilleurs joueurs de l'histoire du jeu d'échecs, soixante ans après la partie historique de mai 1952. Le programme est recréé par des experts en informatique, selon les règles conçues par Turing et Champernowne. Cependant, les experts butent sur certains coups décrits par Turing dans sa partie de 1952 que le programme moderne ne peut exécuter. Ken Thompson, un des pionniers des échecs en informatique, qui a notamment réalisé le premier ordinateur entièrement destiné aux échecs nommé Belle, tente de remédier au problème, mais, déconcerté, ne trouve pas de solution. Est alors contacté Donald Michie qui réalisa aussi un programme d'échecs en 1947-1948$^,$. Ce pionnier de l'intelligence artificielle rappelle que Turing n'était pas passionné par les détails et se focalisait sur les grandes idées et les principes généraux.
Intitulé Turing program vs Kasparov, le programme est joué sur un ordinateur portable, grâce au programme ChessBase qui permet de faire fonctionner le Turing Engine (nommé ainsi en mémoire d'Alan Turing)$^,$. La partie se termine sur la victoire de Kasparov en 16 coups$^,$. Malgré cette victoire très facile, Kasparov reconnait le contexte historique et la qualité de Turochamp qu'il qualifie, en raison de ses 60 ans, de premier jeu de l'histoire$^,$$^,$.
   « Turing a écrit les algorithmes sans même avoir d'ordinateur. De jeunes scientifiques ne croiraient même pas cela possible. Ce fut un accomplissement exceptionnel. »
— Garry Kasparov.