n´ecessaires. Vous pouvez commencer par coder d’abord le jeu dans sa ver-
sion 2 joueurs humains, utilisant a priori des fonctions telles que :
–config partie() →affiche un menu permettant de selectionner le
nombre de groupe et d’allumettes
–affiche plateau(θ)→affiche la configuration θdu jeu sur la console
–coups possibles(θ)→retourne, pour une configuration θ, tous les
coups jouables possibles. Si un joueur veut jouer un coup qui n’est pas
dans cette liste, le coup doit ˆetre interdit.
–joue coup(θ,humain)→joue un coup possible dans la configuration
θ, avec un bool´een humain d´efinissant si le coup est jou´e par un hu-
main (auquel cas on doit pr´evoir une m´ethode de saisie du coup), ou
par l’ordinateur (via MinMax).
Pour ce qui est de la partie intelligence artificielle, via le MinMax, vous
aurez besoin de fonctions telles que :
–config level() →affiche un menu pour choisir le niveau de l’IA.
–eval coup(θ)→´evalue la valeur de Φ pour une configuration. (On
supposera que Φ est `a valeur dans [0,1], rendant 0 pour un d´efaite et
1 pour une victoire).
–minmax(θ)→calcule le coup `a jouer par minmax pour un seul niveau
d’analyse (2 coups).
–minmax n(θ,n) calcule le coup `a jouer par minmax pour une anaylse
sur 2ncoups.
3 Pour aller plus loin
Dans cette section, vous trouverez diff´erentes pistes pour continuer le
projet. Vous pouvez les explorer dans l’ordre que vous voulez, en fonction
du temps que vous voulez leur accorder. Toutes font appel `a des recherches
actives de votre part, mais je reste disponible pour toutes vos questions. L’al-
gorithme MinMax, de par sa construction, est donc un algorithme exhaustif
qui construit l’arbre de toutes les configurations du jeu (pour une profondeur
d’analyse fix´ee) et choisit, a chaque coup, celui qui va minimiser les chances
de gagner de l’adversaire. N´eanmoins, la construction d’un tel arbre n’est
pas possible dans tous les cas car lorsque trop de branches sont possibles, les
temps de calculs deviennent prohibitifs ! Pour s’en convaincre, vous pouvez
tester la r´eactivit´e de votre programme quand le nombre d’allumette devient
grand et/ou que la profondeur de l’analyse du MinMax augmente.
→Recherche Bibliographique : Quelles sont les strat´egies envisag´ees
pour faire face `a ce probl`eme ? Expliquer moi rapidement les intˆerets de
5