Introduction

 

Sinterklaas, an old tradition rooted deeply in Dutch culture. First recorded celebrations of this December 5th holiday in the city of Utrecht date back as far as 1427.

 

Nowadays the celebration is held in mainly two varieties. Firstly there is the child oriented one, where children receive a (sometimes amazing) number of presents from “De Zak van Sinterklaas” (Sinterklaas’ bag). But when the children become of a certain age the celebrations change shape somewhat, and is identical to a more international tradition called “Secret Santa”. This is where the holiday becomes interesting for multi agent systems.

 

A group of family members, colleagues, friends, etc. comes together and turn in a ticket each, with their name on it and also a short list of their gift preferences. With all the tickets turned in every one picks one out, at random without reading it in advance. If someone picks out their own ticket, the whole drawing has to start over again.

 

With everybody having a ticket in their possession the goal is to go about shopping for presents, writing a witty poem pointing out the subjects faults and insecurities in a fun way and making a personalized cover for the presents usually inspired by the subjects hobbies or profession. The goal is to keep the name on your ticket a secret for as long as possible or at least until all presents are opened (in some cases the names are kept to oneself for eternity when the poems are of a particularly nasty tone).

 

For some reason there are always a phew people participating in the group who cannot handle secrets very well and will spy on other people taking part to try and find out who has who’s ticket. Inspired by the logics behind this process these people formed the inspiration for our final project for multi agent systems.

 

Program manual

 

The implementation allows the user to explore various possibilities coherent with his or her knowledge of the situation.

 

On the top left we have the number of agents slider, allowing two to four agents. Changing the slider will reset the model Underneath it are name fields in which the actual names of the people involved can be filled in, these names remain when the model is reset.

 

Next up is the negation checkbox, this allows the user to input knowledge about who does not have who. Leaving it unchecked will enter statements of the who does have whom kind.

 

The radio buttons on the bottom left allow the user to input knowledge they have about the tickets the other people in the group are holding.

 

The center field displays the agents in which information can be put in by dragging a line from one agent to another. Also when common or implicit knowledge arises it is displayed here. Green arrows depict implicit knowledge and red arrows are used for common knowledge. Since if something is common knowledge it also is implicit knowledge red lines are used when both are the case.

 

Please note that in our implementation implicit knowledge is only shown when is does not include contradictory atoms.

 

The field on the right displays the worlds and the relations between them. The line colours correspond to the agents as you would expect.

 

 

Project description

 

Our implementation allows the user to his or her knowledge about the situation. This includes the ticket he or she is holding, and the tickets the other people have, or do not have.

 

We will consider a number of situations, which are interesting in this context.

 

Firstly the situation with one agent, which is an impossible one since no one is allowed to hold his or her own ticket. So well will just let this person let draw a new ticket ad infinitum.

 

With two agents, there is one possible world, in which both agents hold each others ticket. Therefore without even looking at the tickets common knowledge arises for this world about both atoms.

 

With three agent the situation becomes a little bit more interesting once again. For the first time there is no common knowledge before looking at the tickets. There also isn’t any implicit knowledge. As soon as one of the agents reads her ticket implicit knowledge, depicting the actual situation arises (please try this in the implementation!). For common knowledge to arise all agents have to know at least one true fact. Also by adding information about who does not have whom common knowledge can be achieved.

 

The most interesting model available has four agents. As you can see in the model view this it is quite elaborate. A considerable amount of information has be filled in in order to achieve common knowledge.

 

You are encouraged to have a go with the implementation yourself !