22
8INF430 1 Algorithmes probabilistes On suppose l’existence d’un générateur de nombres aléatoires dont l’utilisation se fait à coût unitaire. Définition: Soit a b , deux nombres réels. La fonction uniforme(a,b) retourne une valeur x choisie de façon aléatoire et uniforme dans l’intervalle [a,b]

8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

Embed Size (px)

Citation preview

Page 1: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 1

Algorithmes probabilistes

On suppose l’existence d’un générateur de nombres aléatoires dont l’utilisation se fait à coût unitaire.

Définition: Soit a b , deux nombres réels. La fonction uniforme(a,b) retourne une valeur x choisie de façon aléatoire et uniforme dans l’intervalle [a,b]

Page 2: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 2

Définition: Si a et b sont deux entiers, alors la fonction uniforme(a,b) retourne la valeur entière a ≤ v ≤ b avec probabilité 1/ (b-a+1)

Définition: Si S est un ensemble fini non vide, alors uniforme(S) retourne la valeur v S avec probabilité 1/|S|

Page 3: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 3

Nombres aléatoires et pseudo-aléatoire

Dans les années 50: Certains ordinateurs possèdent des dispositifs apparemment aléatoires:

–compteur de particules cosmique,

–bit le moins significatif de l’horloge

Impopulaire car il devient impossible de répéter l’exécution d’un calcul:

–Programmes difficiles à déboguer

–Difficile de comparer l’exécution de deux programmes

Page 4: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 4

Pour certaines applications le vrai hasard est important:

–loteries

–cryptographie

En pratique, on utilise des générateurs de nombres pseudo-aléatoires.

Page 5: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 5

Définition: Une séquence de nombres est dite pseudo-aléatoire si elle est générée de façon déterministe mais semble avoir été produite de façon purement aléatoire (passe avec succès certains tests statistiques).

Page 6: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 6

Exemple: [Méthode linéaire congruentielle]

Choisir minutieusement 4 nombres:

1. m: le modulo (m > 0)

2. a: le multiplicateur (0 ≤ a < m)

3. c: le saut (0 ≤ c < m)

4. x0: la valeur de départ (0 ≤ x0 < m)

La séquence de nombres pseudo-aléatoires est:

xn+1 = (aXn + c) mod m

Certains auteurs recommendent (entre autres):

m=231 - 1, a =16807, c = 0.

Page 7: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 7

Fait: La caractéristique fondamentale d’un algorithme probabiliste est qu’il peut se comporter différemment lorsqu’il est appelé deux fois avec les mêmes paramètres.

Définition: Le temps d’exécution espéré d’un algorithme probabiliste est le temps moyen de l’algorithme sur une entrée donnée.

Remarque: Ne pas confondre temps espéré et temps moyen.

Page 8: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 8

Exemple: Quicksort prend un temps O(n2) en pire cas et O(n lg n) en moyenne.

Supposons qu’au début de l’algorithme, on permute aléatoirement les éléments du tableau. Cela peut se faire en temps O(n).

Alors, quelque soit l’entrée initiale, le temps espéré est O(n + n lg n) = O(n lg n) .

Page 9: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 9

Événement probabiliste

• Considérons une expérience faisant appel au hasard: expérience aléatoire

• S: Ensemble de tous les résultats possibles : univers ou espace échantillon

• Un sous-ensemble ES est appelé: événement

• Ensemble de tous les événements: ℘(S)

• Exemple:

– Lancement de deux dés.

Page 10: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 10

Loi de probabilité(cas discrêt)

• Fonction Prob:℘(S)ℝ qui associe à chaque événement ES une valeur Prob(E)0 appelée probabilité telle que:

– Pour chaque E S on a

– Prob(S) = 1

– Prob() = 0

– Prob(S-E) = 1-Prob(S)

Er

Prob(r)Prob(E)

Page 11: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 11

Indépendance

• Soit E et F deux événements

• L'équation

Prob(EF) = Prob(E) · Prob(F) (*)

n'est pas toujours vraie.

Exemple: Lancement de deux dés: E := Les deux dés sont pairs: Prob(E)=1/4F := La somme est paire: Prob(F)=1/2

• Déf. E et F sont indépendants si (*) est vraieExemple: E := Le premier dé est pair: Prob(E)=1/2

F := Le second dé est pair: Prob(F)=1/2

Prob(EF)=1/4

Page 12: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 12

Probabilité conditionnelle

• Soit E et F deux événements

• Probabilité conditionnelle:

Prob(E | F) = Prob(EF) / Prob(F)

• Exemple précédent: Prob(E | F)= ¼ / ½ = ½

• Lorsque E et F sont indépendants alors

Prob(E | F) = Prob (E) et Prob(F | E) = Prob(F)

• Si B1, B2, ..., Bk, est une partition d'un événement E alors

ki1

ii )Prob(B)B|Prob(EProb(E)

Page 13: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 13

Probabilité conditionnelle

X XX X X

X XX

X X

On choisit une ligne i et une colonne j au hasard.Quelle est la probabilité d'avoir un X ?

2/5*1/5 + 2/5*1/5 + 3/5*1/5 + 1/5*1/5 + 2/5*1/5 = 10/5 * 1/5 = 10/25

Page 14: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 14

Variable aléatoire

• Étant donné un univers S et une loi de probabilité Prob:℘(S) ℝ, une variable aléatoire est une fonction X: S ℝ et l'on défini:

1. Prob(X=a) = Prob( {sS | X(s)=a} )

2. Si A ℝ alors Prob(XA)=Prob({sS | X(s)A})

• X et Y sont deux variables aléatoires indépendantes si pour tout A,B ℝ on a

Prob(XA et YB) = Prob(XA) · Prob(YB)

Page 15: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 15

Exemple: Somme de deux dés

Exemple: Lancement de deux dés. X est une v.a. représentant la somme des deux dés.

X Prob Événement

2 1/36 (1,1) 3 1/18 (1,2), (2,1) 4 1/12 (1,3), (2,2), (3,1) 5 1/9 (1,4), (2,3), (3,2), (4,1) 6 5/36 (1,5), (2,4), (3,3), (4,2), (5,1) 7 1/6 (1,6), (2,5), (3,4), (4,3), (5,2), (6,1) 8 5/36 (2,6), (3,5), (4,4), (5,3), (6,2) 9 1/9 (3,6), (4,5), (5,4), (6,3)10 1/12 (4,6), (5,5), (6,4)11 1/18 (5,6), (6,5)12 1/36 (6,6)

Page 16: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 16

Lois discrètesSoit X:S ℝ une variable aléatoire.

• Variable uniforme: (Im(X)={1,2,…,n})

Prob(X=r)= 1/n pour tout rIm(X)

Exemple: X représente le résultat du lancement de deux dés (n=36)

• Variable de Bernouilli: (Im(X)={0,1})

Prob(X=0) = 1 - Prob(X=1)

Exemple: X est la parité de la somme des deux dés

• Variable géométrique: (Lorsque Im(X) = N )

Prob(X=n)=(1-p)n-1p

Exemple: X est le nombres d'essais avant d'obtenir deux dés identiques

Page 17: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 17

Espérance

Espérance d'une variable aléatoire X:

• E(aX) = aE(X)

• E(X+Y) = E(X)+E(Y)

• E(XY) = E(X)E(Y) seulement si X et Y sont deux v.a. indépendantes

Im(X)t

t)Prob(XtE(X)

Page 18: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 18

Variance

• Variance d'une variable aléatoire X:

Var(X) = E((X - E(X))2)

• Var(X) = E(X2) - E(X)2

• Var(aX) = a2Var(X)

• Soit X1, X2, ... , Xn, n variables aléatoires indépendantes. Alors

Var(X1+X2+ ···+Xn)=Var(X1)+Var(X2)+···+Var(Xn)

Page 19: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 19

Calcul de l’espérance et de la variance

• Variable uniforme: E(X)= (n+1)/2

Var(X) = (n2-1)/12

• Variable de Bernouilli: E(X) = p

Var(X) = p(1-p)

• Variable géométrique: E(X) = 1/p

Var(X) = (1-p)/p2

Page 20: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 20

Inégalités

• Markov:

Prob(Xt) ≤ E(X) / t

• Chebychev:

Prob(|X-E(X)|t) ≤ Var(X) / t2

• Chernoff: Soit X1, X2, ... , Xn, n variables de Bernouilli indépendantes deux à deux et telles que Prob(Xi=1)=p et Prob(Xi=0)=1-p. Alors E(X)=np et pour tout (0,1) on a

Prob(X ≤ (1-)E(X)) ≤ e-E(X)2/2

Page 21: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 21

Exemple (1)

• On lance une pièce de monnaie n>0 fois.

• Au i-ième essaie: Xi = 1 si le résultat est face; Xi=0 sinon

• Prob(Xi=1)=prob(Xi=0)=1/2

• X = X1 + X2 + ··· + Xn

• E(X) = n/2 et Var(X) = n/4

• On veut montrer que pour tout >0 la probabilité:

Prob(X ≥ (1+)E(X))

est petite lorsque n est grand.

Page 22: 8INF4301 Algorithmes probabilistes On suppose lexistence dun générateur de nombres aléatoires dont lutilisation se fait à coût unitaire. Définition: Soit

8INF430 22

Exemple (2)• Markov: Prob(X ≥ (1+)E(X)) ≤ E(X)/(1+ )E(X)

= 1/(1+ )

• Chebychev: Prob(X ≥ (1+)E(X)) ≤ Var(X) / [(1+ )E(X)]2

= (E(X2)-E(X)2) / ((1+ )E(X))2

= 1/(2n)

• Chernov: Prob(X ≥ (1+)E(X)) = Prob(X ≤ (1-)E(X))

≤ e-E(X)2/2

= 1/en2/4