• Aucun résultat trouvé

Analyse d’algorithmes, langages et automates

N/A
N/A
Protected

Academic year: 2022

Partager "Analyse d’algorithmes, langages et automates"

Copied!
98
0
0

Texte intégral

(1)

Analyse d’algorithmes, langages et automates

Fr´ed´erique Bassino

LIPN, Universit´e Paris 13 et CNRS

Journ´ees ALEA 2011

(2)

Objectifs

I Etudier de mani`ere quantitative les propri´et´es des langages r´eguliers

I Utiliser des structures combinatoires pour les repr´esenter

I automates minimaux,

I automates de Glushkov d´eriv´es des expressions rationnelles

I Enum´erer, simuler ces structures

I Analyser en moyenne des algorithmes manipulant ces structures (Algorithme de minimisation de Moore)

I Pasd’´etude des propri´et´es d’un langage al´eatoire dans les diff´erents mod`eles consid´er´es.

(3)

Objectifs

I Etudier de mani`ere quantitative les propri´et´es des langages r´eguliers

I Utiliser des structures combinatoires pour les repr´esenter

I automates minimaux,

I automates de Glushkov d´eriv´es des expressions rationnelles

I Enum´erer, simuler ces structures

I Analyser en moyenne des algorithmes manipulant ces structures (Algorithme de minimisation de Moore)

I Pasd’´etude des propri´et´es d’un langage al´eatoire dans les diff´erents mod`eles consid´er´es.

(4)

Objectifs

I Etudier de mani`ere quantitative les propri´et´es des langages r´eguliers

I Utiliser des structures combinatoires pour les repr´esenter

I automates minimaux,

I automates de Glushkov d´eriv´es des expressions rationnelles

I Enum´erer, simuler ces structures

I Analyser en moyenne des algorithmes manipulant ces structures (Algorithme de minimisation de Moore)

I Pasd’´etude des propri´et´es d’un langage al´eatoire dans les diff´erents mod`eles consid´er´es.

(5)

Objectifs

I Etudier de mani`ere quantitative les propri´et´es des langages r´eguliers

I Utiliser des structures combinatoires pour les repr´esenter

I automates minimaux,

I automates de Glushkov d´eriv´es des expressions rationnelles

I Enum´erer, simuler ces structures

I Analyser en moyenne des algorithmes manipulant ces structures (Algorithme de minimisation de Moore)

I Pasd’´etude des propri´et´es d’un langage al´eatoire dans les diff´erents mod`eles consid´er´es.

(6)

Langages r´eguliers

I Aun alphabet fini :A={a,b,c}

I Al’ensemble des mots surA:A ={ε,a,b,c,aa,ab, . . .}

I Unlangage r´egulier: langage obtenu `a partir de sous-ensembles finis deAet d’un nombre fini d’op´erations rationnelles (union

∪, concat´enation·et ´etoile∗) o`u

X ={x1x2· · ·xn |n≥0,xi ∈X}

(7)

Langages r´eguliers

I Aun alphabet fini :A={a,b,c}

I Al’ensemble des mots surA:A ={ε,a,b,c,aa,ab, . . .}

I Unlangage r´egulier: langage obtenu `a partir de sous-ensembles finis deAet d’un nombre fini d’op´erations rationnelles (union

∪, concat´enation·et ´etoile∗) o`u

X ={x1x2· · ·xn |n≥0,xi ∈X}

(8)

Expressions rationnelles

Les langages finis peuvent ˆetre repr´esent´es par des expressions rationnelles ´ecrites sur

I un alphabet finiA∪ {}

I avec les op´erateurs binaires : union+et concat´enation·

I et l’op´erateurs unaire∗.

Expressions rationnelles :ab+a(c+d)

I Cette representation des langages n’a pas de forme canonique

I Tester si une expression repr´esenteAest PSPACE-complet.

(9)

Automates finis

Unautomate finiAest

I un graphe orient´e

I dont les transitions sont ´etiquet´ees sur un alphabet fini

I avec un ensembleId’´etats initiaux

I et un ensembleFd’´etats terminaux.

I Lelangage reconnupar un automate fini est l’ensemble des

´etiquette des chemins d’un ´etat initial `a un ´etat final.

Automate fini : 1 a 2 a,b

D’apr`es le th´eor`eme de Kleene, les langages reconnus par un automate sont les langages r´eguliers.

(10)

Automates minimaux

A chaque langage r´egulier, on peut associer de mani`ere unique son automate minimal.

Un automate estd´eterministeetcomplet

I s’il n’a qu’un seul ´etat initial

I et que pour tout ´etatqet pour toute lettre`, il existe exactement une transition d’´etiquette`partant deq.

Un automate d´eterministe estaccessiblesi tout ´etat de l’automate peut ˆetre atteint par un chemin partant de l’´etat initial.

L’automateminimald’un langage r´egulier est l’automate accessible d´eterministe et complet ayant le plus petit nombre d’´etats qui reconnaˆıt ce langage.

(11)

Automates minimaux

A chaque langage r´egulier, on peut associer de mani`ere unique son automate minimal.

Un automate estd´eterministeetcomplet

I s’il n’a qu’un seul ´etat initial

I et que pour tout ´etatqet pour toute lettre`, il existe exactement une transition d’´etiquette`partant deq.

Un automate d´eterministe estaccessiblesi tout ´etat de l’automate peut ˆetre atteint par un chemin partant de l’´etat initial.

L’automateminimald’un langage r´egulier est l’automate accessible d´eterministe et complet ayant le plus petit nombre d’´etats qui reconnaˆıt ce langage.

(12)

G´en´eration al´eatoire

d’automates

(13)

Grandes ´etapes

Objectif

Engendrer al´eatoire et uniform´ement les langages r´eguliers selon le nombre d’´etats de leur automate minimal.

I Engendrer al´eatoirement et uniform´ement des automates

accessibles d´eterministes et complets `an´etats sur un alphabet `ak lettres.

I Transformer ces automates en partitions d’ensembles particuli`eres.

I Engendrer ces partitions d’ensembles grˆace `a un g´en´erateur de Boltzmann.

(14)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

a b

a

b a

b a,b

b a

I Les ´etats teminaux sont omis. Lors de la g´en´eration al´eatoire, ils seront tir´es ind´ependemment.

I Pour ´eviter les structures isomorphes, on ´etiquette les ´etats de mani`ere canonique suivant un parcours en largeur.

(15)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(16)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(17)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

a

1−→a a

b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(18)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a

a b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(19)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b

b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(20)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b b

a

2−→a

a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(21)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(22)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

(23)

d’un automate `a une partition d’ensemble

Automate d´eterministe accessible et complet.

1 3

4 2

5 a

b

a

b a

b a,b

b a

1 2 3 4 5

→ a

1−→a a

b

1−→b b

a

2−→a a

b

2−→b

b 3−→a

3−→b 4−→a 4−→b 5−→a

5−→b

En numerotant les flˆeches selon leur ordre d’apparition (parcours en largeur), on obtient la partition deskn+1 fl`eches ennparts suivante :

{{1},{2,4,6,10},{3},{5,7,11},{8,9}}

(24)

D´efinition

Une partition deskn+1 fl`eches ennpart est dite r´ealisable quand on peut l’obtenir `a partir d’un automate accessible.

Th´eor`eme [Bassino, Nicaud 07 ; Korshunov 78] La proportion de partitions r´ealisables est enΘ(1).

Corollaire

Le nombre d’automates d´eterministes, accessibles et complets est de l’ordre dekn+1

n 2nou encore, de l’ordre denkn

n 2n.

(25)

D´efinition

Une partition deskn+1 fl`eches ennpart est dite r´ealisable quand on peut l’obtenir `a partir d’un automate accessible.

Th´eor`eme [Bassino, Nicaud 07 ; Korshunov 78]

La proportion de partitions r´ealisables est enΘ(1).

Corollaire

Le nombre d’automates d´eterministes, accessibles et complets est de l’ordre dekn+1

n 2nou encore, de l’ordre denkn

n 2n.

(26)

D´efinition

Une partition deskn+1 fl`eches ennpart est dite r´ealisable quand on peut l’obtenir `a partir d’un automate accessible.

Th´eor`eme [Bassino, Nicaud 07 ; Korshunov 78]

La proportion de partitions r´ealisables est enΘ(1).

Corollaire

Le nombre d’automates d´eterministes, accessibles et complets est de l’ordre dekn+1

n 2n

ou encore, de l’ordre denkn

n 2n.

(27)

D´efinition

Une partition deskn+1 fl`eches ennpart est dite r´ealisable quand on peut l’obtenir `a partir d’un automate accessible.

Th´eor`eme [Bassino, Nicaud 07 ; Korshunov 78]

La proportion de partitions r´ealisables est enΘ(1).

Corollaire

Le nombre d’automates d´eterministes, accessibles et complets est de l’ordre dekn+1

n 2nou encore, de l’ordre denkn

n 2n.

(28)

G´en´erateur de Boltzmann

But

Engendrer al´eatoirement pour la distribution uniforme les partitions d’un ensemble `akn´el´ements ennsous-ensembles non vides.

I Une partition ennsous-ensembles non vides = ensemble den ensembles non-vides

I La s´erie exponentielle des ensembles non vides selon leur cardinalN(z) =ez−1.

I Dans le mod`ele de Boltzmann, la taille de chacun desn sous-ensembles suit une loi de Poisson de param`etrex: Px(|γ|=s) = (ex1−1)

xs s!.

I La taille moyenne de la partition engendr´ee est Ex(taille partition) =nx ex

ex−1.

I Ex(taille partition) =knpourx=ζk(point de col dekn

n )

(29)

G´en´erateurs de Boltzmann

I Engendrer la taille de chacun desnsous-ensembles suivant une loi de Poisson de param`etrex=ζk(complexit´e lin´eaire).

I La probabilit´e que la partition engendr´ee soit de taille exactementknest asymptotiquementO

1 n

. Le nombre moyen de rejets estO(√

n).

I Tirer une partition al´eatoire de{1, . . . ,kn}pour ´etiqueter le structure (complexit´e lin´eaire)

La complexit´e moyenne en temps de la g´en´eration d’une partition d’un ensemble `akn´el´ements ennsous-ensembles non vies est en O(n3/2)

Question

Peut-on faire mieux que duΘ(n√

n)pour engendrer les partitions ?

(30)

G´en´erateurs de Boltzmann

I Engendrer la taille de chacun desnsous-ensembles suivant une loi de Poisson de param`etrex=ζk(complexit´e lin´eaire).

I La probabilit´e que la partition engendr´ee soit de taille exactementknest asymptotiquementO

1 n

. Le nombre moyen de rejets estO(√

n).

I Tirer une partition al´eatoire de{1, . . . ,kn}pour ´etiqueter le structure (complexit´e lin´eaire)

La complexit´e moyenne en temps de la g´en´eration d’une partition d’un ensemble `akn´el´ements ennsous-ensembles non vies est en O(n3/2)

Question

Peut-on faire mieux que duΘ(n√

n)pour engendrer les partitions ?

(31)

G´en´erateur de partitions (tailleknen moyenne)

de taillekn?

R´ealisable ?

Automate

O(√ n) O(1)

(32)

G´en´erateur de partitions (tailleknen moyenne)

de taillekn?

R´ealisable ?

Automate

O(√ n)

O(1)

(33)

G´en´erateur de partitions (tailleknen moyenne)

de taillekn?

R´ealisable ?

Automate

O(√ n)

O(1)

(34)

G´en´erateur de partitions (tailleknen moyenne)

de taillekn?

R´ealisable ?

Automate

O(√ n) O(1)

(35)

G´en´erateur de partitions (tailleknen moyenne)

de taillekn?

R´ealisable ?

Automate

O(√ n) O(1)

(36)

G´en´erateurs d’automates

Th´eor`eme [Bassino, Nicaud 07]

En utilisant un g´en´erateur de Boltzmann, on peut tirer au sort uniform´ement au hasard des automates d´eterministe, complets et accessibles `an´etats en temps moyenΘ(n3/2).

Extensions :

I Automates incomplets[Bassino, David, Nicaud 2008]

I Nombre fix´e de transitions manquantes[H´eam, Nicaud, Schmitz 2010]

I Transducteurs d´eterministes en entr´ee[H´eam, Nicaud, Schmitz 2010]

(37)

G´en´erateurs d’automates

Th´eor`eme [Bassino, Nicaud 07]

En utilisant un g´en´erateur de Boltzmann, on peut tirer au sort uniform´ement au hasard des automates d´eterministe, complets et accessibles `an´etats en temps moyenΘ(n3/2).

Extensions :

I Automates incomplets[Bassino, David, Nicaud 2008]

I Nombre fix´e de transitions manquantes[H´eam, Nicaud, Schmitz 2010]

I Transducteurs d´eterministes en entr´ee[H´eam, Nicaud, Schmitz 2010]

(38)

R´esultats exp´erimentaux

Temps moyen (en secondes) n´ecessaire pour engendrer un automate d´eterministe accessible complet `an´etats sur un alphabet `aklettres

n 100 500 1 000 5 000 10 000

k =2 0.0014 0.010 0.035 0.37 1.1 k =3 0.0017 0.014 0.045 0.51 1.4 k =4 0.0021 0.020 0.054 0.55 1.8

I R´esultats obtenus avec la biblioth`eque C++ REGAL d´evelopp´ee par J. David

I 20 000 automates de chaque taille ont ´et´e engendr´es.

(39)

Automates minimaux (exp´erimentalement)

Proportion d’automates minimaux

Taille 10 100 500 1 000 5 000 10 000

k=2 (%) 81.33 85.06 85.32 85.09 85.32 85,24 k=3 (%) 96.92 99.78 99.99 99.98 99.99 99.99 k=4 (%) 99.53 99.99 99.99 99.99 99.99 99.99

I R´esultats obtenus avec la biblioth`eque C++ REGAL d´evelopp´ee par J. David

I 20 000 automates de chaque taille ont ´et´e engendr´es.

I G´en´erateur par rejet dont l’efficacit´e n’est prouv´ee th´eoriquement

En cours

L’´enum´eration des automates minimaux (en collaboration avec Andrea Sportiello)

(40)

Automates minimaux (exp´erimentalement)

Proportion d’automates minimaux

Taille 10 100 500 1 000 5 000 10 000

k=2 (%) 81.33 85.06 85.32 85.09 85.32 85,24 k=3 (%) 96.92 99.78 99.99 99.98 99.99 99.99 k=4 (%) 99.53 99.99 99.99 99.99 99.99 99.99

I R´esultats obtenus avec la biblioth`eque C++ REGAL d´evelopp´ee par J. David

I 20 000 automates de chaque taille ont ´et´e engendr´es.

I G´en´erateur par rejet dont l’efficacit´e n’est prouv´ee th´eoriquement

En cours

L’´enum´eration des automates minimaux (en collaboration avec Andrea Sportiello)

(41)

Analyse en moyenne :

algorithme de Moore

(42)

Algorithmes de minimisation

I A tout langage r´egulier est associ´e de mani`ere canonique son automate minimal.

I C’est le plus petit automate accessible d´eterministe et complet qui reconnaˆıt ce langage.

I Algorithme de Moore, enO(n2)dans le pire cas[Moore 56]

I Algorithme de Hopcroft, enO(nlogn)dans le pire cas[Hopcroft 71]

Question

Que peut-on dire de leurs complexit´es en moyenne ?

(43)

Equivalence de Nerode

1 2

3 4

5 a

b

a,b a,b

a,b a,b

I On noteLp={u|p·u∈F}le langage reconnu en prenantp comme ´etat initial.

I Equivalence de N´erode :p∼qssiLp=Lq

(44)

Equivalence de Nerode

1 2

3 4

5 a

b

a,b a,b

a,b a,b

I On noteLp={u|p·u∈F}le langage reconnu en prenantp comme ´etat initial.

I Equivalence de N´erode :p∼qssiLp=Lq

(45)

Equivalence de Nerode

1 2

3 4

5 a

b

a,b a,b

a,b a,b

I On noteLp={u|p·u∈F}le langage reconnu en prenantp comme ´etat initial.

I Equivalence de N´erode :p∼qssiLp=Lq

(46)

Automate minimis´e

{1}

{2,5}

{3,4}

b

a

a,b a,b

I On fusionne les ´etats ´equivalent.

I On obtient l’automate minimal du langage.

(47)

L’algorithme de Moore

I p∼q⇔Lp=Lq

I p∼iq⇔Lp∩A≤i=Lq∩A≤i

Ii+1se calcule `a partir de∼i I Si∼i+1=∼ialors∼=∼i

Moore(A) Calculer∼0 1.

Tant que∼i+16=∼i 2.

i:=i+1 3.

Calculer∼i+1 4.

RetournerA/∼i 5.

I Calculer∼i+1se fait en tempsΘ(kn)

I Il y a au plusn−1 it´erations

I Complexit´e quadratique dans le pire cas.

I Combien y a-t-il d’it´erations en moyenne ?

(48)

L’algorithme de Moore

I p∼q⇔Lp=Lq

I p∼iq⇔Lp∩A≤i=Lq∩A≤i

Ii+1se calcule `a partir de∼i I Si∼i+1=∼ialors∼=∼i

Moore(A) Calculer∼0 1.

Tant que∼i+16=∼i 2.

i:=i+1 3.

Calculer∼i+1 4.

RetournerA/∼i 5.

I Calculer∼i+1se fait en tempsΘ(kn)

I Il y a au plusn−1 it´erations

I Complexit´e quadratique dans le pire cas.

I Combien y a-t-il d’it´erations en moyenne ?

(49)

L’algorithme de Moore

I p∼q⇔Lp=Lq

I p∼iq⇔Lp∩A≤i=Lq∩A≤i

Ii+1se calcule `a partir de∼i I Si∼i+1=∼ialors∼=∼i

Moore(A) Calculer∼0 1.

Tant que∼i+16=∼i 2.

i:=i+1 3.

Calculer∼i+1 4.

RetournerA/∼i 5.

I Calculer∼i+1se fait en tempsΘ(kn)

I Il y a au plusn−1 it´erations

I Complexit´e quadratique dans le pire cas.

I Combien y a-t-il d’it´erations en moyenne ?

(50)

Nombre moyen d’it´erations de l’algorithme de Moore

1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Number of iterations

Size of Automata

Moore Standard Deviation

FIG.:Nombre moyen d’it´eration de l’algorithme de Moore pour la distribution uniforme

(51)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6

ε

a

a a

b

b ab

a a

aba

a a

abaa

(52)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(53)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a

a

b

b ab

a a

aba

a a

abaa

(54)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(55)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b

ab

a a

aba

a a

abaa

(56)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(57)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(58)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(59)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(60)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

Siu=abaable plus court mot qui s´epareLpetLq:p∼4qetp5 q Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6 ε

a

a a

b

b ab

a a

aba

a a

abaa

(61)

Equivalence et contraintes sur les ´etats

On fixe le graphe de l’automate.

u=abaable plus court mot qui s´epareLpetLq:p∼4qetp5q.

Quels ´etats terminaux peut-on choisir ?

p

q

1

2

3

4

5

6

(62)

Probabilit´e de satifaire les contraintes

Probabilit´e que le choix des ´etats terminaux satisfasse les contraintes : 23−8=2−5pour un mot de longueur 5

p

q

1

2

3

4

5

6

(63)

Proposition

Si on fixe le graphe de l’automate et deux ´etatspetq,p∼`−1qet p`qavec probabilit´e au plus 2−`, en tirant uniform´ement l’ensemble d’´etats terminaux.

Th´eor`eme [Bassino, David, Nicaud 09]

Pour la distribution uniforme sur les automates d´eterministes complets et accessibles, le nombre moyen d’it´erations de l’algorithme de Moore est enO(logn). Sa complexit´e moyenne est donc enO(nlogn). Ce r´esultat a ´et´e g´en´eralis´e aux distributions telles que la probabilit´e de respecter`contraintes d´ecroˆıt exponentiellement avec`.

(64)

Proposition

Si on fixe le graphe de l’automate et deux ´etatspetq,p∼`−1qet p`qavec probabilit´e au plus 2−`, en tirant uniform´ement l’ensemble d’´etats terminaux.

Th´eor`eme [Bassino, David, Nicaud 09]

Pour la distribution uniforme sur les automates d´eterministes complets et accessibles, le nombre moyen d’it´erations de l’algorithme de Moore est enO(logn). Sa complexit´e moyenne est donc enO(nlogn).

Ce r´esultat a ´et´e g´en´eralis´e aux distributions telles que la probabilit´e de respecter`contraintes d´ecroˆıt exponentiellement avec`.

(65)

Proposition

Si on fixe le graphe de l’automate et deux ´etatspetq,p∼`−1qet p`qavec probabilit´e au plus 2−`, en tirant uniform´ement l’ensemble d’´etats terminaux.

Th´eor`eme [Bassino, David, Nicaud 09]

Pour la distribution uniforme sur les automates d´eterministes complets et accessibles, le nombre moyen d’it´erations de l’algorithme de Moore est enO(logn). Sa complexit´e moyenne est donc enO(nlogn).

Ce r´esultat a ´et´e g´en´eralis´e aux distributions telles que la probabilit´e de respecter`contraintes d´ecroˆıt exponentiellement avec`.

(66)

Th´eor`eme [David 10]

Pour la distribution uniforme sur les automates d´eterministes complets (pas n´ecessairement accessibles), le nombre moyen d’it´erations de l’algorithme de Moore est enO(log logn). Sa complexit´e moyenne est donc enO(nlog logn).

Conjecture

Le r´esultat est vrai pour la distribution uniforme sur les automates d´eterministes complets et accessibles.

Pour ce r´esultat, J. David utilise la structure typique d’un automate al´eatoire pour la distribution uniforme.

(67)

Th´eor`eme [David 10]

Pour la distribution uniforme sur les automates d´eterministes complets (pas n´ecessairement accessibles), le nombre moyen d’it´erations de l’algorithme de Moore est enO(log logn). Sa complexit´e moyenne est donc enO(nlog logn).

Conjecture

Le r´esultat est vrai pour la distribution uniforme sur les automates d´eterministes complets et accessibles.

Pour ce r´esultat, J. David utilise la structure typique d’un automate al´eatoire pour la distribution uniforme.

(68)

Expressions rationnelles et

Automates de Glushkov

(69)

Expressions rationnelles

L’ensemble desexpressions rationnellesnon videsRsur un alphabet finiAest l’ensemble des mots sur l’alphabetA∪ {,∪,∗,·,(,)}

d´efinis inductivement par

I ∈ R,A⊂ R

I SiR∈ R,R ∈ R

I SiR1,R2∈ R,R1∪R2,R1·R2∈ R

(70)

Repr´esentation par arbre

Une expression rationnelle peut-ˆetre vue comme un arbre :

?

a +

b ε

I Arbre de(a·(b+ε))

I La taille de l’expression est le nombre de nœuds, ici 6

Probl`eme

Enum´erer les langages r´eguliers selon la taille des plus petites expressions rationnelles qui les repr´esentent est un probl`eme difficile. Etudier des automates non-d´eterministes particuliers : lesautomates de Glushkov

(71)

Repr´esentation par arbre

Une expression rationnelle peut-ˆetre vue comme un arbre :

?

a +

b ε

I Arbre de(a·(b+ε))

I La taille de l’expression est le nombre de nœuds, ici 6

Probl`eme

Enum´erer les langages r´eguliers selon la taille des plus petites expressions rationnelles qui les repr´esentent est un probl`eme difficile.

Etudier des automates non-d´eterministes particuliers : lesautomates de Glushkov

(72)

d’une expression rationnelle `a un automate de Glushkov

E=b·(a+b·b),

on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(73)

d’une expression rationnelle `a un automate de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(74)

d’une expression rationnelle `a un automate de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(75)

Automates de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(76)

Automates de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(77)

Automates de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(78)

Automates de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(79)

Automates de Glushkov

E=b·(a+b·b), on distingue les lettres :E˜ =b1·(a2+b3·b4)

i b1

b3 a2

b4 a

b

b

a

b a

b b

b b a

Ensembles

I First(˜E) ={α|αcommence un mot de˜L}

I Last(˜E) ={α|αtermine un mot deL}˜

I Follow(˜E) ={α→β |αβest facteur d’un mot deL}˜

(80)

Nombre de transitions d’un automates de Glushkov

Pire des cas

Dans le pire des cas, le nombre de transitions est enΘ(n2).

Th´eor`eme [Nicaud 2009]

Pour la distribution uniforme sur les expressions, le nombre moyen de transitions est enΘ(n).

Th´eor`eme [Nicaud, Pivoteau, Razet 2010]

Pour la distribution “ABR”, le nombre moyen de transitions est en Θ(n2).

(81)

Nombre de transitions d’un automates de Glushkov

Pire des cas

Dans le pire des cas, le nombre de transitions est enΘ(n2).

Th´eor`eme [Nicaud 2009]

Pour la distribution uniforme sur les expressions, le nombre moyen de transitions est enΘ(n).

Th´eor`eme [Nicaud, Pivoteau, Razet 2010]

Pour la distribution “ABR”, le nombre moyen de transitions est en Θ(n2).

(82)

Nombre de transitions d’un automates de Glushkov

Pire des cas

Dans le pire des cas, le nombre de transitions est enΘ(n2).

Th´eor`eme [Nicaud 2009]

Pour la distribution uniforme sur les expressions, le nombre moyen de transitions est enΘ(n).

Th´eor`eme [Nicaud, Pivoteau, Razet 2010]

Pour la distribution “ABR”, le nombre moyen de transitions est en Θ(n2).

(83)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8

?

7 •

2+4 ?

a

+

1+2+1 ? a

1 b

(84)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4 ?

a

+

1+2+1 ? a

1 b

(85)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7

2+4 ?

a

+

1+2+1 ? a

1 b

(86)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4 ?

a

+

1+2+1 ? a

1 b

(87)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4

? a

+

1+2+1 ? a

1 b

(88)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4 ?

a

+

1+2+1 ? a

1 b

(89)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4 ?

a

+

1+2+1 ? a

1 b

(90)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4 ?

a

+ 1+2+1

? a

1 b

(91)

Distributions ”ABR”

Une feuille a probabilit´epεd’ˆetre le mot vide. Un nœud interne, probabilit´ep?d’ˆetre une ´etoile.

8 ?

7 •

2+4 ?

a

+

1+2+1 ? a

1 b

(92)

Uniforme (Nicaud 09)

ABR

(Nicaud, Pivoteau, Razet 10)

HauteurΘ(

n) HauteurΘ(logn)

Proba(ε /L) = Θ(1) Proba(ε /L) =o(1) Taille de First= Θ(1) Taille de First= Θ(n) Nbr transitions= Θ(n) Nbr transitions= Θ(n2)

Extension : Etude du nombre moyen d’´etats d’un automate d’Antimirov[Broda et al. 2010]

(93)

Uniforme (Nicaud 09)

ABR

(Nicaud, Pivoteau, Razet 10)

HauteurΘ(

n) HauteurΘ(logn)

Proba(ε /L) = Θ(1) Proba(ε /L) =o(1) Taille de First= Θ(1) Taille de First= Θ(n) Nbr transitions= Θ(n) Nbr transitions= Θ(n2)

Extension : Etude du nombre moyen d’´etats d’un automate d’Antimirov[Broda et al. 2010]

(94)

Uniforme (Nicaud 09)

ABR

(Nicaud, Pivoteau, Razet 10)

HauteurΘ(

n) HauteurΘ(logn)

Proba(ε /L) = Θ(1) Proba(ε /L) =o(1) Taille de First= Θ(1) Taille de First= Θ(n) Nbr transitions= Θ(n) Nbr transitions= Θ(n2)

Extension : Etude du nombre moyen d’´etats d’un automate d’Antimirov[Broda et al. 2010]

(95)

En guise de conclusion

Quelques probl`emes

I Automate minimaux : que peut-on dire de la taille moyenne de l’automate minimal de l’union de deux langages ?

I A quoi ressemble un langage al´eatoire dans les diff´erents mod`eles ?

I Quelles propri´et´es alg´ebriques peut-on capter de mani`ere combinatoire ?

I D’autres machines `a ´etats finis pourraient ˆetre ´etudi´ees d’un point de vue combinatoire.

(96)

En guise de conclusion

Quelques probl`emes

I Automate minimaux : que peut-on dire de la taille moyenne de l’automate minimal de l’union de deux langages ?

I A quoi ressemble un langage al´eatoire dans les diff´erents mod`eles ?

I Quelles propri´et´es alg´ebriques peut-on capter de mani`ere combinatoire ?

I D’autres machines `a ´etats finis pourraient ˆetre ´etudi´ees d’un point de vue combinatoire.

(97)

En guise de conclusion

Quelques probl`emes

I Automate minimaux : que peut-on dire de la taille moyenne de l’automate minimal de l’union de deux langages ?

I A quoi ressemble un langage al´eatoire dans les diff´erents mod`eles ?

I Quelles propri´et´es alg´ebriques peut-on capter de mani`ere combinatoire ?

I D’autres machines `a ´etats finis pourraient ˆetre ´etudi´ees d’un point de vue combinatoire.

(98)

Merci de votre attention !

Références

Documents relatifs

Le premier reproche est que cette notion de langage - un sous-ensemble d’un monoïde libre - est beaucoup trop pauvre pour rendre compte des plus simples structures

◮ le fini dans l’infini : exemple de r´eels, triadique de Cantor (si cela passe). D´ecalages : notation fonction et somme (un peu de dualit´e sous forme de

◮ le fini dans l’infini : exemple de r´eels, triadique de Cantor (si cela passe).. D´ecalages : notation fonction et somme (un peu de dualit´e sous forme de

◮ Matrice(s) de transition, pb des arˆetes multiples avec diff´erentes.. ´etiquettes, avec

Nouveaux exemples d’automates des d´ecalages (exemples finis et infinis) sur des langages s’exprimant avec des conditions (mots avec pr´efixe impos´e, avec facteur impos´e).. Tous

Donnez les langages générés par les expressions

Pour chacun des automates dessin´ es ci-dessous, donnez une expression rationnelle d´ ecrivant le langage reconnu par l’automate (pour cet exercice, nous vous demandons de

Donner les grammaires lin´ eaires droite correspondant aux langages rationnels suivants : (a) Les mots sur {a, b} contenant un nombre impair de a.. (b) Les mots sur {a, b} o` u