• Aucun résultat trouvé

Génération aléatoire d'automates et analyse d'algorithmes de minimisation

N/A
N/A
Protected

Academic year: 2021

Partager "Génération aléatoire d'automates et analyse d'algorithmes de minimisation"

Copied!
138
0
0

Texte intégral

(1)

HAL Id: tel-00587637

https://pastel.archives-ouvertes.fr/tel-00587637

Submitted on 21 Apr 2011

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

Génération aléatoire d’automates et analyse

d’algorithmes de minimisation

Julien David

To cite this version:

Julien David. Génération aléatoire d’automates et analyse d’algorithmes de minimisation.

Automa-tique. Université Paris-Est, 2010. Français. �NNT : 2010PEST1016�. �tel-00587637�

(2)

THÈSE

pour obtenir le gradede

Do teur de l'Université Paris Est

Spé ialité: Informatique

préparée aulaboratoired'Informatique Gaspard Monge

dans le adre de l'É ole Do toraleMSTIC

présentée et soutenue publiquement

par

Julien David

lemardi 28septembre

Titre:

Génération aléatoire d'automates

et analyse d'algorithmes de minimisation

Dire tri e de thèse: Frédérique Bassino

Co-dire teurde thèse:Cyril Ni aud

Jury

Mme. Frédérique Bassino, Dire tri ede thèse

M. Jean Berstel, Examinateur

M. Jean-Mar Champarnaud, Examinateur

M. AlainDenise, Examinateur

M. PhilippeDu hon, Rapporteur

M. MassimilianoGoldwurm, Rapporteur

M. Cyril Ni aud, Co-dire teurde thèse

(3)

C'est ave ça, et non ave les bombes stupides,

qu'on révolutionne le monde!

Ce n'est pas en détruisant, 'est en réant un générateur aléatoire,

que vous venez de faire a te de révolutionnaire!...

Et que de fois je vous l'ai dit,

l'analyse en moyenne seule est révolutionnaire,

la seule qui, par-dessusles pauvres événements politiques,

l'agitation vaine des se taires et des ambitieux,

travailleà l'humanitéde demain,

en prépare la vérité, la justi e, la paix!...

Ah! mon herenfant, si vous voulez bouleverser le monde

en essayant d'y mettre un peu plus de bonheur,

vous n'avez qu'à rester dans votre laboratoire,

ar le bonheur humain ne peut naître

que de votre fourneau de savant.

Émile Zola, dans Paris.

(4)

Au ours de ma thèse, j'ai pu ren ontrer au bas mot une entaine de

do tor-ants etd'enseignants- her heurs de diérents domaines, autant de gens brillantset

ultivés ave lesquels j'ai eu grand plaisir à dis uter. Je ne serai probablement pas

exhaustifdansmesremer iements,j'espèrequelesabsentsm'enex useront, ar ela

n'empê he enrienmagratitude.De plus, et exer i ed'a hagepubli demesbons

sentiments s'apparentant pour moiàune formede torture(auquel ependant jeme

plie volontiers, non pas par atavisme, mais par e qu'il me paraît indispensable),

j'espère que le le teur omprendra que 'est par pudeur que je garde (parfois) une

ertaine sobriété.

Je tiens à remer ier

 FrédériqueBassinoetCyrilNi audquiontdirigé ettethèse.Ilsontsuprendre

letempsdesuivre ha unde mespas, depuismonarrivée enMaster re her he

à l'université de Marne-la-Vallée il y a inq ans. Dès lors, j'ai pu béné ier

de leur expérien e etde leur pédagogie. Je lesremer ie de m'avoirproposé e

sujetpassionnant,pourleur patien e etpourlalibertéqu'ilsontsume laisser

tout au long de ette thèse. J'espère travaillersouvent ave eux dans l'avenir

etrester en ore longtemps letesteur o iel des pâtisseries de Frédérique.

 Philippe Du hon et Massimiliano Goldwurm, qui m'ont fait l'honneur d'être

rapporteurde ette thèse,

 Jean Berstel, Jean-Mar Champarnaud, Alain Denise et Mi hèle Soria qui

m'ontfait l'honneur de prendre part àmon jury,

 PhilippeDu honunefoisdeplus,dontlesexpli ationsm'ontpermisd'avan er

dans l'étude de la omplexité moyenne de l'algorithmede Moore,

 Ni olas Bedon et GuillaumeBlin pour leurs onseils en tous genres,

 ÉtienneDuris,GillesRoussel,GiuseppinaRindone,SylvainLombardyetMar

Zipsteindontlesportesétaienttoujours ouvertes pour dis uter des TDs

asso- iés à leur ours. Enseigner à leur té fût aussi agréablequ'instru tif.

 Jean-Christophe Novelli et Stéphane Vialette, dont les ours destinés aux

do torants et aux étudiants en Master re her he ont été parti ulièrement

en-ri hissant,

 CarinePivoteau sans qui je n'auraisjamais pu obtenirl'arti le de Moore,

 Hayat Cheballah pour ses onseilsen tous genreset rele tures d'arti les,

 YannPonty etJulieBernauerpour leurs onseilsetleuraidedanslare her he

de postdo ,

 FlorianSikoraetFrédéri Fauberteauquej'aisouvent dérangéen pleintravail

lorsque j'avaisbesoin de faireune pause dans le mien,

(5)

de esremer iements),Frédéri Fauberteau,OmarAïtMous,ElsaTolone,

Lau-rentBrau, Nathalie Aubrun,Samuele Giraudo,Myriam Rakho, Hieu Dinhet

RosaCetropourlabonneambian equirègneentre lesdo torantsdel'institut

GaspardMonge,

 Catherine Sauvaget, Benjamin Raynal et Cédri Cur io qui m'ont supporté

pendant le masterre her he et qui sont ensuite partis en thèse de leur té,

 Tous les jeunes her heurs du groupe ALEA pour toutes les soirées passées

ensemble, en parti ulier Cédri Saule ave qui j'ai refaitle monde plus d'une

fois, Annelyse Thévenin à qui je pardonne de m'avoir donné mes premiers

heveux blan s en même temps qu'une de mes plus belles frayeurs, Jérémie

Lumbroso et Ali e Ja quot à qui je pardonne les réa tions singulières après

ingestiond'une bouillabaisse etde quelques verres de vins,

 Sophie Toulouse, Sébastien Guérif et tous les membres du LIPN qui ont su

m'a ueillir  haleureusement dans leur laboratoire lors de mes nombreuses

visites,

 Gabrielle Brossard et Line Fonfrède, deux murs porteurs du laboratoire

Gas-pard Monge, pour leur gentillesse etleur e a ité,

 Les4Jeudispourtoutes essoiréespasséesà omparerl'herbe hezlesthésards

du domaine d'à té,

 Jean-Ja ques Bourdin et Vin ent Boyer de l'université Paris8, ainsi que

Vin- entVi torin, sans qui je n'aurais pas fait de re her he en informatique,

 SébastienTennenbaum,FrançoisRobelet,DanielBoissin,NatanielObin,

Ni o-lasZdebski,Ni olasLouise,ÉlodiePelletier,lafamilleMarquis augrand

om-plet et bien sûr mafamillepour leur soutienmoral,

 ClotildeGonthier pour saprésen e, sa ompréhension, ses oassements etson

(6)

Remer iements 3 Introdu tion 9 I Notions Fondamentales 17 1 Analyse ombinatoire 19 1 Génération aléatoire . . . 19 1.1 Méthodes ad ho . . . 20

1.2 Algorithmesave rejets . . . 21

1.3 Méthode ré ursive . . . 22

1.4 Méthode de Boltzmann . . . 23

2 Analyse d'algorithmes . . . 24

2.1 Comparaisonsde fon tions . . . 25

2.2 Étude de la omplexitédans le pire as.. . . 26

2.3 Analyse en moyenne . . . 27

2.4 Autres typesd'analyse . . . 29

2 Langages et automates 31 1 Langages. . . 31

1.1 AlphabetetMot . . . 31

1.2 Langagesformels et langagesrationnels . . . 31

2 Automatesnis . . . 32

2.1 Dénition . . . 32

2.2 Propriétés des automates nis . . . 33

3 Stru tures de transitions . . . 36

II Génération aléatoire et exhaustive d'automates nis 37 3 État de l'art 39 1 Dénitions . . . 39

1.1 Automatede Base . . . 39

1.2 Diagrammesmarqués etDiagrammes

k

-Dy k. . . 40

1.3 Partitions d'un ensemble . . . 41

2 Bije tions . . . 42

(7)

2.2 Diagrammesmarqués etpartitions d'un ensemble . . . 43

3 Énumération des automates déterministes a essibles omplets . . . . 44

4 Algorithmede Bassino-Ni aud . . . 45

4 Génération aléatoire d'automates déterministes a essibles 47 1 Reformulationde l'algorithme lassique . . . 48

1.1 Des partitionsd'un ensemble auxstru tures de transitions . . 51

2 Générationaléatoire d'automatespossiblement in omplets . . . 52

2.1 Des stru tures de transitions aux stru tures de transitions omplètes . . . 52

2.2 Despartitions

k

-Dy k d'unensemble asso iésauxélémentsde

E

n

. . . 53

2.3 Énumeration des automates déterministes a essibles . . . 54

2.4 Engendrer lespartitions d'un ensemble . . . 55

2.5 Générateur aléatoired'automatespossiblement in omplets . . 56

5 Logi iels et expérien es 59 1 Des riptionde labibliothèque REGAL . . . 59

1.1 Générateurs exhaustifs . . . 60

1.2 Générateurs aléatoires . . . 61

2 Des riptiondu programmePREGA . . . 63

2.1 L'interfa e utilisateur . . . 63

2.2 Exemples d'automatesengendrés par PREGA . . . 63

3 Résultatsexpérimentaux . . . 65

3.1 Sur l'e a ité de la bibliothèque . . . 65

3.2 Expérien es àl'aide de générateursexhaustifs . . . 66

3.3 Expérien es àl'aide de générateursaléatoires. . . 66

III Analyse en moyenne d'algorithmes de minimisation 69 6 Les algorithmes de minimisation 71 1 Équivalen ede Myhill-Nerode . . . 71

2 Automatequotient . . . 73

3 Automateminimal . . . 73

4 Algorithmede Moore . . . 74

5 Algorithmede Hop roft . . . 80

6 Rapidesurvol d'autres algorithmes . . . 85

7 Étude de l'algorithme de Moore 87 1 Uneimplantatione a e de l'algorithme . . . 87

2 Minimisationd'automatesminimaux . . . 89

2.1 Uneexé ution dépendant uniquementdu langagere onnu . . 89

2.2 Borneinférieure . . . 89

8 Complexité moyenne de l'algorithme de Moore :

1

ere

partie 91 1 L'idée . . . 92

(8)

3 Majorationde

F

τ

(ℓ)

. . . 97

4 Complexité en moyenne . . . 98

5 Distributionde Bernoulli . . . 99

6 Optimalitéde laborne pour lesautomates unaires . . . 99

7 Automatespossiblement in omplets . . . 100

8 Automatesémondés . . . 101

9 Nombre d'états terminauxxés . . . 101

9 Complexité moyenne de l'algorithme de Moore :

2

eme

partie 105 1 L'idée . . . 105

2 Modi ation du graphe de

F

-dépendan e . . . 107

3 L'arbrede dépendan e . . . 107 4 Legraphe de

T

-dépendan e . . . 109 5 Complexité moyenne . . . 110 6 Distributionde Bernoulli . . . 117 7 Automatesa essibles . . . 118 8 Complexité générique . . . 118

10 Étude de l'algorithme de Hop roft 119 1 Analogieentre lesalgorithmes de Hop roft etMoore. . . 119

1.1 L'idée . . . 119

1.2 Nouvelle des riptionde l'algorithme . . . 119

1.3 Complexité moyenne de l'algorithme de Hop roft . . . 124

2 Étude expérimentale de diérentes implantationsde Hop roft . . . . 124

Perspe tives 127

Bibliographie 129

(9)
(10)

La thématique prin ipale de ette thèse sesitue à la frontière entre la

ombina-toire etlathéoriedes automates.Plus pré isément,onsepla edans un ontexte où

les automates sont asso iés à une loi de probabilités, an d'ee tuer deux types de

travaux :

 lagénération aléatoired'automates,

 l'analyse en moyenne d'algorithmessur es automates.

Lagénération aléatoirepermet de meneruneétude expérimentale sur lespropriétés

de l'objet engendré et des algorithmes qui les manipulent. Il s'agit également d'un

outildere her he,quipermetdefa iliterl'étudethéoriquedu omportementmoyen

des algorithmes.

L'analyse en moyenne des algorithmess'ins ritdans lasuite des travauxfondateurs

de Donald Knuth [4749℄. Le s héma lassique en analyse d'algorithmes onsiste

à étudier le pire des as, qui n'est souvent pas représentatif du omportement de

l'algorithme en pratique. D'un point de vue théorique, on peut dénir e qui se

produit souvent en se donnant une loi de probabilités sur les entrées de

l'algo-rithme. L'analyse en moyenne onsiste alors à estimer des ressour es utilisées en

faisantl'hypothèseque lesentrées de l'algorithmesontdistribuées selon ette loide

probabilités.

Plus parti ulièrement, j'ai travaillé sur des algorithmes de génération aléatoire

d'automatesdéterministesa essibles( ompletsounon).Cesalgorithmesproduisent

desautomatesà

n

étatsentempsmoyen

O(n

3/2

)

etrequièrenttrèspeud'espa e

mé-moire. Ils utilisent de la ombinatoire bije tivequi permet d'obtenir des automates

par transformationd'objets plussimples, ainsiqu'un pro édé génériquepermettant

d'engendrerdesstru tures ombinatoiresspé iables:lesgénérateursdeBoltzmann.

J'aiensuite implanté es méthodes dans deux logi iels :REGAL et PREGA.

Jemesuisintéresséàl'analyseenmoyennedesalgorithmesdeminimisation

d'au-tomateset j'ai obtenu des résultats qui montrent quele as moyen des algorithmes

de Moore et Hop roft est bien meilleur que le pire des as. Plus pré isément, es

deuxalgorithmesminimisentdes automatesdéterministesà

n

étatsen tempsmoyen

O(n log log n)

.

Dans la suite de l'introdu tion, on présente plus en détails le ontexte et les

ontributions présentés dans ette thèse.

Unalgorithmeestune méthode dénieenun nombre nid'instru tions,

permet-tantde résoudre unproblème donné.Eninformatiquethéorique, l'algorithmiqueest

un terme qui regroupeà la foisla on eption etl'analyse des algorithmes.

L'analyse des algorithmes peut être ee tuée par une appro he expérimentale

ou une appro he théorique, les deux étant omplémentaires du point de vue

(11)

desressour esutiliséesenfon tiondelatailledel'entrée,indépendammentde

l'ordi-nateurou du langagede programmationutilisés.Il existe deux grandes appro hes :

 Laplusrépandueestl'analysedupiredes as.Elle onsisteà ara tériser

l'exé- utionlaplus oûteusede l'algorithmepourune tailled'instan e donnée,puis

àestimer e oût.Cetyped'analyseestgénéralementplussimplequel'analyse

en moyenne présentée dans e qui suit et permet d'obtenir une hiérar hie sur

l'e a itédes méthodes, quifaitpleinementsens. Enrevan he, lepiredes as

est parfois très éloignédu omportementde l'algorithmeobservé en pratique.

 L'analyse en moyenne permet d'obtenir une informationà mi- hemin entre le

pire des as et le as pratique. Le oût moyen de l'algorithme est la moyenne

des oûts de toutes ses instan es. En l'absen e d'informations pré ises sur les

donnéesdel'algorithme,onee tuegénéralementle al ulpourladistribution

uniforme. Un résultat de e type est bien plus ompliqué à obtenir qu'une

estimation dans lepire des as.

Un objet ombinatoire est un objet pour lequel on peut dénir une notion de

tailleettel qu'ilexiste un nombre ni d'élémentsd'une même taille.

La génération aléatoire joue un rle entral dans l'étude des objets

ombina-toiresetdesalgorithmesquis'yappliquent.Lorsqu'unso iologueee tue uneétude

quantitative sur les omportements ou les ara téristiques d'une population, il a

ons ien e que ses statistiques ne sont en au un as basées sur une étude

exhaus-tive. Pour que ses résultats prennent sens, la portion séle tionnée doit don être

représentative, en terme de proportion, de la population sur laquelle l'étude est

ef-fe tuée. An que les minorités apparaissent dans les estimations, les statistiques

doiventêtre al ulées sur leplusgrandnombre d'individuspossible.On retrouvede

pareilles analogies en biologie ou en himie. En informatique théorique, la qualité

d'uneétudeexpérimentaledépenddesmêmes onditions.Enrevan he,ilexistedeux

façons de produiredes statistiques:àpartird'une base dedonnées ouàpartir d'un

générateuraléatoire.Dans ettethèse,ons'intéresseraex lusivementause ond as.

En eet, tout omme dans les autres dis iplines, une étude exhaustive est souvent

imprati ableenraisondutropgrandnombred'objetsàétudier.Supposonsdon que

l'on onnaisse uneméthode apabled'engendrerun objet ombinatoireselonuneloi

de probabilité donnée. Élaborer une telle méthode né essite de savoir énumérer, ou

de savoir estimer asymptotiquement le nombre d'objets d'une taille xée. On est

alors en mesured'ee tuer un ensemble de tests, puis d'émettredes onje tures sur

les propriétés moyennes des objets et sur le omportement moyen des algorithmes

quileur sontappliqués.On pourra égalementvérier silaloide probabilités hoisie

modélise onvenablement un ontexte donné en omparant les données aléatoires

ave des données réelles. Dans ette thèse, on s'intéressera uniquement à la

distri-butionuniforme, 'est-à-direau as oùtous lesobjetsde mêmestailles ontlamême

probabilité d'être engendrés. Les onje tures établies grâ e aux générateurs sont

motivantes pour démarrer une étudethéorique.

Parmilesdiérents butsd'uneétudethéoriqued'un ensemble d'objets

ombina-toires, ona re ensé les suivants:

 énumérerlesobjetspossédantunepropriétédonnée.Enplusd'êtreintéressant

en soit,un telrésultatpeutpermettrela on eptionde nouveaux générateurs.

 obtenirla omplexitémoyenne des algorithmes asso iés.

(12)

Conjectures

d’un algorithme

Comportement moyen

d’un algorithme

Comparaison avec

Étude Théorique Générateur Aléatoire Complexitémoyenne Résultats

desdonneesréelles

Étude Expérimentale

del'objetétudié

ayantunepropriétédonnée Énumerationdesobjets

Propriétesmoyennes

Fig.1  Utilisationd'un générateur aléatoire

Les objets étudiés dans ette thèse sont les automates nis. Il s'agit d'une

représentationà lafoisgraphiqueet ompa te d'un langagerationnel,dont on

don-nera la dénition formelle ultérieurement. On peut voir les automates omme un

graphe dont les arêtes sont étiquetées par des lettres. La terminologie est

toute-fois diérente: on parle d'états pluttque de sommets etde transitions plutt que

d'arêtes.On distinguedeux sous-ensembles parti uliersdans l'ensembledes étatsde

l'automate :les états terminaux et lesétats initiaux.

LaFigure2montrel'exempled'unautomateasso iéàl'ensembledemots

{algorithme,

-automate, autoroute

}

.Les apa itésdemodélisationd'un automateenfontun outil

fondamental en linguistique, en bioinformatique, ou en éle tronique. L'automate

minimal est l'unique automate déterministe asso ié à un langage, pour lequel le

nombre d'états est minimal. Leur rle est entral en théorie des automates ar ils

permettentune représentation anonique deslangagesrationnels pourun oût

min-imalen mémoire.La plupart des algorithmes de minimisation al ulent l'automate

minimalà partir d'un automate déterministere onnaissant le mêmelangage.

1

2

3

4

5

6

7

8

9

10

11

a l g o r i t h m e

12

13

14

15

16

u t o m a t

17

18

r o u

Fig. 2 Un automate. L'état

1

est initial et l'état

11

est terminal.

(13)

Contributions et plan détaillé Les ontributions sont rassemblées dans les

hapitres 4,5, 7,8, 9,10.

Premièrepartie: on ommen eparprésenterunensembledenotions

fondamen-tales pour la bonne ompréhension des résultatsprésentés par lasuite.

Dans le hapitre1, onprésente les deux grandes thématiques de ette thèse : la

génération aléatoire etl'analyse d'algorithme.

 La on eption de générateurs aléatoires s'appuie soit sur des méthodes dites

ad ho , 'est-à-dire onçues pour résoudre un unique problème, soit sur des

méthodes génériques. En eet, ertains objets ombinatoires possèdent une

spé i ation ré ursive. La méthode ré ursive [36,62℄ utilise ette des ription

pour al ulerlenombre total d'objetsd'une tailledonnée etpermet d'obtenir

des générateurs exhaustifs ou aléatoires. La méthode de Boltzmann [31℄ de

génération aléatoire, évite le lourd pré al ul onsistant à énumérer toutes les

solutions. Pour ela, on néglige la ontrainte d'engendrer uniquement les

ob-jets d'une taille xée. Très e a e pour faire de la génération en taille

ap-pro hée, elle né essite une phase de rejet qui peut être oûteuse dans le as

de la génération en taille exa te. Comme elle né essite peu de mémoire, elle

permet d'engendrer des stru tures de très grandetaille.

 L'analyse théorique d'un algorithme a pour obje tif d'identier et d'estimer

les diérents oûts né essaires pour résoudre un problème. On s'intéresse i i

au temps d'exé ution. On étudie l'évolution de e temps en fon tion de la

taille des instan es : on parle de omplexité en temps. On présentera quatre

appro hes diérentes, lesquelles seront toutes envisagées dans ette thèse : la

omplexitédanslepiredes as,la omplexitémoyenne,la omplexitégénérique

etla omplexité amortie.

Dansle hapitre2,onprésentelesobjetspourlesquelsonva on evoirdes

généra-teurs aléatoires et ee tuer une analyse des algorithmes qui leur sont appliqués :

les automates. On s'intéressera aux diérentes propriétés des automates, lesquelles

vont nous permettre de ara tériser des ensembles pour lesquels on on evra des

générateurs,etauxquels onrestreindral'analysedes algorithmes.Enparti ulier,les

automates a essibles, sont des automates pour lesquels il est possible d'atteindre

n'importequelétatdel'automateen partantd'unétat initialetensuivantunesuite

de transitions.Cettepropriétépourtantsimpleparsadénitionvaposer degrandes

di ultés ombinatoires. Les automates que l'on étudie sont également

détermin-istes, 'est-à-dire qu'il existe au plus une transition étiquetée par une même lettre

partant d'un même état. Enn, on introduit la notion de stru ture de transitions,

primordiale pour la bonne ompréhension des hapitres suivants :il s'agit d'un

au-tomate sans états terminaux.

Deuxième partie: lagénérationaléatoired'automatesdéterministesa essibles.

Dans le hapitre 3, on présente les algorithmes existants qui permettent

(14)

à

k

lettres, lesquels algorithmes sont basés sur les méthodes génériques de

généra-tion aléatoireasso iéesà des bije tionse a es permettantde se ramener àl'étude

d'objets ombinatoires plus simples. Un automate pouvant être dé omposé en une

stru ture de transitions etun ensemble d'étatsterminaux,il est possible engendrer

indépendamment esdeux omposantes.Lapremièreméthodede génération[25,60℄

présentée utilise une bije tion entre les stru tures de transitions sous-ja entes aux

automates et un ensemble de diagrammes marqués parti uliers, dénis pour

l'o - asion et plus simples à manipuler que les initiaux. A e stade, il est possible de

dénir un générateur exhaustif d'automates déterministes a essibles et omplets,

ainsiqu'ungénérateuraléatoirené essitantdelourdspré al uls.Danslesdeux as,il

est impossibleenpratique d'engendrerdes automates degrandes tailles.Lase onde

méthode [10℄ utilise une bije tion entre des diagrammes marqués et des partition

d'un ensemble de taille

kn + 1

en

n

sous-ensembles. Le générateur utilise la

méth-ode deBoltzmannpour engendrerlespartitionsd'ensembles, quel'on transformeen

stru tures de transitions par deux transformations su essives. Cette amélioration

permetd'engendrere a ementdesautomatesdegrandestailles.Onprésente

égale-ment une estimation du nombres d'automates déterministes a essibles omplets à

n

états sur un alphabet à

k

lettres. LaFigure i-dessous résume e paragraphe.

a,b

a

b

b

a

3

2

1

a,b

a

b

b

a

1

2

3

Bijection

( −1) +1

k

n

Bijection

O(n )

3/2

O(n)

O(n)

O(n)

{{1}{2,3,4,7}{5,6}}

O(n)

k

Automates

déterministes

accessibles

complets

Finalisation

Générateur

recursif

Diagrammes

Diagrammes

marqués

marqués

−Dyck

k

Rejets

Rejets

Vérifier la

propriété

−Dyck

k

Méthode de

Boltzmann

aléatoire

Générateur

d’ensembles

Partitions

Bassino−Nicaud[2006]

Nicaud[2000]

Champarnaud−Paranthoen[2005]

Structures

de

transitions

completes

Dans le hapitre4,onprésentedeux nouveaux générateursd'automates,dontla

on eption repose sur des méthodes de ombinatoire bije tive.

Le premier est une simpli ation de l'algorithme de génération aléatoire

d'au-tomates déterministes a essibles omplets [10℄ mentionnés au hapitre pré édent.

L'idée est la suivante : on rempla e les deux transformations su essives par une

transformation unique. Pour ela, on dé rit une bije tion entre un ensemble

parti- ulier de partitions d'un ensemble de taille

kn + 1

et l'ensemble des stru tures de

transitions.

Le générateursimplié est dé rit dans laFigure i-dessous.

On présente ensuite un générateur aléatoire d'automates déterministes

a es-sibles (possiblement in omplets). Pour ela, on dé rit une nouvelle bije tion entre

un ensemble

E

n

de stru tures de transitions omplètes parti ulières à

n + 1

états

et l'ensemble

I

n

des stru tures de transitions possiblement in omplètes à

n

états.

Puis,on ara tériseunensemble

F

n

departitionsd'ensembles parti ulièresen

(15)

Bijection

O(n )

3/2

O(n)

Rejets

Méthode de

Boltzmann

aléatoire

Générateur

Bassino−David−Nicaud[2008]

Partitions

d’ensembles

k

−Dyck

O(n)

déterministes

Finalisation

Structures

transitions

completes

de

complets

accessibles

Automates

utilise e résultatpour estimerasymptotiquementlenombre d'automates

détermin-istes a essibles possiblement in omplets et on montre qu'il est asymptotiquement

proportionnelau nombre d'automates déterministes a essibles et omplets. Enn,

ondé ritl'algorithmede omplexitémoyenne

O(n

3/2

)

permettantd'engendrer

aléa-toirement des automates déterministesa essibles.

Bijection

O(n)

Structures

de transitions

completes

particulieres

O(n )

3/2

Rejets

Méthode de

Boltzmann

aléatoire

Générateur

Partitions

d’ensembles

k

−Dyck

particulieres

O(n)

Finalisation

déterministes

accessibles

Automates

Structures

transitions

de

Bijection

O(n)

Bassino−David−Nicaud[2008]

Hormis la bije tion entre

E

n

et

F

n

qui est rempla ée par un résultatéquivalent,

l'ensemble de e hapitreapparaîtdanslesarti les[6,7℄,é rits en ollaborationave

Frédérique Bassino etCyril Ni aud.

Dans le hapitre 5,on présenteleslogi iels REGAL etPREGA, lesrésultats

expéri-mentaux qu'ils ont permis d'obtenir et à partir desquels on émet un ensemble de

onje tures sur lespropriétés moyennes des automates.

REGAL,pour Random and Exhaustive Generators for Automata Libraryest

une bibliothèque développée en C++, permettant aux programmeurs d'utiliserdes

générateurs aléatoiresetexhaustifs d'automates.

PREGA, pour Program to Randomly and Exhaustivly Generate Automata, a

été onçus pour des utilisateurs qui ne programment pas en C++. Pour obtenirun

résultat sous forme graphique, il sut de dé rire l'ensemble des tests à ee tuer

à l'aide d'un  hier XML. Parmi les générateurs fournis par REGAL et PREGA, on

trouvenaturellement euxdé ritsdansle hapitre4,auxquelss'ajoutentdes

généra-teurse a esd'automatesfortement onnexes,minimauxouémondés,ainsiquedes

générateurs de transdu teurs. On montre également que la omplexité amortie du

générateur exhaustif d'automates déterministes a essibles et omplets est

asymp-totiquementproportionnelle aunombre d'automates àengendrer.

On pourra noter que REGAL est présenté dans [5℄, é rits en ollaboration ave

FrédériqueBassino etCyrilNi aud, et [29℄. Lessour es peuvent être télé hargées à

(16)

Troisième partie : Analyse en moyenne des algorithmes de minimisation.

Dans le hapitre 6, onprésente un ensemble d'algorithmesde minimisation. La

plupart des algorithmes sont basés sur le al ul d'une relation d'équivalen e entre

les états de l'automate, appelés relation d'équivalen e de Myhill-Nerode [58℄. On

utilisera ette relation pour dénir formellement l'automate minimal. On a orde

une attention parti ulière aux algorithmes de Moore [57℄ et de Hop roft [43℄, dont

onfaitl'analyse en moyenne par lasuite. La omplexitédanslepire as du premier

est égale à

Θ(n

2

)

, elle du deuxième est égale à

Θ(n log n)

, e qui est le meilleur

résultat onnuà e jour.L'algorithmede Moore al ulelarelationd'équivalen ede

Myhill-Nerode par ranements su essifs d'une partition de l'ensemble des états.

Chaque ranement de partitionsa un oût égal à

Θ(n)

et il y a au plus

n

rane-ments, d'où la omplexité dans le pire as. Étant donné qu'un pré-traitement sur

l'automate d'entrée peut-être ee tué en temps linéaire, on s'intéresse avant tout

au oût des deux algorithmes appliqués aux automates déterministes a essibles et

omplets. Dans le reste du hapitre, on fait un rapide survol d'autres algorithmes

de minimisation, pour la plupartré ents.

Dans les hapitres7, 8et 9,on étudieex lusivementl'algorithme de Moore.

Le hapitre7 ontientdesrésultatsquinesontpasissusde l'analyseenmoyenne.

On ommen eparuneréexionsur l'implantatione a edel'algorithmedeMoore,

qui n'apparaît pas dans lalittérature.

On montre ensuite que pour minimiserun automate, le nombre de ranements de

partitions est égal au nombre de ranements de partitions né essaires pour

min-imiser l'automate minimal asso ié. Ce résultat nous amène à étudier le nombre

minimumde ranementsde partitionsee tuéspar l'algorithmepour un automate

minimalà

n

états. Onmontre que e nombre est égal à

Ω(log log n)

lorsque

l'alpha-bet ontient au moins deux lettres et

Ω(log n)

lorsque l'alphabet est unaire. Dans

le meilleur des as, la omplexité de l'algorithme appliqué à un automate minimal

est don

Ω(n log log n)

lorsque l'alphabet ontient au moins

2

lettres. Ce résultat

apparaîtdans un arti le[8℄, é rit en ollaborationave FrédériqueBassino etCyril

Ni aud, puis soumis en

2009

à Algorithmi a.

Dans le hapitre 8, on étudie la omplexité moyenne de l'algorithme de Moore

en utilisantuniquementlespropriétés desensembles d'étatsterminaux.Eneet, on

a vu qu'un automate pouvait être dé omposé en une stru ture de transitions etun

ensemble d'étatsterminaux. On présente lesrésultats suivants :

 On montre que pour une stru ture de transitions xée à

n

états, le nombre

d'ensembles d'états terminaux,pour lesquels l'automate obtenu est minimisé

en plus de

ranements de partitions, est inférieur ou égal à

n

4

2

n−ℓ

. Pour

ℓ =

⌈5 log

2

n

,la proportion d'automates d'automatesminimisés en plus de

itérationsestdon inférieureouégaleà

1

n

.Onobtientainsiunemajorationdela

omplexité moyenne de l'algorithme, pour toute une famillede distributions,

puisque l'on peut hoisir n'importe quelle loi de probabilités sur l'ensemble

des stru turesde transitions. Enparti ulier,pour ladistributionuniformesur

(17)

moyenne de l'algorithmede Moore est

O(n log n)

.

 le résultat est en ore valable dans les as suivants : pour la distribution

uni-forme sur l'ensemble des automates possiblement in omplets, sur l'ensemble

des automates émondés, ou si l'on attribue à haque état une probabilité

x

∈]0, 1[

d'être terminal.

 Pour la distribution uniforme sur l'ensemble des automates unaires,

'est-à-direpourlesquelsl'alphabetne ontientqu'uneseulelettre,labornesupérieure

est optimale:la omplexitémoyenne de l'algorithmede Moore est

Θ(n log n)

.

Autrement dit, en l'absen e d'information sur la distribution de probabilités

sur l'ensembledes stru tures de transitions, ettemajorationdela omplexité

moyenne de l'algorithmede Moore est optimale.

 Onmontreenrevan heque etteméthodeest ine a edansle as oùl'onxe

le nombre d'états terminaux dans l'automate, indépendamment de sa taille.

Pour la distribution uniforme sur l'ensemble des automates unaires ne

on-tenant qu'une seul état, la omplexité moyenne de l'algorithme de Moore est

Θ(n

2

)

.

Ces résultats ont été présentés dans [8,9℄, les arti les sont é rits en ollaboration

ave FrédériqueBassino et CyrilNi aud.

Dansle hapitre9,onétudiela omplexitémoyennede l'algorithmede Mooreen

utilisantsimultanémentlespropriétésdes stru turesde transitionsetdes ensembles

d'états terminaux. L'énumération des automates a essibles ayant des propriétés

données étantun problèmeouvert, onétudieladistributionuniformesurl'ensemble

des automatesdéterministes omplets, pourun alphabetde taillexée etsupérieure

ou égale à

2

. On montre ainsi que la omplexitémoyenne est

O(n log log n)

. L'idée

estlasuivante:pourlaplupartdesstru turesdetransitions,lenombred'automates

asso iésàunestru tureetminimisésenplusde

⌈log

k

log

2

n

3

+2

ranementsde

par-titions,est égalà

O(

2

n

log

2

n

n

)

. De plus,l'ensemble des automates asso iés aux

stru -tures de transitions restantes apporte une ontribution négligeable à la moyenne.

Cette partie est présenté dans l'arti le [30℄. Il s'agit du résultat prin ipal de ette

thèse. Tout omme dans le hapitre pré édent, on étend le résultat au as où l'on

attribueà haque étatlaprobabilité

x

∈]0, 1[

d'êtreterminal.On on lutle hapitre

enmontrantquela omplexitégénériquedel'algorithmedeMooreest

O(n log log n)

.

Dans le hapitre 10, on ee tue une étude expérimentale et théoriquede

l'algo-rithmede Hop roft. L'étudede la omplexitéest plusdi ilequepourl'algorithme

de Moore : l'algorithme de Hop roft ore des hoix dans l'implantation : il en

ex-iste un grand nombre possible pour un même automate. De plus, le ranement

de la partition est ee tué par une méthode très diérente de elle utilisée dans

l'algorithme de Moore. C'est de ette diéren e que l'algorithme de Hop roft tire

son e a ité. On ommen e par donner une nouvelle des ription de l'algorithme,

pour laquelle on peut dire, à un instant donné, que la partition est aumoins aussi

ne que elle obtenue par l'algorithme de Moore en un même nombre d'itérations.

On utilise ette analogie pour montrer que la omplexité moyenne de l'algorithme

de Hop roft, pour ette des ription, est

O(n log log n)

. On on lut le hapitre par

uneétudeexpérimentaledes implantationshabituellesde l'algorithme.Cesrésultats

(18)
(19)
(20)

Analyse ombinatoire

Dans e hapitre, on présente les deux thématiques étudiées dans ette thèse :

la génération aléatoire d'objets ombinatoires et l'analyse des algorithmes qui s'y

appliquent. On s'intéressera auxmotivations de es axesde re her he, ainsi qu'aux

prin ipes, avantages et défauts de leurs méthodes lassiques.

Danslase tion1,onprésentetroisfamillesdegénérateursaléatoires:lapremière

est elledesgénérateursadho ,quisontdesgénérateurs onçusspé iquementpour

un objetdonné.Ils sontgénéralementlesplus performants.Lesdeux autresfamilles

reposent sur des méthodes de spé i ation automatique de l'objet étudié : la

mé-thode ré ursive, qui permet d'obtenir des générateursexhaustifs oualéatoires mais

qui né essite de lourds pré al uls etbeau oup de mémoireet la méthode de

Boltz-mann,quipermetd'obtenir des générateursaléatoirestrès e a es maisoùlataille

de l'objetengendré n'estpas xée. Onne détaillequetrès peu lefon tionnementde

es méthodes, mais onrenvoielele teurintéressévers lesouvragesde référen e. Un

ouplusieurs exemplesserontdonnés pour haque typede générateurs.Parla suite,

onfera référen e à ha un de es exemples.

Dans la se tion2, onprésente lesdiérentes façon d'analyserun algorithme:

 l'étudedu pire as, letyped'analyseleplus répandu, auquelonfera

onstam-mentréféren e par la suite.

 l'étude de la omplexité en moyenne, qui onstitue le thème de la partie

III

de ette thèse.

 l'étudede la omplexitéamortie,auquel onaurare ours dansle hapitre5de

lapartie

II

(Voirpage 60).

 l'étude de la omplexité générique, qui sera brièvement mentionnée dans le

hapitre 9de lapartie

III

(Voirpage 118).

1 Génération aléatoire

Lorsque l'on souhaite étudier les propriétés d'un objet ombinatoire, ou l'un

des algorithmes qui s'y appliquent, l'idéal serait de faire une étude expérimentale

à l'aided'un générateur exhaustif. On pourrait,par exemple, onnaître exa tement

le nombre d'objets possédant un ensemble de propriétés, la quantité d'objets pour

lesquels un algorithmes'exé ute ave un oût xé. Enpratique, le nombre d'objets

detaille

n

roîtsouventtrèsrapidementetuneétudeexhaustivedevientrapidement

(21)

lespropriétésmoyennesdes objetsde plusgrandetaille,ainsi quele oûtmoyendes

algorithmes.Les générateurssont des outilsde re her he très utiles : ilspermettent

d'établirdes onje tures, oud'en réfuter. Parexemple, dans les hapitres3 et4,on

présenteunensembledegénérateursd'automatesdéterministesa essibles omplets.

Dans le hapitre 5, on présente des résultats expérimentaux obtenus grâ e à es

générateurs, à partir desquels on émet des onje tures sur les propriétés moyennes

desautomates.Danslapartie

III

,onprésenteuneétudethéoriquede la omplexité

moyennedes algorithmesde minimisationd'automates,quiaété àl'originemotivée

par des résultatsexpérimentaux.

Dans ette se tion, on présente trois types de méthodes pour onstruire un

générateur aléatoire. Dans le hapitre 4, on n'applique pas pré isément l'une de

es méthodes, ar les générateurs que l'on présente reposent sur des méthodes de

ombinatoirebije tive. En revan he, ha un des algorithmes que l'on présente sera

utilisé par lasuite.

1.1 Méthodes ad ho

Un algorithme ad ho est, omme sa lo ution latine l'indique, un algorithme

onçu sur mesure pour résoudre un problème pré is. Sa fon tion spé ique permet

souvent d'obtenir un gain d'e a ité sur lesméthodes génériques que l'on présente

par lasuite. En revan he, une méthode donnée n'est pas réutilisable pour d'autres

objets etsilesalgorithmesad ho abondentpour ertainsobjets ombinatoires

sim-ples, d'autres stru tures plus omplexes né essitent à e jour l'emploide méthodes

automatiques.

Lesdeux algorithmesquel'ondé riti isontimplantés dansleslogi ielsREGAL

et PREGA( hapitre 5).On y feradon référen e par la suite.

Les Permutations

Une permutation de taille

n

est une suite d'entiers ompris entre

1

et

n

, où

haque valeurapparaît exa tement une fois. Lenombre de permutationsde taille

n

est

n!

. L'algorithme de génération aléatoire que l'on présente i-dessous est appelé

mélange de Knuth [48℄.

Algorithme 1 : Permutationaléatoire

Données :un tableau

P

d'entiers de longueur

n

pour tous les

i

∈ {1, . . . , n}

faire

P [i] = i + 1

pour tous les

i

∈ {1, . . . , n}

faire

On tire aléatoirementun entier

j

entre

i

et

n

On é hange les valeurs de

P [i]

et

P [j]

Résultat :

P

Le prin ipe est le suivant : on tire le premier élément de la suite uniformément

dans l'ensemble

{1, . . . , n}

, puis on l'extrait de et ensemble. Le deuxième élément

seraextrait del'ensemble detaille

n

− 1

,etainside suite.Le

i

-èmeélémentest don

(22)

une permutation donnée de taille

n

est don :

P

(x

n

) =

n

Y

i=1

1

n

− i + 1

=

1

n!

.

Le générateurest don bien uniforme.

Les arbres binaires

Un arbre binaire de taille

n

est un arbre possédant

n

n÷uds internes dont le

degrésortantest

2

et

n + 1

feuillesdontledegrésortantest

0

.L'algorithmequel'on

dé riti iest onnusous lenom d'algorithmedeRémy [64℄.Ils'agit d'unalgorithme

in rémental, 'est-à-dire qu'on engendre un arbre de taille

n

à partir d'un arbre de

taille

n

− 1

. Pour ela,on séle tionneun des n÷udsde l'arbre(interne ouexterne),

quel'onnote

s

,etoninsèreun n÷udinterneàlapla e.On hoisitensuitedepla er

s

omme lsgau he ou omme lsdroit du nouveau n÷ud.

Algorithme 2 :

ArbreBinaireAleatoire(n)

si

n = 1

alors

Résultat :

ArbreBinaireAleatoire(n

− 1)

s =

Valeur aléatoireentre

1

et

2n

− 1

direction =

Valeur aléatoireentre

0

et

1

si

direction = 0

alors

Rempla er

s

par

s

sinon

Rempla er

s

par

s

1.2 Algorithmes ave rejets

Il arriveparfoisquelesméthodes lassiquessoientine a espour l'analysed'un

ensemble

E

d'objets ombinatoires que l'on souhaiterait engendrer ave une loi de

probabilités

p

E

. Une solution est toutefois possible si l'on possède un générateur

aléatoirepour un ensemble

A

, telque

E

⊂ A

ettelque si l'on onditionnela loide

probabilités

p

A

an quelesobjets hoisissoientdansl'ensemble

E

,laloiobtenueest

p

E

.Onpeut alorsutiliseruneméthode par rejet. L'idéeestlasuivante:onengendre

un objet de l'ensemble

A

et onteste si et objet appartient également àl'ensemble

E

. Si e n'est pas le as, on rejette l'objet engendré et on re ommen el'opération.

La Figure1.1 illustre le as de la génération aléatoireuniforme.

L'e a ité d'une telle méthode dépends de plusieurs fa teurs:

 l'e a ité du générateur sur l'ensemble

A

,

 laproportiond'objetsde

E

dans

A

:plus elle iestfaible,etplusl'algorithme

devra ee tuer de rejets avant d'obtenir un résultat satisfaisant,

(23)

A

E

x

y

z

Sil'onpossèdeungénérateur

uni-forme sur l'ensemble

A

, on peut

alors, ave la même probabilité

engendrer les objets

x

,

y

, et

z

.

Sil'on se restreint auxobjets

ap-partenant uniquement au

sous-ensemble

E

, la probabilité

d'en-gendrer

x

reste égale à elle

d'en-gendrer

z

. On obtient don un

générateur uniforme sur

l'ensem-ble

E

.

Fig. 1.1  Méthode par rejet pour la génération uniforme

1.3 Méthode ré ursive

La méthode ré ursive fut introduite par Nijenhuis et Wilf [62℄ et systématisée

par Flajolet,VanCutsem et Zimmermann[36℄. Le but avoué de ette méthode est

d'automatiserla génération aléatoireen utilisantla dé omposition ombinatoirede

l'objet. Eneet, nombre d'objets ombinatoires peuvent être dé ritsen utilisantles

spé i ationssuivantes:

ε

désigneunélémentdetaille

0

,

z

unélémentdetaille

1

.On

onstruit ensuite l'objet à l'aide des opérateurs union (noté

+

), produit (noté

×

),

séquen e, ensemble, multiensemble, y le. Une fois la spé i ation donnée, il est

possible de onstruire automatiquementlegénérateur aléatoire.On donneune idée

de e prin ipe ave l'exemple d'un générateuraléatoire d'arbres binaires.

Les arbres binaires

On rappelle qu'un arbre binaire de taille

n

est un arbre ontenant

n

n÷uds

internes et

n + 1

feuilles.Il peut être dé ritde la façon suivante:ils'agit soitd'une

feuille, soit d'un n÷ud auquel sont reliés deux arbres binaires. La taille de l'arbre

étantdonné par son nombre de n÷udsinterne,sa spé i ation est :

B = ε + z × B × B

auquel onasso ie lasérie génératri e ordinaire:

B(x) = 1 + xB(x)

2

À l'aide d'undi tionnaire que l'on ne dé rit pas i i,ondéduit automatiquementde

lasérie génératri eque le nombre d'arbres de taille

n

est donné par :

B

n

=

n

X

k=0

B

k

B

n−k−1

et que laprobabilité que le sous-arbre gau he d'un arbre de taille

n

soitde taille

k

est égale à :

B

k

B

n−k−1

B

n

(24)

 pré al ulertous les oe ients

B

i

pour tout

i

∈ {1, . . . , n}

.On peut ee tuer

e al ul ré ursivement.

 onstruire l'objet aléatoireré ursivement,en tirant aléatoirementla tailledes

sous-arbres en utilisantla loide probabilités donnée i-dessus.

On remarquequelegénérateur dé riti iengendredes arbresnon-étiquetés.Il sut

d'ajouter le tiraged'une permutation aléatoirepour obtenirun générateurd'arbres

étiquetés.Lepré al ulest très oûteuxen tempsetenespa emémoire.Onpréférera

don l'algorithmedeRémyàlaméthoderé ursivedans e as.Cependant,iln'existe

pas toujours d'algorithmes ad ho pour engendrer des objets aléatoirement.

Algorithme 3 :

ArbreBinaireAleatoireRecursif (n)

begin si

n = 0

alors Résultat :

k = DeterminerT ailleSousArbreGauche(n)

Gauche = ArbreBinaireAleatoireRecursif (k)

Droit = ArbreBinaireAleatoireRecursif (n

− k − 1)

Résultat :

Gauche

Droit

end

Algorithme 4 :

DeterminerT ailleSousArbreGauche(n)

Données :Les ardinaux

B

i

,pour tout

i

de

1

à

n

alea =

Valeur aléatoireen

0

et

1

k = 0

somme =

B

n−1

B

n

tant que somme<alea faire

k = k + 1

somme = somme +

B

k

B

n−k−1

B

n

Résultat :

k

1.4 Méthode de Boltzmann

La méthode de Boltzmannest issue d'un travail de Du hon, Flajolet, Lou hard

et S haeer [31℄. Elle permet de onstruire de façon systématique des générateurs

aléatoires pour des lasses d'objets étiquetés (une version pour les lasses d'objets

non-étiquetés est présentée dans [32℄ et pour les lasses d'objets olorés dans [17℄).

Cette méthode n'engendre pas d'objets de taille xe : elle dépend d'un paramètre

réel

x > 0

et, pour tout entier

n

, la valeur de

x

peut être hoisie de telle sorte que

la taille des éléments engendrés soit omprise entre

(1

− ε)n

et

(1 + ε)n

ave une

forte probabilité. L'idée est la suivante : soit une lasse d'objets ombinatoires

C

.

On note

C(z)

la série génératri e exponentielle orrespondante. Un générateur de

Boltzmannengendre un objet

c

de la lasse

C

ave laprobabilité suivante:

P

x

(c) =

1

C(x)

x

|c|

(25)

x

estleparamètreréelquipermetdeviser latailledel'objet

c

.Lesgénérateurs

de Boltzmann garantissent don que deux éléments de même taille ont la même

probabilité d'êtreengendrés.

L'espéran e de la tailled'un élémentengendré est donnée par :

E

x

(taille) = x

C

(x)

C(x)

.

Choisir le paramètre

x

de façon à e que les éléments engendrés soient de taille

moyenne

n

, revientà résoudre l'équation :

x

C

(x)

C(x)

= n

Pour obtenirun générateuren tailleexa te,onutilise ensuiteun algorithmepar

rejet.

Partitions d'un ensemble

Soit

k

et

n

deux entiers positifs. On donne i i l'exemple d'un générateur de

Boltzmann permettant d'engendrer des partitions d'un ensemble de taille

kn

en

n

sous-ensembles non-vides.Ce générateursera repris tout aulong de la partie

II

.

La série génératri e exponentielle d'un ensemble non videest

e

z

− 1

et elle des

partitionsd'unensemble en

n

sous-ensembles non-videsest

P

n

(z) =

(e

z

−1)

n

n!

,

'est-à-direleproduitde

n

éléments,oùlerapport

1

n!

permetde supprimerlanotiond'ordre

entre les

n

sous-ensembles. On a :

E

x

(

taillede la partition

) = x

P

n

(x)

P

n

(x)

= nx

e

x

e

x

− 1

.

On souhaiteobtenirdes partitionsd'unensemble dont lataillemoyenne est

kn

.On

résout don l'équation:

x

e

x

e

x

− 1

= k.

Lenombre de sous-ensembles n'apparaîtpas dans l'équation: ontire aléatoirement

la tailledes

n

sous-ensembles dont l'espéran e est égaleà

k

. Laprobabilité de tirer

un ensemble de taille

k

, pour

k > 0

, est égaleà :

1

e

x

− 1

x

k

k!

Onre onnaît laloidePoissonnon nulle, 'est-à-direlaLoide Poissonrestreinteaux

valeurs stri tement positives(voir[31℄ pour plus de pré isions). On dé rità présent

l'algorithmedegénérationaléatoiredepartitionsd'unensembleutilisantlaméthode

de Boltzmann.

2 Analyse d'algorithmes

Unalgorithmeestuneméthodepermettantde al uleruneouplusieurssolutions

(26)

Algorithme 5 : Générateur de Boltzmann pour les partitionsd'un ensemble

de taille

kn

en

n

sous-ensembles non vides

Données :un tableauT

begin 1

Cal ul du paramètre

x

2

tant que la somme des T[i℄ est diérentede

kn

faire

3

pour

i

de

1

à

n

faire

4

T [i]

=valeur aléatoiretirée ave une loi de Poisson non nullede

5 paramètre

x

P ermutation = permutationAleatoire(kn)

6

i = 0

7 pour

j < n

faire 8 pour

l

de

1

à

T [j]

faire 9

i = i + 1

10

P artition[P ermutation[i]] = j

11 end 12 Résultat :Partition

de façons d'analyser un algorithme. De manièregénérale, on identie les diérents

types de ressour es employées pour résoudre un problème, et on tente d'évaluer

l'ordrede grandeur des quantités de ressour es utilisées.Les types de ressour es les

plusétudiéssontletempsetl'espa emémoire,maisonpourraitimagineruneanalyse

du oût monétaire des solutionsproposées, de la quantité d'énergie né essaire pour

ee tuer le al ul, et .

Dans le as présent, ons'intéressera ex lusivementà la omplexité en temps des

algorithmes, 'est-à-dire l'estimation du temps de al ul, indépendamment de

l'or-dinateur oudu langagede programmationutilisé.Dans ette se tion,on ommen e

par rappeler un ensemble de notations usuelles et puisqu'il existe diérents types

d'étude dela omplexitéd'unalgorithme,onenprésenteraplusieurs variantes,dont

ha une sera évoquée par lasuite.

2.1 Comparaisons de fon tions

Soient

f

et

g

deux fon tions dépendant d'un même paramètre

n

. On dénit

trois notationspermettant de omparer les omportementsasymptotiques des deux

fon tions.

f (n) =

O(g(n)) ⇐⇒ ∃c ∈ R

+

,

∃n

0

∈ N,

tel que

∀n ≥ n

0

, f (n)

≤ cg(n)

(27)

f (n) = Θ(g(n))

⇐⇒ f(n) = O(g(n))

et

f (n) = Ω(g(n))

2.2 Étude de la omplexité dans le pire as.

Ils'agit delaméthode laplus répanduepour évaluerl'e a itéd'unalgorithme.

Unouvragederéféren e est[1℄. Leprin ipeest lesuivant:onévalue l'e a itéd'un

algorithme en fon tiond'une estimation du temps né essaire pour lapire exé ution

possible. Cette étude omporte deux parties :

 Trouverunefon tion

f

deparamètre

n

,où

n

estlatailledes objetssurlesquels

on applique l'algorithme,telle que pour toutes les entrées possibles de

l'algo-rithme, le temps d'exé ution est égal à

O(f(n))

. On parle alors de borne

supérieuredu temps d'exé ution de l'algorithme.

 Montrer que ette borne est bien atteinte, 'est-à-dire qu'il existe bien une

entrée pour laquelle le temps d'exé ution est

Ω(f (n))

. En eet, il arrive que

la borne supérieure soit une majoration grossière du temps d'exé ution dans

lepire des as. Parsuite, le résultatpeut en oreêtre rané.De plus, selon le

ontexte, un algorithme onçu pour s'appliquer sur un ensemble d'objets

E

,

peut ne pas avoir le même pire des as lorsque l'on restreint l'ensemble des

entrées à un sous-ensemble

E

⊂ E

.

Il est également possible d'ee tuer une étude similaire pour le meilleur as.

Cette démar he est utile pour mieux omprendre l'algorithme et né essaire pour

une analyse en moyenne, mais on ne lui a ordera pas la même importan e qu'au

pire des as pour déterminer l'e a ité de l'algorithme.

Exemple : la re her he dans une liste triée. On présente deux algorithmes

permettant de her her une valeur

x

dans un tableau trié de taille

n

. Le premier

par oure naïvement le tableau de gau he à droite jusqu'à trouver la bonne valeur

(oujusqu'àlandutableau,si

x

ne s'ytrouvepas).Lese ondee tueunere her he

dite di hotomique.Elleutilise àson avantage le ontexte de laliste triéede lafaçon

suivante : si lavaleur

x

est plus grande que elle ontenue dans une ase

c

, alors

x

ne setrouvepasàgau he de

c

dansletableauetsilavaleur

x

estplus grande,alors

ellene setrouve pas à droitede

c

.

Algorithme 6 : Naïf

Données : Untableau trié

T

et une

valeur

x

begin

1

pour

i

entre

1

à

n

faire

2 si

T

[i] = x

alors 3 Renvoyer laposition

i

; 4 Renvoyer

f aux

; 5 end 6

Trouver 33 :

Trouver 70 :

Trouver 9 :

4 comparaisons

9 comparaisons

1 comparaison

9

14

26

33

41

42

55

68

70

9

14

26

33

41

42

55

68

70

9

14

26

33

41

42

55

68

70

(28)

la première ase : une seule omparaison est ee tuée. Cependant, il fautau moins

une omparaison pour levérier. La omplexité dans lemeilleur as est don

Θ(1)

.

Danslepiredes as, lavaleurestdansladernière ase dutableau,oun'yestpas

dutout.Onee tuealorsautantde omparaisonsqu'ilyadevaleursdansletableau.

L'un des exemples i-dessus montre que e pire as est atteint.La omplexité dans

le pire des as est don

Θ(n)

.

Algorithme 7 : Di hotomie

Données : Untableau trié

T

et une

valeur

x

begin

1

debut

= 1

,

f in

= n

; 2

tant que

debut < f in

faire 3

milieu

=

debut+f in

2

; 4 si

T

[milieu] = x

alors 5 Renvoyer laposition 6

milieu

; si

T

[milieu] < x

alors 7

f in

= milieu

− 1

; 8 si

T

[milieu] > x

alors 9

debut

= milieu + 1

; 10 si

T

[debut] = x

alors 11

Renvoyer laposition

milieu

;

12 sinon 13 Renvoyer

f aux

; 14 end 15

Trouver 33 :

Trouver 70 :

Trouver 9 :

1 comparaison

4 comparaisons

3 comparaisons

9

14

26

33

41

42

55

68

70

9

14

26

33

41

42

55

68

70

9

14

26

33

41

42

55

68

70

Pourlare her he di hotomique,tout ommepourl'algorithmenaïf,la

omplex-ité dans le meilleur as est

Θ(1)

. Ce as se produit lorsque la valeur re her hée est

aumilieu du tableau.

A haque étapede l'algorithme,ondivise lenombre de positions possibles dans

le tableau par

2

. La omplexité pire as est don

O(log n)

. L'exemple i-dessus

onsistantàtrouver

70

atteintlepire as. La omplexitépire as est don

Θ(log n)

.

L'étude de la omplexité dans le pire des as a permis d'établir une hiérar hie

entre les deux algorithmes : l'algorithmeee tuant une re her he di hotomiqueest

plus e a e dans lepire as que elui ee tuant une re her he naïve.

Remarque 1. L'étude d'un algorithme dans le pire des as a l'avantage d'être en

généralplussimple armoinsnequelesautrestypesd'analyse.Enrevan heilexiste

des algorithmes pourlesquels le pire as etle meilleur as se produisent rarement et

ne reètent pas le temps d'exé utionen pratique.

2.3 Analyse en moyenne

L'analyse en moyenne apporte un omplément d'information sur le

(29)

son utilisationest re ommandée par DonaldKnuth [4749℄etilexiste de nombreux

ouvrages sur le sujet[3335,67℄.

Soit

E

n

l'ensembledesentréesdetaille

n

d'unalgorithme.Soit

e

∈ E

n

unobjetde

taille

n

,onnote

c(e)

le oût del'exé ution de l'algorithmeprenant

e

ommeentrée.

Pour une distributionde probabilités donnée sur

E

n

, onnote

P

(e)

la probabilitéde

tirer un objet

e

. Le oût moyen de l'algorithmeest égal à:

X

e∈E

n

P

(e)

× c(e).

On s'intéressera prin ipalement à la omplexité en moyenne d'un algorithme

lorsque elle- i dière de la omplexitédans le pire des as.

Remarque 2. La distribution de probabilités sur l'ensemble des entrées pouvant

varier du tout au tout selon le ontexte, les résultats d'une analyse peuvent devenir

adu s lorsque e dernier hange. De plus, il est di ile d'une part de modéliser

une situation donnée, 'est-à-dire d'obtenir la distribution de probabilités dans un

ontexte pré is, et d'autre part d'analyser la omplexité moyenne d'un algorithme

dans le as non-uniforme. L'analyse en moyenne sera don souvent réalisée pour la

distribution uniforme. Dans le hapitres 7, on prendra soin d'analyser l'algorithme

de Moore pour diérentes distributions de probabilités.

Remarque3.Ilesttoutàfaitpossiblequele oûtmoyend'unalgorithmenesoitpas

du toutreprésentatifdutemps d'exé utionpratique,quand bienmême ladistribution

de probabilité serait réaliste. Supposons par exemple qu'ave probabilité

1

n

, le oût

de l'algorithme soit

Θ(2

n

)

, et que pour tout autre exé ution, le oût soit

Θ(n)

. La

omplexité moyenne de l'algorithme sera

Θ

2

n

n



. Pourtant le temps d'exé ution de

l'algorithme est presque sûrement

Θ(n)

. On verra que le problème ne se pose pas

pour les algorithmes qu'on analyse i i.

Exemple : Qui ksort. L'algorithme Qui ksort [42℄ est un algorithme de tri

ef- a e, dont la omplexité dans le pire as est quadratique, alors que la omplexité

moyenne est

Θ(n log n)

.Les étudessur la omplexitéde et algorithmeétant

abon-dantes [33,34,42,49,68℄, on donnera simplement au le teur une vague idée de son

fon tionnement etde son analyse.

L'algorithme onsisteà hoisir un pivot, 'est-à-dire unevaleurquel onque dans

letableau,puis àpartitionner e dernieren plaçant d'un té lesvaleursinférieures

aupivotetde l'autrelesvaleurssupérieures ouégales.La omplexitéde ette

opéra-tion est linéaire en la taille du tableau à trier. Dans la Figure 2.3, la partition du

tableauest faite au ours des lignes

3

à

7

. Lepivot hoisi dans ette des riptionest

toujours la dernière ase. On aurait ependant pu prendre n'importe quelle valeur.

Une fois le partitionnement terminé, le pivot est à la bonne pla e et on relan e

l'algorithme ave les deux sous-tableaux restants. La omplexité de l'algorithme

dépenddon du nombre etdelatailledessous-tableaux quel'algorithmevatraiter.

Dansle pire des as,le pivot hoisi est toujourslavaleurminimaleoumaximaledu

tableau ourant: le al ulsepoursuitsur un seul sous-tableau, ontenanttoutesles

valeurssauflepivot.La omplexitédel'algorithme,dansuntel as,estquadratique.

En revan he, pour la distribution uniforme sur toutes les permutations possibles,

(30)

Algorithme 8 :

Quicksort(T ableau T, debut, f in)

begin 1 si

debut < f in

alors 2

i

= debut

; 3 pour

j

de

debut

à

f in

− 1

4 faire si

T

[j] < T [f in]

alors 5 E hanger

T

[j]

et 6

T

[i]

;

j

= j + 1

; 7 E hanger

T

[j]

et

T

[dernier]

; 8

Quicksort(T, j + 1, f in)

; 9

Quicksort(T, debut, j

− 1)

; 10 end 11

9

4

6

3

1

2

5

8

7

7

4

6

3

1

2

5

8

9

9

8

5

6

4

3

1

2

2

1

4

3

3

4

1

2

3

4

5

6

7

8

9

Tout ommedanslare her he di hotomique, onvaréappliquerl'algorithmesur des

sous-tableaux de taille

n

c

, où

c

est une onstante. La omplexité moyenne est alors

Θ(n log n)

. Il est de plus possible de mélanger les valeurs d'un tableau, en temps

linéaire,an d'obtenir ette distributionuniforme.

2.4 Autres types d'analyse

Comme on l'a vu dans les remarques 1, 2 et 3, onnaître la omplexité d'un

algorithme dans le pire as et dans le as moyen n'est pas susant pour onnaître

l'e a itéd'unalgorithmeenpratique.Ondé ritbrièvementd'autretypesd'analyse

qui,ens'ajoutantauxpré édentes,permettentd'a éderàunemeilleure

ompréhen-sion de laméthode étudiée.

Complexité générique. La notion de omplexité générique est dénie de façon

pré isedans[46℄.Elleestbaséesurlesnotionsd'ensemblesnégligeableset

d'ensem-bles génériques. Soit

E

l'ensemble des instan es d'un problème. On détermine un

paramètredetaillesur

E

:soit

E

n

l'ensembledesinstan esdetaille

n

et

B

n

=

S

i≤n

E

i

l'ensemble des instan es de tailles auplus

n

. Soit

X

un ensemble d'instan es. Pour

une distributionde probabilitésxée, onditque

X

est négligeablesietseulement

si :

pour

e

∈ B

n

,

lim

n→+∞

P

(e

∈ X) = 0,

e qui, pour ladistribution uniforme,est équivalent à

lim

n→+∞

|X ∩ B

n

|

|B

n

|

= 0,

et que

X

est générique siet seulementsi :

pour

e

∈ B

n

,

lim

n→+∞

(31)

e qui, pour ladistribution uniforme,est équivalent à

lim

n→+∞

|X ∩ B

n

|

|B

n

|

= 1,

La omplexitégénériqued'unalgorithme orrespond àla omplexitédanslepire

as d'un ensemble générique d'instan es de l'algorithme. On préférera par exemple

onnaître la omplexitégénériqueà la omplexitémoyenne dans le as évoqué dans

laremarque 3.

Remarque 4. Dans le as parti ulier ou l'on a :

pour

e

∈ B

n

,

lim

n→+∞

P

(e

∈ B

n−1

) = 0,

pour montrer qu'un ensemble

X

est générique, il sut de montre que

pour

e

∈ E

n

,

lim

n→+∞

P

(e

∈ X) = 1.

De façon générale, si on a un ensemble

X

tel que :

pour

e

∈ E

n

,

lim

n→+∞

P

(e

∈ X) = 0.

alors

X

est négligeable.

Remarque5.Siunensemble

X

estnégligeable,alorsl'ensemble

E

\X

estgénérique.

Si un ensemble

X

est générique, alors l'ensemble

E

\ X

est négligeable.

Complexitéamortie. La omplexitéamortie, ontrairementauxdénitions

pré é-dentes,ne s'intéresse pasaux ressour esutiliséespar un algorithmepour uneentrée

donnée, mais à la somme des ressour es utilisées par une suite d'exé utions de et

algorithme.

Prenonsl'exempledelasaisied'untexte dansune haînede ara tères.A haque

fois qu'un utilisateur rentre un ara tère, e dernier est ajouté dans un tableau. Si

laquantité de mémoireallouéepour letableauest susante, onajoutesimplement

le ara tère et le oût de l'opération est

θ(1)

. En revan he, si le tableau est plein,

il faut au préalable réallouer un tableau dans la mémoire puis re opier les valeurs

de l'an iendans lenouveau. Dans lesimplantations lassiques, latailledu nouveau

tableau est égale au double de taille de l'an ien. La omplexité de l'opération est

alors

O(n)

, où

n

est la taillede l'an ien tableau.Somme toute, la omplexité dans

le pire as de l'ajout d'un ara tère dans un tableauest

O(n)

.

Soit

m

le nombre de ara tères à ajouter. Le nombre d'ajouts dont le oût est

O(1)

est égal à

m

− log(m)

. La omplexité amortieest don majoréepar :

m

− log(m) +

P

i={2,4,...,log(m)}

i

m

=

O(1)

On ditalors quela omplexitéamortiede l'opérationd'ajoutde ara tères est

O(1)

Figure

Fig. 2  Un automate. L'état 1 est initial et l'état 11 est terminal.
Fig. 2.3  Ré
apitulatif des sous-ensembles de l'ensemble des automates détermin-
Fig. 3.1  Un automate, son automate de base et son arbre 
ouvrant
Fig. 3.2  Un diagramme de longueur 5 et de hauteur 4 , un diagramme marqué, un
+7

Références

Documents relatifs

n faire une hypothèse sur la distribution théorique permettant de faire une hypothèse sur la distribution théorique permettant de déterminer les effectifs théoriques pour chacune

Calculez la moyenne, le mode, la m´ediane et l’´etendue de chaque ensemble de donn´ees.. Moyenne, Mode, M´ediane et ´ Etendue

Calculez la moyenne, le mode, la m´ediane et l’´etendue de chaque ensemble de donn´ees.. Moyenne, Mode, M´ediane et ´ Etendue

Calculez la moyenne, le mode, la m´ediane et l’´etendue de chaque ensemble de donn´ees.. Moyenne, Mode, M´ediane et ´ Etendue

Calculez la moyenne, le mode, la m´ediane et l’´etendue de chaque ensemble de donn´ees.. Moyenne, Mode, M´ediane et ´ Etendue

Calculez la moyenne, le mode, la m´ediane et l’´etendue de chaque ensemble de donn´ees.. Moyenne, Mode, M´ediane et ´ Etendue

Calculez la moyenne, le mode, la m´ediane et l’´etendue de chaque ensemble de donn´ees.. Moyenne, Mode, M´ediane et ´ Etendue

Montrer que si π est la la loi uniforme sur E et Q est apériodique, alors la chaîne de Markov de matrice de transition Q converge en loi vers π quand n → ∞, pour n’importe