A la fois l’un des meilleurs joueurs d’Othello Reversi du Monde et auteur de Cassio, le meilleur programme sur Macintosh, Stéphane Nicolet nous explique comment son logiciel réfléchit et pourquoi il ravira aussi bien les débutants que les champions.
Sans doute connaissez-vous le jeu d’Othello, également connu sous le nom de Reversi. Comme le Go, il est très populaire au Japon, pays qui concentre la grande majorité des joueurs de compétition, soit environ 10 000. Il est pratiqué en France à haut niveau par une cinquantaine de joueurs dont quelques-uns sont de classe mondiale. Stéphane Nicolet, deux fois vice-champion du Monde et multiple champion de France, est l’un d’entre eux. C’est aussi l’auteur de Cassio, le meilleur programme tournant sur Macintosh. Grâce à une ergonomie et un graphisme très soigné, Cassio réussit l’exploit d’adresser aussi bien le joueur débutant que le champion qui l’utilisera quotidiennement pour s’entraîner.
Le programme Cassio bat systématiquement le Champion du Monde
Votre programme d’Othello/Reversi Cassio est-il capable de battre le champion du Monde ?
Stéphane Nicolet : Oui et très largement puisqu’il peut le battre systématiquement, même lorsqu’on limite son temps de réflexion à deux secondes par coup contre plusieurs minutes pour son adversaire humain.
Cela signifie-t-il que ce jeu est facile à programmer ?
S. N. : Il est facile de réaliser un programme capable de battre un débutant mais pour vaincre le champion du Monde, il faut compter trois années de développement. Pour ma part, j’ai commencé il y a 20 ans. Il faut ajouter qu’il est très difficile pour un humain de voir loin dans le jeu car de nombreux pions changent de couleur à chaque coup. Pour un ordinateur, cela ne pose aucun problème de mémoriser des milliards de positions potentielles. Cela dit, on constate le même phénomène aux Echecs, puisqu’un programme a battu le champion du Monde il y a déjà 14 ans.

Stéphane Nicolet, vice-champion du Monde
en 2007 (dans sa main droite, le chèque de
1500 dollars promis au finaliste)
Travaillez-vous seul sur Cassio ?
S. N. : Il y a un an, j’ai rendu Cassio modulaire afin que d’autres programmeurs puissent y brancher leurs propres moteurs d’intelligence artificielle. Deux d’entre eux, Bruno Causse et Richard Delorme, ont réalisé des moteurs particulièrement puissants. Le mien pouvait battre le champion du Monde moyennant 30 secondes de réflexion par coup. Ce sont leurs programmes qui y parviennent en deux secondes.
Cassio est-il donc réservé aux joueurs les plus forts ?
S. N. : Non car il s’adapte à tous les niveaux. Ainsi, à chaque fois qu’il perd deux parties de suite, il baisse d’un niveau jusqu’à se retrouver s’il le faut au niveau débutant. De plus, les graphismes ont été très soignés et il est particulièrement agréable à utiliser. Cela dit, le débutant délaissera de nombreuses fonctions comme l’analyse des parties sous forme de graphiques, la résolution de phase finale ou l’accès à la base de données de toutes les parties jouées en tournois depuis plus de 20 ans.
Le programme Cassio s’adresse aussi bien aux débutants qu’aux champions
Faut-il être un grand joueur pour réaliser un bon programme d’Othello ?
S. N. : En principe, il suffit d’être un bon programmeur et de bien connaître les principes de la stratégie. Mais lorsqu’on est un bon joueur, on utilise soi-même des programmes afin de s’entraîner. Cela m’a aidé à concevoir un logiciel ergonomique et adapté à mes besoins.
Pouvez-vous nous en dire plus sur la façon dont réfléchit Cassio ?
S. N. : Tout d’abord, il a une intelligence artificielle, ou IA, capable d’évaluer la valeur d’une position à un instant t. D’autre part, il anticipe les coups en regardant dans le futur. Plus précisément, il explore les possibilités en regardant plusieurs coups à l’avance, jusqu’à 20 à 30. En fonction de l’évaluation, par l’IA, des milliards de positions futures potentielles, il sélectionne le meilleur coup.
L’évaluation des positions repose-t-elle sur des critères spécifiés par le programmeur ?
S. N. : C’était le cas jusque dans les années 1990 et cela permettait déjà de faire de bons programmes. Mais depuis, on a fait jouer des programmes les uns contre les autres durant environ 10 millions de parties afin d’optimiser automatiquement les paramètres d’évaluation des positions. Ces paramètres correspondent à des notes attribuées à des structures de pions de différentes tailles – entre 4 et 11 pions. Parce qu’elles se comptent par millions, il serait impossible pour un humain de les noter une par une.
Le programme affine automatiquement son intelligence artificielle en jouant contre lui-même
Cassio se base-t-il sur des bibliothèques d’ouvertures pour jouer les premiers coups ?
S. N. : Oui mais seulement jusque vers le 10eme coup car je voulais faire un programme qui ne joue pas systématiquement les mêmes parties. D’autres programmes utilisent des bibliothèques pour jouer jusqu’au 30 ou 40eme coup voire davantage.
Comment Cassio va-t-il progresser dans les années à venir ?
S. N. : Depuis quelques mois, je travaille avec Bruno Causse et Richard Delorme afin de répartir l’exploration des coups sur plusieurs ordinateurs connectés et synchronisés via Internet. Récemment, nous avons atteint 15 Macintosh totalisant 40 cœurs de processeurs, ce qui nous a permis d’explorer les 31 derniers coups d’une partie en seulement une minute, soit l’évaluation de plusieurs milliards de positions.