LOLAI - Arena est un projet visant à créer une interface, une “arène” permettant à des bots de s’affronter dans plusieurs jeux différents. Il est ouvert aussi bien aux débutants en programmation souhaitant expérimenter l’écriture de bots qu’aux personnes désireuses d’explorer sérieusement l’écriture de bots compétitifs.i
Toute la communication entre les bots et l’arène se fait par les entrées/sorties standards (stdin/stdout) et permet donc d’utiliser à peu près n’importe quel langage pour l’écriture des bots.
L’arène se présente comme un serveur web (tournant sous python/bottle) permettant de lancer des confrontations et d’obtenir des résultats détaillés.
Github : https://github.com/yquemener/LOLAI-Arena
Le premier jeu mis en place est le dilemme du prisonnier. Le deuxième est une simulation économique.
La page wikipédia est bien détaillée : http://fr.wikipedia.org/wiki/Dilemme_du_prisonnier.
Deux prisonniers qui n’ont pas la possibilité de communiquer entre eux sont accusés d’un même crime. Ils sont alors intérrogés en même temps et ont la possibilité de soit dénoncer leur partenaire ou bien de le couvrir et donc de ne pas le dénoncer.
La sentence qui tombe sur les deux prisonniers dépends du choix de chacun. Il y a quatre possibilités qui s’offrent à eux :
Formulé de cette manière, il apparait évident que les prisonniers ont intérêt à se protéger mutuellement et ne dénonçant pas leur coéquipier. Néanmoins, il ne peuvent communiquer entre eux et le fait que le choix de dénoncer son camarade implique toujours une meilleur issue que de ne pas le dénoncer crée une tentation…
Plusieurs parties sont jouées. On peut très bien voir une partie en une manche, une seule question et une seule issue très importante. Pour autant, on peut également imaginer qu’on répète cette situation et que les prisonniers ont la capacité de se souvenir des coups d’avant. On parle alors du dilemme itératif du prisonnier.
Dans ce jeu, on simule la production de blé, sa transformation en farine et la vente de blé et de farine sur des marchés dynamiques. Les règles du jeu détaillées sont décrites dans /Games/Market/doc/rules En voici une version simplifiée:
Chaque bot représente un agent économique qui peut posséder des moulins et des fermes, acheter et vendre du blé et de la farine.
Boulangeries De France et De Navarre.
Les fermes produisent du blé, les moulins transforment le blé en farine, et la farine est vendue “au moins offrant” à une masse de consommateurs simulés par l’arène.
Les agents commencent la simulation avec assez d’argent pour acheter un moulin ou une ferme, mais pas les deux. Il leur faudra donc tenter de faire un bénéfice en échangeant le blé au sein d’un marché.
Chaque tour, l’arène achète au plus 50 unités de farine au prix le plus bas disponible sur le marché. Le but est de créer un bot capable d’engranger plus de bénéfices que ses adversaires.
L’arène execute pour l’instant ce jeu en 300 rounds et fournit plusieurs informations sur le déroulement du match sous forme graphique : screenshot