samedi 29 mars 2008

Combien dure une partie de bataille?

Ce post est un exemple de mathématiques appliquées au bonheur familial. Ma fille Perrine a découvert l'interminable (?) jeu de bataille, et elle veut que je joue avec elle. Je me suis amusé à quelques simulations, histoire de savoir à quoi je m'engage exactement en lui disant oui.

Ci-dessus la distribution de la longueur des parties, pour 2000 donnes. Il y a deux versions qui diffèrent par la manière dont l'ex-aequo (la "bataille") est traité. En bleu: on rejoue et celui qui gagne empoche les 4 cartes; en rouge: on ajoute d'abord chacun une carte retournée avant de rejouer, et celui qui gagne empoche les 6 cartes. C'est assez surprenant de voir comme le fait d'ajouter des cartes retournées raccourcit sensiblement les parties (bien que je compte la mise des cartes retournées comme un coup). J'avais a priori imaginé le contraire, parce que les cartes retournées auraient pu etre une manière de filer des bonnes cartes à un adversaire qui aurait eu un mauvais jeu et n'auraitpas eu la possibilité de les gagner à la régulière. Ca aurait pu équilibrer les forces, mais apparemment c'est autre chose.

Quoi qu'il en soit, c'est quand meme tres long. Une partie sur deux dure plus de 270 coups dans le premier cas, et 200 coups dans le second. On peut raccourcir le jeu en n'utilisant pas tout le jeu. Encore une fois, la "bataille" a un drole d'effet. Ci-dessous les distributions de longueur des parties pour un jeu de quatre couleurs de 6 cartes (bleu) ou de deux couleurs de 12 cartes (rouge).

Ces deux jeux different par la fréquence d'occurrence des ex-aequo (qui est plus grande pour le bleu). Les parties les plus courtes sont obtenues avec le jeu qui rend les "batailles" les plus probables. Pourquoi?

5 commentaires:

NJ a dit…

Une question: ce serait quoi la distribution des coups pour deux joueurs possédant exactement le même jeu au départ, en tenant compte de toutes les combinaisons de "mélangeé" des cartes possibles ?

Statistiquement, quelqu'un qui au départ a un meilleur jeu a plus de chances de tomber sur une carte plus forte que son adversaire lors d'une bataille, et a donc plus de chance de piquer les bonnes cartes à son adversaire. Une autre façon d'illustrer le problème serait donc peut-être de représenter le nombre de cartes par joueur en fonction du nombre de coups joués. Si mes souvenirs d'interminables parties de cartes avec Mère-Grand son exacts, au début, le jeu se traîne; au bout d'un moment, ça s'emballe et un des deux perd ses cartes à la vitesse grand V.

NJ

Anonyme a dit…

Bonjour,

Vous l'avez faite comment votre simulation ?

J'imagine que c'est avec un tableur, mais j'aimerai bien en savoir plus.

Cédric Gommes a dit…

Bonjour David,
je n'utilise pas de tableur. C'est un petit programme que j'ai fait sous Matlab. Si vous le voulez, je peux vous envoyer le code.

Anonyme a dit…

Ah ok, eh bien je ne pense que ce soit nécessaire : je ne connais matlab.

Je veux bien le principe toutefois, si cela ne vous dérange pas.

Cédric Gommes a dit…

Le principe est le plus bete qui soit.

J'ai deux vecteurs qui contiennent les valeurs des cartes des deux joueurs. Je fais une boucle, et à chaque pas je compare les valeurs d'une extremité des vecteurs. Je deplace ensuite ces valeurs à l'autre extrémité du vecteur gagnant.

J'arrete quand un des vecteurs est vide.

C.