Learning Class? game strategies

Short master topic / Sujet de TER

Class? is a fun card game involving hidden information, randomness, and logical constraints that can be played at different levels. It is thus prone to the development of dedicated strategies. The goal of the internship is to develop such a strategy using advanced techniques and to analyse Class? properties.

Class? is a card game that can be considered as both strategic and logical [1]. In the beginning of the game, players receive cards showing geometrical patterns. One of the players, called the knower, also receives a classification. In this classification, cards are grouped into classes, which are themselves related via subclass relations. Then, players play turn-by-turn by adding cards to the classes spread on the table. If a player (who is unaware of the classification) makes a mistake (i.e. she misclassifies some cards), then she takes back to her hand the cards that she played and takes an additional card from the deck. The goal of the game is to get rid of all the cards, and, for the guesser, to guess the classification too.

The game is also implemented so that it is possible to play against a computer [2]. Different agents, using different strategies, are available to play against. This implementation features an API so that anyone can program an agent playing with a specific strategy [3]. It is possible to use the API for playing against a person or against different agents. Hence, in principle, it is possible to program an agent learning by first playing against existing agents and then playing against itself.

The purpose of the internship is to experiment with modern techniques in order to learn strategic knowledge to play Class?. The choice of the technique to apply is open and may depend on the student motivation. There are several options such as constraint solving, game theory, reinforcement learning, neural networks, tree search, or evolutionary computation.

The work could be expected to unfold as follows:


This is a joint project between Université Grenoble Alpes and University of Tsukuba

Advisor: Jérôme Euzenat (mOeX team, LIG/INRIA, Jerome:Euzenat#inria:fr) and Pr Koji Hasebe (University of Tsukuba)

Place of work: The first part of the work (spring: February-May) will be carried out at INRIA Grenoble Rhône-Alpes, Montbonnot (near Grenoble, France) a main computer science research lab, in a stimulating research environment.

The second part (summer: June-August) will take place at the University of Tsukuba (close to Tokyo, Japan).