MineSweeper 2001 - Le concours de Paris.pm
O'Reilly France a fait cadeau aux Mongueurs de Perl d'une série de livres, T-shirts, et multiples ``goodies''.
Afin de distribuer ces cadeaux de la manière la plus équitable et perlienne possible, ce concours de programmation est organisé.
Ces cadeaux sont en possession de Philippe ``BooK'' Bruhat, qui est également à l'origine de ce concours.
Il est fourni aux joueurs une archive tar compressée comprenant les fichiers suivants :
L'archive est téléchargeable à http://www.mongueurs.net/concours/2001/mine.tgz .
Un robot doit, pour pouvoir participer au concours, implémenter les méthodes suivantes :
Exemple :
ce que connait le robot :
*100
1100
0000
ce qu'il a en mémoire :
$mine = [ [ '*', '1', '0', '0' ],
[ '1', '1', '0', '0' ],
[ '0', '0', '0', '0' ] ]
ce que mine retourne :
'*10011000000'
Les coordonnées sont indexées à partir de 0. Le point origine (0,0) est en haut à gauche de la grille.
Quand le robot renvoie son idée de la grille, il renvoie une chaîne, comme indiqué précédemment. Les marqueurs sont :
sweeper est un programme de test fonctionnant de la même façon que les juges. Tout programme écrit avec les interfaces décrites ci-dessus devrait fonctionner avec sweeper, et avec les juges. Cependant, il n'est pas complet, et n'est fourni qu'à des fins de test.
Un robot qui ne marche pas avec sweeper sera éliminé. S'il marche avec sweeper et pas les juges, BooK se grattera la tête pour comprendre et essayer de réparer tout ça... (Si des juges différents de sweeper sont écrits...)
Seul le résultat fourni par les juges (informatiques) est pris en compte par les juges (humains) pour le concours. En particulier, les juges pourront tenir compte du temps d'exécution dans le score final ou pour départager deux gagnants.
sweeper permet avec l'option -v de voir l'évolution des recherches de votre robot. Ca peut être joli à regarder...
Les scores pour chaque grille jouée sont calculés de la façon suivante :
Quel que soit la façon de le robot procède, il existe toujours des situtations indéterminées où plusieurs solutions sont possibles.
Chaque participant peut fait concourir autant de robots qu'il le désire. Dans le cas où plusieurs de ses robots seraient éligibles pour des prix, il ne gagnera que le plus important de ces prix.
Les prix en jeu sont :
L'attribution des prix n'est pas encore déterminée. Il y en aura probablement pour les participants dans toutes les zones du spectre des scores. En effet, les livres permettent aussi de s'améliorer...
Les juges (humains), après application des règles, et compte tenu des scores et de l'approche des codeurs, pourront faire preuve de l'arbitraire le plus total, en fonction de leur sens moral, esthétique ou de l'humour.