Probabilit ´es et simulation
application `a l’analyse d’algorithmes et `a la randomization
Jean-Marc Vincent1
1Laboratoire ID-IMAG MESCAL Project
Universit ´e Joseph Fourier, Grenoble [email protected]
http://www-id.imag.fr
Exemple : complexit ´e d’algorithmes
ndonn ´ees `a trier choix d’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ? analyse en moyenne
⇒comprendre le comportement de l’algorithme
Exemple : complexit ´e d’algorithmes
ndonn ´ees `a trier choix d’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ? analyse en moyenne
⇒comprendre le comportement de l’algorithme
Exemple : complexit ´e d’algorithmes
ndonn ´ees `a trier choix d’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ? analyse en moyenne
⇒comprendre le comportement de l’algorithme
Exemple : complexit ´e d’algorithmes
ndonn ´ees `a trier choix d’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ? analyse en moyenne
⇒comprendre le comportement de l’algorithme
Exemple : randomization d’algorithmes
ndonn ´ees `a trier
choixal ´eatoired’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ?
⇒analyse en moyenne ind ´ependante des donn ´ees en entr ´ee en O(nlogn)
Exemple : randomization d’algorithmes
ndonn ´ees `a trier
choixal ´eatoired’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ?
⇒analyse en moyenne ind ´ependante des donn ´ees en entr ´ee en O(nlogn)
Exemple : randomization d’algorithmes
ndonn ´ees `a trier
choixal ´eatoired’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ?
⇒analyse en moyenne ind ´ependante des donn ´ees en entr ´ee en O(nlogn)
Exemple : randomization d’algorithmes
ndonn ´ees `a trier
choixal ´eatoired’un pivot,
s ´eparation de l’ensemble des donn ´ees plus grandesMet plus petitesm
trier r ´ecursivementMetm assembler les donn ´ees tri ´ees
Complexit ´e : au piren2, au mieuxO(nlogn).
cas le pire, cas le meilleur ?
⇒analyse en moyenne ind ´ependante des donn ´ees en entr ´ee en O(nlogn)
Contr ˆole de l’al ´eatoire : contexte des r ´eseaux
canal de communication bruit ´e taux de bruit⇒contr ˆole d’erreur qualification du protocole
ex : bit de parit ´e, parit ´e horizontale/verticale, CRC...
⇒maˆıtriser l’environnement
Contr ˆole de l’al ´eatoire : contexte des circuits
composants ´electroniques
dur ´ee de vie⇒mode de fonctionnement d ´egrad ´e duplication des fonctionnalit ´es
dimmensionnement
⇒maˆıtriser l’environnement
Algorithmes randomis ´es : contexte des r ´eseaux
canal de communication partag ´e pas de synchronisation
r ´ep ´eter
´ecoute de la porteuse
sila porteuse est disponiblealors
´emission de l’ent ˆete
sipas de collision d ´etect ´eealors on transmet la totalit ´e du message sinon
on interrompt la transmission fin si
fin si
on attend uncertaintemps avant de recommencer jusqu’ `atransmission compl `ete du message
Algorithmes randomis ´es : contexte de la cryptographie
cryptage cl ´e publique/priv ´ee bas ´e sur la d ´ecomposition de grands entiers
avoir de grands nombres premiers difficiles `a g ´en ´erer
g ´en ´ererpavec une quasi-certitude qu’il est premier algorithme de Miller-Rabin
⇒r ´eduire la complexit ´e d’un algorithme (acceptable).
Objectif du cours
Objectif
1 Acqu ´erir et maˆıtriser le langage des probabilit ´es dans le contexte informatique (mod ´elisation)
2 Savoir g ´en ´erer des donn ´ees distribu ´ees selon une loi donn ´ee ( ´ecrire les algorithmes).
3 Savoir construire des plans d’exp ´erience simples et savoir analyser les r ´esultats avec rigueur.
M ´ethodes
1 Cours : aspects fondamentaux, grands exemples
2 TD : exercices avec r ´esum ´e du cours, ´ecriture d’algorithmes et de preuves, mise en œuvre
3 Exp ´erimentation dans le cadre d’un mini-projet ( ´eventuellement 2)
Plan du cours
Partie I : Structures discr `etes
1 Analyse de donn ´ees exp ´erimentales TD : Le g ´en ´erateur Random
2 Variables al ´eatoires de loi discr `ete TD : Transformation de g ´en ´erateurs
3 G ´en ´eration selon une loi discr `ete donn ´ee
TD : G ´en ´eration de loi discr `ete : distribution classique / arbitraire / non born ´e
4 G ´en ´eration de structures combinatoires, fonction g ´en ´eratrice TD : g ´en ´eration uniforme d’arbres
5 Analyse en moyenne d’algorithmes
TD : analyse de co ˆut moyen, analyse du quicksort
Plan du cours (suite)
Partie II : Espaces continus
1 G ´en ´eration selon une loi continue TD : g ´en ´eration de vecteurs Gaussiens
2 Convergences : loi des grands nombres, fonction caract ´eristique TD : g ´en ´eration de lois continues arbitraires
3 Analyse de donn ´ees (statistiques descriptives) TD : analyse d’ ´echantillon
4 Estimation statistique et intervalles de confiance TD : calcul de taille d’ ´echantillon
5 D ´ecision et tests TD : test d’ad ´equation
Ouvrages de r ´ef ´erence
Ouvrages de base en probabilit ´e:
Introduction aux Probabilit ´es. P. Br ´emaud, Springer-Verlag, Berlin, 1984. (version r ´evis ´ee en 97)
Probabilit ´es de l’ing ´enieur. N. Bouleau, Hermann 1986.
Orient ´e analyse d’algorithmes:
Analysis of algorithms Sedgewick & Flajolet, Addison Wesley 1996 Orient ´e ´evaluation de performances:
The art of computer system performance analysis, Raj Jain, Wiley 1991
Probabilit ´e et Files d’attente:
Probability, stochastic processes, and queueing theory, Randolph Nelson, Springer-Verlag, 1995