# Game-Rule Learning

Three independent agents, the protagonist, antagonist, and the wannabe share an instantiation of our robotic testbed in this endeavour to learn board-game rules. Two of these, the protagonist and the antagonist, are given the rules of the game, while the wannabe is not. The protagonist and the antagonist then play a series of physically instantiated games of a particular kind, while the wannabe watches.

The wannabe then infers the rules of the game purely from visual-input. It then takes the place of one of the earlier players, say the antagonist, and uses the learned rules to drive physically instantiated play. Note that we aim to learn to play legally, not necessarily well.

An example of such a system, end-to-end, is shown here:

 Your browser does not support the video tag.

Shown below are the respective intial rules, robotic play to learn the rules, learned rules, and robotic play from learned rules for Tic-Tac-Toe, Hexapawn, and four variants of Hexapawn.

[To view larger videos, right-click on the video and select 'Open Video in New Tab']
• Tic-Tac-Toe
• Hexapawn
• Hexapawn Variant A
• Hexapawn Variant B
• Hexapawn Variant C
• Hexapawn Variant D
Initial Rules Learning Rules
```Every cache square for every player in the initial state has some piece of
that player.

A player moves by moving some piece of that player from some cache square for
that player to some empty board square.

A player wins when every square in some row has some piece of that player.
A player wins when every square in some column has some piece of that player.
A player wins when every square in some diagonal has some piece of that
player.

A player draws when no player wins and that player has no move.
```
Learned Rules Playing from Learned Rules
Initial Rules Learning Rules
```Every square in the close row for every player in the initial state has some
piece of that player.

A player moves by moving some piece of that player from some square to some
empty forward-adjacent square for that player of that square.
A player moves by moving some piece of the opponent of that player from some
forward-diagonal square for that player of some square to some cache square
for that opponent then moving the piece of that player from that square to
that forward-diagonal square.

A player wins when some square in the distant row for that player has some
piece of that player.

A player draws when no player wins and that player has no move.
```
Learned Rules Playing from Learned Rules