Dans la newsletter du Site du Zéro émise à la fin du mois de mai, il était fait mention d'un concours de programmation qui commencerait cet été :
Citation : M@teo21 dans la newsletter de MaiUn certain nombre de membres du site sont en train de préparer un nouveau concours de programmation pour cet été. Si rien n'est encore prêt, on sait déjà sous réserve que ce devrait être un concours ouvert à tous, quel que soit votre niveau, de création d'intelligence artificielle. Et que le thème devrait être "explosif". Vous pourrez utiliser le langage de votre choix (C, C++, Java, PHP, Python, Pascal...).
Aujourd'hui, avec les efforts de
lastsseldon,
coucou747 et
moi-même, ce concours est prêt et lancé pour tous les membres de ce site sachant programmer. Précisons un peu le sujet, puis les contraintes techniques pour participer pour enfin finir sur une chronologie des différents événements durant le temps du concours.
Le sujet
Décortiquons un peu les informations données dans l'indice de M@teo21 il y a un mois et demi : ce concours consistera à programmer une intelligence artificielle sur un thème « explosif ». Détaillons maintenant tout ça pour mieux comprendre.
Programmer une IA ?
Eh oui, ce que vous aurez à programmer cette fois ne sera pas un jeu de Sudoku ou un générateur de labyrinthes comme lors des deux derniers concours de programmation. Nous allons programmer une intelligence artificielle qui aura pour but de jouer à un jeu : le Bombazéro. Avant de préciser les règles de ce jeu, j'aimerais rappeller quelque chose : ce concours est ouvert à tous, quel que soit le niveau, tant que vous maîtrisez un minimum l'un des langages de programmation proposés pour participer. En effet, même si la programmation d'IA est un domaine de recherche très pointu, tout est fait en sorte pour que vous puissiez participer et réaliser des choses amusantes avec un niveau minimal et sans trop de connaissances en algorithmie.
À vrai dire, c'est plus les choix stratégiques que vous allez effectuer qui primeront que les techniques que vous utiliserez pour les mettre en place. De ce fait, vous pourrez réaliser de très bonnes intelligences artificielles pour ce concours sans connaitre trop de choses, mais il vous faudra beaucoup de réflexion sur le sujet pour arriver à quelque chose de conséquent qui utilise tous les éléments des règles à votre avantage

.
Le Bomberman revisité : Bombazéro
Ça, c'est en effet explosif. Votre mission, si vous l'acceptez, sera de coder une intelligence artificielle pour un joueur de Bombazéro.
En quoi ce jeu consiste ?
4 champions (c'est le petit nom qu'on donne aux intelligences artificielles qui jouent au Bombazéro chez nous) s'affrontent sur une carte constituée de 25x25 cases. Ils jouent chacun leur tour, et leur but est d'anéantir les autres joueurs. C'est plutôt classique, mais il y a quelques subtilités qui sont présentées et documentées plus en détail sur
la page dédiée aux règles sur le wiki du concours.
Du côté du code, vous avez tout un panel de fonctions utilisables vous permettant soit d'agir (se déplacer ou poser une bombe), soit de vous informer sur l'état du jeu. Voyez
ici pour la liste de ces fonctions (et des constantes associées).
Sur le plan technique
Que me faut-il pour participer ?
Juste de quoi tester vos champions sur votre ordinateur. La procédure d'installation et la configuration du logiciel que vous utiliserez, Stechec, est précisée sur
le wiki du concours.
Les langages autorisés
Tous les langages ne sont pas utilisables pour participer au concours, et ce pour une raison que vous verrez dans la suite de la news. Ils se limitent à ceux-ci :
- Sous Windows :
- C ;
- C++ ;
- Java ;
- OCaml ;
- PHP.
- Sous Linux et les autres systèmes :
- Ada ;
- C ;
- C# ;
- C++ ;
- Haskell ;
- Java ;
- Javascript ;
- Lua ;
- OCaml ;
- Pascal ;
- Perl ;
- PHP ;
- Python ;
- Ruby.
Compétition
Lorsque vous vous inscrirez au concours sur le Site du Zéro, un compte vous sera automatiquement créé sur un
site web à part. Ce site web, qui ouvrira dans une semaine, vous permettra de mettre en ligne vos champions et de lancer des matches entre les champions inscrits. Vous pourrez également visionner les matches directement dans votre navigateur pour voir les faiblesses (ou les points forts) de vos champions en situation réelle.
À partir de là, un tournoi sera lancé chaque semaine entre tous les champions inscrits au site. Ce tournoi permettra d'obtenir un classement temporaire de tous les champions inscrits pour voir qui se débrouille le mieux. Cependant, il ne compte pas dans la note finale : seul le dernier tournoi, qui se déroulera le 28 aout, terminera le concours avec un classement final.
Communication
Tout d'abord, pour les informations importantes,
le wiki du concours sera régulièrement tenu à jour avec ce qu'il faut savoir. Si vous avez des questions, nous vous invitons à les poser dans le forum dédié au concours, sur ce site.
Il n'est pas interdit (comprendre : c'est encouragé) de s'entraider pour trouver des stratégies efficaces. Cependant, veuillez éviter de poster du code tout fait : ça n'aide pas à réfléchir et le concours n'a plus d'intérêt si tout le monde raisonne de la même manière. Il faut cependant savoir qu'à l'issue du concours, le code de tous les champions qui ont été inscrits sur le site du concours sera distribué, car cela peut être intéressant de voir quels furent les meilleures stratégies mises en place durant ce concours.
Chronologie
- 10 juillet : lancement du concours.
- 17 juillet : ouverture du site web.
- 24 et 31 juillet, 7, 14 et 21 aout : tournois intermédiaires à but informatif, le classement n'y compte pas.
- 28 aout : tournoi final qui comptera pour le classement.
- 1er septembre : annonce des résultats.
Tout est dit, je vous souhaite donc un bon courage, et n'hésitez pas à participer : vous n'avez rien à y perdre mais une bonne expérience à y gagner

.
Liens importants
249 Participations
Connectez-vous !
Connectez-vous !
Revenir à la liste des news