f(X) = | 0 | 2/3 | 2/3 | X |
1/3 | 0 | 0 | ||
1/3 | 0 | 0 |
Dj = | (2/3)j | 0 | 0 | P−1 = (1/4) | 1 | 1 | 1 | ||||
0 | (−2/3)j | 0 | − 1 | 1 | 1 | ||||||
0 | 0 | 0 | 0 | 2 | − 2 | ||||||
P = | 2 | − 2 | 0 | P Dj = | 2 (2/3)j | − 2 (−2/3)j | 0 | Mj = (1/4) | 2 (2/3)j + 2 (−2/3)j | ... | ... |
1 | 1 | 1 | (2/3)j | (−2/3)j | 0 | (2/3)j − (−2/3)j | ... | ... | |||
1 | 1 | − 1 | (2/3)j | (−2/3)j | 0 | (2/3)j − (−2/3)j | ... | ... |
état k | boule tirée | état k+1 |
Xk = 1 | 1 | Xk+1 = 1 |
2 | Xk+1 = 2 | |
3 | Xk+1 = 3 | |
Xk = 2 | 1 | Xk+1 = 1 |
2 | Xk+1 = 2 | |
3 | Xk+1 = 1 | attention ! |
Xk = 3 | 1 | Xk+1 = 1 |
2 | Xk+1 = 1 | attention ! |
3 | Xk+1 = 3 |
k = | 1 | 2 | 3 |
P(X1 = k) = | 1/3 | 1/3 | 1/3 |
tirage n = | 1 | 2 | 3 | 4 | 5 | 6 |
boule = | 2 | 3 | 2 | 2 | 1 | 3 |
Xn = | 2 | 1 | 2 | 2 | 1 | 3 |
Program simul ; var i, k, X, tirage : integer ; Begin Readln(k) ; X := random(3) + 1 ; ← X reçoit une valeur entre 1 et 3 (premier tirage) ← X contient alors X1 For i := 2 to k do ← on effectue les tirages 2 à k begin tirage := random(3) + 1 ; ← tirage d'un numéro de boule entre 1 et 3 ← X contient le tirage précédent : Xi−1 If X = 1 then ← le X précédent : Xi−1 valait 1 X := tirage ← X = Xi reçoit le numéro de la boule : tirage else If tirage <> X then ← le X précédent : est différente de la valeur tirée X := 1 ; ← X = Xi reçoit 1 end ; ← le cas qui n'a pas été traité est ← celui où X précédent = tirage ← mais dans ce cas Xi = Xi−1 ← il n'y a pas besoin de remplir X Writeln(X) ; ← on écrit le dernier X calculé : Xk End
état k | boule tirée | Proba. cond.(Boule) | état k+1 |
Xk = 1 | 1 | 1/3 | Xk+1 = 1 |
2 | 1/3 | Xk+1 = 2 | |
3 | 1/3 | Xk+1 = 3 | |
Xk = 2 | 1 | 1/3 | Xk+1 = 1 |
2 | 1/3 | Xk+1 = 2 | |
3 | 1/3 | Xk+1 = 1 | |
Xk = 3 | 1 | 1/3 | Xk+1 = 1 |
2 | 1/3 | Xk+1 = 1 | |
3 | 1/3 | Xk+1 = 3 |
Xk = 1 | Xk = 2 | Xk = 3 | |
Xk+1 = 1 | 1/3 | 2/3 | 2/3 |
Xk+1 = 2 | 1/3 | 1/3 | 0 |
Xk+1 = 3 | 1/3 | 0 | 1/3 |
vérif. | ∑ = 1 | ∑ = 1 | ∑ = 1 |
P(Xk+1 = 1) | = Uk+1 = | 1/3 | 2/3 | 2/3 | × Uk = | P(Xk = 1) |
P(Xk+1 = 2) | 1/3 | 1/3 | 0 | P(Xk = 2) | ||
P(Xk+1 = 3) | 1/3 | 0 | 1/3 | P(Xk = 3) |
Ak = ∑j=0k (kj) (1/4) | 2(2/3)j + 2(−2/3)j | ... | ... | (1/3)k−j |
(2/3)j − (−2/3)j | ... | ... | ||
(2/3)j − (−2/3)j | ... | ... |
Ak = (1/4) | ∑j=0k (kj) [ 2(2/3)j + 2(−2/3)j ] (1/3)k−j | ... | ... |
∑j=0k (kj) [ (2/3)j − (−2/3)j ] (1/3)k−j | ... | ... | |
∑j=0k (kj) [ (2/3)j − (−2/3)j ] (1/3)k−j | ... | ... |
Ak = (1/4) | ∑j=0k (kj) 2(2/3)j (1/3)k−j + ∑j=0k (kj) 2(−2/3)j (1/3)k−j | ... | ... |
∑j=0k (kj) (2/3)j (1/3)k−j − ∑j=0k (kj) (−2/3)j (1/3)k−j | ... | ... | |
∑j=0k (kj) (2/3)j (1/3)k−j − ∑j=0k (kj) (−2/3)j (1/3)k−j | ... | ... |
Ak = (1/4) | 2 [ (2/3) + (1/3) ]k + 2 [ (−2/3) + (1/3) ]k | ... | ... |
[ (2/3) + (1/3) ]k − [ (−2/3) + (1/3) ]k | ... | ... | |
[ (2/3) + (1/3) ]k − [ (−2/3) + (1/3) ]k | ... | ... |
Ak = (1/4) | 2 [ 1 ]k + 2 (−1/3)k | ... | ... |
[ 1 ]k − (−1/3)k | ... | ... | |
[ 1 ]k − (−1/3)k | ... | ... |
Ak = (1/4) | 2 ( 1 + (−1/3)k ) | ... | ... |
1 − (−1/3)k | ... | ... | |
1 − (−1/3)k | ... | ... |
Uk = | P(Xk = 1) | = Ak U0 = (1/4) | 2 ( 1 + (−1/3)k ) | ... | ... | × | 1 | = | (1/2) ( 1 + (−1/3)k ) |
P(Xk = 2) | 1 − (−1/3)k | ... | ... | 0 | (1/4) ( 1 − (−1/3)k ) | ||||
P(Xk = 3) | 1 − (−1/3)k | ... | ... | 0 | (1/4) ( 1 − (−1/3)k ) |
function eps ( k : integer ) : real ; ← eps est la variable réelle qui est retournée ← c'est aussi le nom de la fonction var a : real ; ← a contiendra (−1/3)k i : integer ; begin a := 1 ; ← on initialise le produit à 1 ← ( alors qu'une somme s'initialise à 0 ) for i: = 1 to k do a := a * ( − 1/3) ; esp := (7/4) − (3/4) * a ; ← variable que l'on retourne end