Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Modèles de calcul, Complexité, Approximation et
Heuristiques
Modèle probabiliste: Algorithmes et
Complexité
Jean-Louis Roch
Master-2 Mathématique – Informatique
Grenoble-INP – UJF Grenoble University, France
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Plan du cours
Plan du cours
1Introduction. Atlantic City, Monte-Carlo, Las Vegas.
Exemple de arbre ET-OU : analyse et borne inférieure.
2Techniques d’analyse de coût et de construction d’algorithmes
probabilistes. Applications : arithmétique ; recherche et tri ;
graphes.
3Classes de complexité probabilistes.
4"Dérandomisation". Algorithmes interactifs, classes IP et PCP.
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Bibliographie
An introduction to randomized algorithms, R.M. Karp,
Discrete Applied Mathematics, 34 :165-201, 1991.
Preprint : ICSI Technical Report TR-90-024,
http://www.icsi.berkeley.edu/cgi-bin/pubs/publication.pl?ID=000588
Randomized Algorithms. R. Motwani and P. Taghavan,
Cambridge Universty Press, 1995
M. Mitzenmacher and E. Upfal. Probability and Computing :
Randomized Algorithms and Probabilistic Analysis. Cambridge
University Press, New York (NY), 2005.
Introduction à l’algorithmique probabiliste, Philippe Duchon
(v4), 2007
Computational Complexity: A Modern Approach. S. Arora, B.
Barak. Cambrdge Univ. Press (2009) 1raft available with
chapter 7 Randomized computation and Chapter 8 Interactive
proofs
1. D
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Algorithmes déterministes
Entrée Algorithme déterministe Sortie
- -
Objectif
Quelle que soit l’entrée,
l’algorithme déterministe doit délivrer une sortie correcte
... et rapidement a.
a. typiquement en temps polynomial du nombre de bits en entrée.
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Algorithmes probabilistes
Entrée Algorithme probabiliste Sortie
- -
?
Bits aléatoires
En plus de la donnée en entrée, un algorithme probabiliste prend
une source de bits aléatoires :
il peut l’utiliser pour faire des choix durant l’exécution ;
le comportement peut varier même si la donnée en entrée est
fixée.
Objectif
Quelle que soit l’entrée,
l’algorithme probabiliste délivre une sortie probablement correcte.
La probabilité dépend uniquement des tirages eectués.
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Algorithmes probabilistes
Entrée Algorithme probabiliste Sortie
- -
?
Bits aléatoires
En plus de la donnée en entrée, un algorithme probabiliste prend
une source de bits aléatoires :
il peut l’utiliser pour faire des choix durant l’exécution ;
le comportement peut varier même si la donnée en entrée est
fixée.
Objectif
Quelle que soit l’entrée,
l’algorithme probabiliste délivre une sortie probablement correcte.
La probabilité dépend uniquement des tirages eectués.
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Ne pas confondre !
Ne pas confondre avec l’analyse probabiliste d’un algorithme
déterministe (par exemple analyse en moyenne).
Entrée
aléatoire Algorithme déterministe Distribution
en sortie
- -
Cela est très diérent d’un algorithme probabiliste :
l’entrée est ici supposée suivre une distribution ;
l’analyse prouve que l’algorithme donne un résultat correct
pour la plupart des entes.
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Avantage des algorithmes probabilistes
Simplicité
Performance
Exemple 1.
Comparer un algorithme déterministe ou probabiliste pour le
problème :
Entrée : un tableau Ade nbooléens, dont au moins 75%
valent VRAI.
Sortie : itel que A[i]vaut VRAI.
Modèle probabiliste: Algorithmes et Complexité
Avantage des algorithmes probabilistes
Simplicité
Performance
Exemple 1.
Comparer un algorithme déterministe ou probabiliste pour le
probme :
Entrée : un tableau Ade nbooléens, dont au moins 75%
valent VRAI.
Sortie : itel que A[i]vaut VRAI.
2014-10-22
Modèle probabiliste: Algorithmes et Complexité
Introduction.
Avantage des algorithmes probabilistes
Soit p<25%la proportion de FAUX :
Det :
for i=1..n do { if A[i] return i ; }
Probabiliste (LV) en temps borné = Kessais :
for t=1..K do { i= rand(1,n) ; if A[i] return i ; }
return ECHEC ; // avec Probabilité d’échec = 1
pK=1
4K,
Pour K=5, prob(échec) <103.Pourk=200, prob(échec) <10120.
Probabiliste en temps non borné
while(1) { i= rand() ; if A[i] return i ; }
Temps moyen = 1
k=1kpk1(1p)=(1p)1
k=1kpk1.
Or
F(t)=1
k=1ktk1=1
k=1d
dttk=d
dt1
k=1tk=d
dt
1
1t1=1
(1t)2.
Donc Temps moyen = 1
1p=4
3.
Introduction.
Las Vegas, Monte-Carlo, Atlantic City.
Exemple 2 : multiplication avec table erronée
On sait calculer correctement toute addition, mais pour les
multiplications, on utilise Tune table avec au moins 90%de
données correctes. 56789
525 30 35 40 45
630 36 42 48 52
735 42 49 56 63
840 48 56 64 72
945 52 63 72 81
Comment calculer correctement ab(i.e. T[a,b])?
Algorithme probabiliste :
Soit nr(resp. nc)lenombredelignes(resp.colonnes);
soit ial’indice ligne de aet ibl’indice colonne de b.
1choisir au hasard iu2{0,...,nr1}et iv2{0,...,nc1};
2Lire m1=T[ia+iu,ib+iv],m2=T[ia+iu,iv],
m3=T[iu,ib+iv],m4=T[iu,iv];
3retourner r=m1m2m3+m4.
// soit (a+u)(b+v)(a+u)vu(b+v)+uv,ieab
Modèle probabiliste: Algorithmes et Complexité
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !