• Aucun résultat trouvé

3.2 Automates triangulaires A n

3.2.2 CFS pour les automates A n

Nous allons définir, pour un entier naturelnfixé, des systèmes de CFS particuliers pour les automates triangulairesAn qu’on noteZ(An). On noteCFSZ(n)l’ensemble de tous les

Z(An). Chaque systèmeZ(An)∈CFSZ(n)donne un automate finiCZ(An)non-déterministe sansε-transition ayantn+ 1états dont un ou plusieurs initiaux.

Sans perte de généralité et dans le but de faciliter les notations et l’écriture des preuves, dans tout ce qui suit nous associons l’état fictif#, distinguant les états finaux, au nombre

3.2. Automates triangulairesAn 59 Il est facile de voir que le langageL(En)est exactement le langage reconnu par l’automate ayantn+ 2états dont un seul initial et un seul final(Q,Σ, I, δ, F)défini par :

Σ ={1,2, . . . , n}, Q= Σ∪ {0, n+ 1}, I ={0}, F ={n+ 1}, δ ={(p, q, q)∈Q×Σ×Q | q > p}. 0 1 1 2 3 2 3 2 3 3 0 1 2 3 0 1 2 3 1 2 3 2 3 3

FIGURE3.7 – L’automate ayant un seul état final équivalent àA2plus sa table de transition.

0 1 1 2 3 4 2 3 4 2 3 4 3 4 4 0 1 2 3 4 0 1 2 3 4 1 2 3 4 2 3 4 3 4 4

FIGURE3.8 – L’automate ayant un seul état final équivalent àA3plus sa table de transition. Pour mieux comprendre les systèmesZ(An), nous allons expliquer comment on peut les obtenir à partir de la table de transition de l’automate ayant un seul état final équivalant à l’automate triangulaireAn. Cette table de transition, notée Mn+2, est une matrice carrée

(n+ 2)×(n+ 2)triangulaire supérieure dont la première diagonale constitue l’ensemble

{1,2, . . . , n, n + 1}. La case Mn+2[i, j] correspond à une transition de l’état i vers l’état j

étiquetée par la valeur de cette case. Choisissons d’abord un élément quelconque de la dia-gonale, disonsk. Ce choix divise la matrice en trois parties :

1. Un blocBkde surface rectangulaire maximale de(nk+ 2)×k. Il possède l’élément

Mn+2[k−1, k]comme coin inférieur gauche etMn+2[0, n+ 1]comme coin supérieur droit. Ce bloc est en fait associé à l’ensemble{k, k+ 1, . . . , n, n+ 1}qui fera partie de la décomposition de chaque étatqinférieur ou égalk−1.

2. Une sous-matrice triangulaire supérieureMk

a de taillek×k.

3. Une sous-matrice triangulaire supérieureMbnk+2de taille(nk+ 2)×(nk+ 2). Donc l’idée est de choisir d’abord un élément sur la première diagonale. Ensuite, à partir de cet élément, on crée un bloc rectangulaire de surface maximale dont le coin inférieure gauche est l’élément choisi :

FIGURE3.9 – Décomposition en trois éléments.

L’étape suivante consiste à réitérer ce découpage1 sur les deux sous-matrices triangu-laires en résultant, en choisissant un élément quelconque de la diagonale de chacune de ces deux sous-matrices. Ainsi, ce processus de décomposition est répété jusqu’à épuisement de tous les éléments de la diagonale de la matrice initiale (la table de transition). À la fin de ce procédé, tous les éléments de la table de transition sont regroupés en blocs.

Exemple 24. Dans cet exemple on montre deux exemples de système de partitionsCFSZ

associés à deux découpages en blocs de la matrice de transition de l’automate triangulaire

A3: dec(0) = { { 1 , 2 , 3 , 4 } } dec(1) = { { 2 } , { 3 , 4 } } dec(2) = { { 3 , 4 } } dec(3) = { { 4 } } 0 : 1 2 3 4 1 : 2 3 4 2 : 3 4 3 : 4 dec(0) = { { 1 } , { 2 , 3 , 4 } } dec(1) = { { 2 , 3 , 4 } } dec(2) = { { 3 , 4 } } dec(3) = { { 4 } } 0 : 1 2 3 4 1 : 2 3 4 2 : 3 4 3 : 4

L’algorithme 2 résume la construction effective d’un système de décompositionCFSZtel

3.2. Automates triangulairesAn 61

FIGURE3.10 – Voici un exemple plus détaillé qui montre toutes les étapes d’une décomposi-tion possible enCFSZpour l’automate triangulaireA6.

que décrit ci-dessus. Algorithme 2 :CFSZ_ Itératif(n) Require: n∈N Ensure: Z(An) 1: Q← {0,1,2,3,4, . . . , n} 2: fori=0tondo 3: follow(i)← {jQ|j > i} ∪ {n+ 1} 4: dec(i)←φ 5: Qi φ 6: end for 7: fori=0tondo 8: ChoisirjdansQ 9: QQ\ {j} 10: Qj ←follow(j) 11: for allkQdo 12: if(Qj ⊆follow(k))then 13: dec(k)←dec(k)∪ {Qj} 14: follow(k)←follow(k)\Qj 15: end if 16: end for 17: end for

On remarque qu’il s’agit d’un algorithme non-déterministe. En effet, les différentes choix possibles des valeurs dejsur la ligne 8 de l’algorithme conduisent à des systèmes de parti-tionsCFSZdifférents (la ligne 8 correspond au choix d’un élément sur la première diagonale de la table de transitions).

Notre façon de construire un système de décompositionCFSZ, basée sur un découpage particulier de la matrice de transition, peut être décrite aussi par un algorithme récursif.

Algorithme 3 :CFSZ_ Récursif(n1, n2)

Require: n1, n2 ∈N

Ensure: Z(An)pourn1= 0etn2 =n

1: ifn1 n2then

2: Choisir un entierjentren1etn2,j ∈ {n1, . . . , n2}

3: Qj ← {j+ 1, . . . , n2+ 1} 4: fork=n1tojdo 5: dec(k)←dec(k)∪ {Qj} 6: end for 7: CFSZ_ Récursif(n1, j−1) 8: CFSZ_ Récursif(j+ 1, n2) 9: end if

L’algorithme 3 est une version récursive de l’algorithme 2. Son premier appel est effectué parCFSZ_ Récursif(0, n)qui correspond au découpage de la totalité de la table de transition. L’appelCFSZ_ Récursif(n1, n2)correspond au découpage de la sous-matrice carrée dont la première diagonale est[n1· · ·n2], le segment diagonal qui est entre la caseMn+2[n1−1, n1]

3.2. Automates triangulairesAn 63 et la caseMn+2[n2−1, n2].

Là aussi, on remarque qu’il s’agit d’un algorithme non-déterministe. En effet, les dif-férentes choix possibles des valeurs de j sur la ligne 2 de l’algorithme conduisent à des systèmes de partitionsCFSZdifférents (la ligne 2 correspond au choix d’un élément sur la première diagonale de la table de transitions).

Il est clair que notre manière de construire un systèmeCFSZ, en particulier celle décrite par le processus de découpage récursif de l’algorithme 3, peut être représentée par un arbre binaire. La racine de cet arbre correspond à la table de transition (représentée sous forme d’une matrice carrée). Le fils gauche et le fils droit de cette racine correspondent aux deux sous-matrices résultant du découpage (choix d’un élément sur la diagonale). Ceci nous per-met de donner une définition formelle de nos systèmesCFSZbasée sur les arbres binaires, et qui permet d’établir une bijection entre CFSZ(n), l’ensemble de tous les systèmesCFSZ

possibles de l’automate triangulaire An, et l’ensemble des arbres binaires complets àn+ 2

feuilles.

Unarbre binaireest une structure définie sur un ensemble fini de nœuds qui est soit vide, soit constitué de trois ensembles disjoints de nœuds :

1. un nœudracine,

2. un arbre binaire appelé lesous-arbre gauche, 3. un arbre binaire appelé lesous-arbre droit.

L’arbre binaire ne contenant aucun nœud est appeléarbre vide. Si le sous-arbre gauche est non vide, sa racine est appeléfils gauchede la racine de l’arborescence. De même, La racine du sous-arbre droit est appeléfils droit. Par conséquent, dans unarbre binaire completchaque nœud est soit une feuille soit de degré2. Dans ce qui suit, nous appelons unn-arbreun arbre binaire complet avecnfeuilles. Il y a un uniquen-arbre pourn= 0à2.

Soittun n-arbre et soitπ un chemin dans t. Lepoids gauche(resp. poids droit) (resp.

bπ) est défini comme étant le nombre d’arêtes gauches (resp. droites) dans le cheminπ. La

longueurdeπ, notéelπ =aπ+bπ, est la longueur du cheminπ. Notonswπ =aπbπlepoidsde

π. Lecoûtcπ deπest la somme de son poids et sa longueur. Nous avons donc =+. Soitν un nœud danst. On noteπν le chemin depuis le nœudν à la racine det. On note

νl(resp.νr) le fils gauche deν (resp. le fils droit deν). On note le père2deν. Siπ est un chemin à partir du nœudνà la racine detalors nous noteronsfπ le chemin depuis le nœud

fνà la racine det. Nous associons égalementaπν,bπν,wπν,lπνetcπνau nœudνet on les note respectivement,,, et. L’ensemble des feuilles d’un arbretsera notéLt. Le poids

w(t)de l’arbretest défini comme la somme des poids de ses feuilles, qui estw(t) = X νLt

wν.

Définition 38 (Le système CFSZ). Pour le 1-arbre, le système de CFSZ correspondant

consiste en dec(0) = ∅. Pour le 2-arbre, le système de CFSZ correspondant consiste en

dec(0) ={{1}}etdec(1) =∅. Soittun(n+2)-arbre avecn >0et soienttlettrles sous-arbres gauche et droit det. On numérote les feuilles detpar0,1, . . . , n+ 1de gauche à droite. On définit le paramètrekcomme étant le numéro de la feuille la plus à gauche dans le sous-arbre droit. La translation d’une décompositiondec(i)parkest la décompositiondec(i+k) obte-nue en ajoutant kà chaque élément dans les sous-ensembles dedec(i). Supposons que les

feuilles de0àk−1sont danstltandis que les feuilles dekàn+ 1sont danstr. SoientC(tl)et

C(tr)les systèmes CFSZ correspondant auxtlettrrespectivement. Nous ajoutons à chaque décomposition dansC(tl) le sous-ensemble{k, k+ 1, . . . , n, n+ 1}. Les décompositions de

C(tr) devraient d’abord être translatées park, ensuite ajoutées aux décompositions modi-fiées deC(tl). C’est cette union qui constitue le système CFSZ correspondant àt.

Avant de s’appuyer sur cette dernière définition pour détailler notre algorithme de ré-duction basé sur les arbres, nous allons d’abord prouver quelques propositions utiles pour la suite.

Proposition 3. Le nombre de systèmes de partitionsZ(An)est égal au(n+ 1)ièmenombre de Catalan Cn+1:|CFSZ(n)|= n+21 2n+2n+1

.

Démonstration. L’automate A1 possède un système CFSZ unique. Même chose pour l’automateA0. On a|CFSZ(−1)|= 1 =C0et|CFSZ(0)|= 1 =C1. Supposons que la propo-sition 3 est vraie pour toutk < net prouvons que la proposition est vraie pourn. D’après la définition 38, un systèmeCFSZdeCFSZ(n)est obtenu en reliant deux systèmesCFSZl’un deCFSZ(k−2)et l’autre deCFSZ(nk)respectivement, pour un certaink,1≤kn+ 1. Donc : |CFSZ(n)| = n+1X k=1 |CFSZ(k−2)| × |CFSZ(nk)| = n X i=0 |CFSZ(i−1)| × |CFSZ(ni−1)| = n X i=0

CiCni la relation de récurrence du nombre de Catalan

= Cn+1.

Proposition 4. SoitZ(An)un système CFSZ qui correspond à un(n+ 2)-arbretdonné. Le nombre de transitions dans l’automate réduitCZ(An)est égal au poids det, soit :TCZ(An) =w(t).

Démonstration. D’après le lemme 5 nous avons TCZ(An) = X qQ

a(q)b(q). Nous avons égale-ment :

w(t) =

n+1X q=0

aνqbνq νqest la feuille marquée parqdanst

=

n X q=0

aνqbνq parce queaνn+1 = 0.

Donc, pour prouver la dernière proposition, il suffit de prouver que :

a(q) = aνq pour0≤q n (3.1)

3.2. Automates triangulairesAn 65 Par construction, d’après la définition 38, nous pouvons vérifier que les égalités (3.1) et (3.2) sont vraies pour le 1-arbre et le2-arbre. Supposons maintenant que les égalités (3.1) et (3.2) sont vraies pour les deux sous-arbres tl et tr. Lorsque nous unissons tl et tr

pour obtenir t, nous ajoutons aux décompositions qui correspondent àtl le sous-ensemble

{k, k+ 1, . . . , n, n+ 1}, ce qui signifie que :

1. On incrémente d’un cran le nombre d’arêtes gauches dans chaque chemin detl et en même temps, nous ajoutons un nouveau sous-ensemble dans les décompositions cor-respondantes detl, ce qui incrémente d’une unité la taille de ces décompositions. Ainsi, l’égalité (3.1) reste vraie pourt.

2. On incrémente d’un cran le nombre d’arêtes droites dans chaque chemin detr et en même temps, on incrémente d’une unité le nombre d’occurrences de chaqueq ∈ {k, k+ 1, . . . , n, n+1}dans les décompositions correspondantes detr. Ainsi, l’égalité (3.2) reste vraie pourt. ν0 ν1 ν2 ν3 ν4 ν aν bν lν wν cν ν0 1 0 1 0 1 ν1 2 1 3 2 5 ν2 1 2 3 2 5 ν3 1 2 3 2 5 ν4 0 3 3 0 3 follow(0) : 1 2 3 4 follow(1) : 2 3 4 follow(2) : 3 4 follow(3) : 4 dec(0) = {{1,2,3,4}} dec(1) = {{2},{3,4}} dec(2) = {{3,4}} dec(3) = {{4}}

FIGURE3.11 – Un5-arbre binaire complet et un système de partitionZ(A3)associé (les arêtes gauches sont représentées par des lignes en pointillés et les arêtes droites avec des lignes continues).

Nous avons essayé, dans cette section, de décrire selon divers points de vue nos systèmes

CFSZqui sont des systèmes de décompositions particuliers, qui peuvent être obtenus à par-tir du découpage en blocs de la matrice de transition, qui peut être décrit par un algorithme récursif, itératif ou encore une définition qui met en évidence la correspondance entre nos décompositions et les arbres binaires complets.

Notre objectif, dans les sections suivantes, est de calculer toutes les décompositions mini-males enCFSZ(n). Pour ce faire, une approche naïve consiste à engendrer tous les systèmes

CFSZpour l’automateAn qui peut être effectué en un temps factoriel. En effet, le nombre total des systèmesCFSZpour l’automateAnest égal àCn+1, le(n+1)ièmenombre de Catalan.

Proposition 5. Le calcul de tous les systèmes de partitions minimauxZ(An)dansCFSZ(n)peut être effectué en temps factorielO(n!).

Démonstration. Cela peut être effectué en appelant l’algorithme non-déterministe 2 ou 3 pour toutes les exécutions possibles. Par exemple pour l’algorithme 2 il y an!exécutions possibles qui correspondent aux différent choix successifs des valeurs dej(ligne 8).

Documents relatifs