Le dilemme du prisonnier est un des plus célèbres exemples de la théorie des jeux. Il vise à estimer les bénéfices des stratégies de coopération. Les règles sont simples et partent de la petite histoire décrite ci-dessous dont le jeu tire son nom.
Deux suspects porteurs d’armes ont été arrêtés devant une banque et mis dans deux cellules séparées. Les deux prévenus ne peuvent pas communiquer et doivent choisir entre avouer qu’ils s’apprêtaient à commettre un hold-up ou ne rien avouer. Les règles que le juge leur impose sont les suivantes :
- si l’un avoue et pas l’autre, celui qui avoue sera libéré en remerciement de sa collaboration et l’autre sera condamné à cinq ans de prison ;
- si aucun n’avoue, ils ne seront condamnés qu’à deux ans de prison, pour port d’arme illégal ;
- et si les deux avouent, ils iront chacun faire quatre ans de prison.
Lorsque le jeu est joué une seule fois, l’attrait de la dénonciation est très fort bien que la coopération soit la meilleure solution pour les deux joueurs. A défaut de connaître les intentions de l’autre, la dénonciation est souvent le premier choix. Mais en faisant jouer plusieurs fois de suite les mêmes joueurs, on commence à voir des stratégies comportementales se dessiner, chacun gardant la mémoire des choix précédents.
Ce projet a été donné aux étudiants de 1ère année du DUT informatique dans le cours d’UML en décembre 2007.
L’objectif du projet consiste à proposer un modèle UML d’une petite application permettant de mettre en oeuvre des tournois de stratégies jouant au Dilemme Itéré des Prisonniers, puis de proposer une implémentation en Java de cette application.