Vous êtes sur la page 1sur 4

ENSEM 2014-2015

1 Roland-Garros
On considère le problème d’un jeu de tennis à deux joueurs. On suppose que lors d’un échange de
balles, le joueur A a une probabilité p de gagner, et le joueur B a une probabilité q = 1 − p de gagner.
D’après la règle du jeu, il y a 17 scores possibles durant un jeu. Ce sont : 0-0, 0-15, 15-0, 0-30, 15-15,
30-0, 0-40, 15-30, 30-15, 40-0, 15-40, 40-15, Avantage B, Egalité, Avantage A, Jeu B, Jeu A. Dans les
scores chiffrés, le premier nombre désigne les points de A et le deuxième nombre désigne les points de B.
On représente le diagramme de transition d’un jeu par la figure 1.

Figure 1 – Diagramme de transition pour le jeu du tennis.

Exercice 1 Soit Yt l’état du système au tème échange de balles. Par quel modèle vu en cours pourrions
nous modéliser le processus (Yt )t∈N ? Quelle est la loi initiale du processus, i.e la loi de Y0 ?

Pour simplifier l’étude, on va considérer le jeu de tennis en deux étapes. Au début du jeu, le processus
est à valeurs dans les 12 premiers états, et en 4 ou 5 échanges, le processus atteint l’un des cinq états de
la ligne supérieure du diagramme de la figure 1. On appelle la première étape, le processus préliminaire.
La seconde étape est un processus similaire à une marche aléatoire à 5 états, dont les états Jeu A et
Jeu B sont absorbants.
On va décrire l’ensemble du jeu par une marche aléatoire (donc une chaı̂ne de Markov, notée Xn ) à 5
états : E = {1=Jeu B, 2=Jeu A, 3=Avantage B, 4=Egalité, 5=Avantage A}, et dont la loi initiale ν est
donnée par le processus préliminaire.

Exercice 2 Calculs

1
1. Décrire la marche aléatoire, en donnant sa matrice de transition P , et en montrant que sa loi initiale
ν = (ν1 , ν2 , ν3 , ν4 , ν5 ) est donnée par

ν = (q 4 (1 + 4p), p4 (1 + 4q), 4q 3 p2 , 6q 2 p2 , 4p3 q 2 ).

2. On note R = 1 si A gagne le jeu, et R = 0 si A perd. Quelles sont les probabilités P(R =


1|X1 = i), pour i = 1, . . . , 5 ? On pourra utiliser Matlab comme outil de calcul symbolique. Pour
cela, commencer un script avec syms p au début : cela signifie que Matlab considère p comme une
variable symbolique, non affectée à une valeur particulière.
3. Déduire de la question précédente pA = P(R = 1), la probabilité que le joueur A gagne le jeu.
Tracer pA en fonction de p (on prend p entre 0 et 1) avec Matlab.

Exercice 3 Simulation.
1. Simuler la chaı̂ne jusqu’à son absorption (arrêter la simulation dès que l’on a atteint l’état 1 ou 2).
function X=tennis(p)

% Rentrée des données


q=...;
P=...;
nu=...;

% initialisation : tirage d’une valeur de X(1)


init=...;

Construction de la cha^
ıne
X=...;

2. Soit p = 0.51. Simuler une fois la chaı̂ne jusqu’à absorption. Faire ensuite une fonction ou un script
Matlab pour simuler N = 100000 fois la chaı̂ne jusqu’à absorption. Créer un vecteur Y , de taille
N , tel que pour tout i = 1, . . . , N , Yi = 1 si A gagne dans la ième simulation, et Yi = 0 sinon (on
pourra utiliser le fait que dans Matlab, X(end) donne le dernier terme du vecteur X...). En déduire
une estimation de pA . Pourquoi est-ce bien une estimation de pA ?
3. Reprendre le vecteur Y précédent, mais avec seulement les 1000, 2000, 3000, ..., 70 000, 80 000,
90 000, 100 000 premiers termes. Représenter les différentes estimations obtenues, en fonction du
nombre de simulations effectuées. Qu’est ce que cela signifie ?

Exercice 4 Temps de jeu


1. Soit Tm le nombre d’échanges dans la marche aléatoire sur {1, . . . , 5} correspondante à la ligne
supérieure du diagramme de la figure 1. Calculez E(Tm |X1 = i) pour i = 1, . . . , 5 en remarquant
que Tm est en fait un temps d’absorption.
2. Déduire
P5 de la question précédente E(Tm ). On utilisera la propriété suivante : E(Tm ) = E(E(Tm |X1 )) =
i=1 E(T m |X1 = i)P(X1 = i). C’est une propriété du conditionnement.
3. Soit Tp le nombre d’échanges dans la partie préliminaire du jeu. Calculer E(Tp ). Combien d’échanges
T y-a-t-il, en moyenne, dans le jeu ? Tracer E(T ) en fonction de p (on prend p entre 0 et 1).

2
2 Rappels sur la simulation de variables aléatoires discrètes
2.1 Simulation d’une loi uniforme sur [0,1]
Quasiment tous les logiciels de mathématiques savent simuler une loi uniforme sur [0, 1]. Par exemple,
dans Matlab, la fonction rand tire un nombre entre 0 et 1, selon la loi uniforme sur [0, 1]. Si on veut une
réalisation de U ∼ U ([0, 1]), il suffit d’écrire dans Matlab u=rand. Si on veut n réalisations de U , il suffit
d’écrire u=rand(1,n).

2.2 Simulation d’une loi de Bernoulli


Soit X une variable aléatoire de loi de Bernoulli, de paramètre p ∈ [0, 1] : P(X = 0) = 1 − p, P(X =
1) = p.
Remarque: Soit U ∼ U ([0, 1]). Alors X et 1U <p ont la même loi.
En effet : 1U <p ne peut prendre que 2 valeurs : 0 et 1, et P(1U <p = 0) = P(U ≥ p) = 1 − p et
P(1U <p = 1) = P(U < p) = p.
Si on veut simuler une loi de Bernoulli de paramètre p, il suffit donc de simuler 1U ≤p . On procède
ainsi, avec Matlab :

function b=Bernoulli(p)
u = rand;
b = (u<p);

2.3 Simulation d’une loi discrète

P aléatoire à valeurs dans {x1 , . . . , xN }, et de loi p = (p1 , . . . , pN ).


Plus généralement, soit X une variable
C’est-à-dire : ∀i, P(X = xi ) = pi et i pi = 1.
Remarque: Soit U ∼ U ([0, 1]). Alors X et x1 1U <p1 + x2 1p1 ≤U <p1 +p2 + . . . + xN 1p1 +...+pN −1 ≤U <1 ont la
même loi.
En effet, la variable aléatoire Y = x1 1U <p1 +x2 1p1 ≤U <p1 +p2 +. . .+xN 1p1 +...+pN −1 ≤U <1 peut prendre ses
valeurs dans {x1 , . . . , xN } et pour tout 1 ≤ i ≤ N , P(Y = xi ) = P(p1 + . . . + pi−1 ≤ U < p1 + . . . + pi ) = pi
avec la convention p0 = 0 ici.
Si on veut simuler X, il suffit donc de simuler Y = x1 1U <p1 +x2 1p1 ≤U <p1 +p2 +. . .+xN 1p1 +...+pN −1 ≤U <1 .
On procède ainsi, avec Matlab :

function simul=LoiDiscrete(x,p)
u = rand;
PC = cumsum(p);
index = min(find(PC>u));
simul = x(index);

On peut même mettre un vérificateur :

if(abs(sum(p)-1)>0.0001)
error( ’ votre loi n’’est pas une probabilité !’ )
end

3
2.4 Simulation d’une chaı̂ne de Markov à temps discret
Soit Xn une chaı̂ne de Markov. Soit P une matrice de probabilités de transition. Soit init l’état initial
de la chaı̂ne de Markov : X0 = init. On veut proposer un programme de simulation en Matlab de la
chaı̂ne X1 , . . . , Xn jusqu’à un pas n donné.
Pour faire simple, on suppose que l’espace d’états E de la chaı̂ne de Markov est E = {1, . . . , K}.
Remarque: En Matlab, on ne peut pas écrire X(0), donc on pose X(1) = init, i.e. on commence la
chaı̂ne en 1. C’est juste une question de notation.

On propose l’ébauche de programme suivante :


function X =Markov(P,n,init)
% Définition de l’espace d’états
E=...........

% Initialisation de la cha^
ıne
X=zeros(1,n);
X(1)=init;

% Construction de la cha^
ıne, avec une boucle for, et en utilisant la fonction LoiDiscrete
......................
......................
......................

Vous aimerez peut-être aussi