• Aucun résultat trouvé

Le problème d’isomorphisme pour les automates de degré borné

5.4 Génération aléatoire d’automates non-déterministes à isomorphisme près

5.4.4 Le problème d’isomorphisme pour les automates de degré borné

blème d’isomorphisme pour les automates déterministes est polynomialement équivalent au problème d’isomorphisme1 pour les graphes orientés finis. On prouve dans ce travail (Théorème 50) un résultat de même nature pour les automates non-déterministes en utilisant un principe d’encodage conservant des bornes sur le degrés de sortie. Ainsi, en combinant les résultats du théorème 50 et du lemme 49, il est possible de calculer, pour m fixé, la taille du groupe d’automorphisme d’un automate des classes Nm(n), N0m(n) ou

Nm(n)• et N0m(n)en un temps polynomial en n.

Théorème 50. On considère m un nombre entier naturel fixé. Le problème d’isomor- phisme pour un automate de Nm N0m, Nm(n)ou N0m(n)peut être résolu en un temps polynomial.

Le principe de la preuve du théorème50s’appuie sur un encodage des automates non- déterministes ainsi que sur le résultat du théorème 43[Luk82]. On développe ces arguments dans ce qui suit. On notera que la démonstration est constructive et pourrait donc fournir le moyen de construire un algorithme de calcul. Toutefois la grandeur des exposants mis en jeu interdit une implémentation efficace de cet algorithme. Cette remarque suggère de s’employer à un encodage plus fin qui permette d’optimiser les exposants. Dans ce travail on a toutefois préféré s’appuyer sur des techniques d’étiquetage qui ont fait la preuve de leur efficacité en pratique sur les graphes (cf décrites dans [Gal14] pour une étude récente). Ces techniques sont décrites dans la section suivante.

Développement de la preuve du théorème 50

On commence par associer à un automate non-déterministe un graphe. On considère h une bijection arbitraire de Σ sur [[1, k]] (h est simplement une fonction de comptage).

On note GA le graphe fini (V, E) défini par :

• L’ensemble V des sommets du graphe GA est défini par : V def= Q ∪ (I ∩ Fc) × {1, . . . , k + 1}

∪ (F ∩ Ic) × {1, . . . , k + 2} ∪ (I ∩ F ) × {1, . . . , k + 3}

∪ {((p, a, q), i) | (p, a, q) ∈ ∆ et 1 ≤ i ≤ h(a)} ∪ ∆. • L’ensemble E des arcs du graphe GA est défini par :

E def= {(p, (p, a, q)) | (p, a, q) ∈ ∆} ∪{((p, a, q)), q) | (p, a, q) ∈ ∆} ∪ {((p, a, q), ((p, a, q), 1)) | (p, a, q) ∈ ∆} ∪ {(((p, a, q), i), ((p, a, q), j)) | (p, a, q) ∈ ∆ et 1 ≤ i, j ≤ h(a)} ∪ {((q, i), (q, j)) | q ∈ I ∩ Fc et 1 ≤ i, j ≤ k + 1} ∪ {((q, i), (q, j)) | q ∈ F ∩ Ic et 1 ≤ i, j ≤ k + 2} ∪ {((q, i), (q, j)) | q ∈ F ∩ I et 1 ≤ i, j ≤ k + 3} ∪ {(q, (q, 1)) | q ∈ I ∪ F )}.

1. Pour être précis il ne s’agit pas exactement du même problème d’isomorphisme, les automates peuvent dans ce résultat avoir des alphabets différents et les isomorphismes modifient aussi les étiquettes des transitions.

q0 q1 q2 q3

a b a

q0 q1 q2 q3

t0 t1 t2

Figure 5.8 – Exemple de graphe associé à un automate, h(a) = 1 et h(b) = 2 Intuitivement, le principe consiste d’abord à décomposer chaque transition en deux arcs, un graphe complet (dont le nombre d’arcs dépend de la lettre de l’alphabet Σ mise en jeu dans la transition) est ensuite connecté au nœud intermédiaire.

Une construction du même type est est mise en œuvre pour les états initiaux (strictement), finals (strictement) ou à la fois initiaux et finals. La figure 5.8illustre cette construction sur un exemple.

Suite Pour tout sommet s de GA= (V, E), on note d(s) le maximum de la taille d’une clique de GA qui contient le sommet s.

Plus formellement, on a :

d(s) = max{|H|, H × H ⊆ E and s ∈ H}|.

On peut noter que d(s) est possiblement nul. Le résultat du lemme 51 donne un encadrement de d(s).

Lemme 51. Pour tout sommet s de GA, on a 06 d(s) 6 k + 3. Preuve. Par définition de d(s).

Lemme 52. On considère A un automate fini. Pour tout arc de GA de la forme (s, t), on a :

1. Si d(s) = 0, alors s est un élément de Q ∪ ∆,

2. Si 0 < d(s) 6 k, alors s est de la forme ((p, `, q), i), avec (p, `, q) ∈ ∆ et 1 ≤ i ≤ h−1(`),

3. Si d(s) = k + 1, alors s est de la forme (q, i) avec q ∈ I ∩ Fc, 4. Si d(s) = k + 2, alors s est de la forme (q, i) avec q ∈ F ∩ Ic, 5. Si d(s) = k + 3, alors s est de la forme (q, i) avec q ∈ F ∩ I. Preuve. Par définition de d(s).

Lemme 53. On considère A Un automate fini. Pour tout arc de GA de la forme (s, t) où s ∈ Q, on a :

1. d(t) ∈ {0, k + 1, k + 2, k + 3}, 2. Si d(t) = 0, alors t ∈ ∆,

4. Si d(t) = k + 2, alors s ∈ F ∩ Ic, 5. Si d(t) = k + 3, alors s ∈ F ∩ I.

On peut alors énoncé le résultat de la proposition54.

Proposition 54. Deux automates finis A1 et A2 sont isomorphes si et seulement si GA1

et GA2 sont isomorphes.

Preuve. Par définition des graphes associés, si les automates A1 and A2 sont isomorphes alors les graphes GA1 et GA2 le sont aussi.

Réciproquement, on considère A1 = (Q1, A, ∆1, I1, F1) et A2= (Q2, A, ∆2, I2, F2) deux automates non-déterministes tels que les graphes associés GA1 et GA2 soient isomorphes.

On note ϕ un isomorphisme de GA1 sur GA2.

On peut remarquer que pour tout sommet s de GA1, d(ϕ(s)) = d(s). On a donc d(s) = 0

si et seulement si d(ϕ(s)) = 0. Le résultat du lemme 52 assure alors que ϕ induit une application bijective de Q1 sur Q2. La suite de la preuve consiste à démontrer que la restriction de ϕ à Q1 définit une bijection de Q1 sur Q2.

• Si q ∈ I1∩ F1c, alors d((q, 1)) = k + 1. Par conséquent d(ϕ((q, 1))) = k + 1. Puisque (q, (q, 1)) est un arc de GA1, (ϕ(q), ϕ((q, 1))) est un arc de GA2.

L’assertion 3. du lemme 53 assure que ϕ(q) ∈ I2∩ Fc

2. • Si q ∈ Ic

1∩ F1, alors d((q, 1)) = k + 2. Par conséquent d(ϕ((q, 1))) = k + 2. Puisque (q, (q, 1)) est un arc de GA1, (ϕ(q), ϕ((q, 1))) est un arc de GA2.

L’assertion 4. du lemme 53 assure que ϕ(q) ∈ I2∩ Fc

2.

• Si q ∈ I1∩ F1, alors d((q, 1)) = k + 3. Par conséquent d(ϕ((q, 1))) = k + 3. Puisque (q, (q, 1)) est un arc de GA1, (ϕ(q), ϕ((q, 1))) est un arc de GA2.

L’assertion 5. du lemme 53 assure que ϕ(q) ∈ I2∩ Fc

2.

• Si (p, a, q) ∈ ∆1, alors d((p, a, q)) = 0). Par conséquent d(ϕ((p, a, q))) = 0).

Puisque (p, (p, a, q)) est un arc du graphe GA1, (ϕ(p), ϕ((p, a, q))) est un arc du

graphe GA2.

L’assertion 2. du lemme 53 assure que ϕ((p, a, q)) ∈ ∆2.

On pose dans la suite ϕ((p, a, q)) = (s, b, t), avec s, t ∈ Q2. Le seul arc arrivant au sommet (s, b, t) dans le graphe GA2 est (s, (s, b, t)).

Puisque ϕ est un isomorphisme, (ϕ−1(s), (p, a, q)) est un arc de GA1. On a donc

ϕ−1(s) = p.

Il y a deux arcs sortant du sommet (s, b, t) du graphe GA2 : ((s, b, t), (1, (s, b, t)) et

((s, b, t), t). Les deux arcs sortant de (p, a, q) dans GA1 sont ((p, a, q), 1, (p, a, q)) et

((p, a, q), q).

Puisque d(q) = 0, d(t) = 0, d((1, (p, a, q))) = h(a) et d(((s, b, t), t)) = h(b), on a nécessairement ϕ(q) = t et h(a) = h(b) (et ainsi a = b).

On a finalement démontrer que si (p, a, q) ∈ ∆1, alors (ϕ(p), a, ϕ(q)) ∈ ∆2.

La même démonstration peut être appliquée à ϕ−1, démontrant ainsi la proposition.

Proposition 55. La taille de GA est polynomiale en la taille de A. De plus, si tout état de A admet au plus m transitions sortantes, le degré de GA est majoré par max{m + 1, k + 3}. Preuve. Par construction, la taille de GA est polynomiale en la taille de A. Soit s un sommet du graphe GA. On distingue les cas suivants :

• Si s ∈ Q ∩ Ic∩ Fc, alors les arcs de G

A partant de s sont tous de la forme (s, t) où t ∈ ∆, en tant que transition de A, part de l’état s.

• Si s ∈ I ∪ F , alors les arcs du graphe GA partant de s sont ceux de la forme (s, t) où t ∈ ∆, en tant que transition de A, part de l’état s, ou l’arc de s à (s, (s, 1)). On peut donc conclure que, dans ce cas, il existe au plus m + 1 arcs sortant de s. • Si s ∈ ∆, il existe alors deux arcs sortant de s.

• Si s = (q, i), avec q ∈ Q, alors il existe au plus k + 3 arcs sortant de (q, i).

• Si s = (t, i), avec t ∈ ∆, alors il existe au plus k arcs sortant de (t, i), où k dépend de la lettre de l’alphabet Σ mise en jeu dans la transition t.

Cette étude exhaustive des cas à considérer prouve le résultat de la proposition.

Le résultat du théorème 50est une conséquence des résultats des propositions 55, 54 et du théorème 43.

Documents relatifs