RICM 4 module Probabilités et Simulation
Devoir
Le travail se fait en binôme. Chaque binôme choisit un seul sujet parmi ceux proposés ci-après.
Le travail devra être envoyé par mail (deadline fixée ultérieurement) sous forme d’archive compressée
Nom1-Nom2.tar.gz
La structure de l’archive sera la suivante :
Nom1-Nom2/src/README
Nom1-Nom2/src/codes-sources
Nom1-Nom2/src/Makefile
Nom1-Nom2/doc/rapport.pdf
Nom1-Nom2/doc/HOWO
Nom1-Nom2/data/données expérimentales ayant servi pour votre rapport
Sujet du mail
[RICM4:PS] Rapport DM Nom1-Nom2
Tout travail qui ne sera pas rendu dans ce format ne sera pas évalué.
Sujet 1 : Mélange d’un jeu de 52 cartes
Dans tout jeu de hasard, le mélange des cartes est un élément crucial : en effet, un bon mélange permet une
distribution aléatoire des cartes, assurant par la même occasion que seule la chance influencera l’issue de la partie.
Question 1.1 : Algorithme de mélange des cartes
Ecrire un algorithme qui génère aléatoirement npermutations des 52 cartes (uniformément parmi
les 52! permutations possibles), où nest un paramètre. Pourquoi cette solution n’est pas utilisée en
pratique par les joueurs de carte ?
L’une des techniques de mélange de cartes les plus courantes est appelée “Riffle Shuffle”. Dans cette technique,
on tient environ la moitié du jeu de carte dans chacune de ses mains avant de soulever les cotés des cartes avec le
pouce en faisant glisser les piles de cartes l’une dans l’autre. Le mélange une fois terminé, les cartes ne forment
plus qu’une seule pile. Par exemple, sur un jeu de 13 cartes, on obtient :
Premièrement, couper le jeu :
1 2 3 4 5 6 et 7 8 9 10 11 12 13
Ensuite mélanger les deux tas :
7 1 8 2 3 9 4 10 5 11 12 6 13
Puis recouper :
7 1 8 2 3 9 4 10 et 5 11 12 6 13
Enfin re-mélanger :
5 7 1 8 11 12 2 6 3 13 9 4 10
Le but du projet est d’étudier le caractère uniforme d’un jeu de carte mélangé de cette manière. En particulier,
un résultat célèbre affirme que 7 répétitions successives du mélange “riffle shuffle” permet d’obtenir un résultat
uniforme sur l’ensemble des permutations du jeu de 52 cartes. Dans ce projet, nous utiliserons un modèle de ce
type de mélange proposé par Gilbert Shannon et Reeds (algorithmes 1 et 2).
Question 1.2 : Analyse des 2 algorithmes
Démontrer que les 2 algorithmes pour modéliser un mélange de cartes “riffle shuffle” aboutissent
à la même distribution sur les permutations, à savoir :
Q(σ) =
n+1
2nsi σ=id
1
2nif σa exactement 2 suites croissantes
0sinon
Polytech’ Grenoble UJF 1/ 7
RICM 4 module Probabilités et Simulation
Algorithme 1 Mélange “Riffle Shuffle 1”
MBinomial(52, 0.5)
Couper le jeu en les Mcartes du dessus et les 52 Mcartes du dessous
Choisir uniformément l’une des 52
Mfaçons de mélanger ces deux tas en conservant l’ordre à l’intérieur de
chaque tas.
Algorithme 2 Mélange “Riffle Shuffle 2”
MBinomial(52, 0.5)
Couper le jeu en les Mcartes du dessus et les 52 Mcartes du dessous
Les cartes des deux tas sont ajoutés une à une dans le jeu mélangé selon la règle suivante : si à un moment, le
tas de gauche contient acartes et le tas de droite contient bcartes, alors tirer une carte sur le dessus du tas de
gauche avec probabilité a
a+b, et sur le dessus du tas de droite avec probabilité b
a+b.
Une suite croissante d’une permutation σest un ensemble maximal de valeurs consécutives qui appa-
raissent dans l’ordre croissant : dans l’exemple, la permutation finale a 4 suites croissantes : (1, 2, 3,
4), (5, 6), (7, 8, 9, 10) et (11, 12, 13).
Question 1.3 : Test d’uniformité des 7 mélanges de type “riffle shuffle”
Proposer au moins 3 critères testant le caractère uniforme de la permutation obtenue après 7 mé-
langes successifs de type “riffle shuffle”. Utiliser ensuite l’un des algorithmes proposés pour simuler ce
mélange. Comparez les résultats avec ceux obtenus en utilisant le générateur uniforme de la Question
1.1.
Question 1.4 : Variation en fonction du nombre de mélanges
Pour les différents critères d’uniformité proposés, tracez la valeur moyenne en fonction du nombre
de mélanges effectués. Quelles conclusions portez-vous sur le nombre minimum de mélanges néces-
saires pour obtenir un jeu “bien mélangé” ?
Polytech’ Grenoble UJF 2/ 7
RICM 4 module Probabilités et Simulation
Devoir
Le travail se fait en binôme. Chaque binôme choisit un seul sujet parmi ceux proposés ci-après.
Le travail devra être envoyé par mail (deadline fixée ultérieurement) sous forme d’archive compressée
Nom1-Nom2.tar.gz
La structure de l’archive sera la suivante :
Nom1-Nom2/src/README
Nom1-Nom2/src/codes-sources
Nom1-Nom2/src/Makefile
Nom1-Nom2/doc/rapport.pdf
Nom1-Nom2/doc/HOWO
Nom1-Nom2/data/données expérimentales ayant servi pour votre rapport
Sujet du mail
[RICM4:PS] Rapport DM Nom1-Nom2
Tout travail qui ne sera pas rendu dans ce format ne sera pas évalué.
Sujet 2 : Apprentissage dans les jeux matriciels à deux joueurs
Un jeu matriciel à deux joueurs est la donnée d’un ensemble fini d’actions pour chaque joueur, et d’une fonction
de gain associée aux couples d’actions. Chaque joueur a une fonction de gain spécifique. Par exemple, on parle de
jeu à somme nulle lorsque ce que gagne le joueur 1 (noté J1) est l’opposé de ce que gagne le joueur 2 (noté J2).
Les échecs sont un exemple de jeu à somme nulle.
On représente souvent ces jeux sous forme d’une matrice de gain Apour J1, et une matrice de gain Bpour
J2. Ces deux matrices ont autant de lignes que d’actions pour J1 et autant de colonnes que d’actions pour J2. On
peut alors associer le choix d’une action par J1 au choix d’une ligne de la matrice, et au choix d’une colonne de la
matrice pour J2. Le gain de J1 (resp. J2) est à l’intersection de la ligne et la colonne choisies de la matrice A (resp.
matrice B). Bien entendu, les joueurs cherchent à maximiser leur gain.
Dans l’exemple suivant, les joueurs ont deux actions possibles. Si J1 choisit la ligne 2 et J2 choisit la colonne
1, alors le gain est 3pour J1 et 4pour J2. Nous utiliserons ces données dans la suite du projet.
A=6,0
3,2et B=0,1
4,3.
Dans de nombreux jeux, il est intéressant d’utiliser une stratégie aléatoire. Par exemple, dans le jeu “Pierre
Feuille Ciseaux”, un joueur qui choisit l’une des actions selon le résultat d’un générateur aléatoire uniforme sur
{1..3}ne perdra pas plus d’une fois sur deux en moyenne. Il peut, de plus, utiliser des informations statistiques sur
les choix de son adversaire pour augmenter cette moyenne : par exemple, il pourra tirer profit de l’observation que
l’adversaire joue, en moyenne, une fois sur deux “Pierre” (question : comment ?).
Nous noterons alors x(resp. y) la stratégie aléatoire de J1 (resp. J2), qui est un vecteur de probabilité
x= (x1, x2)(resp. y= (y1, y2)), où x1est la probabilité pour le joueur 1 de choisir la ligne 1, et x2est la proba-
bilité de choisir la ligne 2. L’objectif des joueurs est maintenant de maximiser leur espérance de gain.
Question 2.1 : Espérance de gain
Montrer que, étant donnée les stratégies xet ydes joueurs, l’espérance de gain de J1 (resp. J2) est
txAy (resp. txBy). Ici, xet ysont des vecteurs colonnes.
Question 2.2 : Stratégie optimale de J1
En supposant connue par J1 la stratégie y de J2, calculer une stratégie optimale, c’est-à-dire une
stratégie qui maximise l’espérance de gain pour le joueur 1 (faire cela pour toutes les valeurs de y).
Montrer qu’il existe toujours une stratégie déterministe, i.e. (0,1) ou (1,0), qui est optimale.
Polytech’ Grenoble UJF 3/ 7
RICM 4 module Probabilités et Simulation
On suppose maintenant que les joueurs n’ont pas connaissance de la matrice de gain de l’adversaire. Ils ne
peuvent donc pas présumer de la stratégie de l’adversaire. Ils peuvent néanmoins observer ses choix quand le jeu
est répété, et se servir de cette information. Le mécanisme proposé ici consiste pour chaque joueur à jouer une
stratégie optimale face à la distribution empirique des actions du joueur adverse. Chaque joueur a donc, à la partie
n, une croyance sur la stratégie de l’adversaire, notée X(n)(resp. Y(n)), qui correspond à la fréquence des choix
de J1 (resp. J2). Par exemple, à la septième partie, si J2 a choisi 5 fois la colonne 1 et deux fois la colonne 2, on a
Y(7) = (5
7,2
7). A la partie n, J1 choisira alors son action selon une stratégie optimale face à Y(n).
Le mécanisme d’apprentissage étudié dans ce projet est détaillé dans Algorithme 3.
Algorithme 3 Mécanisme d’apprentissage pour J1 (symétrique pour J2)
A la première partie (n= 1), J1 choisit une action initiale et observe l’action de J2.
répéter
Calculer Y(n)
Calculer une stratégie x(n)qui est optimale face à Y(n)
Choisir une action selon cette stratégie
Observer l’action de J2
n=n+ 1
jusqu’à n=NMAX
Question 2.3 : Convergence des croyances du mécanisme d’apprentissage
Tracer le graphe (X1, Y1)(n)de l’évolution des croyances quand J1 et J2 suivent le mécanisme
d’apprentissage (essayer plusieurs actions initiales). Que constatez-vous ? Les stratégies (x(n), y(n))
convergent-elles ?
Nous supposons maintenant que les gains donnés par la matrice sont soumis à un bruit aléatoire (c’est le cas si
les gains sont obtenus par des mesures physiques). Ce bruit est donc ajouté au gain de chaque joueur. Les matrices
de gain sont maintenant :
Abruit =6 + 1, 1
3 + 2,2 + 2et Bbruit =η1,1 + η2
4 + η1,3 + η2.
Ici, les variables aléatoires 1,2,η1et η2sont supposées indépendantes et distribuées selon la fonction de ré-
partition suivante : P[a] = exp(exp(a
η)), où η]0; [est un paramètre représentant le niveau de bruit
(spécifique de chacune des 4 variable aléatoire).
Les joueurs calculent maintenant leur stratégie de façon à maximiser leur espérance de gain après que les gains
aient été soumis au bruit aléatoire. De manière équivalente, sachant que (1,0)AY (n)est l’espérance de gain pour
J1 en choisissant la ligne 1, (0,1)AY (n)l’espérance de gain en choisissant la ligne 2, 1le bruit sur la ligne 1 et 2
le bruit sur la ligne 2, la stratégie du joueur 1 est donnée par x1(n) = P[(1,0)AY (n) + 1(0,1)AY (n) + 2].
y(n)s’obtient de la même manière.
Question 2.4 : Influence du niveau de bruit
Quelle est l’influence du niveau de bruit ηsur les stratégies x(n)et y(n)? Que se passe-t’il pour
η= 0 et η=?
Question 2.5 : Mécanisme d’apprentissage avec bruit aléatoire
Tracer l’évolution des croyances (X1, Y1)(n)et des stratégies (x1, y1)(n)pour différents niveaux
de bruits. Qu’observez-vous ?
Question 2.6 : Autres mécanismes d’apprentissage
Proposer un autre mécanisme pour jouer de façon répétée à ce jeu (avec ou sans bruit additionnel).
Le tester sur la même instance.
Polytech’ Grenoble UJF 4/ 7
RICM 4 module Probabilités et Simulation
Devoir
Le travail se fait en binôme. Chaque binôme choisit un seul sujet parmi ceux proposés ci-après.
Le travail devra être envoyé par mail (deadline fixée ultérieurement) sous forme d’archive compressée
Nom1-Nom2.tar.gz
La structure de l’archive sera la suivante :
Nom1-Nom2/src/README
Nom1-Nom2/src/codes-sources
Nom1-Nom2/src/Makefile
Nom1-Nom2/doc/rapport.pdf
Nom1-Nom2/doc/HOWO
Nom1-Nom2/data/données expérimentales ayant servi pour votre rapport
Sujet du mail
[RICM4:PS] Rapport DM Nom1-Nom2
Tout travail qui ne sera pas rendu dans ce format ne sera pas évalué.
Sujet 3 : Contrôle de réseau
On modélise un réseau de communication par un graphe non-orienté connexe G= (X, E). Pour "contrôler" le
réseau on décide d’implanter des "surveillants" sur certains nœuds du réseau. Un "surveillant" observe le nœud sur
lequel il est déployé ainsi que toutes les arêtes issues de ce nœud.
Une configuration Xdu réseau consiste en un ensemble de "surveillants" couvrant l’ensemble du réseau. On
souhaite déterminer le nombre minimal de surveillants nécessaires pour couvrir un réseau connexe de Nnœuds de
degré moyen d.
Question 3.1 : Générateur de graphe
Écrire un algorithme de génération aléatoire uniforme de graphe non-orienté connexe de degré
moyen d.
Question 3.2 : Test du générateur de graphe
Sur de petits exemples valider votre générateur.
Ce problème d’optimisation est connu pour être N P-complet (donc difficile à résoudre sans une énuméra-
tion des configurations possibles). Afin de rechercher un optimum Xon utilisera un algorithme probabiliste qui
effectue, à partir d’une configuration initiale une séquence de modifications (randomisées) conduisant asymptoti-
quement à l’optimal.
Le paramètre Test appellé paramètre de température et décroit au fur et à mesure de l’exécution de l’al-
gorithme. DXest une fonction qui sera minimale pour une "meilleure configuration". On prendra pour DXla
fonction
DX=|X|+λ|E(X)|,
avec E(X)l’ensemble des arêetes non couvertes par Xet λ > 1un coefficient que l’on ajustera en fonction de n.
Question 3.3 : Explications
Que se passe-t-il pour T= +, pour T= 0 ? Donner une intuition expliquant que Tdoit
décroitre "pas trop vite" ni "trop lentement".
Question 3.4 : Etude expérimentale sur un petit exemple
Polytech’ Grenoble UJF 5/ 7
1 / 7 100%