Tristan Cazenave (Paris 8)

Métaprogrammation logique

Séminaire CHM du LIMSI

comment jouer au Go

L'écriture de programmes qui résolvent efficacement des problèmes dans des domaines très complexes est souvent une tâche longue et difficile. Elle est difficile, parce que les connaissances utiles aux programmes sont élaborées et difficiles à énoncer. Elle est longue, car il faut donner au programme un très grand nombre de connaissances. Pour le jeu de Go par exemple (le jeu à deux joueurs et à information complète le plus complexe), les meilleurs programmes ont demandé de nombreuses années de travail à leurs auteurs. Ils ont cependant un niveau très inférieur à celui des meilleurs joueurs humains. Dès lors, une approche méta de ce type de problèmes semble intéressante : au lieu d'essayer de programmer le comportement d'un bon joueur de Go, il peut être plus astucieux de programmer le comportement d'un bon programmeur de jeu de Go. Pour cela, nous avons utilisé des méthodes de métaprogrammation logique dans le système Introspect. A partir d'une définition logique d'un problème, Introspect écrit un programme pour résoudre ce problème. On présentera l'application au jeu de Go ainsi que d'autres applications et son auto-application.