• Aucun résultat trouvé

Expressivité des automates pondérés circulaires et boustrophédons

N/A
N/A
Protected

Academic year: 2021

Partager "Expressivité des automates pondérés circulaires et boustrophédons"

Copied!
148
0
0

Texte intégral

(1)

HAL Id: tel-02350722

https://tel.archives-ouvertes.fr/tel-02350722

Submitted on 6 Nov 2019

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

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

boustrophédons

Louis-Marie Dando

To cite this version:

Louis-Marie Dando. Expressivité des automates pondérés circulaires et boustrophédons. Langage de programmation [cs.PL]. Université de Bordeaux, 2019. Français. �NNT : 2019BORD0130�. �tel-02350722�

(2)

THÈSE

PRÉSENTÉE À

L’UNIVERSITÉ DE BORDEAUX

ÉCOLE DOCTORALE DE MATHÉMATIQUES ET

D’INFORMATIQUE

par

Louis-Marie DANDO

POUR OBTENIR LE GRADE DE

DOCTEUR

SPÉCIALITÉ : INFORMATIQUE

Expressivité des automates pondérés

circulaires et boustrophédons

Date de soutenance : 09 septembre 2019 Devant le jury composé de :

Prof. Jean-Marc Talbot, Université Aix-Marseille . . . Président du jury Prof. Pascal Caron, . . . Université de Rouen-Normandie . . . Rapporteur Prof. Olivier Carton, . . . Université Paris Diderot . . . Rapporteur Prof. Marie-Pierre Béal, Université Paris-Est Marne-La-Vallée Examinatrice Prof. Anca Muscholl, . . Université de Bordeaux . . . Examinatrice Prof. Sylvain Lombardy, Institut Polytechnique de Bordeaux . Directeur

(3)
(4)

et étudie les séries qu’ils réalisent en fonction de la nature des poids.

Ces extensions se distinguent par les mouvements supplémentaires autorisés à la tête de lecture de l’automate. retour au début du mot pour les automates circulaires, changement de sens de lecture pour les automates boustrophédons. Dans le cas général, les automates pondérés circulaires sont plus puissants que les automates unidirectionnels classiques, et moins puissants que les boustro-phédons.

On introduit de plus les expressions de Hadamard, qui sont une extension des expressions rationnelles et qui permettent de dénoter le comportement des automates circulaires. Les aspects algorithmiques de cette conversion sont étu-diés dans le cas où les poids appartiennent à un semi-anneau rationnellement additif.

On montre que lorsque les poids sont des nombres rationnels, réels ou com-plexes, les automates circulaires sont aussi expressifs que les boustrophédons. Enfin, si les poids forment un bi-monoïde localement fini, les automates boustrophédons ne sont pas plus expressifs que les automates pondérés clas-siques.

Mots-clés Automates pondérés, automates circulaires, séries rationnelles, séries de Hadamard, automates boustrophédons

(5)
(6)

Remerciements

J’aimerais avant tout remercier très chaleureusement Sylvain Lombardy pour son encadrement tout au long de ces quatres années de thèse, pour sa patience infinie et ses conseils éclairés.

Je remercie Pascal Caron et Olivier Carton, qui ont bien voulu rapporter cette thèse. Merci également à Marie-Pierre Béal, Anca Muscholl et Jean-Marc Talbot, qui ont accepté de faire partie du jury.

J’aimerais également remercier tout particulièrement Géraud Sénizergues et Irène Durand qui ont accompagné mes premiers balbutiements dans la re-cherche lors de mon stage. Un grand merci également à mes professeurs de l’ENSEIRB-MatMeca, notamment Frédéric Herbreteau et David Renault qui à des titres divers1

m’ont accompagné durant ma scolarité bordelaise.

Je remercie mes co-bureaux Luis, Abdelhamid, Louis, et Truong, qui ont su me supporter quasiment tous les jours : bravo ! Je remercie également Moham-med et Nathan pour leur amitié et la dénomination “blagues louis-marrantes”2

. Mes remerciements vont aussi à Thibaut, Vassilis, Elsa, et tous les matheux de l’IMB. Je tiens également à remercier le LaBRI et tout son personnel, qui ont permis que ma thèse se déroule dans d’excellentes conditions matérielles.

J’aimerais également remercier pêle-mêle MM. Tolkien, Watterson, Prat-chett, Carol, Lewis, Adams, Jordan, Sanderson, Astier, Whedon, Saki, Ed-dings, pour ce que leurs œuvres m’ont apporté.

Cette liste ne serait pas complète3

si je ne mentionnais pas les pailloux, les doms, Thomas et Élisabeth (et Aurore), Antoine, Maider, Laude, Marie, Constance, Valentin, Marie-Marthe, Louise, les collègues de l’ENSEIRB et de la fac, ainsi que tous ceux qui ont rendu mon séjour à Bordeaux si agréable.

Enfin, je profite de ces quelques lignes pour embrasser toute ma famille. Papa, Maman, Gabriel et Margaux, Joseph, Henri, je vous remercie en dernier, vous qui n’êtes certes pas les derniers dans mon esprit5

: merci pour tout. Bonne lecture à vous tous.

1. Ou des tubes de l’été. . .

2. Et la possibilité de rentrer dans un bar avec eux pour la blague.

3. Elle aurait pu l’être, mais il ne faut pas dégouter les lecteurs avant même le début de la thèse avec des remerciements interminables.4

4. Et encore moins en abusant des notes de pied de page. 5. Point bonus pour celui qui retrouve l’origine de cette citation.

(7)
(8)

Sommaire

Page

Introduction 1

1 Élements fondamentaux 5

1.1 Structures algébriques . . . 5

1.2 Somme infinie et étoile . . . 7

1.3 Ordre d’un monoïde . . . 11

1.4 Séries. . . 12 1.5 Expressions . . . 14 2 Automates 17 2.1 Automates unidirectionnels . . . 17 2.2 Extensions du modèle . . . 20 2.3 Constructions . . . 28

3 Automates circulaires sur les semi-anneaux rationnellement additifs 37 3.1 Équivalence séries de Hadamard - Automates circulaires . . . . 38

3.2 Aspects algorithmiques : notions nécessaires . . . 43

3.3 Des expressions de Hadamard aux automates circulaires pondé-rés. . . 50

3.4 . . . Et vice-versa . . . 67

3.5 Extension à Q, R et C . . . 71

4 Automates boustrophédons sur les corps commutatifs 83 4.1 Construction de l’automate fortement valide . . . 84

4.2 D’un automate boustrophédon fortement valide à un automate circulaire . . . 98

4.3 s -représentation sur Q, R, ou C . . . 111

5 Automates boustrophédons sur les semi-anneaux et les bi-monoïdes localement finis 117 5.1 Les coupes . . . 118

(9)

5.3 L’équivalence boustrophédon-unidirectionnel . . . 126

Index 135

(10)

Introduction

Cette thèse porte sur l’étude de l’expressivité en terme de séries de certaines familles d’automates pondérés en fonction de la structure des poids.

Parmi les outils utilisés pour la modélisation mathématique, le modèle des machines de calcul universelles dû à Turing est un des plus connus, et des plus étudiés. Ce modèle est très puissant, et permet de représenter de nombreux problèmes, notamment sur les langages. Cependant, la contrepartie est que de nombreux problèmes de décision sur ce type de machine sont indécidables.

Des machines plus simples ont été introduites, dont les propriétés peuvent être vérifiées algorithmiquement, c’est-à-dire automatiquement, en suivant tou-jours le même processus. Cependant les langages que ces machines peuvent traiter sont plus restreints.

On peut citer parmi ces machines le modèle des automates finis, modèle très étudié en raison – entre autres – de sa simplicité, et dont de très nombreuses propriétés sont connues :

la machine lit un mot en entrée, de gauche à droite, et ensuite prend une décision, soit d’accepter le mot, soit de le rejeter. Il est important de noter que cette machine ne modifie pas le mot d’entrée, contrairement aux machines de Turing.

Dans ce mémoire, nous allons étudier des modèles intermédiaires entre les automates et les machines de Turing, qui sont les automates circulaires et les automates boustrophédons. Ces modèles ne modifient pas non plus le mot d’en-trée, mais peuvent le lire autant de fois que souhaité dans le cas des automates circulaires, voire changer de sens de lecture du mot pendant cette lecture dans le cas des automates boustrophédons.

Il a été prouvé que dans le cas où les automates ne sont pas pondérés, tous ces modèles sont équivalents quant à leur puissance, cependant plus le modèle est complexe, plus les machines vont être succintes pour exprimer la même chose.

Sauf mention contraire, dans ce mémoire, tous les automates sont munis de poids : au lieu de décider simplement "oui" ou "non", ces machines vont renvoyer un élément d’une structure algébrique. Par exemple, dans le cas d’un automate probabiliste, le calcul donnera un réel compris entre 0 et 1. Ces modèles sont utilisés dans l’industrie, l’analyse d’image, etc.

(11)

de Hadamard, et vice-versa, ainsi que certains résultats pour cette équivalence sur Q, R et C.

On montre de plus que sur les corps commutatifs, bien qu’ils soient stric-tement plus puissants que les automates classiques, les automates boustrophé-dons et les automates circulaires sont équivalents.

L’essentiel des techniques de preuve utilisées repose sur la modification d’automates afin d’assurer qu’ils vérifient une propriété donnée. Il s’agit donc de preuves constructives.

Éléments fondamentaux

Le but du premier chapitre est de présenter l’essentiel des outils algébriques dont nous allons avoir besoin tout au long de ce mémoire. Y seront présentés en particulier l’ensemble des structures sur les poids dont nous munirons les automates, les langages et les séries, ainsi que les expressions, rationnelles comme celles de Hadamard.

Automates

Le deuxième chapitre sera consacré à la définition formelle des différents mo-dèles d’automates étudiés au long de ce document : les automates unidirec-tionnels, le modèle classique, les automates circulaires, où l’on peut lire le mot autant de fois que nécessaire, les automates à navette, qui peuvent en plus lire le mot de droite à gauche, et les automates boustrophédons, qui peuvent changer de sens de lecture au cours du mot.

On y trouvera également quelques outils de manipulation des automates, permettant de transformer un automate tout en garantissant l’invariance de son comportement.

Automates circulaires sur les semi-anneaux rationnellement ad-ditifs

Le chapitre suivant étudie les liens entre expressions de Hadamard et auto-mates circulaires : dans le cas des semi-anneaux rationnellement additifs, ces deux modèles réalisent les mêmes séries, et on donne un algorithme pour passer d’un modèle à l’autre. Ce résultat, qui étend le lien entre expressions ration-nelles et automates unidirectionnels, permet aussi d’étendre les algorithmes effectuant ces transformations.

De plus, on donne quelques résultats sur les corps courants Q, R, et C, qui ne sont pas rationnellement additifs : on montre entre autres comment passer d’un automate circulaire à un quotient de Hadamard d’expressions rationnelles, et vice-versa.

(12)

Les automates boustrophédons sur les corps commutatifs

Dans ce chapitre, on étudie les automates boustrophédons lorsque les poids forment un corps commutatif. On montre que les séries réalisées par ces au-tomates sont des quotients de séries rationnelles. On montre ainsi, grâce à un résultat du chapitre précédent, que sur Q, R, et C, les automates boustrophé-dons et les automates circulaires sont équivalents. La preuve de ce résultat repose sur le calcul par automate de l’étoile d’une matrice, qui n’est valide que sur une sous-classe des automates boustrophédons, les automates fortement valides. C’est pourquoi on montre tout d’abord que pour tout automate bous-trophédon valide, on peut construire un automate bousbous-trophédon équivalent fortement valide.

Les automates boustrophédons sur les semi-anneaux et les bi-mo-noïdes localement finis

Le dernier chapitre porte sur l’étude des automates boustrophédons lorsque les poids forment un bi-monoïde localement fini. Il s’agit d’une extension de la preuve de Shepherdson reposant sur la même technique : l’analyse des coupes de l’automates. Ces objets sont des "tranches" des chemins de l’automate, et sont étudiés en début de ce chapitre. La suite est consacrée à la construction d’un automate unidirectionnel équivalent à un automate boustrophédon.

(13)
(14)

Chapitre 1

Élements fondamentaux

“Au commencement était le Verbe”

– Évangile selon saint Jean,I,1 Dans ce chapitre sont rappelées un certain nombre de définitions dont nous allons avoir besoin dans la suite. On y fixe un certain nombre de notations, mais le lecteur déjà au fait des notions abordées peut passer sans perte de compréhension au chapitre suivant.

Structures algébriques

Rappel sur les langages

Définition 1.1. Un alphabet est un ensemble fini A de symboles, que l’on appelle lettres. Un mot est une suite finie de lettres, et la longueur de ce mot la longueur de cette suite. Un langage est un ensemble de mots.

On notera la longueur d’un mot u par |u|, ε le mot de longueur 0, ui

la i`eme lettre de ce mot, et Al’ensemble de tous les mots. On aura besoin

également de deux marqueurs pour les extrémités du mot. On peut considérer que tout mot sur A∗ de longueur n est de la forme w = ⊢ w

1. . . wn ⊣, avec

pour tout i, wi ∈ A. Par extension, on notera si besoin w0 =⊢ et wn+1 =⊣. On

a donc ε = ⊢⊣.

On note u.v ou uv la concaténation du mot u et du mot v, c’est-à-dire la suite de lettres u1, . . . , um, v1, . . . , vn, avec |u| = m et |v| = n.

On pose également, pour tout i ∈N, u

0 = ε et ui+1= ui.u.

Monoïdes

Définition 1.2. Un monoïde (M, ., 1) est un ensemble M muni d’une opération binaire interne associative . qui possède un unique élément neutre, noté 1 ou 1M.

(15)

Le monoïde (M, ., 1), parfois noté M, est dit commutatif si l’opération . est commutative.

On peut définir pour tout élément x de M et pour tout i de N la

puis-sance i`eme de x : x0 = 1 et ∀i ∈

N, x

i+1 = x.xi.

Un monoïde est dit libre s’il admet un unique sous-ensemble X tel que tout élément x de M admet une unique décomposition en produit d’éléments de X. Exemple 1

(N, ×, 1) forme un monoïde, de même que (N, +, 0) ou bien que l’ensemble A

muni de la concaténation, avec comme élément neutre ε. Ces deux derniers sont de plus des monoïdes libres.

Définition 1.3. Dans un monoïde, deux éléments x et y sont dits

• L-équivalents s’il existe deux éléments du monoïdes z et z′tels que x = zy

et y = z′x, et

• R-équivalents s’il existe deux éléments du monoïdes z et z′ tels que

x = yz et y = xz′.

On notera x ∼Ly et x ∼Ry ces propriétés.

Définition 1.4. Soit (M, ∗,1m) et (N, .,1n) deux monoïdes.

L’application ϕ de M dans N est un morphisme de monoïde si pour tout x, y de M, ϕ(x ∗ y) = ϕ(x)ϕ(y), et que ϕ(1m) =1n.

Bi-monoïdes et semi-anneaux

Définition 1.5. Un bi-monoïde fort (K, +, ., 0, 1) est un ensemble muni de deux opérations internes : « + » la somme, et « . » le produit, avec 0 l’élément neutre de la somme, et 1 celui du produit ; et vérifiant les propriétés suivantes :

• (K, +, 0) est un monoïde commutatif, • (K, ., 1) est un monoïde,

• 0 est absorbant pour le produit : ∀x ∈ K, 0.x = x.0 = 0.

Définition 1.6. Un semi-anneau (K, +, ., 0, 1) est un bi-monoïde fort dont le produit est distributif par rapport à la somme, i.e. :

∀x, y, z ∈ K, x.(y + z) = x.y + x.z, ∀x, y, z ∈ K, (x + y).z = x.z + y.z. (K, +, ., 0, 1) est parfois noté simplement (K, +, .) ou K.

(16)

Exemple 2

Les ensembles Q, R et C, munis du produit et de la somme usuelle sont des semi-anneaux, tout comme (N∪ {∞}, min, +), qui modélise les distances, et

(N∪ {∞}, +, min), qui modélise les flots. (N, +, min) est un bi-monoïde qui

n’est pas un semi-anneau.

Lorsque l’ensemble K est fini, on parle de semi-anneau fini : les parties d’un ensemble fini munies de l’intersection et de l’union, par exemple.

On considèrera également les corps, qui sont des semi-anneaux particuliers. Définition 1.7. Un corps (K, +, ., 0, 1) est un anneau (semi-anneau dans le-quel tout élément admet un inverse pour la somme) dans lele-quel tout élément non nul admet un inverse pour le produit.

De même que pour les semi-anneaux, (K, +, ., 0, 1) est parfois noté simple-ment (K, +, .) ou K.

Définition 1.8. Une norme sur un corps K est une application k.k de K dans R+, telle que :

• ∀x ∈ K, kxk = 0 ⇒ x = 0K,

• ∀x, y ∈ K, kxyk = kxkkyk, et • ∀x, y ∈ K, kx + yk ≤ kxk + kyk.

Somme infinie et étoile

On souhaite de plus munir notre structure K, un bi-monoïde fort ou un semi-anneau, d’un opérateur partiel de somme infinie, qui sera noté P

ou P

i∈I

, avec I un ensemble dénombrable, et d’un opérateur partiel d’itération, l’étoile de Kleene.

Définition 1.9. Une famille dénombrable est une suite non ordonnée d’élé-ments d’un ensemble X. On peut donc la voir comme une fonction de X dans N∪ {∞}. Une famille (si)i∈I sera dite sommable dans K un bi-monoïde

fort si P

i∈I

si existe dans K.

Afin que la définition du comportement des automates soit cohérente et que ces opérateurs vérifient les identités habituelles, on souhaite que la somme infinie vérifie un certain nombre de propriétés. En fonction de la structure, bi-monoïde fort ou semi-anneau, on souhaitera disposer de tout ou partie de ces propriétés en tant qu’axiomes.

(17)

Ax.1 Si la famille I est finie, l’opérateur P

i∈I

et la somme de K coïncident ; Ax.2 (Commutativité)

Soit π une permutation sur I. Si la famille (si)i∈I est sommable de

somme l, alors la famille (sπ(i))i∈I est sommable de somme l.

Ax.3 L’union finie de familles sommables est sommable, et en posant k familles sommables ((xi,j)i∈Ij)j∈J1,kK de somme sj, on a

X j∈J1,kK i∈Ij xi,j = k X j=1 sj. Ax.4 (1e

sommation par blocs).

Soit (si)i∈I une famille sommable, et (Ij)j∈J une partition de I.

Si pour tout j de J, P

i∈Ij

si est définie (on la notera rj) alors P j∈J

rj est

définie et vaut P

i∈I

si.

De plus, dans les semi-anneaux, on souhaite que l’opérateur de somme infinie vérifie des axiomes ayant trait à la distributivité, que l’on n’exigera pas pour une somme infinie sur un bi-monoïde.

Ces axiomes sont ordonnés par croissance des contraintes qu’ils expriment : chacun est conséquence de l’axiome qui le suit.

Ax.5 Si la famille (si)i∈I est sommable, alors pour tout x de K, (x.si)i∈I et

(si.x)i∈I sont sommables, et

X i∈I x.si = x X i∈I si ! , (1.1) X i∈I si.x = X i∈I si ! x, (1.2) (1.3) Ax.6 Soit (xi)i∈I et (yj)j∈J deux familles sommables de somme x et y. Alors

la famille (xiyj)i,j∈I×J est sommable, et sa somme vaut xy.

Ax.7 (2e

sommation par blocs)

Soit (si)i∈I une famille, et (Ij)j∈J une partition de I.

Si pour tout j de J, P

i∈Ij

si est définie (on la notera rj) et que P j∈J

rj est

définie, alors P

i∈I

si est définie et vaut P j∈J

(18)

À partir de la somme infinie, on peut définir l’étoile de Kleene d’un élé-ment x de K, notée x∗ : xest définie si et seulement si P∞

i=0

xi est définie, et

dans ce cas, x∗ =P∞

i=0

xi.

On a donc, si les axiomes Ax.3etAx.5 sont vérifiés, pour tout élément x de K dont l’étoile est définie :

x∗ = 1 + xx∗ = 1 + x∗x.

Proposition 1. Soit x et y deux éléments d’un semi-anneau muni d’un opé-rateur de somme infinie vérifiant les 5 premiers axiomes, et d’une étoile. Si (yx)∗ est définie, alors (xy)est définie et on a :

(xy)∗= 1 + x(yx)∗y. (1.4)

Démonstration. Conséquence de l’axiome Ax.5. En effet, si (yx)∗ est définie,

alors aussi P

n∈N

x(yx)ny. Cette dernière somme est égale à P

n∈N

(yx)n+1. Ainsi,

x(yx)∗y = P

n∈N

(yx)n+1, et en rajoutant 1 de chaque coté de l’égalité, on obtient

le résultat souhaité.

Proposition 2. Soit x et y deux éléments d’un semi-anneau muni d’un opé-rateur de somme infinie vérifiant les 7 axiomes, et d’une étoile. Si l’étoile de x et celle de x∗y sont définies, alors on a :

(x + y)∗ = (x∗y)∗x∗ (1.5)

Démonstration. Cette preuve est inspirée de [Ésik et Kuich, 2002]. On consi-dère ϕ un morphisme de {a, b}∗ dans K, le semi-anneau, tel que ϕ(a) = x et

ϕ(b) = y. Comme x∗ est définie, la somme P

w∈a∗ϕ(w) est bien définie.

Considé-rons les langages Ln = (a∗b)n et L = (a∗b)∗. On montre par récurrence sur n

que P

w∈Ln

ϕ(w) est bien définie. Il est clair que cela est le cas lorsque n = 0. Supposons la propriété vraie pour n. Par l’axiome Ax.5, P

n∈N

ϕ(an)ϕ(b) est

définie et vaut P

w∈a∗b

ϕ(w). Donc par l’axiome Ax.6, P

w∈Ln+1 ϕ(w) est définie et vaut  P w∈Ln ϕ(w)   P w∈a∗b ϕ(w)  . Posons sn = P w∈Ln

ϕ(w) = (x∗y)n. Comme (xy)est définie, P n∈N

snest

défi-nie d’après l’axiomeAx.5, et vaut (x∗y). Par l’axiome Ax.7, P w∈L

ϕ(w) est dé-finie et vaut (x∗y). Par l’axiome Ax.6, (xy)x=

 P w∈L ϕ(w)   P w∈a∗ϕ(w)  . Ainsi, P w∈(a∗b)a

ϕ(w) est définie, que l’on peut écrire P

w∈(a+b)∗

(19)

Définition 1.10. Les équations (1.4) et (1.5) sont dites identités de Conway. Un semi-anneau est dit de Conway si l’étoile de chaque élément est définie et que ces deux identités sont respectées.

Le semi-anneau des langages rationnels muni de l’union et de la concaté-nation est un semi-anneau de Conway.

Ces axiomes ne sont que des propriétés que l’on souhaite voir vérifiées par la somme infinie, mais ne disent rien de la façon dont elle est définie. Par exemple, dans les treillis, où la somme est définie comme un supremum, cet opérateur est défini comme une borne supérieure. Dans Q, R ou C, afin d’obte-nir l’axiomeAx.2, une famille est sommable si elle est absolument sommable1

, au sens classique. On peut remarquer que l’axiome Ax.7 n’y est pas vérifié. On pourrait également donner une définition de l’étoile qui ne dépend pas de la somme infinie : avec x dans Q, R ou C, tel que |x| < 1, on a x∗ = 1

1−x. Nous

n’utiliserons pas cette définition : dans ce mémoire, l’étoile est utilisée pour représenter la somme de chemins sur un automate.

On peut ordonner les semi-anneaux en fonction des axiomes qu’ils vérifient avec leur étoile usuelle.

Pour cette classification, il existe trois grandes familles de semi-anneaux : les semi-anneaux dans lesquels l’étoile est définie partout, les semi-anneaux pour lesquels l’étoile n’est définie que partiellement, et les semi-anneaux dans les-quels l’étoile n’est définie que pour le 0, comme par exemple (N∪{∞}, max, +).

Q, R, C, et les corps commutatifs en général sont des semi-anneaux dans lesquels la somme infinie n’est définie que partiellement.

On appelle rationnellement additifs les semi-anneaux pour lesquels les axi-omes 1 à 7 sont vrais et les séries géométriques sont définies, et donc dans les-quels l’étoile est définie partout [Ésik et Kuich,2002]. L’ensemble des langages rationnels, muni de l’union et de la concaténation, est un semi-anneau ration-nellement additif. Les treillis distributifs, (N∪ {∞}, min, +) ou Q+∪ {∞},

sont aussi de tels semi-anneaux.

Sur un corps muni d’une norme, on considèrera qu’une famille (xi)i∈I est

sommable si la famille (kxik)i∈I est sommable.

Proposition 3. Dans un corps muni d’une norme, la somme infinie respecte les axiomes Ax.1 à Ax.6. L’étoile d’un élément x est définie si et seulement si kxk < 1.

Démonstration. Il s’agit des propriétés usuelles des séries absolument conver-gentes sur R.

Remarque 1. Sur Q, qui ne vérifie pas l’axiome Ax.7, la proposition 2 n’est pas vérifiée : en posant x = y = 1

2, on a x

définie, qui vaut 2 3, (x

y)définie,

qui vaut 3

4, et leur produit vaut donc 1

2, mais l’étoile de x + y = 1 n’est pas

définie.

(20)

0

x

+x

x

+ x

+x

m

x

.x

=

(m

x

+ r

x

).x

(m

x

+ 1).x

Figure1.1 – Les éléments de {k.x | k ∈N}, ensemble fini.

Ordre d’un monoïde

On s’intéresse aux sommes infinies dans les bi-monoïdes localement finis. Un bi-monoïde muni d’un opérateur de somme infinie est dit localement fini si la clôture par le produit, la somme et la somme infinie de tout ensemble fini est finie. Cette définition est plus forte que la définition usuelle, pour laquelle la clôture par la somme infinie n’est pas exigée.

Remarque 2. Dans un souci de simplicité, on se placera dans le cas où K est fini, l’extension des résultats à des bi-monoïdes forts localement finis étant aisée : ces résultats portant sur les automates, il suffit de considérer le bi-monoïde fort fini engendré par les poids utilisés dans l’automate.

Soit (M, +, 0) un monoïde fini commutatif muni d’un opérateur de somme infinie, vérifiant les axiomes Ax.1àAx.3.

On notera par souci de simplification k.x la somme finie de k fois le même élément x de M, avec k un entier naturel. On notera de même ∞.x la somme infinie de x si celle-ci est définie.

Définition 1.11. Soit x un élement de M. Son ordre est le couple mini-mal (mx, rx) d’entiers (avec rx entier positif) qui vérifient :

∀k > mx, (k + rx).x = k.x . (1.6)

Cet ordre est toujours défini dans un monoïde localement fini. En effet, l’ensemble {k.x | k ∈ N} est fini, et la suite s = (k.x)k∈

N est ultimement

periodique : si si = sj, alors pour tout k entier naturel on a si+k = i.x + k.x =

j.x + k.x = sj+k. On peut ainsi voir rx comme la distance minimale entre

deux occurences égales dans s, et mx comme le plus petit i tel que si apparait

infiniment souvent dans s, ainsi que cela est représenté dans la Figure1.1. On a également que si k est plus grand que mx et que q est un multiple de rx,

(21)

Définition 1.12. L’ordre d’un monoïde M est le couple

(max{mx| x ∈ M}, ppmc{rx | x ∈ M}), (1.7)

avec ppmc(E) le plus petit multiple commun des éléments de E.

Définition 1.13. Pour tout k dansN∪ {∞}, on définit k mod(m, r) comme :

k mod(m, r) = (

k si k < m ou si k = ∞

m + ((k − m) mod r) sinon. (1.8)

En posant (m, r) l’ordre additif de M, pour tout élément x de M, on a ∀k > m, (k + r).x = k.x, et ∀k, k.x = (k mod(m, r)).x. Ainsi, k mod(m, r) est compris entre 0 et m + r − 1 ou bien est infini.

Dans la suite, on notera (m, r) l’ordre de M, et Nm,r le semi-anneau

J0; m + r − 1K ∪ {∞} où les opérations entre entiers finis sont modulo (m, r). Définition 1.14. On appelle description d’une famille infinie I d’éléments de M la fonction de M dans Nm,r qui à chaque élément attribue son nombre

d’occurences dans I modulo (m, r) si ce nombre est fini, et ∞ sinon

Par l’axiome Ax.3, la somme des éléments de I et la somme des éléments de sa description avec leur multiplicité sont égales si celle-là est définie :

X i∈I i =X x∈M dI(x).x, (1.9) avec dI la description de I.

Séries

L’ensemble des séries formelles sur A∗à coefficients dans K est noté KhhAii.

Une série s de KhhA∗ii est une application de A dans K, et l’image d’un mot w

par cette série, appelé coefficient de w, est noté hs, wi. On note la série s comme la somme formelle

s = X

w∈A∗

hs, wi w.

On appelle terme constant de la série le coefficient du mot vide. S’il est nul, on dit que la série est propre. Si pour tout mot w, hs, wi 6= 0, on dit que la série s a support plein.

On peut définir plusieurs opérations sur les éléments de KhhA∗ii :

• La somme. La somme de deux séries est la série obtenue en effectuant la somme terme à terme des coefficients des deux séries.

s + t = X

w∈A∗

(22)

La série 0 (dans laquelle chaque coefficient est nul) est neutre pour cette opération.

• Le produit de Cauchy. Le produit de Cauchy est l’extension aux séries du produit de polynômes : s · t = X w∈A∗ X u,v∈A∗ uv=w (hs, ui.ht, vi) w. (1.11)

La série 1 (dont tous les coefficients sont nuls sauf le terme constant qui vaut 1) est neutre pour le produit de Cauchy.

• Le produit de Hadamard. Le produit de Hadamard de deux séries est le produit terme à terme :

s ⊙ t = X

w∈A∗

(hs, wi.ht, wi) w. (1.12)

L’élément neutre pour cette opération est la série dont tous les coeffi-cients sont égaux à 1, c’est la série caractéristique de A∗, et on la notera

également A∗.

Les deux produits sont associatifs et distributifs par rapport à la somme. Ils permettent chacun de définir une puissance pour une série s :

si = ( 1 si i = 0, si−1· s sinon. s ⊙i= ( A∗ si i = 0, s⊙i−1· s sinon. (1.13)

Ces puissances permettent de définir deux itérateurs :

• L’étoile de Kleene. L’étoile de Kleene d’une série est la somme des puissances itérées de la série :

s∗ = X w∈A∗ ∞ X i=0 hsi, wi w = X w∈A∗ |w| X i=0 hsi, wi w. (1.14)

Cette somme est définie pour toutes les séries propres. Pour les séries non propres, cette somme est définie si et seulement si l’étoile de Kleene du terme constant de la série est définie. Dans ce cas, on peut montrer (cf. [Sakarovitch, 2009]) que s∗ = (s

0sp)∗s∗0, avec s = s0 + sp une série

non propre, sp une série propre, et s0 = hs, εi.

• L’étoile de Hadamard. L’étoile de Hadamard d’une série est la somme des puissances de Hadamard itérées de la série

s⊛ = X w∈A∗ ∞ X i=0 hs⊙i, wi w. (1.15)

(23)

Remarque 3. Les étoiles ont été définies ici comme des opérateurs unaires. Il est possible – et on le fera plus tard – de les considérer comme des opérateurs binaires. C’est d’ailleurs la définition initiale de l’étoile de Kleene dans [Kleene,

1956]. On définit ces opérateurs binaires comme : s ∗ t = s∗· t et s ⊛ t = s⊙ t.

Remarque 4. Dans le cas où x ∈ C, R ou Q, l’étoile de x n’est définie que si |x| < 1, et on a x∗ = 1

1−x.

Remarque 5. Contrairement au cas booléen, l’étoile de Kleene n’est pas en général idempotente. En effet, −1

2 ∗ = 23 et −1 2 ∗∗ = 3. En fait, on a déjà que s∗.sest en général différent de s. Par exemple, si s = a, alors s=

1 + a + aa + aaa + . . . et s∗.s= 1 + 2a + 3aaa + . . ..

Un polynôme est une série de KhhA∗ii dont tous les coefficients sont nuls à

partir d’une taille de mot suffisamment grande.

Les séries rationnelles sont la clôture des polynômes par les opérations rationnelles : la somme, le produit de Cauchy et l’étoile de Kleene. On notera KRatA∗ l’ensemble des séries rationnelles sur A.

Les séries de Hadamard sont la clôture des séries rationnelles par les opé-rations terme à terme : la somme, le produit de Hadamard et l’étoile de Ha-damard. On notera KHadA∗ l’ensemble des séries de Hadamard sur A.

Expressions

Les expressions sont des objets finis permettant de décrire inductivement des séries. On considère le plus souvent les expressions rationnelles, qui sont en général attribuées à Kleene. Leur version pondérée a été utilisée tout d’abord par [Caron et Flouret, 2003].

Définition 1.15. La grammaire suivante génère les expressions rationnelles pondérées :

R → 0 | 1 | a ∈ A | kR, k ∈ K | Rk, k ∈ K | R + R | RR | R∗. (1.16) On notera KRatExpA l’ensemble des expressions rationnelles sur A à coeffi-cients dans K.

La grammaire suivante génère les expressions de Hadamard : H → R | kH, k ∈ K | Hk, k ∈ K | H + H | H ⊙ H | H⊛

. (1.17)

On notera KHadExpA l’ensemble des expressions rationnelles.

Définition 1.16. L’interprétation d’une expression de Hadamard est une série de Hadamard, définie inductivement comme suit :

(24)

∀a ∈ A, JaK = a, JF + GK = JFK + JGK, (1.19) ∀k ∈ K, JkFK = kJFK, JFkK = JFKk, (1.20) JFGK = JFK · JGK, JF∗K = JFK∗, (1.21) JF ⊙ GK = JFK ⊙ JGK, JF⊛ K = JFK⊛ . (1.22)

Une expression de Hadamard E est dite valide si son interprétation est définie, i.e. si la série JEK existe. Dans ce cas, pour tout w dans A∗, on note

hE, wi = hJEK, wi.

Les seules opérations pouvant ne pas être définies sont les itérations. Pour vérifier la validité d’une expression E, il faut étudier chacune des sous-expressions se trouvant sous une étoile dans E.

Dans Q, R ou C muni de la somme et du produit usuels, E∗ est valide si et

seulement si |hE, εi| < 1, et E⊛ est valide si et seulement si pour tout w ∈ A,

|hE, wi| < 1,

Nous verrons dans la suite que la validité d’une expression de Hadamard sur Q est indécidable.

(25)
(26)

Chapitre 2

Automates

“Chouette ! Où est-ce qu’on va ?” – Pippin (Billy Boyd), La communauté de l’anneau 2001 Les objets mathématiques concernés par l’essentiel des résultats de ce mé-moire sont les automates finis. Dans ce chapitre, on présentera les différents modèles d’automates que nous allons étudier, ainsi que quelques fonctions pour les manipuler.

Automates unidirectionnels

Les automates les plus simples sont les automates unidirectionnels. Ces machines, dont l’origine est en général2

attribuée à Kleene [Kleene, 1956], décrivent un langage sur un alphabet donné. Un automate prend en entrée un mot et renvoie vrai ou faux selon l’appartenance de ce mot au langage que cet automate décrit.

Pour ce faire, au fur et à mesure de la lecture du mot d’entrée, il passe par différents états. Pour changer d’état, l’automate emprunte une transition étiquetée par la lettre courante, et la consomme, jusqu’à arriver à la fin du mot. Si le dernier état est un état acceptant, ou terminal, alors le mot est accepté. Le mot est rejeté s’il n’existe aucun moyen d’arriver à un état final en fin du mot. Ainsi, l’automate de la Figure 2.1 décrit l’ensemble des mots qui comportent un nombre impair de a sur l’alphabet {a, b}.

La vision classique de ces objets est une vision combinatoire, c’est-à-dire que l’on considère le graphe étiqueté défini à partir de l’automate, et un calcul peut-être défini comme un chemin sur le graphe, qui va d’un état initial à un état final. L’étiquette du calcul est le mot lu le long des transitions empruntées 2. Le lecteur intéressé par les origines historiques détaillées de ce modèle peut consulter [Perrin,1995]

(27)

a

a

b

b

Figure2.1 – Un automate décrivant les mots avec un nombre impair de a.

lors de ce calcul. De prime abord, on considère d’abord séparément les différents calculs de même étiquette.

On peut étendre ce modèle : au lieu de n’avoir que deux comportements pour un mot, l’accepter ou le refuser, on permet à l’automate de lui attri-buer un poids. Pour ce faire, chaque transition est munie d’un poids, le poids d’un calcul sera le produit des transitions, et le poids d’un mot la somme des poids des calculs. On souhaite donc que les poids soient dotés d’une structure ayant deux opérations, la somme et le produit, ayant de bonnes propriétés. La structure minimale est celle du bi-monoïde, mais parfois, nous aurons besoin d’une structure plus puissante, celle du semi-anneau, qui rajoute la distribu-tivité. C’est la structure usuelle de poids sur un automate, puisqu’elle permet entre autres des manipulations des représentations des automates en tant que matrices.

Dans la suite, et sauf mention contraire, on considère K un bi-monoïde fort. Définition 2.1. Un K-automate, ou encore automate pondéré sur K, en anglais weighted automaton, sur l’alphabet A est un quadruplet (Q, E, I, T ), avec :

• Q un ensemble fini d’états,

• E une fonction de Q × A × Q vers K, la fonction de transition, • I une fonction de Q vers K, les poids initiaux,

• T une fonction de Q vers K, les poids finaux.

En raisons des modèles étudiés dans la suite, on parlera de ces objets en tant qu’automates unidirectionnels.

Remarque 6. Il est possible d’étendre la définition à des automates infinis, c’est-à-dire ayant un nombre infini d’états. Les séries qui nous intéressent ici sont celles réalisées par des automates finis, d’où cette restriction. On se servira ponctuellement dans les preuves d’automates infinis.

Dans le cas pondéré, ce qui nous intéresse n’est pas tant la définition for-melle de l’objet ou le graphe sous-jacent, mais la sémantique qui lui est asso-ciée : la façon de calculer le poids d’un mot dans cet automate. C’est l’objet des définitions suivantes.

(28)

Quelques définitions

Soit A = (Q, E, I, T ) un K-automate. On rappelle que le support d’une fonction est l’ensemble des éléments de son domaine de définition dont l’image est non nulle. L’ensemble des transitions est le support de E, les états initiaux le support de I, et les états finaux le support de T .

Une transition (p, a, q) se décompose en son état source p, noté σ(p, a, q), son étiquette a, notée λ(p, a, q), et son état cible q, noté τ(p, a, q).

On appellera transitions entrantes de l’état p les transitions dont l’état cible est p, et transitions sortantes celles dont l’état source est p,

Un chemin ρ de A de longueur n est un triplet (p, e, q), avec p et q deux états de l’automate, et e une suite de transitions de la forme (pi, ai, qi)i∈J1,nK,

avec pi, qi ∈ Q et ai ∈ A tels que p = p1, q = qn et que pour tout i dans

J1, n − 1K, qi = pi+1 (si n = 0, alors p = q). Le poids de ce chemin est

Qn

i=1E(pi, ai, qi). L’étiquette de ce chemin est le mot w = a1. . . an.

Un calcul de A de poids k est un chemin (p, e, q) de poids k′ tel que p est

initial, q est final, et k = I(p)k′I(q).

Un mot w a pour poids k dans A si la somme des poids des calculs dont l’étiquette est w vaut k. On note hA, wi = k.

Ainsi, un automate réalise une série : la série qui à chaque mot associe son poids dans l’automate. C’est le comportement de A, noté

|A| = X

w∈A∗

hA, wi w.

On note KAutA l’ensemble des séries réalisables par un automate sur l’al-phabet A.

Définition 2.2. Deux automates sont dits équivalents s’ils réalisent la même série.

Remarque 7. Dans le cas où K est le semi-anneau booléen, on dit qu’un mot est accepté par A s’il existe un calcul dans l’automate dont il est l’étiquette, i.e. hA, wi = 1. Le langage reconnu par un automate est l’ensemble des mots acceptés par celui-ci : c’est le support de la série qu’il réalise.

En général, le langage support de la série réalisée par l’automate est in-clus dans le langage reconnu par l’automate support1

. Si le semi-anneau est positif2

, alors ces deux langages sont égaux.

Dans le cas des semi-anneaux en général, on a le théorème suivant, dit de Kleene-Schützenberger [Schützenberger,1961], extension du résultat de Kleene sur les langages :

1. Avec un automate A = (Q, E, I, T ), c’est l’automate booléen (Q, E′ , I′

, T′

) tel que E′

(p, a, q) = 1 si et seulement si E(p, a, q) 6= 0, et de même pour les états initiaux et finaux. 2. Dans le sens le plus faible : x + y = 0 ⇒ x = y = 0, et xy = 0 ⇒ x = 0 ou y = 0.

(29)

Théorème 2.1. Soit K un semi-anneau. L’ensemble des séries réalisables par les K-automates sont les séries K-rationnelles ( i.e. KAutA = KRatA∗).

Cette équivalence est constructive : à partir d’une expression rationnelle pondérée, on peut construire un automate réalisant la même série, et vice-versa.

De nombreuses méthodes ont été décrites pour réaliser cette construction, soit dans le cas booléen, soit dans le cas pondéré. On en rappellera un certain nombre dans la section 3.3.

Extensions du modèle

On peut voir les automates comme des restrictions des machines de Turing. Une façon classique pour étendre le modèle est de lever certaines de ces res-trictions. Nous allons ici présenter trois extensions classiques, qui lèvent petit à petit les limitations sur les mouvements de la tête de lecture.

Automates circulaires

Les automates circulaires (en anglais rotating automata) sont des auto-mates qui peuvent relire le mot en entrée autant de fois qu’ils le souhaitent, et qui sont comme les K-automates classiques, en lecture seule.

Ainsi, on peut considérer qu’il s’agit de K-automates classiques munis de transitions spéciales qui ramènent la tête de lecture au début du mot.

Définition 2.3. Un automate circulaire sur l’alphabet A est un quintuplet (Q, E, R, I, T ), où :

• Q, E, I, T sont définis de la même façon que dans le cas classique des K-automates,

• R est une fonction de Q × Q vers K, la fonction de rembobinage.

On représentera R(p, q) = k comme une transition de poids k entre p et q étiquetée par la lettre r, n’appartenant pas à l’alphabet A. On pourra appeler ces transitions des r-transitions.

Ainsi, l’automate de la Figure 2.2 lit un mot non vide sur l’alphabet {a}, puis retourne au début du mot. Il attribue ensuite à toute lettre le poids 1

2, sauf

une, choisie de manière non déterministe, à laquelle il donne poids 1

3. Ensuite,

grâce à la r-transition, il peut retourner au début du mot pour recommencer cette dernière partie.

Remarque 8. Tout K-automate peut-être vu comme un K-automate circulaire, en posant R la fonction nulle : ∀K, KAutA ⊆ RKAutA. Un tel automate n’aura aucune transition étiquetée par r.

(30)

a|1

a|1

r|1

r|1

a|

13

a|

12

a|

12

Figure2.2 – Un automate circulaire pondéré.

Remarque 9. Il existe des semi-anneaux dans lesquels les automates circu-laires sont strictement plus puissants que les automates unidirectionnels. Par exemple, dans le semi-anneau RatA∗ (ce qui est une façon de présenter les

transducteurs), les automates circulaires peuvent réaliser la série qui à tout mot associe le carré de ce mot, or cette série n’est pas rationnelle. Dans la suite seront abordés d’autres exemples, notamment sur Q, donc dans un semi-anneau commutatif.

Comportement et validité

Comme dans les automates unidirectionnels, le poids d’un calcul est le produit des poids des transitions rencontrées, en prenant en compte le poids initial et le poids final.

Dans un automate circulaire, on ne considère que des calculs d’étiquette (wr)iw, avec i un entier.

Définition 2.4. Le comportement d’un automate circulaire A est la série qui à tout mot w de A∗ associe la somme des poids des calculs de A

d’éti-quette (wr)iw, avec i un entier. On note RKAutA l’ensemble des séries

réali-sables par les automates circulaires sur l’alphabet A.

Définition 2.5. Un automate circulaire A est dit valide si pour tout mot w, la somme des poids des calculs de A sur w est définie.

Automates à navette

Les automates à navette (en anglais sweeping automata) sont des automates qui peuvent lire le mot en entrée autant de fois qu’ils le souhaitent, en alternant le sens de lecture, d’abord de gauche à droite, puis de droite à gauche, etc.

Ainsi, on peut considerer qu’il s’agit de deux K-automates classiques, l’un lisant de droite à gauche et l’autre de gauche à droite, et l’on ne peut passer de l’un à l’autre qu’en extrémité de mot.

Définition 2.6. Un automate à navette sur l’alphabet A est un quintuplet (F, B, E, I, T ), avec :

(31)

a, b

a, b

a, b|2

a|2, b

b

a

Figure2.3 – Un automate à navette pondéré.

• Q = F ∪ B, l’ensemble fini des états, avec F l’ensemble des états forward et B l’ensemble des états backward ,

• E une fonction de

F × A × F (la partie qui lit de gauche à droite)

∪ F × {⊣} × B (les demi-tours à la fin du mot)

∪ B × A × B (la partie qui lit de droite à gauche)

∪ B × {⊢} × F (les demi-tours au début du mot)

dans K.

• I, T deux fonctions de F dans K, I la fonction des poids initiaux et T celle des poids finaux.

Exemple 3

Pour l’automate de la Figure 2.3, on a F l’ensemble des états notés avec → et B ceux notés par ←. De plus, par simplicité de lecture, on a omis le poids des transitions lorsque celui-ci était 1. Cet automate lit un mot non vide sur l’alphabet {a, b}, puis lit le mot à l’envers en associant le poids 2 à toute lettre identique à la dernière lettre. Il relit ensuite le mot.

Remarque 10. Tout automate circulaire peut-être vu comme un automate à navette. En effet, il suffit de simuler les transitions R(p, p′) par l’ajout d’un

état q et d’étendre E : E(p, ⊢, q) = R(p, p′), E(q, ⊣, p) = 1 et pour tout a

(32)

Remarque 11. Il existe des semi-anneaux dans lesquels les automates à navette sont strictement plus puissants que les automates circulaires. Par exemple, les transducteurs à navette peuvent réaliser la série qui à tout mot associe le miroir de ce mot. Cette série n’est pas réalisable par un automate circulaire (voir [Guillon, 2016] par exemple).

Comportement et validité

Comme dans les automates unidirectionnels, le poids d’un calcul est le produit des poids des transitions rencontrées, en prenant en compte le poids initial et le poids final.

Notons u le miroir du mot u, c’est-à-dire le mot u lu à l’envers. Dans un automate à navette, on ne considère que les calculs d’étiquette w(⊣ w ⊢ w)i

avec i un entier.

Définition 2.7. Le comportement d’un automate à navette A est la série qui à tout mot w de A∗ associe la somme des poids des calculs de A d’étiquette

w(⊣ w ⊢ w)i, avec i un entier. On note SKAutA l’ensemble des séries réalisables

par les automates à navette sur l’alphabet A.

Définition 2.8. Un automate à navette A est dit valide si pour tout mot w, la somme des poids des calculs de A sur w est définie.

Proposition 4. Si K est commutatif, alors tout automate à navette est équi-valent à un automate circulaire.

Démonstration. L’idée de la preuve, illustrée dans la Figure2.4, est de prendre le “miroir” de la partie backward de l’automate à navette, que l’on peut simuler par un automate unidirectionnel, et de reconnecter les deux parties grâce à des r-transitions.

Soit A = (F, B, E, I, T ) un automate à navette. Soit B = (Q, E′, R, I, T )

un automate circulaire, avec : • Q = F ∪ B, • E′(p, a, q) =      E(p, a, q) si p, q ∈ F, E(q, a, p) si p, q ∈ B, 0 sinon, • R(p, q) =      E(p, ⊢, q) si p ∈ F, E(p, ⊣, q) si p ∈ B, 0 sinon.

Il y a bijection entre les chemins de A et ceux de B, et cette bijection conserve les poids : en effet, comme K est commutatif, le poids d’un mot ne change pas en fonction du sens de lecture de celui-ci.

(33)

⊢ ⊣ B F → r r B F

Figure2.4 – La transformation d’un automate à navette en automate circu-laire. ⊢ a b ⊣ x1 x2 y1 y2 z1 z2

(a) Un calcul d’un automate à na-vette sur le mot ab.

⊢ a b ⊣ x1 x2 y2 y1 z1 z2 r r

(b) Un calcul d’un automate cir-culaire sur le mot ab.

Figure2.5 – Deux calculs de poids x1x2y1y2z1z2.

À un chemin d’étiquette w(⊢ w ⊣ w)i dans A, cette bijection associe un

chemin d’étiquette w(rw)2idans B. Ces deux chemins contribuent au poids du

même mot w. La Figure2.5 illustre la bijection.

Cette proposition va nous permettre de nous concentrer dans la suite sur les automates circulaires, et non les automates à navette, car les semi-anneaux manipulés seront souvent commutatifs. Le modèle est cependant présenté ici dans un souci d’exhaustivité.

Automates boustrophédons

On peut encore lever la restriction sur les mouvements de la tête de lecture afin de retrouver le mode de déplacement d’une machine de Turing : à tout moment durant la lecture du mot, la tête de lecture peut se déplacer sur la droite aussi bien que sur la gauche. Ces automates ont été introduits et prouvés équivalents aux automates unidirectionnels dans le cas booléen par [Rabin et Scott, 1959] et [Shepherdson, 1959]. Ce n’est généralement pas le cas lorsque ces automates sont pondérés. La définition donnée ici suit celle de [Birget,

(34)

Définition 2.9. Un K-automate boustrophédon (en anglais two-way automa-ton) sur l’alphabet A est un quintuplet (F, B, E, I, T ), avec :

• Q = F ∪ B, l’ensemble fini des états, avec F l’ensemble des états forward et B l’ensemble des états backward ,

• E une fonction de

Q × A × Q (les déplacements dans le mot)

∪ F × {⊣} × B (les demi-tours à la fin du mot)

∪ B × {⊢} × F (les demi-tours au début du mot)

dans K, la fonction de transition,

• I une fonction de F vers K, les poids initiaux, • T une fonction de F vers K, les poids finaux.

Nota bene : Seuls les états de F peuvent être initiaux ou finaux.

On définit de plus une fonction sur les états : δ(p) = 1 si p est dans F , et δ(p) = −1 si p est dans B.

Définition 2.10. Soit A = (Q, E, I, T ) un K-automate boustrophédon. Un chemin ρ de A de longueur n est un triplet p, e, q, avec p et q deux états de l’automate, et e une suite de transitions de la forme (pi, ai, qi)i∈J1,nK,

avec pi, qi ∈ Q et ai ∈ A ∪ {⊢, ⊣} avec p = p1, q = qn et tels que pour tout i

dans J1, n − 1K, qi = pi+1.

L’étiquette d’un chemin (p, (ei)i∈J1,kK, q) existe et est le mot w = w1. . . wn

(wi ∈ A ∪ {⊢, ⊣}) s’il existe une application surjective π de J1, kK vers J1, nK

telle que :

• Im(π) = J1, nK

• pour tout i dans J2, kK, π(i) = π(i − 1) + δ(σ(ei))

• pour tout i dans J1, kK, λ(si) = wπ(i).

Un calcul de A d’étiquette w est un chemin (p, (ei)i∈J1,kK, q) d’étiquette dans

(⊢ +ε)w(ε+ ⊣) tel que : • p est initial, • q est final, • π(1) = 1,

(35)

(a) Un automate boustrophédon. → p → q ← r → s → t i x a, b a b, ⊣ a a b b a, b

(b) Un calcul sur ba.

⊢ b a ⊣ → p →p →q ← r → q ← r → s b a a ⊣ a x π 0 1 2 3 pos() 0 1 2

Figure2.6 – Un automate boustrophédon et un calcul.

• π(k) = n.

On définit de plus une fonction pos de J1, kK dans J0, nK pour les états d’un chemin :

pour tout j ∈ J1, kK, pos(j) = π(j) si δ(pj) = 1, et pos(j) = π(j) − 1 sinon.

Remarque 12. Dans la suite, on identifiera un chemin et la suite des états rencontrés par celui-ci.

Remarque 13. Tout automate à navette peut être vu comme un automate boustrophédon : ∀K, SKAutA ⊆ 2KAutA.

Remarque 14. Il existe des semi-anneaux dans lesquels les automates boustro-phédons sont strictement plus puissants que les automates à navette.

Exemple 4 (tiré de [Guillon, 2016])

On considère K = (P(N), ∪, +). La série s, telle que pour tout mot w, hs, wi =

{kn | k ∈N, ba

nb est un facteur de w}, est réalisable par un automate

bous-trophédon, mais pas par un automate à navette. Il s’agit de la série qui à chaque mot w composé de k blocs de a, le i-ème bloc étant de longueur ni,

associe Pk

i=1

niN.

Comportement et validité

Définition 2.11. Le comportement d’un automate boustrophédon A, noté |A|, est la série qui à tout mot w de A∗ associe la somme des poids des calculs

de A d’étiquette w. On note 2KAutA l’ensemble des séries réalisables par les automates boustrophédons sur l’alphabet A.

(36)

Définition 2.12. Un automate boustrophédon pondéré sur K est dit valide si pour tout mot w, la somme des poids des calculs de A d’étiquette w existe dans K, donc si la série |A| est bien définie.

Dans certains cas, on peut avoir besoin d’une notion plus fine de validité : c’est le but de la définition suivante.

Définition 2.13. Un automate boustrophédon A est dit fortement valide si pour tout mot w, pour tout états p, q de A, pour toutes positions i, j dans w, la somme des poids des chemins sur w commençant en p à la position i et finissant en q dans la position j est définie.

Remarque 15. Tout automate unidirectionnel est fortement valide. Variantes du modèle

Il existe d’autres définitions d’un automate boustrophédon. Les variantes principalement utilisées diffèrent de notre modèle soit dans la définition des calculs, soit dans la façon de représenter les mouvements de la tête de lecture (soit les deux). Le modèle utilisé en général sera le modèle présenté ci-dessus, mais il arrivera que l’on change de modèle localement afin d’avoir des calculs plus agréables à manipuler.

Les calculs peuvent être définis comme se finissant non à droite du mot comme dans notre définition, mais se finissant à gauche du mot, voire n’importe où. Plus formellement, dans les définitions 2.9 et 2.10, on remplace π(k) = n par π(k) = 1 et T une fonction de B dans K, ou bien par π(k) ∈ J1, nK et T une fonction de Q dans K. Ainsi, en fonction de la position de début des calculs, et de celle de la fin, un automate peut accepter un mot en examinant seulement un facteur de celui-ci.

Dans notre modèle, on représente de plus le mouvement de la tête de lecture dans un état, qui peut être forward ou backward selon que la tête se déplacera vers la gauche ou vers la droite du mot.

Un autre modèle usuel (e.g. [Rabin et Scott,1959] ou [Shepherdson,1959]) est d’avoir un seul type d’état, et d’avoir des transitions étiquetées par le mouvement de la tête de lecture : E est une fonction de Q × A × {←, →} × Q dans K. On peut aussi voir E comme deux fonctions, E+ et E−.

Dans ce modèle, la fonction de transition est une fonction de Q × A × Q × {−1, +1} dans K, un chemin est défini comme un triplet (p, e, q), avec p et q deux états, et e une suite de transitions de la forme (pi, ai, qi, mi)J1,kK

telle que p = p1, q = qk, et pour tout i de J1, k − 1K, qi = pi+1. L’étiquette du

chemin (p, (pi, ai, qi, mi)i∈J1,kK, q) existe et est le mot w = w1. . . wn s’il existe

une application π de J1, kK vers J1, nK telle que : • Im(π) = J1, nK,

(37)

• pour tout i dans J1, k − 1K, wπ(i+1) = wπ(i)+mi.

Un calcul d’étiquette w est un chemin tel que p est initial et q est final d’éti-quette dans (⊢ +ε)w(ε+ ⊣).

Tous ces modèles sont équivalents (voir [Pécuchet, 1985]). Nous montre-rons en sous-section 2.3.6comment passer d’un automate dans le modèle dont les transitions stockent les mouvements de la tête de lecture en un automate dans le modèle où cette information est dans les états, et vice-versa. Pour l’équivalence des autres modèles, il est immédiat que finir à gauche ou à droite lorsqu’on dispose d’un automate dans l’autre modèle, ou qui finit n’importe où, est faisable : il suffit de rajouter un état après tous les états finaux, qui emmène la tête de lecture à l’extrémité souhaitée.

Il peut être nécessaire de rajouter un état forward ensuite, si l’on rembo-binait avec un état backward, afin qu’il soit final.

Constructions

Dans cette section, nous verrons diverses opérations et constructions sur les automates. En général, elles seront définies sur les K-automates classiques, mais on pourra facilement étendre ces définitions aux cas des automates cir-culaires, à navette, et boustrophédons.

Les transformations décrites dans cette partie préservent les calculs ; leur correction ne dépend pas de la distributivité des poids : elles sont donc valides dans le cas où K est un bi-monoïde.

Revêtement

Les manipulations d’automates que nous allons étudier sont toutes basées sur le même concept : transformer un automate en un automate équivalent vérifiant de plus une certaine propriété. Dans le cas des automates unidirec-tionnel booléens, une méthode usuelle est l’utilisation d’un morphisme entre deux automates, c’est-à-dire une application entre les états, qui respecte les transitions.

Ces applications ne sont pas adaptées au cas pondéré. Nous étendons ici la définition du revêtement d’automates de [Sakarovitch,2009] aux automates boustrophédons. Cette définition est inspirée de la notion de covering sur les graphes, due à [Stallings,1983]. Le revêtement est lié à la notion plus classique de bisimulation. Plus précisément, on peut dire de deux automates qu’ils sont en bisimulation s’ils sont tous deux des revêtements d’un troisième.

Définition 2.14. Un revêtement (en anglais covering) d’un automate A = (Q+, Q−, E, I, T ) est un automate B = (R+, R−, F, J, U) pour lequel il existe

(38)

• ϕ préserve le type des états : ∀p ∈ R, p ∈ R+ ⇔ ϕ(p) ∈ Q+.

• Si I(q) 6= 0, alors il existe un unique p antédédent de q par ϕ tel que J(p) 6= 0. Dans ce cas, I(q) = J(p).

• Pour tous états q1, q2 ∈ Q, pour toute lettre a, tels que E(q1, a, q2) 6= 0,

pour tout antécédent p1 de q1, il existe un unique p2 antécédent de q2 tel

que F (p1, a, p2) 6= 0.

• Pour tous états p1, p2 ∈ R, pour toute lettre a, si F (p1, a, p2) 6= 0,

E(ϕ(p1), a, ϕ(p2)) = F (p1, a, p2).

• U(p) = T (ϕ(p)).

Proposition 5. Soit A un automate et B un automate, revêtement de A. Il existe une bijection qui respecte les poids entre les calculs de A et les calculs de B.

Démonstration. Considérons l’application ψ des transitions de B vers celles de A, qui envoie (p1, a, p2) sur (ϕ(p1), a, ϕ(p2)).

Soit un calcul de A. Ce calcul a un antécédent, et il est unique. En effet, l’état initial admet un unique antécédent, initial dans B. Et pour toute tran-sition, si l’on fixe l’antécédent de la source, alors l’antécédent de la cible est unique.

C’est donc bien une bijection, et elle respecte bien les poids.

Corollaire 1. Un automate est valide si et seulement si un revêtement de celui-ci est valide. Le cas échéant, ils sont équivalents.

Circulation

Définition 2.15. Soit A = (Q, E, I, T ) un K-automate. Une circulation sur cet automate est une fonction de Q dans K. Appliquer une circulation c sur A revient à construire un automate B = (Q, F, J, U) tel que, pour tout état p ∈ Q :

• I(p) = J(p).c(p), • U(p) = c(p).T (p),

• Pour tout état q, c(p).E(p, a, q) = F (p, a, q).c(q).

(39)

Démonstration. Soit w un mot de A∗, et ρ = (p1, (ei)i∈J1,kK, pk+1) un calcul

de A sur w. Soit Pw le poids de ce calcul. Avec ei = (pi, wi, pi+1), on a :

Pw = I(p1). k

Y

i=1

E(pi, wi, pi+1).T (pk+1). (2.1)

Par définition de B, on a donc :

Pw = J(p1).c(p1). k Y i=1 E(pi, wi, pi+1).T (pk+1) ... = J(p1). r Y i=1 F (pi, wi, pi+1).c(pr+1). k Y i=r+1 E(pi, wi, pi+1).T (pk+1) ... = J(p1). k Y i=1 F (pi, wi, pi+1).c(pk+1).T (pk+1) = J(p1). k Y i=1 F (pi, wi, pi+1).U(pk+1)

C’est bien le poids du même calcul dans B. Ainsi, le poids d’un calcul ne change pas par circulation, et non plus celui d’un mot. Les deux automates sont donc équivalents.

Remarque 16. Si K est inversible, alors pour tout automate A, pour toute circulation c sur cet automate, il existe un unique automate B tel qu’il soit le résultat de l’application de c sur A.

Ces deux constructions, le revêtement et la circulation, vont nous permettre de prouver l’équivalence avant et après les transformations que nous allons décrire maintenant.

Automate caractéristique

Définition 2.16. Un automate est dit caractéristique si toute transition a un poids égal à 1.

(40)

Proposition 7. Si K est localement fini, alors toute série réalisée par un K-automate peut être réalisée par un K-K-automate caractéristique.

Démonstration. Soit A = (Q, E, I, T ) un automate unidirectionnel pondéré sur K localement fini (cf. section 1.3 page 11). On effectue le produit de l’au-tomate A avec la partie finie K′ engendrée par les poids de l’automate.

Plus précisément, considérons l’automate B = (Q × K′, E, I, T) défini

comme suit :

• E′((p, x), a, (q, y)) = E(p, a, q) si et seulement si y = xE(p, a, q).

• I′(p, x) = x si I(p) = x, 0 sinon,

• T′(p, x) = T (p).

Montrons que cet automate est un revêtement de A. Posons ϕ la surjection qui à tout état (p, x) de B associe p de A.

Si I(q) n’est pas nul, alors il existe un unique antécédent par ϕ dont l’image par I′ n’est pas nulle, c’est (q, I(q)), et on a bien I(q, I(q)) = I(q).

Soit p, q, a, k tels que E(p, a, q) = k 6= 0, et (p, x) un antécédent de p. Alors il existe un seul état (q, y) tel que E′((p, x), a, (q, y)) 6= 0. Il s’agit de (q, xk).

De plus, pour tous les états (p, x) et (q, y) de B, si E′((p, x), a, (q, y)) 6= 0,

alors y = xE(p, a, q) et E′((p, x), a, (q, y)) = E(p, a, q).

Comme de plus on a que T′(p, x) = T (p), l’automate B est bien un

revête-ment de A.

Soit maintenant l’automate C = (Q × K′′, E′′, I′′, T′′) :

• E′′((p, x), a, (q, y)) = 1 si x.E(p, a, q) = y, et 0 sinon,

• I′′(p, x) = 1 si I(p) = x, 0 sinon,

• T′′(p, x) = xT (p).

On a bien appliqué sur B la circulation c telle que c(p, x) = x. En effet, on a bien :

• I′(p, x) = x = I′′(p, x)c(p, x),

• T′′(p, x) = xT (p) = c(p, x)T(p, x), et

• si E′((p, x), a, (q, y)) = k alors k = E(p, a, q), y = xk, et E′′((p, x), a, (q, y))

= 1.

(41)

Automates positifs sur Q et R

Définition 2.17. Un K-automate est dit standard s’il existe un seul état initial p, avec I(p) = 1, et tel que p n’ait aucune transition entrante.

On a la proposition classique suivante :

Proposition 8. Tout K-automate est équivalent à un K-automate standard. Définition 2.18. Un Q-automate ou R-automate standard est dit positif si toute transition a un poids positif.

Lemme 1. Toute série réalisable par un R-automate boustrophédon est réali-sable par un R-automate boustrophédon standard positif.

Démonstration. Soit A = (Q+, Q−, E, I, T ) un R-automate boustrophédon

réalisant une série s, que l’on peut considérer standard par la proposition 8. Considérons l’automate suivant B = (Q+× {1, −1}, Q−× {1, −1}, E′, I′, T′) :

• I′(p, 1) = I(p) si I(p) est positif, I(p, −1) = I(p) sinon.

• E′((p, x), a, (q, x)) = E(p, a, q) si E(p, a, q) est positif,

• E′((p, x), a, (q, y)) = −E(p, a, q) si E(p, a, q) est négatif, et que x 6= y,

• T′(p, x) = xT (p).

Cet automate est la circulation d’un revêtement de A, il lui est donc équi-valent. À part peut-être les poids finaux, tous les poids sont positifs. Comme A est standard, et en posant i son état initial, B n’a qu’un seul état initial, (i, 1), initial de poids 1. B est donc standard.

Proposition 9. Toute série s réalisée par un R-automate boustrophédon est décomposable en deux séries s+, s−, chacune réalisable par un R+-automate

positif boustrophédon standard telles que s = s+− s−.

Démonstration. Soit A = (Q+, Q−, E, I, T ) un R-automate boustrophédon

réalisant une série s, et B l’automate construit dans la preuve du lemme 1

ci-dessus.

On peut considérer deux automates, B+ et B−, copies de B sauf pour la

fonction finale, restreinte aux éléments de poids final positif pour B+ et aux

éléments de poids final négatif pour B−. De plus, on multiplie par -1 tous

les poids finaux de B−, afin d’obtenir un automate dont tous les poids sont

positifs.

La série réalisée par A est immédiatement la différence de la série réalisée par B+ et de celle réalisée par B−. Ces deux automates sont pondérés sur R+.

(42)

2 3+23i a r a (a) Un automate circulaire sur C. 1 i −1 −i a i −1 −i 2 3a, r 2 3a, r 2 3a, r 2 3a, r 2 3a 2 3a 2 3a 2 3a

(b) Cet automate n’est pas valide. Figure2.7 – Contre-exemple de l’extension à C de la proposition 9.

Remarque 17. Cette construction peut s’étendre à C dans le cas des automates unidirectionnels, pour obtenir une série réelle et une série imaginaire pure. Cependant, comme il n’y a pas bijection des calculs, la construction ne conserve pas nécessairement la validité dans le cas des C-automates circulaires, ainsi qu’illustré dans l’exemple 5.

Exemple 5

L’automate de la Figure 2.7a est valide, cependant si l’on construit un au-tomate en suivant l’idée de la construction de la proposition 9, on obtient l’automate de la Figure 2.7b, qui n’est pas valide. En effet, pour le mot a, par exemple, il existe exactement 2n+1 calculs d’étiquette (ar)na, chacun dont le

module du poids vaut 2 3

n+1

. La somme des modules des poids des calculs d’étiquette (ar)na est donc 4

3

n+1

. Cela signifie que la somme des modules des poids des calculs sur a est donc P∞

n=0 4 3

n

, qui n’est pas définie. L’automate n’est donc pas valide.

δ-normalisation

Définition 2.19. Un automate boustrophédon (F, B, E, I, T ) est dit δ-normal-isé si F et B sont respectivement partionnés en F = F+∪ F− et B = B+∪ B−,

tels que :

• tous les états finaux sont dans F+,

• pour tout état p, pour toute transition (p, a, q), q appartient à F si et seulement si p appartient à F+∪ B+.

(43)

Proposition 10. Tout automate boustrophédon est équivalent à un automate δ-normalisé.

Démonstration. Soit A = (F, B, E, I, T ) un automate boustrophédon sur K. L’idée est de faire deux copies des états de l’automate, l’une où l’on ne garde que les transitions provenant des états forward, l’autre celles provenant des états backward.

Soit B = (F × {1, 2}, B × {1, 2}, E′, I, T) un automate sur K avec :

• I′(p, i) = I(p), si i = 1, 0 sinon.

• T′(p, i) = T (p).

• E′((p, i), a, (q, 1)) = E(p, a, q) si p appartient à F , 0 sinon.

• E′((p, i), a, (q, 2)) = E(p, a, q) si p appartient à B, 0 sinon.

Montrons que cet automate est un revêtement de A. Considérons ϕ la surjection qui à tout état (p, i) associe l’état p.

Soit q tel que I(q) est non nul. Alors il existe un unique antécédent de q qui soit initial, c’est (p, 1), de poids initial I(p).

Soit p, q et k non nul tel que E(p, a, q) = k 6= 0. Soit (p, i) un antécédent de p. Alors il existe un unique antécédent de q, noté (q, j), tel que E′((p, i), a, (q, j))

est différent de 0, c’est (q, 1) si p appartient à F , (q, 2) sinon.

Soit (p, i), (q, j) deux états de F × {1, 2} ∪ B × {1, 2}. Si E′((p, i), a, (q, j))

est non nul, alors E′((p, i), a, (q, j)) = E(p, a, q).

De plus, pour tout p ∈ F ∪ B, T′(p, i) = T (p). Il s’agit donc bien d’un

revêtement.

Équivalence des modèles des automates boustrophédons

Nous allons montrer que le modèle que nous utilisons et le modèle dans lequel les mouvements de la tête de lecture dépendent des transitions sont équivalents, en donnant une transformation permettant de passer d’un modèle à un autre.

Soit A = (Q+, Q−, E, I, T ) un automate boustrophédon sur K.

L’auto-mate B = (Q+∪ Q−, E+, E−, I, T ) lui est équivalent, en posant E+(p, a, q) =

E(p, a, q) si q ∈ Q+, et E−(p, a, q) = E(p, a, q) si q ∈ Q−. La transformation

inverse ne marche que si les états n’admettent qu’un seul type de transition entrante. On peut au besoin dupliquer les états pour lesquels c’est nécessaire, afin de séparer les transitions entrantes forward des transitions entrantes ba-ckward.

Exemple 6

Les Figures 2.8a et 2.9a présentent deux automates, obtenus l’un à partir de l’autre, selon la transformation ci-dessus. On peut voir l’effet de cette tranfor-mation sur les calculs, avec les Figures 2.8b et2.9b.

(44)

− →p −→q ←−r b a a b,⊣ b,⊢ a (a) ⊢ a b a a p q r r q p p q p (b)

Figure 2.8 – Un automate boustrophédon A0 et un de ses calculs.

p q r b,→ a,→ a,→ b,⊣, → b,⊢, → a,→ (a) ⊢ a b a a p q r r q p p q p (b)

Figure 2.9 – Un automate boustrophédon B0 équivalent à A0 et un de ses calculs.

La transformation décrite ci-dessus est naturellement un revêtement. Il existe donc une bijection entre les calculs de A et ceux de B, la validité est donc conservée. Les deux modèles ont donc bien la même expressivité.

(45)

Références

Documents relatifs

ASSEMBLÉE PUBLIQUE DE CONSULTATION Aux personnes intéressées par le Projet de règlement RV-2014- 13-65 modifiant le Règlement RV-2011-11-23 sur le zonage et le lotissement (ajout de

• d’exiger dans les zones H2787 et H2790 situées dans le secteur Pintendre et sur les lots 4 247 487 à 4 247 494, 4 459 608, 4 459 609, 4 246 892 à 4 246 913, 4 246 916, 4 246

Le système de bio résonance, que le centre Quantaform utilise à travers ses appareils de biofeedback, système L.I.F.E et QUANTASCAN PRO, entre en communication avec le corps

Pour une garantie de fraîcheur irréprochable, ces plats sont préparés en quantité limitée Notre Chef est à votre disposition en cas de restrictions alimentaires ou

Pour une garantie de fraîcheur irréprochable, ces plats sont préparés en quantité limitée Notre Chef est à votre disposition en cas de restrictions alimentaires ou

Pour une garantie de fraîcheur irréprochable, ces plats sont préparés en quantité limitée Notre Chef est à votre disposition en cas de restrictions alimentaires ou

Pour une garantie de fraîcheur irréprochable, ces plats sont préparés en quantité limitée Notre Chef est à votre disposition en cas de restrictions alimentaires ou

Pour une garantie de fraîcheur irréprochable, ces plats sont préparés en quantité limitée Notre Chef est à votre disposition en cas de restrictions alimentaires ou