Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de...

215
HAL Id: tel-00870600 https://tel.archives-ouvertes.fr/tel-00870600v1 Submitted on 7 Oct 2013 (v1), last revised 11 Feb 2014 (v2) HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Modèle géométrique de calcul : fractales et barrières de complexité Maxime Senot To cite this version: Maxime Senot. Modèle géométrique de calcul : fractales et barrières de complexité. Complexité [cs.CC]. Université d’Orléans, 2013. Français. tel-00870600v1

Transcript of Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de...

Page 1: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

HAL Id: tel-00870600https://tel.archives-ouvertes.fr/tel-00870600v1

Submitted on 7 Oct 2013 (v1), last revised 11 Feb 2014 (v2)

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.

Modèle géométrique de calcul : fractales et barrières decomplexitéMaxime Senot

To cite this version:Maxime Senot. Modèle géométrique de calcul : fractales et barrières de complexité. Complexité[cs.CC]. Université d’Orléans, 2013. Français. �tel-00870600v1�

Page 2: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

UNIVERSITÉD’ORLÉANS

ÉCOLE DOCTORALE MIPTISMATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE

ET INGÉNIEURIE DES SYSTÈMES

Laboratoire d’Informatique Fondamentale d’Orléans

THÈSEprésentée par :

Maxime Senot

soutenue le : 27 juin 2013

pour obtenir le grade de : Docteur de l’Université d’Orléans

Discipline/Spécialité : Informatique

Modèle géométrique de calcul :fractales et barrières de complexité

thèse dirigée par :

Jérôme Durand-Lose Professeur des Universités, Université d’Orléans

rapporteurs :

Véronique Terrier Maître de Conférence HDR, Université de CaenJean-Baptiste Yunès Maître de Conférence HDR, Université Paris 7

jury :

Denys Duchier Professeur des Universités, Université d’Orléans – examinateurJérôme Durand-Lose Professeur des Universités, Université d’Orléans – directeur de thèseGéraud Sénizergues Professeur des Universités, Université Bordeaux 1 – président du juryVéronique Terrier Maître de Conférence HDR, Université de Caen – rapporteurJean-Baptiste Yunès Maître de Conférence HDR, Université Paris 7 – rapporteur

Page 3: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 4: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

à mes parents

Page 5: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 6: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Remerciements

Le jour de la soutenance de thèse, après s’être vu décerner le titre de docteur (ce qui est plutôtsympa), on se trouve un peu pris de court pour le discours et les remerciements à chaud (saufpour ceux qui les ont suffisamment préparés avant, ce qui n’était pas mon cas). Les remerciementsdu manuscrit permettent de remédier à cela : il est plus facile avec le recul et à tête reposée depenser à toutes les personnes qui nous ont soutenus et aidés, d’une manière ou d’une autre, àmener la thèse jusqu’à son terme. Sauf qu’en fait, ce n’est pas plus facile du tout.

Tout d’abord, j’adresse mes sincères remerciements à tous les membres de mon jury de thèsepour avoir accepté de s’investir dans cette tâche et d’y avoir montré le plus grand intérêt : àGéraud Sénizergues, qui m’a fait l’honneur de présider ma soutenance ; à Véronique Terrier etJean-Baptiste Yunès, qui ont accepté d’être mes rapporteurs et dont l’investissement, la méticu-losité et le sérieux des relectures et commentaires m’ont permis d’améliorer ce manuscrit et deréfléchir à de nouvelles problématiques ; à Denys Duchier, avec qui j’ai eu la chance de collaboreret qui a accepté d’être examinateur.

Il n’y a pas de thèse possible sans directeur de thèse pour travailler, guider, discuter, ap-prendre le métier de chercheur, conseiller ou jouer à la coinche. Donc merci à Jérôme, qui afait preuve d’une patience d’ordre ω, ayant toujours un moment à me consacrer malgré toutesses responsabilités administratives, familiales. . . et qui a su me recadrer lorsque je m’éloignais demon sujet de thèse.

Je remercie l’équipe GAMoC, qui m’a accueilli et m’a fourni un cadre de travail idéal etscientifiquement très enrichissant, ainsi que tous mes collègues et collaborateurs ; merci en par-ticulier au chef de l’équipe, Ioan, ainsi qu’à Vincent, Florent, et Mathieu. Le LIFO dans sonintégralité constitue lui aussi un environnement de travail à la fois agréable et stimulant, et jesouhaite à tous les doctorants de bénéficier d’un tel accueil et cadre. Il en a été de même ausein du département informatique et de toute l’équipe pédagogique, et je remercie en particulierAli et Catherine, pour la confiance qu’ils m’ont accordée concernant l’enseignement ; Isabelle etFlorence, qui étaient toujours là pour rattraper mes retards et bourdes concernant tout ce quiest administratif ; et tous les collègues avec qui j’ai eu le plaisir d’enseigner.

Les autres doctorants (et aussi les jeunes docteurs, pour qui la galère de fin de thèse estencore fraîche en mémoire) sont plus aptes que toutes autres personnes à comprendre et partagerles diverses périodes que l’on connaît durant la thèse. Ces rencontres et moments de partageentre doctorants orléanais (en info, en sciences, ou en divers) ont été nombreuses et prolifiquesen bons moments, et ce, à diverses occasions (ADSO, week-ends ski, doctoriales, manifestationsscientifiques, soirées, foot, pétanque, événements d’assos de doctorants ou d’étudiants. . . ). Jeremercie tous les doctorants du LIFO, pour la bonne ambiance qu’ils ont créée au sein du labo,

Page 7: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

et j’ai aussi une pensée pour l’équipe de foot du LIFO (dans laquelle ne figurent pas que desdoctorants, mais également des anciens), dont l’esprit d’équipe et l’amour du beau jeu a per-mis de gagner le tournoi interlabos (et deux fois de suite en plus). Comme c’est le but du jeudes remerciements, je me risque à une liste exhaustive ∗ et je remercie donc en particulier : Ma-thieu, Matthieu, Nicolas, Sylvain, Yohan, Anthony, J-H, Julien, Simon, Yannick, Hélène, Bastien,Thang, Joeffrey, Romain, Abdel, Irénée. Toutes les personnes que j’ai oubliées se reconnaîtront :ce sont celles avec qui j’ai travaillé, discuté, ri, fait une activité quelconque mais distrayante, oujuste passé des soirées et des bons moments. Je finis cette liste par les amis d’ici et là (Jura,Besançon, Paris) et de bien avant la thèse, mais qui y ont quand même contribué indirectement :Raza, Marion, Teddy, François, Pierre, et Antoine.

Merci à Claire, qui était à mes côtés dès le début de ma thèse : elle y est restée à tout moment,que ce soit les moments de joie comme ceux de doute. Son soutien a grandement contribué à laréussite de cette thèse, et je lui en suis reconnaissant.

Enfin et surtout, surtout, un grand grand merci à toute ma famille, au sens le plus large.Merci en particulier à Martine et Alain, pour m’avoir hébergé quelques temps au début de mathèse et avant, et pour être venu à ma soutenance. Merci à Fabrice, Anthony, Julien, Edwige,Virginie, Léa, Robtoine et Romane. Et enfin, merci à mes parents, qui ont fait preuve d’unepatience infinie (au moins d’ordre non dénombrable), et cela depuis plus de trente ans. En plusdu soutien indéfectible et des encouragements qu’ils m’ont apportés depuis toujours, ils ont dûpendant ces quatre dernières années expliquer à l’entourage que non seulement j’étais encoreétudiant, mais qu’en plus, ce que j’étudiais ne servait à rien. Donc un grand merci à eux, sansqui je n’en serais littéralement pas là.

Maxime

∗. Conditions générales : (1) En fait cette liste n’est pas du tout exhaustive. (2) En la lisant, vous renoncez à toute réclamation ou plainte

en cas d’oubli de votre prénom dans la liste sus-citée. (3) En cas d’oubli de votre prénom et sur présentation d’arguments justifiant d’un cas

exceptionnel, une bière peut éventuellement être envisagée en guise de réparation.

Page 8: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Sommaire

Liste des Figures xi

Liste des Tableaux xv

Introduction 1

1 État de l’art : origines et originalités du modèle 71.1 Les modèles de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.1.1 Modèles classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.2 Modèles non-conventionnels . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 Le monde des automates cellulaires . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2.1 Introduction des automates cellulaires . . . . . . . . . . . . . . . . . . . . 131.2.2 L’importance des signaux discrets . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Les machines à signaux en tant que modèle de calcul . . . . . . . . . . . . . . . . 181.3.1 Propriétés des machines à signaux . . . . . . . . . . . . . . . . . . . . . . 181.3.2 Positionnement des machines à signaux . . . . . . . . . . . . . . . . . . . 20

2 Machines à signaux 232.1 Point de vue machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.1.1 Les objets et notions de base du modèle . . . . . . . . . . . . . . . . . . . 242.1.2 Machines à signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.2 Point de vue topologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3 Point de vue dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.4 Propriétés géométriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.4.1 Transformations par fonctions affines . . . . . . . . . . . . . . . . . . . . . 362.4.2 Supports et inclusions de diagrammes . . . . . . . . . . . . . . . . . . . . 382.4.3 Opérations sur les configurations . . . . . . . . . . . . . . . . . . . . . . . 42

3 Algorithmique géométrique 453.1 Exemples de calculs géométriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.1.1 Calcul géométrique du milieu . . . . . . . . . . . . . . . . . . . . . . . . . 453.1.2 Algorithme de soustraction et de calcul du modulo . . . . . . . . . . . . . 473.1.3 Additionneur binaire géométrique . . . . . . . . . . . . . . . . . . . . . . . 49

3.2 Calcul géométrique abstrait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.2.1 Représentations de l’information . . . . . . . . . . . . . . . . . . . . . . . 523.2.2 Calculs géométriques abstraits . . . . . . . . . . . . . . . . . . . . . . . . 553.2.3 Résolution de problèmes par machines à signaux . . . . . . . . . . . . . . 553.2.4 Les configurations comme entrées/sorties . . . . . . . . . . . . . . . . . . . 58

vii

Page 9: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

viii SOMMAIRE

3.3 Complexités sur machines à signaux . . . . . . . . . . . . . . . . . . . . . . . . . 603.3.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.3.2 Propriétés des mesures de complexité en collisions . . . . . . . . . . . . . 633.3.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4 Accumulations et petites machines 654.1 Contexte général et nature des accumulations . . . . . . . . . . . . . . . . . . . . 65

4.1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.1.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.2 Accumulations à deux et quatre vitesses . . . . . . . . . . . . . . . . . . . . . . . 684.2.1 Cas de quatre vitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.2.2 Cas de deux vitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.3 Accumulations à trois vitesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3.1 Cas non rationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3.2 Cas rationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

5 Fractales et signaux 915.1 Le monde des fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5.1.1 Définitions des fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.1.2 Quelques fractales classiques . . . . . . . . . . . . . . . . . . . . . . . . . . 935.1.3 Fractales et modèles de calcul non-conventionnels . . . . . . . . . . . . . . 94

5.2 Construction de fractales par machines à signaux . . . . . . . . . . . . . . . . . . 955.2.1 Exemples de fractales sur machines à signaux à une dimension spatiale . . 965.2.2 Génération de fractales de n’importe quelle dimension entre 0 et 1 . . . . 99

5.3 Approximations de fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.3.1 Approximation de fractales par une famille de machines . . . . . . . . . . 1025.3.2 Approximation de fractales par une unique machine générique . . . . . . . 103

6 Modules géométriques 1076.1 Opérations sur les machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.1.1 Sous-machines et unions de machines . . . . . . . . . . . . . . . . . . . . . 1086.1.2 Schémas d’extension de machines . . . . . . . . . . . . . . . . . . . . . . . 109

6.2 Modules géométriques : définitions et exemples . . . . . . . . . . . . . . . . . . . 1136.2.1 Notion de H-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.2.2 Notion de T-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166.2.3 Notion de R-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.2.4 Interprétations de modules . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.3 Compositions de modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.3.1 Composition parallèle de modules . . . . . . . . . . . . . . . . . . . . . . . 1206.3.2 Composition séquentielle de modules . . . . . . . . . . . . . . . . . . . . . 1246.3.3 Extensions de modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

6.4 Modules et complexités de collisions . . . . . . . . . . . . . . . . . . . . . . . . . 130

7 Applications : résolutions spécifiques de SAT et Q-SAT 1337.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

7.1.1 Rappels sur les problèmes de satisfaisabilité . . . . . . . . . . . . . . . . . 1337.1.2 Résolutions non-conventionnelles de problèmes difficiles . . . . . . . . . . 135

7.2 Calculer dans l’arbre binaire fractale . . . . . . . . . . . . . . . . . . . . . . . . . 1367.2.1 L’arbre fractale en tant qu’arbre binaire de décision . . . . . . . . . . . . . 1367.2.2 Conditions de validité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Page 10: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

SOMMAIRE ix

7.3 Résolution de SAT par une famille de machines . . . . . . . . . . . . . . . . . . 1407.3.1 Codage et propagation des formules . . . . . . . . . . . . . . . . . . . . . 1407.3.2 Évaluation des formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1457.3.3 Collecte et résultat final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

7.4 Complexités de la construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

8 Résolution générique de Q-SAT 1538.1 Se propager dans l’arbre générique . . . . . . . . . . . . . . . . . . . . . . . . . . 153

8.1.1 L’arbre générique de décision . . . . . . . . . . . . . . . . . . . . . . . . . 1538.1.2 Schéma de lentille-duplicatrice avec fonctionnalités. . . . . . . . . . . . . . 155

8.2 Résolution de Q-SAT par une unique machine . . . . . . . . . . . . . . . . . . . 1568.2.1 Représentation des variables . . . . . . . . . . . . . . . . . . . . . . . . . . 1568.2.2 Représentation des formules . . . . . . . . . . . . . . . . . . . . . . . . . . 1578.2.3 Évaluation des formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1588.2.4 Collecte et résultat final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

8.3 Correction et complexités de la construction . . . . . . . . . . . . . . . . . . . . . 1648.3.1 Preuve de correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1648.3.2 Analyse des complexités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1668.3.3 Différences entre les versions spécifique et générique . . . . . . . . . . . . 167

9 Variantes autour du problème SAT 1699.1 Le problème #SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699.2 Les problèmes One-SAT et All-SAT . . . . . . . . . . . . . . . . . . . . . . . 173

9.2.1 Le problème One-SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1739.2.2 Le problème All-SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

9.3 Le problème Max-SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Conclusion 181

Références bibliographiques 187

Page 11: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 12: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Liste des Figures

1 Prolonger des segments colorés en suivant certaines règles. . . . . . . . . . . . . . 12 Formalisation de la Fig. 1 sous forme d’une machine à signaux. . . . . . . . . . . 33 Distribuer un calcul grâce à une structure fractale. . . . . . . . . . . . . . . . . . 5

1.1 Exemples de modèles géométriques de calcul. . . . . . . . . . . . . . . . . . . . . 111.2 Exemple de diagrammes d’ACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Apparitions de signaux à partir d’algorithmes évolutionnistes sur les AC. . . . . . 151.4 Construction par signaux d’AC (intrinsèquement) universels. . . . . . . . . . . . . 151.5 Solutions au problème du fusilier. . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.6 Exemples d’implémentations de calcul par signaux en AC de dimension 1. . . . . 171.7 Résultats possibles pour une même collision dans l’ACE 110. . . . . . . . . . . . 181.8 Simulations par signaux d’une machine de Turing. . . . . . . . . . . . . . . . . . 191.9 Simulation par signaux de l’ACE 110. . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1 Les objets de base du modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Quelques formes utiles de règles de collisions. . . . . . . . . . . . . . . . . . . . . 262.3 Exemple de machine à signaux et évolution à partir d’une configuration initiale. . 272.4 Configuration initiale correspondant au diagramme de la Fig. 2.3(b). . . . . . . . 282.5 Passé causal et cône de lumière. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.6 Boules centrées sur des valeurs vide (Bε), signal (Bε′) et collision (Bε′′). . . . . . . 332.7 Diagramme commutatif de diagrammes espace-temps équivalents. . . . . . . . . . 342.8 Un diagramme et les premiers temps de collisions. . . . . . . . . . . . . . . . . . . 352.9 Exemples de transformations géométriques appliquées au calcul. . . . . . . . . . . 372.10 Le diagramme support du diagramme de la Fig. 2.8. . . . . . . . . . . . . . . . . 40

3.1 La machine Mmid: calcul géométrique du milieu d’un segment. . . . . . . . . . . 463.2 La machine Msub: soustraction géométrique. . . . . . . . . . . . . . . . . . . . . . 473.3 Calculs géométriques du modulo et de la division euclidienne. . . . . . . . . . . . 493.4 Addition binaire géométrique de 6 et 3 par la machine Madd . . . . . . . . . . . . 503.5 Autres exemples d’additions binaires géométriques. . . . . . . . . . . . . . . . . . 513.6 Exemples de codage de valeurs numériques par signaux. . . . . . . . . . . . . . . 533.7 Exemples de codages de formules booléennes. . . . . . . . . . . . . . . . . . . . . 533.8 Les deux types de résolution d’un problème P sur machines à signaux. . . . . . . 573.9 Configurations équivalentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.10 Mesures de complexité d’un diagramme espace-temps. . . . . . . . . . . . . . . . 63

4.1 Exemples d’accumulations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.2 Utilisation d’accumulations dans d’autres modèles de calcul. . . . . . . . . . . . . 674.3 Une accumulation simple à quatre vitesses. . . . . . . . . . . . . . . . . . . . . . 69

xi

Page 13: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

xii LISTE DES FIGURES

4.4 Diagrammes avec deux vitesses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.5 Une accumulation à deux vitesses et configuration initiale infinie. . . . . . . . . . 734.6 La machine Mpgcd : algorithme d’Euclide géométrique. . . . . . . . . . . . . . . . 754.7 Générer une accumulation à trois vitesses avec Mpgcd . . . . . . . . . . . . . . . . 764.8 Diagrammes supports avec accumulation pour Mpgcd. . . . . . . . . . . . . . . . . 784.9 Une accumulation à trois vitesses dont une de valeur irrationnelle. . . . . . . . . 794.10 Structures de base pour les diagrammes à trois vitesses. . . . . . . . . . . . . . . 824.11 Paramètres des bandes et des multi-bandes. . . . . . . . . . . . . . . . . . . . . . 834.12 Exemple de multi-bande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.13 Extension d’une multi-bande: un des cas initiaux. . . . . . . . . . . . . . . . . . . 854.14 Extension d’une multi-bande: un des cas d’induction. . . . . . . . . . . . . . . . . 87

5.1 Les premières itérations de la construction du triadique de Cantor. . . . . . . . . 935.2 Courbe originale de von Koch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.3 Les premières itérations de la construction du triangle de Sierpiński. . . . . . . . 945.4 Fractales discrètes et systèmes auto-assemblants. . . . . . . . . . . . . . . . . . . 955.5 La machine Mtree: construction d’un arbre binaire fractale. . . . . . . . . . . . . 965.6 La machine MCantor: construction du triadique de Cantor. . . . . . . . . . . . . . 975.7 Construction d’une courbe de von Koch. . . . . . . . . . . . . . . . . . . . . . . . 985.8 La machine MKoch: construction d’une courbe de von Koch. . . . . . . . . . . . . 995.9 Exemples d’ensembles de Cantor généralisés. . . . . . . . . . . . . . . . . . . . . . 1015.10 Approximation spécifique de l’arbre fractale par la machine M

spe(3)tree . . . . . . . . 102

5.11 Approximation générique de l’arbre fractale par la machine Mgentree. . . . . . . . . 105

6.1 Duplication d’un faisceau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.2 Concentration d’un faisceau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.3 Aire géométrique et paramètres d’un H-module. . . . . . . . . . . . . . . . . . . . 1146.4 Aire géométrique et paramètres du module de division par deux. . . . . . . . . . 1156.5 Aires géométriques et paramètres d’un T -module et d’un R-module. . . . . . . . 1166.6 Aire géométrique et paramètres du module d’addition binaire. . . . . . . . . . . . 1176.7 Aire géométrique et paramètres du module de calcul du milieu. . . . . . . . . . . 1186.8 Diagrammes commutatifs associés au module A. . . . . . . . . . . . . . . . . . . . 1196.9 Composition parallèle synchrone des modules A et B. . . . . . . . . . . . . . . . . 1216.10 Diagramme commutatif associé à la composition parallèle des modules A et B. . . 1236.11 Module d’évaluation de deux formules booléennes. . . . . . . . . . . . . . . . . . 1236.12 Parallélisation d’un R-module A. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246.13 Parallélisation du module d’addition binaire. . . . . . . . . . . . . . . . . . . . . . 1246.14 Composition séquentielle des modules A et B. . . . . . . . . . . . . . . . . . . . . 1256.15 Diagramme commutatif de la composition séquentielle des modules A et B. . . . 1266.16 Composition séquentielle de modules sur les booléens. . . . . . . . . . . . . . . . 1276.17 Composition séquentielle de modules d’addition binaire. . . . . . . . . . . . . . . 1286.18 Itération d’un module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286.19 Aire géométrique et paramètres du module de duplication. . . . . . . . . . . . . . 1296.20 Aire géométrique et paramètres du module de concentration. . . . . . . . . . . . 130

7.1 L’arbre binaire de décision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367.2 Conditions géométriques pour une propagation correcte. . . . . . . . . . . . . . . 1387.3 Générer un faisceau avec le délai voulu. . . . . . . . . . . . . . . . . . . . . . . . 1397.4 Calcul géométrique du délai. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407.5 L’étape complète d’initiation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417.6 Compilation d’une formule en faisceau. . . . . . . . . . . . . . . . . . . . . . . . . 142

Page 14: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

LISTE DES FIGURES xiii

7.7 Duplication du faisceau au premier niveau. . . . . . . . . . . . . . . . . . . . . . . 1447.8 Évaluation d’une formule booléenne sans variable. . . . . . . . . . . . . . . . . . . 1467.9 Collecte des résultats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1487.10 Collecte des résultats avec prise en compte de quantificateurs. . . . . . . . . . . . 1507.11 Diagramme global de résolution spécifique de SAT. . . . . . . . . . . . . . . . . 1517.12 Diagramme global de résolution spécifique de Q-SAT. . . . . . . . . . . . . . . . 152

8.1 Approximation générique de l’arbre fractale par la machine Mgentree. . . . . . . . . 154

8.2 La lentille-duplicatrice appliquée à la propagation dans l’arbre. . . . . . . . . . . 1558.3 Duplication du faisceau au premier niveau et assignation de x1 en booléens. . . . 1578.4 Schéma de compilation générique d’une formule booléenne. . . . . . . . . . . . . . 1598.5 Configuration représentant une formule. . . . . . . . . . . . . . . . . . . . . . . . 1598.6 Évaluation générique d’une formule booléenne sans variable. . . . . . . . . . . . . 1608.7 Collecte des résultats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1628.8 Diagramme global de résolution générique de Q-SAT. . . . . . . . . . . . . . . . 1638.9 Configuration initiale du diagramme de la Fig. 8.8. . . . . . . . . . . . . . . . . . 1638.10 Décomposition en modules du diagramme de la Fig. 8.8. . . . . . . . . . . . . . . 1658.11 Les deux résolution du problème Q-SAT sur machines à signaux. . . . . . . . . 167

9.1 Calcul de 2 + 6 avec l’additionneur binaire modifié. . . . . . . . . . . . . . . . . . 1709.2 Initier le décompte des assignations satisfaisant la formule. . . . . . . . . . . . . . 1719.3 Diagramme global de résolution générique de #SAT. . . . . . . . . . . . . . . . 1729.4 Sélection des assignations satisfaisant la formule. . . . . . . . . . . . . . . . . . . 1749.5 Collecte des assignations solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . 1749.6 Diagramme global de résolution générique de One-SAT. . . . . . . . . . . . . . 1759.7 Énumération des résultats sous forme de faisceaux stationnaires. . . . . . . . . . 1769.8 Diagramme global de résolution générique de All-SAT. . . . . . . . . . . . . . 1779.9 Calcul de max(3, 5) avec un comparateur géométrique. . . . . . . . . . . . . . . . 179

Page 15: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 16: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Liste des Tableaux

3.1 La machine Madd: méta-signaux et règles. . . . . . . . . . . . . . . . . . . . . . . 51

5.1 La machine MγCantor: construction d’ensembles de Cantor généralisés. . . . . . . . 100

5.2 La machine Mspe(3)tree : méta-signaux et règles. . . . . . . . . . . . . . . . . . . . . . 104

5.3 Couper l’arbre fractale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

7.1 Préparer le faisceau codant une formule. . . . . . . . . . . . . . . . . . . . . . . . 1427.2 Évaluer la disjonction ∨l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1487.3 Collecter les résultats (sans quantificateur). . . . . . . . . . . . . . . . . . . . . . 1487.4 Collecter les résultats : exemple d’un quantificateur universel sur x3. . . . . . . . 1497.5 Collecter les résultats en respectant les quantificateurs. . . . . . . . . . . . . . . . 150

8.1 Couper l’arbre fractale avec la lentille. . . . . . . . . . . . . . . . . . . . . . . . . 1548.2 Assigner de manière générique les variables en booléens. . . . . . . . . . . . . . . 1578.3 Méta-signaux permettant de représenter génériquement une formule booléenne. . 1588.4 Évaluer de manière générique une formule. . . . . . . . . . . . . . . . . . . . . . . 1618.5 Sauvegarder le résultat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618.6 Mettre en place les quantificateurs pour la collecte. . . . . . . . . . . . . . . . . . 1618.7 Collecter de manière générique les résultats en respectant les quantificateurs. . . . 162

9.1 La machine Mmodifadd : méta-signaux et règles. . . . . . . . . . . . . . . . . . . . . . 171

9.2 Déclencher le dénombrement des solutions. . . . . . . . . . . . . . . . . . . . . . . 1719.3 Sauvegarder les assignations solutions. . . . . . . . . . . . . . . . . . . . . . . . . 1739.4 Joindre deux assignations solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . 1749.5 Verticaliser les assignations solutions. . . . . . . . . . . . . . . . . . . . . . . . . . 176

xv

Page 17: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 18: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Introduction

Quand on parle de géométrie, on pense aux constructions à la règle et au compas tellesque celles enseignées au collège et au lycée, c’est-à-dire à la géométrie euclidienne dans le plan.Bien que n’étant qu’un cas particulier parmi les diverses géométries utilisées en mathématiquesmodernes, la géométrie euclidienne garde encore la grande importance qu’elle a acquise dans laGrèce antique. En tant que modèle de raisonnement axiomatique, elle contribua largement auformidable développement des mathématiques abstraites il y a plus de 2 000 ans.

L’essor de cette nouvelle science se fit aussi à travers l’arithmétique, conjointement à la géomé-trie euclidienne. La notion d’algorithme a été essentielle dans ces deux domaines, qui présententdes similarités au niveau des raisonnements et techniques utilisés. C’est le cas du principe d’ité-ration, qui trouve des application à la fois en arithmétique avec l’algorithme d’Euclide (calculdu pgcd par itération de divisions euclidiennes) et en géométrie avec le premier exemple connude fractale : les cercles d’Appolonius (pavage d’un triangle curviligne par des cercles en itérantla construction de cercles tangents). Il est clair que, par nature, l’arithmétique permet le calcul.Il se trouve en fait que la géométrie euclidienne, a priori éloignée des manipulations de sym-bole nécessaires au calcul, fournit aussi des outils permettant d’appliquer des méthodes effectiveset des algorithmes, prenant la forme d’algorithmes géométriques. Plusieurs questions naturellesse posent : peut-on effectuer autant de calculs avec des algorithmes géométriques qu’avec desalgorithmes classiques ? peut-on calculer plus efficacement ? et si oui, comment procéder ?

La géométrie euclidienne dispose pour cela d’une caractéristique importante : un espacecontinu. La présence d’un espace fournit un cadre pour calculer de manière parallèle (plusieurscalculs menés simultanément), contrairement à l’arithmétique où les calculs sont exécutés sé-quentiellement (une opération après l’autre). De plus, la nature continue de l’espace permet unetechnique d’itération infinie, qui engendre facilement des structures régulières et auto-similaires :des fractales. De nombreuses fractales contiennent implicitement la notion de parallélisme, etleur déploiement dans le plan euclidien repose sur la répétition simultanée de simples motifs. Ilapparaît donc naturel d’essayer de tirer profit de ces propriétés dans un contexte de calcul géo-métrique, et d’étudier les liens entre calculs parallèles et fractales dans le cadre de la géométrieeuclidienne. C’est ce que nous cherchons à faire ici, avec entre autres comme objectif la possibilitéde mener du calcul fractale dans le plan euclidien. Il faut pour cela avant tout définir un cadred’utilisation du plan euclidien et le munir d’une dynamique, indispensable à la notion de calcul.Une manière simple de procéder est illustrée par la Fig. 1 : différents segments de droite y sontsimultanément prolongés de manière uniforme vers le haut.

Figure 1 – Prolonger des segments colorés en suivant certaines règles.

1

Page 19: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2 INTRODUCTION

C’est dans ce contexte que nous nous plaçons : nous nous intéressons à des constructionscomme celle de la Fig. 1. De telles figures géométriques impliquent uniquement des segmentsrectilignes colorés qui se prolongent dans le plan euclidien. Les segments initialement présents(tout en bas) sont prolongés en même temps, de manière uniforme et suivant une directionprivilégiée (vers le haut). À l’intersection entre plusieurs de ces segments colorés, les segmentsarrivant sont remplacés par d’autres segments, en suivant certaines contraintes. La Figure 1illustre les étapes d’une telle construction à trois instants différents. Ce procédé simple produitdes figures naturellement munies d’une dynamique uniforme (donnée par la prolongation dessegments vers la haut). De plus, il engendre naturellement des constructions aux propriétés derégularité et d’auto-similarité déjà mentionnées, les fractales. La Figure 1 suggère déjà cetteaptitude à générer des fractales en répétant un motif simple (un zig-zag dans ce cas) à différenteséchelles.

Les fractales ont joué un rôle important dans l’histoire des mathématiques et dans le dévelop-pement de l’analyse réelle, notamment pour la compréhension de concepts comme la continuitéou la dérivabilité. Depuis, elles n’ont cessé de trouver des applications dans de nombreux do-maines différents (mathématiques, modélisation en physique, en finance. . . ). De nature géomé-trique itérative, elles peuvent jouer un rôle particulier dans la conceptualisation du « parallélismegéométrique ». Mais à notre connaissance, à part certaines constructions d’automates cellulaires,l’étude et l’utilisation méthodique de fractales à des fins de programmation géométrique paral-lèle sont inexistantes. La perspective d’étude des fractales à des fins d’algorithmique géométriquepourrait définir de nouvelles problématiques qui nous semblent importantes pour la compréhen-sion du calcul géométrique abstrait, notamment en ce qui concerne le rôle des fractales dans ledécoupage automatique d’un espace géométrique et son utilisation pour y mener des calculs demanière distribuée.

Les machines à signaux. Une telle étude nécessite une cadre formel permettant d’exprimerà la fois les notion de calcul géométrique, calcul parallèle et structures fractales. Un modèle decalcul géométrique abstrait se distingue particulièrement : le modèle des machines à signaux.En permettant d’interpréter des figures géométriques comme la Fig. 1 en termes de machine,calcul, algorithme, les machines à signaux apparaissent très adaptées pour l’étude de la notionde parallélisme géométrique et de calcul fractale : nous allons montrer dans cette thèse qu’ellesle sont effectivement.

Ce modèle introduit dans [Durand-Lose 2003] est inspiré du modèle des automates cellulaireset forme de ce fait un modèle naturellement parallèle. Il constitue, contrairement à ces derniers,un système dynamique à temps et espace continus. Les machines à signaux permettent de décrireformellement, à l’aide de primitives de calcul de type géométrique, les constructions géométriquesdécrites précédemment : les objets de base y sont les signaux (traçant des segments de droite)dont la vitesse (la pente) et le type (la couleur) correspondent à des méta-signaux. L’opérationélémentaire qui permet le calcul par signaux est l’interaction entre ces signaux, modélisée sousforme de collisions (les intersections des segments) dont le comportement est décrit de façondéterministe par des règles de collisions. Une machine à signaux sera formellement donnée parde tels ensembles finis : un ensemble de méta-signaux (chacun étant muni d’une vitesses) et unensemble de règles de collisions. La construction géométrique proposée en Fig. 1 se modéliseainsi par la machine à signaux définie par la Fig. 2 : les méta-signaux y sont listés (Fig. 2(a))et correspondent aux quatre types de segments de couleurs et de pentes différentes ; ce qui passeà l’intersection de deux segments colorés est dicté par deux règles de collisions (Fig. 2(c)). LaFigure 1 est alors reprise et complétée (Fig. 2(b)), et sa dynamique correspond maintenant àl’évolution d’une machine à signaux. Nous appelons la représentation dans le plan euclidien decette évolution un diagramme espace-temps.

Les diagrammes espace-temps correspondent aux constructions géométriques décrites précé-

Page 20: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

INTRODUCTION 3

left

right

zig

zag

(a) Méta-signaux.

EspaceR

Tem

ps

R+

zigright

zag

left

right

zig

zag

leftright

zig

(b) Diagramme espace-temps.

zagleft

zigleft

zig right

zag right

(c) Règles de collisions.

Figure 2 – Formalisation de la Fig. 1 sous forme d’une machine à signaux.

demment, dans lesquelles deux directions dans le plan sont privilégiées : la verticale, donnantl’axe du temps (l’ensemble R+), et l’horizontale, correspondant à l’espace (l’ensemble R) de lamachine. Le plan euclidien ainsi décomposé permet de décrire complètement l’évolution dans letemps d’une machine à signaux à une seule dimension spatiale c’est-à-dire avec des signaux sepropageant sur la droite réelle.

Remarquons que le processus de zig-zag dans la Fig. 2 se répète indéfiniment, produisantainsi une figure qui comporte une infinité de segments mais qui reste néanmoins de hauteurfinie. Ce phénomène est appelé une accumulation, et est une signature des espaces continus.L’essence des accumulations peut être comprise par le biais d’un des paradoxes de Zénon, leparadoxe de la dichotomie : une partie continue peut être découpée une infinité de fois en partiesde plus en plus petites, sans que cela nécessite toutefois un temps infini. Une infinité d’étapes decalcul pourrait ainsi être réalisée en une durée finie grâce à la continuité de l’espace. Certainesaccumulations se distinguent par leur régularité et leur auto-similarité : elles correspondent enfait à des figures évoquées précédemment, les fractales. Les structures fractales sont en effet uncas spécial d’accumulations, dans lesquelles un motif (généralement simple) se répète à l’identiqueune infinité de fois.

Le modèle des machines à signaux est récent, mais sa puissance de calcul est déjà bien cernée :il existe déjà de nombreuses comparaisons avec d’autres modèles de calcul,plus anciens et auxpropriétés mieux connues. Mais la plupart de ces simulations traitent de modèles séquentiels,et nous renseignent peu sur le parallélisme inhérent aux machines à signaux, ainsi que sur lamanière d’utiliser l’espace continu pour y implémenter des calculs parallèles. En particulier, lesphénomènes d’accumulations, dont une première formalisation dans le cadre des machines àsignaux a été fournie dans [Durand-Lose 2003], ont déjà été utilisées dans des constructions parmachines à signaux, mais surtout de manière séquentielle et rarement dans l’optique de calculsparallèles.

Problématique. À notre connaissance, l’étude et l’utilisation méthodique de fractales à desfins de programmation géométrique parallèle sont inexistantes. De nombreuses fractales contien-nent implicitement la notion de parallélisme, et leur caractère géométrique trouve dans les ma-chines à signaux un cadre d’étude naturel. Ainsi, la perspective d’étude des accumulations etdes fractales à des fins d’algorithmique géométrique définit de nouvelles problématiques qui noussemblent importantes à la fois pour la compréhension des machines à signaux et pour celle ducalcul géométrique en général. Les études menées dans le cadre du calcul géométrique abstrait

Page 21: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4 INTRODUCTION

ont pour le moment été concentrées sur des constructions séquentielles, et l’aptitude des ma-chines à signaux à mener efficacement des calculs massivement parallèles, notamment à traversune utilisation méthodique de certaines fractales, reste inconnue. C’est sur cette problématiquede calcul fractale dans le contexte des machines à signaux que se fonde cette thèse, dont l’objectifest d’éclaircir les liens encore mal cernés entre parallélisme, calculs distribués et fractales. Unetelle étude se doit de déterminer dans quelles mesures les accumulations et fractales peuvent êtregénérées et utilisées algorithmiquement par les machines des signaux : c’est ce que nous cherchonsà accomplir ici en se concentrant sur le découpage et l’utilisation méthodique de l’espace à traversles fractales. L’un des moyens pour comprendre et illustrer cette puissance de calcul fractale, estd’implémenter par signaux des méthodes de résolution de problèmes algorithmiquement diffi-ciles, et d’étudier les techniques mises en jeu et la complexité des calculs. Un problème classiques’impose naturellement pour une telle étude, car il est représentatif de la classe NP, considéréecomme une classe de problèmes algorithmiquement difficiles : il s’agit de SAT, le problème desatisfaisabilité de formules booléennes. Ce problème, déjà connu pour admettre des résolutionsefficaces sur modèles parallèles, tout comme ses variantes telles que Q-SAT, fournit donc unecible de choix pour tester le pouvoir de calcul parallèle et fractale des machines à signaux.

Contributions. Dans le domaine du calcul géométrique par signaux et calcul géométriquefractale, le travail présent apporte trois nouvelles contributions : une étude des accumulations etdes fractales, démontrant de nouvelles propriétés ; une méthode de programmation géométriquemodulaire, particulièrement adaptée à la nature parallèle des machines à signaux ; et une réso-lution de problèmes algorithmiques difficiles, combinant l’approche modulaire et l’utilisation defractales pour mener des calculs massivement parallèles.

La première contribution porte donc sur l’étude de ces phénomènes d’accumulations, enparticulier sur le lien entre accumulations et « petites » machines à signaux (c’est-à-dire desmachines avec peu de signaux différents, comme celle générant l’accumulation en Fig. 2) ; nousavons dégagé entre autres une condition nécessaire sur les vitesses (et les positions initiales dansle cas de trois vitesses) d’une machine pour qu’elle puisse engendrer des accumulations. Certaines« petites » machines permettent, par itération d’un motif géométrique simple impliquant peu designaux différents, de générer des structures fractales, dont un exemple est fourni en Fig. 3(a).Nous donnons ici différents exemples de fractales générées par signaux, et illustrons sur unexemple deux manières différentes pour approximer une fractale : par une méthode spécifique etpar une méthode générique. L’approximation d’une fractale est ici motivée par la discrétisationautomatique de l’espace continu, préparant ainsi la résolution de problèmes combinatoires.

Afin d’utiliser méthodiquement les approximations de fractales et le découpage de l’espacequi en résulte, nous définissons une méthode de programmation géométrique modulaire : elleconstitue le deuxième apport. À partir de la formalisation dans le cadre des machines à signaux deconcepts classiques tels que le codage d’information, la résolution d’un problème, ou la complexitéd’un calcul, nous développons la notion de module géométrique de calcul. Grâce à celle-ci, desalgorithmes géométriques (et les machines à signaux correspondantes) peuvent être conçus àpartir de composants de bases : l’assemblage de ces structures élémentaires suivant certains motifsgéométriques permettent de construire de nouvelles structures modulaires plus complexes. Parmices notions de composition de modules, celles de composition parallèle et de composition itérativese trouvent particulièrement adaptées pour la génération et l’utilisation des fractales.

La troisième contribution est constituée par plusieurs résolutions par signaux de problèmescombinatoires classiques, considérés comme algorithmiquement difficiles : les problèmes de satis-faisabilité de formules booléennes. Ces solutions résultent de l’utilisation combinée des fractaleset de l’approche modulaire. L’approximation d’une certaine fractale, l’arbre binaire infini de laFig. 3(a), permet de fractaliser l’espace pour y construire une grille de calcul ; cette grille per-

Page 22: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

INTRODUCTION 5

met par le biais de l’utilisation de différents modules de distribuer et d’effectuer des calculs dansl’arbre fractale, comme cela est illustré par la Fig. 3(b).

(a) Un arbre binaire fractale[Durand-Lose 2003, Fig. B.1(b)].

(b) Un calcul se propageant dans l’arbre.

Figure 3 – Distribuer un calcul grâce à une structure fractale.

Cette méthode s’applique particulièrement bien à la résolution des problèmes SAT et Q-SAT, les problèmes respectifs de satisfaisabilité de formules booléennes et booléennes quantifiées.Nous donnons ici deux méthodes de résolution différentes, qui ont fait l’objet des publications[Duchier et al. 2010a] et [Duchier et al. 2012], correspondant respectivement à une résolutionspécifique de SAT et à une résolution générique de Q-SAT. La modularité de ces constructionspermet également d’en dériver facilement des solutions à certaines variantes comme #SAT etMax-SAT. Nous démontrons grâce à l’approche modulaire la correction de ces constructions,mais aussi leur efficacité. Munis de mesures de complexité naturellement induites par la naturedu modèle, nous pouvons évaluer l’efficacité relative de ces constructions : le problème Q-SAT,connu pour être PSPACE-complet, est ainsi résolu en profondeur de collisions polynomiale,c’est-à-dire avec un algorithme géométrique en temps polynomial.

Structure du manuscrit. Le manuscrit est ordonné de la manière suivante. Un état de l’artest proposé dans le Chapitre 1. Le Chapitre 2 regroupe les définitions et des propriétés desmachines à signaux. Le Chapitre 3 fournit les premiers exemples d’algorithmes géométriques etintroduit les notions nécéssaires pour l’étude des algorithmes géométriques. Les résultats obtenussur les accumulations et la génération de fractales par machines à signaux sont détaillés respec-tivement dans les Chapitres 4 et 5. L’approche de programmation géométrique modulaire estensuite formalisée dans le Chapitre 6, par les définitions de compositions de machines et demodules géométriques de calcul. Les résultats des deux chapitres précédents sont ensuite appli-qués dans les Chapitres 7 et 8, présentant les résolutions respectivement spécifique et génériquedes problèmes SAT et Q-SAT ; le Chapitre 9 aborde la résolution de quelques variantes deproblème de satisfaisabilité. Enfin, les conclusions et perspectives sont regroupées dans le dernierchapitre.

Page 23: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 24: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 1État de l’art : origines et originalités dumodèle

Nous proposons ici un état de l’art en trois parties, ordonnées depuis un cadre général (lesmodèles de calcul) vers un modèle particulier (les automates cellulaires), en finissant par lecontexte spécifique qui nous intéresse dans le manuscrit : les machines à signaux. Pour débuterce chapitre, nous évoquerons divers modèles de calcul, classiques et non-classiques, en prenantsoin de détailler quelques uns des différents modèles géométriques de calcul existants dans lalittérature. Ensuite, nous ciblerons un modèle de calcul en particulier, essentiel pour comprendrel’origine et la motivation des machines à signaux puisqu’elles en sont inspirées : les automatescellulaires. Après avoir rappelé leur définition, nous illustrerons l’importance des signaux —continus et discrets — dans le monde des automates cellulaires. Le chapitre sera clos par unétat de l’art spécifique aux machines à signaux, dans lequel seront rappelées les propriétés déjàconnues du modèle, en particulier les comparaisons entre la puissance de calcul des machines àsignaux et celles de quelques modèles déjà évoqués en première partie de chapitre.

Par ailleurs, un état de l’art succinct et quelques références aux travaux concernant les accu-mulations, les fractales, et les résolutions de problèmes difficiles sur différents modèles de calcul(surtout non-classiques) seront donnés de manière spécifique dans les introductions des chapitrestraitant ces notions (respectivement les Chapitres 4, 5 et 7). Dans le cas des fractales, nousinsisterons particulièrement sur quelques travaux concernant l’étude et la génération de fractalessur des modèles géométriques tels que les automates cellulaires ou l’auto-assemblage.

1.1 Les modèles de calcul

1.1.1 Modèles classiques

Un modèle de calcul définit ce qu’est « être calculable » pour ce modèle donné, selon certainesopérations de base autorisées. Cette notion de primitive de calcul est importante, puisque c’estelle qui conditionne la forme que prend le calcul dans le modèle considéré.

Les notions intuitives d’opération élémentaire et de méthode effective, ainsi que celles qui endécoulent comme « être calculable », ont été fortement étudiées dans les années 1930. À cetteépoque et presque simultanément, Alan Turing, Alonzo Church, Kurt Gödel et Stephen Kleeneproposèrent et utilisèrent des modèles de calcul et des formalismes permettant de définir desnotions de calculabilité et d’effectivité, respectivement en termes de machines de Turing [Turing1936], de λ-calcul [Church 1933] et de fonctions récursives [Gödel 1931 ; Kleene 1936] (on trouveraces articles dans [Davis 2004], qui compile des articles fondateurs de la théorie de la calculabilité).Bien qu’a priori différentes, ces notions se sont avérées être par la suite toutes équivalentes entreelles : elles définissent les mêmes fonctions calculables et permettent de résoudre exactement

7

Page 25: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

les mêmes problèmes. Ce constat est à l’origine de la thèse de Church-Turing, que l’on peutformuler par « tout ce qui est effectivement calculable l’est par une machine de Turing ». Cettethèse est vérifiée par de nombreux autres modèles de calcul imaginés par la suite pour cernerla notion de calculabilité effective, comme les systèmes de réécriture [Post 1943], les automatescellulaires [von Neumann 1966], les automates à compteurs [Minsky 1967]. . . Notons que bienque ces modèles définissent la même classe de fonctions calculables, ils utilisent des primitives decalcul et opérations élémentaires différentes pour obtenir ces fonctions : transition en fonctiond’un état et d’un symbole, λ-réduction, composition ou minimisation de fonctions, transition enfonction du voisinage. . .

La thèse de Church-Turing originale peut être vue comme une thèse sur la puissance deces systèmes formels. Elle admet cependant des variantes, comme la version physique nommée« thèse M » dans [Gandy 1980], portant sur le monde réel : « ce qui peut être calculé par unemachine physique peut l’être par une machine de Turing »,ou comme les versions de Church-Kalmár-Turing : « toute fonction réalisable par un système artificiel de calcul (resp. par uneexpérience de pensée) est calculable par machine de Turing » [Etesi et Németi 2002].

1.1.2 Modèles non-conventionnels

La thèse de Church-Turing a été confortée par toutes les implémentations physiques de mo-dèles de calcul réalisées jusqu’à aujourd’hui. Il est néanmoins possible d’imaginer des modèlesqui dépassent le cadre de la thèse de Church-Turing : de tels modèles de calcul sont appelésmodèles de calcul non-conventionnels. Ceux-ci peuvent s’écarter du cadre classique pour plu-sieurs raisons : ils peuvent être définis à partir de primitives de calcul totalement différentes decelles classiquement utilisées ; ils peuvent être de nature à manipuler des valeurs réelles ou conti-nues (contrairement aux modèles classiques qui ont vocation à ne travailler qu’avec des valeursdiscrètes) ; ou ils peuvent tirer profit de caractéristiques spéciales, telles que l’accès à des informa-tions supplémentaires ou bien l’utilisation de ressources non-classiques. Pour un tour d’horizonsur les modèles continus et un aperçu des différents modèles « super-Turing » (c’est-à-dire calcu-lant plus qu’une machine de Turing), nous renvoyons respectivement à [Bournez et Campagnolo2009] et [Stannett 2006].

Nous donnons ici quelques exemples de tels modèles parmi toute la variété existante, quenous regroupons de manière subjective en deux classes : les modèles purement théoriques etles modèles inspirés du monde réel. Nous détaillons à part les modèles géométriques du faitde leur proximité avec les travaux présentés dans ce manuscrit. Ces modèles géométriques sontessentiellement purement théoriques.

Modèles non-conventionnels théoriques. Alan Turing fut l’un des premiers à envisager, enproposant les machines à oracles [Turing 1939], la possibilité de « calculer plus » ou de « calculerautrement » que ce que permettent les modèles classiques, c’est-à-dire qu’il envisagea de sortirdu cadre de la thèse de Church-Turing. Les machines de Turing à oracle permettent de résoudredes problèmes non résolubles par une machine de Turing standard : elles ont pour cela accès àun oracle qui peut donner les valeurs de fonctions non-calculables ou des solutions de problèmesnormalement indécidables. D’autres modèles ont été étudiés depuis pour leur capacité à être« super-Turing » ou pour leur capacité à manipuler des valeurs réelles ou continues, et non plusseulement des valeurs discrètes comme le font les modèles classiques. On citera entre autres : lesmachines de Turing de type 2 et l’analyse récursive [Weihrauch 2000] qui étendent la définitiondes machines à Turing (travaillant sur des objets finis) pour l’adapter aux réels (représentablespar des objets infinis) ; les machines de Blum, Shub et Smale (modèle BSS) [Blum et al. 1989]manipulant des réels de manière exacte ; les fonctions R-récursives [Moore 1996], version continuedes fonctions récursives classiques dans lesquelles les opérateurs discrets sont remplacés par des

Page 26: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.1. LES MODÈLES DE CALCUL 9

opérateurs continus comme l’intégrale ; les machines à ordinaux [Lafitte 2001 ; Hamkins et Lewis2000], qui définissent des machines de Turing à ruban et à temps indexés par des ordinaux,fonctionnant comme des machines classiques mais avec des transitions supplémentaires pour lesordinaux limites ; les machines accélérantes [Copeland 2002 ; Potgieter 2006], pouvant être défi-nies comme des machines de Turing effectuant leurs transitions successives de manière accélérée.Ces dernières, déjà évoquées par Ralph Blake et Bertrand Russell dans les années 1930, calculentavec une accélération du type du paradoxe de Zénon : elles opèrent leurs étapes successives decalcul de plus en plus rapidement, de telle sorte que l’exécution d’une infinité d’étapes de calculne demande qu’un temps fini. Elles permettent entre autres de résoudre des problèmes récur-sivement énumérables, qui sont indécidables sur les modèles classiques, tels que le problème del’arrêt.

S’inspirer du réel pour calculer. Les modèles évoqués ci-dessus ont des propriétés quisortent du cadre de la calculabilité au sens de Church-Turing, mais ils restent tous des modèlesthéoriques, basés essentiellement sur des propriétés mathématiques. D’autres modèles, inspirésdu monde réel, possèdent également certaines de ces propriétés non classiques mais avec deshypothèses « plus réalistes ».

Parmi les modèles inspirés du monde réel, certains sont inspirés de la physique : le GPAC(General Purpose Analog Computer) [Shannon 1941], qui utilisent la possibilité de calculer phy-siquement (soit mécaniquement, soit électriquement) des intégrales et des dérivées ; les diffé-rents modèles de machines quantiques [Feynman 1986 ; Deutsch 1985], basés sur les proprié-tés de la mécanique quantique ; les modèles relativistes [Hogarth 1994 ; Etesi et Németi 2002 ;Németi et Dávid 2006], qui, dans le cadre des théories de la relativité, utilisent les singularitésde l’espace-temps (telles que les trous noirs) pour accélerer des calculs ; les divers modèles demachines optiques [Naughton et Woods 2005 ; Goliaei et Foroughmand-Araabi 2012 ; Reif et al.1990], basés soit les propriétés mécaniques de la lumière, soit sur ses propriétés ondulatoires ;les bouliers et les balances [Arulanandham 2005] et les arrangements de dominos [Stevens 2011],modèles plus anecdotiques qui permettent de calculer au sens de Turing par la simple utilisationde la gravité. On notera qu’il existe un lien entre les modèles relativistes et les machines accélé-rantes, précédemment évoquées : les modèles relativistes de calcul utilisent en effet les trous noirset le phénomène de « gel du temps » pour accélérer les étapes de calcul d’une machine de Turingà la manière des machines accélérantes c’est-à-dire selon le même principe que le paradoxe deZénon.

D’autres formalismes sont directement basés sur des processus issus de la biologie et du mondedu vivant comme les réseaux de neurones [Siegelmann et Sontag 1995], inspirés par le fonction-nement d’un cerveau humain ; le calcul par ADN [Amos 1997 ; Păun et al. 1998], utilisant lescomposants de l’ADN et les mécanismes correspondant pour y coder des informations et des ins-tructions ; le calcul par membranes, molécules et les P-systèmes [Păun 2000 ; Păun et Rozenberg2002], utilisant comme opérations de base les différents comportements possibles des cellulesbiologiques comme la dissolution, la mitose, la fusion, etc.

Ces différentes façons de définir et d’envisager le calcul d’un point de vue inspiré par desprocessus du monde réel peuvent se regrouper sous la dénomination de calcul naturel ou « naturalcomputing ». Nous renvoyons à [Gramß et al. 1998] pour une présentation de quelques uns desmodèles de calcul non-standard évoqués ci-dessus, ainsi qu’à [Handbook of Nat. Comp. 2012]pour une introduction plus exhaustive et détaillée au calcul naturel, et à [UCNC 2012] pour unaperçu de quelques thèmes de recherche actuelle autour du calcul non-conventionnel et naturel.

L’étude de ces différents modèles, conventionnels ou non, permet de mieux comprendre des no-tions théoriques fondamentales comme la calculabilité et la complexité des problèmes algorithmes(c’est-à-dire leur « coût »). Dans le cas des modèles non-conventionnels, elle peut également

Page 27: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

10 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

permettre de mieux cerner certaines propriétés du monde réel et ses descriptions scientifiques,notamment les connexions qui existent entre les mathématiques, l’informatique fondamentale etla physique théorique. L’une d’elle concerne la thèse de Church-Turing, qui peut être relativiséeà certaines hypothèses physiques, et son statut dépend du cadre et de la théorie physique danslaquelle se place son étude : considérer la thèse de Church-Turing comme vraie peut ainsi infirmerou confirmer certaines théories physiques. Nous renvoyons à [Ziegler 2009] pour une discussionsur ces liens entre physique et informatique théorique.

Modèles géométriques. Parmi ces modèles non-conventionnels, nous allons particulièrementnous intéresser aux modèles de nature géométrique, qu’ils soient définis à partir de primitives decalcul géométriques ou bien qu’ils se prêtent à une interprétation géométrique seulement à partird’un niveau plus global.

Comme nous l’avons évoqué dans l’introduction, il est possible de calculer dans le cadre dela géométrie euclidienne, en utilisant uniquement la règle et le compas. Une telle démarche a étéformalisée dans [Huckenbeck 1989, 1991] et dans [Mycka et al. 2006], respectivement en termesd’automates géométriques et de machines euclidiennes abstraites. Dans les deux cas, les primi-tives de calcul sont essentiellement « tracer une droite » et « tracer un cercle ». Il est alors possibled’écrire des programmes dont les instructions correspondent à ces primitives de calcul. De telsalgorithmes permettent non seulement d’exprimer les constructions classiques de géométrie eucli-dienne telles que le tracé d’une médiatrice, d’une bissectrice. . .mais ils permettent également decalculer de larges classes de fonctions. Différents types d’automates géométriques sont considérésdans [Huckenbeck 1989, 1991] (avec ou sans instruction de type jump, test de parallélisme dedroites. . . ), ainsi que les classes de fonctions calculables par ces automates géométriques. Dans[Mycka et al. 2006], il est démontré que de telles machines géométriques bénéficient d’un pou-voir de calcul Turing-universel par leur aptitude à simuler des machines à registres (machinesRAM) uniquement en traçant des droites, des cercles, en les étiquetant et en testant si un pointest dans un cercle. Néanmoins, certaines fonctions restent non-calculables par ces constructions,conformément aux théorèmes de géométrie euclidienne classique, comme la fonction trisectricede l’angle.

Il est également possible de considérer des modèles géométriques en s’abstrayant des outilsclassiques de la règle et le compas. C’est le cas par exemple des univers colorés et automatesde Mondrian introduits dans [Jacopini et Sontacchi 1990]. Ces univers sont des espaces continus(de dimension finie quelconque) dans lesquels sont assemblés des polyèdres. Les jonctions depolyèdres sont définies comme valides si elles respectent certaines contraintes de superpositionlocale exprimées en termes de voisinages topologiques. Ces contraintes déterministes sur lesvoisinages peuvent être interprétées comme des intersections entre les polyèdres, et sont ensuitereformulées en termes de boules colorées dénommées collisions. Un exemple d’évolution d’un telunivers coloré est donné par la Fig. 1.1(a). L’étude de ce modèle est motivée par des contraintesd’ordre physique sur le calcul, notamment sur la communication entre processus dans l’espace etsur la réversibilité des opérations. Les auteurs ont caractérisé des classes de fonctions calculablespar ce modèle, en particulier dans le cas d’univers colorés réversibles : le modèle général permetfacilement de simuler des machines classiques, dont des machines de Turing, et est donc Turing-universel.

Un autre modèle de calcul à forte interprétation géométrique est le modèle des systèmesà dérivées constantes par morceaux, ou PCD systems (pour « piece-wise constant derivativesystems »), introduit dans [Asarin et Maler 1995]. Ces systèmes dynamiques à temps et espacecontinus sont définis en partitionnant un espace euclidien en un nombre fini de polyèdres convexes,chaque région polyédrale étant affectée d’un vecteur fixe. Lorsqu’un point pénètre dans une régionpolyédrale, sa trajectoire est définie en lui appliquant le vecteur associé à cette région, jusqu’à

Page 28: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.1. LES MODÈLES DE CALCUL 11

ce qu’il la quitte et entre dans une autre région, munie d’un autre vecteur fixe. Pour chaquepoint initial, on obtient en appliquant ce processus une trajectoire constituée de segments misbout-à-bout dans l’espace euclidien. La trajectoire globale ainsi obtenue est affine par morceaux(c’est-à-dire à dérivée constante par morceaux) : la Figure 1.1(b) illustre un tel système endimension deux, ainsi que la trajectoire d’un point. Ce modèle est dit hybride, mêlant à lafois étapes continues (les trajectoires dans une région) et étapes discrètes (les changements à lajonction de deux régions). En identifiant certaines régions polyédrales à des ports d’entrées etde sorties, les systèmes PCD permettent de définir des notions de calcul. Il est alors possible desimuler une machine de Turing, et même de décider des problèmes indécidables sur machines deTuring. En effet, n’importe quel niveau de la hiérarchie arithmétique peut être décidé par dessystèmes PCD rationnels (i.e. dont tous les paramètres sont rationnels), pourvu qu’ils aient unedimension spatiale assez grande [Asarin et Maler 1995 ; Bournez 1997], L’étude de systèmes PCDgénéraux (autorisant des paramètres réels) a montré qu’ils peuvent même décider des problèmeshyper-arithmétiques [Bournez 1999]. Dans les deux cas, une version PCD du paradoxe Zénon estimplémentée afin d’accélérer le calcul, de telle sorte qu’il est toujours possible de connaître larégion finalement atteinte par une trajectoire infinie. Notons que les PCD sont essentiellementséquentiel (les trajectoires considérées ne le sont que pour un seul point à la fois).

(a) Univers colorés [Jacopini et Sontacchi 1990, Fig. 3].

Trajectory

Direction

(b) Systèmes à dérivées constantes par morceaux[Bournez 1999, Fig. 2].

��

���

������

�����

(c) Systèmes de transitions sur espace-tempscontinus [Hagiya 2005, Fig. 1].

Figure 1.1 – Exemples de modèles géométriques de calcul.

Un autre modèle à espace et temps continus est constitué par les systèmes de transitions surdes espaces-temps continus étudiés par [Takeuti 2005 ; Hagiya 2005]. On peut situer ces systèmesà mi-chemin entre des automates cellulaires rendus infiniment petits et des équations aux dérivéespartielles. Les travaux concernant ce type de modèle sont inspirés par l’« amorphous computing »,dont le domaine d’étude est l’utilisation d’un très grand nombre d’entités élémentaires ne pouvantcommuniquer que localement.

Page 29: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

12 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

La notion importante dans ces systèmes de transitions sur des espaces-temps continus est lapropagation d’état à des vitesses différentes, qui est une conséquence des règles de transitionsdictant l’évolution de l’état d’un point donné de l’espace. Les règles de transition sont définies àpartir de formules du type « le point x passe dans l’état q à l’instant t s’il existe dans le voisinagede (x, t) un point (x′, t′) dans l’état q′ », où chaque voisinage dépend d’une vitesse v et où tousdépendent d’une distance dont l’espace est muni. On peut représenter l’évolution de tels systèmespar des diagrammes espace-temps proches de ceux des machines à signaux : la Fig. 1.1(c) endonne un exemple.

À notre connaissance, les travaux sur ces systèmes portent uniquement sur les propriétésde la trajectoire d’un point c’est-à-dire les états successivement pris par un point de l’espace.Des contraintes sur ces trajectoires ont été formulées à l’aide de formules de logiques modaleset de systèmes de règles d’inférences respectivement dans [Takeuti 2005] et [Hagiya 2005], etengendrent une notion de réalisabilité des trajectoire. Dans les deux cas, des conditions sontdégagées pour assurer l’unicité de telles trajectoires.

Nous évoquons pour finir un autre type de modèle géométrique de calcul, les systèmes d’auto-assemblage et les pavages. Nous passons rapidement sur les pavages, dont l’étude d’un point devue modèle de calcul prend source dans les travaux [Wang 1960 ; Berger 1966], où sont donnéesdes simulations globales de machines de Turing par des pavages du plan. Les pavages sont bienévidemment fortement géométriques, mais ils n’admettent a priori pas de dynamique.

Un type particulier de pavages se distingue d’un point de vue modèle de calcul : il s’agitdes systèmes d’auto-assemblages. Initialement introduits en tant que pavages par Hao Wang,ces systèmes se définissent par des jeux de tuiles planes aux arêtes colorées et sont munis d’unedynamique [Winfree 1998]. À partir de tuiles disposées dans le plan euclidien, de nouvelles tuilesviennent se coller de manière asynchrone, tout en respectant les couleurs des arêtes correspon-dantes (des contraintes supplémentaires simples peuvent également être ajoutées, comme descontraintes de « colle » et « température »). Ce modèle trouve une motivation dans la biologieet l’étude du vivant : il permet ainsi de formaliser de manière abstraite les repliements et as-semblages complexes de certaines structures moléculaires (ADN, enzymes. . . ) Plusieurs variantesde ces modèles et notions correspondantes de calculs existent, mais de manière générale il estpossible de calculer de nombreux ensembles en les auto-assemblant, et de facilement simulerune machine de Turing avec des jeux de tuiles auto-assemblantes [Rothemund et Winfree 2000 ;Lathrop et al. 2011].

On remarque tout particulièrement une utilisation de signaux continus dans certains travauxsur l’auto-assemblage [Becker 2008, 2009]. Ces signaux dans le plan euclidien sont utilisés pourcontraindre des dynamiques dans l’auto-assemblage d’une structure : ils permettent d’obtenir parleur discrétisation des jeux de tuiles s’auto-assemblant suivant des formes données. Par exemple,des systèmes de signaux permettent d’expliciter des jeux de tuiles de Wang pour auto-assembleren temps optimal des carrés de toutes tailles, tout en utilisant un faible nombre de tuiles.

En lien avec les pavages, le modèle des automates cellulaires génère des diagrammes espace-temps discrets qui se prêtent à diverses interprétations géométriques : nous détaillons ce modèlede calcul dans la section suivante.

1.2 Le monde des automates cellulaires

Nous donnons ici plus de détails sur les particularités du modèles des automates cellulaires.Après une brève présentation du modèle et de quelques unes de ses propriétés, nous mettronsen avant le rôle et l’importance des signaux — à la fois continus et discrets — dans l’étude desautomates cellulaires.

Page 30: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.2. LE MONDE DES AUTOMATES CELLULAIRES 13

1.2.1 Introduction des automates cellulaires

Après avoir grandement participé à la théorie et à la construction des premières machinesà calculer dans les années 1940, John von Neumann chercha à modéliser le concept de machinecapable d’auto-reproduction. Souhaitant en plus que cette machine soit non triviale c’est-à-direcapable d’effectuer des calculs complexes, il proposa sur une idée de Stanislaw Ulam, le modèledes automates cellulaires (AC) [von Neumann 1966].

Un automate cellulaire est défini de manière simple : il est défini sur un espace discret composéde cellules juxtaposées les unes à côté des autres. Chaque cellule peut prendre un état parmi unensemble fini d’états. Toutes les cellules se mettent à jour de manière synchrone (toutes en mêmetemps) selon des étapes de temps discret, et en suivant une règle de transition locale indiquant àchaque cellule le nouvel état à prendre en fonction de son état et de celui de ses cellules voisines.Ainsi, à chaque étape de temps, l’automate met à jour sa configuration c’est-à-dire son étatglobal, défini par les états de chacune de ces cellules.

L’exemple le plus simple d’AC est celui des automates cellulaires élémentaires (ACE). Ceux-ci sont définis sur des lignes de cellules (ils ont donc une seule dimension spatiale), et chaquecellule ne peut prendre qu’un seul état parmi deux. En utilisant la deuxième dimension du plancomme axe du temps, il est possible de représenter l’évolution d’AC de dimension un par undiagramme espace-temps : les configurations successives y sont représentées les unes sous lesautres, de telle sorte que le diagramme espace-temps fournit l’historique des états pris par lescellules. La Figure 1.2(a) fournit quelques exemples de diagrammes espace-temps d’ACE (dontla règle est donnée selon la numérotation de Wolfram). Ici, tous les diagrammes espace-tempsd’AC sont donnés avec l’espace représenté horizontalement et le temps représenté verticalementde haut en bas.

(a) ACE règles 226 et 110. (b) Signaux bruts et filtrés dans l’ACE règle 54[Boccara et al. 1991, Fig. 7].

Figure 1.2 – Exemple de diagrammes d’ACE.

Importance et utilisation des automates cellulaires. Depuis leur introduction, les auto-mates cellulaires bénéficient d’un statut particulier dans les sciences. En effet, un AC se définitde manière très simple, mais il peut avoir une dynamique et un comportement extrêmementcomplexes. Depuis plusieurs dizaines d’années, le modèle des AC a été à la fois un outil et unexemple privilégié pour l’étude des systèmes dynamiques discrets [Hedlund 1969 ; Čulik II et al.1990], dont il est devenu l’un des modèles de références en informatique théorique. D’autre part,

Page 31: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

14 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

par leur définition même, les automates cellulaires forment un modèle de calcul fortement pa-rallèle [Delorme et Mazoyer 1999]. Ils ont ainsi été utilisés pour modéliser de manière simple lespremières agencements parallèles de processeurs. Ils trouvent des applications, en nombre de plusen plus grand, en modélisation de phénomènes physiques, biologiques, sociologiques, tels que dessimulations de trafic routier, propagation d’épidémie. . . [ACRI 2012].

Les signaux dans les AC. Malgré l’apparente simplicité de ce modèle, les automates cellu-laires permirent à von Neumann de concevoir une machine à la fois Turing-universelle et capablede s’auto-reproduire. Pour pouvoir être capable à la fois de mener des calculs complexes (quisont codés et décodés grâces à certains états donnés) et de s’auto-répliquer, la structure de vonNeumann utilise de nombreux gadgets techniques dont l’un d’eux est fondamental dans cet au-tomate : il s’agit de la mise en place et de l’utilisation de fils pour permettre à l’information dese propager à travers l’espace cellulaire. Ces fils sont essentiels pour transmettre les informationsnécessaires à la machine pour procéder aux calculs et à la construction d’autres machines (ycompris elle-même). L’information qui se propage dans les fils se présente alors sous forme designal rectiligne se déplaçant dans la structure.

En plus de l’utilisation historique des signaux dans l’automate de von Neumann, il a étéconstaté depuis que dans la majorité des études empiriques concernant les AC, en particulier desACE [Wolfram 2002], les diagrammes et le comportement des AC ayant des propriétés intéres-santes pouvaient être interprétés et expliqués grâce à des notions — d’abord informelles — departicules, signaux et collisions. C’est le cas de nombreux diagrammes d’ACE (automates à unedimension) dont les diagrammes espace-temps à deux dimensions font clairement apparaître dessignaux se propageant à travers l’espace cellulaire au cours du temps. Un exemple en est donnépar la Fig. 1.2(b), dans laquelle figurent un diagramme espace-temps d’ACE et la version dudiagramme obtenu en appliquant une fonction qui efface les motifs périodiques d’arrière-plan,laissant ainsi clairement apparaître les particules et les collisions du diagramme initial.

1.2.2 L’importance des signaux discrets

Les signaux apparaissent de manière naturelle dans les AC, et sont utilisés à de multiplesfins. Nous donnons ici des exemples de leurs utilités ; nous montrons également l’importance deraisonner avec des signaux continus pour la compréhension et la conception d’AC. Nous renvoyonsle lecteur à [Adamatzky 2002 ; Adamatzky et Durand-Lose 2012], consacrés au « collision-basedcomputing », dont une grande partie est dédiée à l’utilisation des signaux et des collisions dansles AC et dans d’autres modèles proches tel que le « billard ball model » (modèle boule de billard)[Fredkin et Toffoli 1982 ; Durand-Lose 2002].

Comprendre des comportements. Les premières études expérimentales sur les ACE mirenten évidence différents types de structures apparaissant dans leurs diagrammes espace-temps. Cesstructures permirent de proposer une classification des ACE, en distinguant entre autres cellesqui impliquaient des particules et des collisions, alors définies de manière informelle [Wolfram1984].

Nous citons ici un autre exemple de l’utilisation des particules pour mieux appréhenderle fonctionnement d’AC : il s’agit de l’évaluation de la performance d’AC engendrés par desalgorithmes évolutionnistes [Das et al. 1994, 1995]. Dans ces travaux, les signaux sont utiliséspour sélectionner les AC les plus efficaces dans l’accomplissement d’une tâche donnée telle quela synchronisation (voir la Fig. 1.3) ou la classification de densité. Dans ces travaux, les ACimpliquant des signaux dans leur comportement ont été constatés comme les plus performants,dégageant ainsi un critère de sélection pour les générations suivantes. Cette méthode a permis dedécouvrir des AC difficilement concevables manuellement et performants dans l’accomplissement

Page 32: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.2. LE MONDE DES AUTOMATES CELLULAIRES 15

de certaines tâches : c’est le cas de celui de la Fig. 1.3, dont le comportement peut être compriset prouvé à l’aide de particules qu’une opération de filtrage fait clairement apparaître.

β γ

δν

β γ

(a) Space-time diagram. (b) Filtered space-time diagram.Site0 74Site0 74

0

74

Tim

e

α

γδ

µ

Figure 1.3 – Apparitions de signaux à partir d’algorithmes évolutionnistes sur les AC [Das et al.1995, Fig. 1].

Prouver l’universalité. On sait depuis les travaux de von Neumann que les AC ont la capacitéde calculer au sens de Turing. Néanmoins, la grande taille de l’AC de von Neumann le rendaitdifficilement manipulable pour calculer ou pour servir à d’autres constructions. Une quête del’automate universel minimal s’est donc lancée très tôt, dans laquelle les signaux ont été etsont encore d’une grande importance. Ils ont permis des simulations par AC de modèles decalcul universels soit en concevant des automates simples [Lindgren et Nordahl 1990] commecelui présenté en Fig. 1.4(a) ; soit en tirant le meilleur profit des signaux naturellement engendréspar des ACE (l’ACE 110 en l’occurence) [Cook 2004] et prouvant par conséquent que les ACpeuvent être Turing-universel avec seulement deux états et un voisinage minimal.

(a) AC universel de rayon 2[Lindgren et Nordahl 1990, Fig. 4].

(a)

(b) AC intrinsèquement universel de rayon 1[Ollinger et Richard 2011, Fig. 3].

Figure 1.4 – Construction par signaux d’AC (intrinsèquement) universels.

Page 33: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

16 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

Un autre problème faisant l’objet de recherches actives et impliquant la notion d’universalitéest le problème de l’universalité intrinsèque, ou la recherche d’AC pouvant simuler tout autre AC.Dans cette quête aussi, les signaux et les collisions ont été d’une grande importance, fournissantentre autres un AC réversible intrinsèquement universel pour les AC réversibles [Durand-Lose1997] et un AC à peu d’états (quatre) intrinsèquement universel pour les AC de dimension un[Ollinger et Richard 2011] : la Fig. 1.4(b) en donne un exemple.

Concevoir des automates complexes. Nous rappelons ici le problème du fusilier, ou « FiringSquad Synchronization Problem (FSSP) », afin d’illustrer la richesse de l’approche par signauxcontinus dans la conception d’AC complexes. Le FSSP est le problème consistant à synchroniserune ligne finie de cellules (c’est-à-dire un AC fini de dimension un). Mise à part une des cellulesextrémales (la cellule « général »), toutes les autres cellules (les cellules « soldat ») se trouventinitialement dans un même état. Le but est de faire entrer simultanément toutes les cellules pourla première fois dans un état donné (l’état « feu »).

Afin de construire de tels automates synchronisant n’importe quelle ligne de cellules (c’est-à-dire synchronisant une ligne de n cellules pour tout n), de nombreuses méthodes ont étéenvisagées [Goto 1966 ; Mazoyer 1987 ; Yunès 1994, 2007]. Quasiment toutes sont basées surl’utilisation de signaux continus : le schéma global du fonctionnement est d’abord conçu avecdes signaux continus, puis ce schéma est discrétisé afin d’obtenir l’AC à proprement parler. LaFigure 1.5 illustre de telles méthodes, notamment les solutions respectives de Eiichi Goto etJacques Mazoyer, qui font clairement apparaître le rôle des signaux continus dans leur conception.

Nous insistons en particulier sur la Fig. 1.5(a), la version continue de la solution de Goto,dont la méthode consiste en un procédé dichotomique : l’utilisation de trois signaux de pentesdifférentes permet de diviser la ligne en son milieu, et quatre signaux permettent d’itérer ceprocessus de manière symétrique. Ce processus initialement appliqué à une ligne de cellules serépète jusqu’à atteindre des divisions de même taille que celle des cellules, qui deviennent alorssynchronisées. Alors que dans la construction de Goto, cette méthode est discrétisée pour enfaire un AC, nous étudierons dans ce manuscrit cette structure d’arbre dans le cadre des signauxcontinus sur l’espace réel.

(a) La solution continue de Goto et sa version discrétisée[Goto 1966, Fig. 3].

(b) La solution continue de Mazoyer et sonimplémentation [Mazoyer 1987, Fig. 3 et 12].

Figure 1.5 – Solutions au problème du fusilier.

Notons qu’en plus d’avoir fourni les premiers automates solutions au FSSP, l’approche parsignaux permet de les optimiser et d’obtenir de nouvelles solutions au FSSP et à ses variantes,restant ainsi l’outil canonique pour l’étude de ce genre de problème.

Page 34: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.2. LE MONDE DES AUTOMATES CELLULAIRES 17

Implémenter des calculs. Il est également possible de réaliser à l’aide des signaux des calculsnon triviaux sur des AC. Un des exemples les plus connus est l’automate de Patrick Fischer quigénère les nombres premiers [Fischer 1965]. Cet AC est conçu uniquement en termes de signaux,et ceux-ci sont utilisés pour implémenter une version géométrique du crible d’Érathostène. LaFigure 1.6(a) donne le principe de fonctionnement de cet automate : les signaux verticauxcodent (par leur espacement) des entiers (tous les entiers à partir de 2) dont on veut marquerles multiples stricts ; des signaux sont utilisés pour générer ces entiers ; et enfin des signauxpermettent d’atteindre la cellule initiale, laquelle reçoit un signal au temps 3t lorsque t est unnombre composé. On peut alors se ramener à un AC tel que la première cellule est dans uncertain état au temps t si et seulement si t est un nombre premier.

De même, Jacques Mazoyer, Véronique Terrier et Marianne Delorme ont explicité des ACpermettant de construire des classes de fonctions [Mazoyer et Terrier 1999 ; Delorme et Mazoyer2002]. Ils ont distingué plusieurs types de fonctions et méthodes de constructions, toutes baséessur l’utilisation de signaux. Ceux-ci permettent d’engendrer d’une part des fonctions « Fischer-constructibles » (la première cellule est dans un état donné pour la n-ième fois au temps t siet seulement si f(n) = t), et d’autre part des fonctions dont la pente (discrète) globale estdirectement représentée dans le diagramme espace-temps. Une large classe de fonctions peutainsi être construite : les fonctions puissances entières (voir la Fig. 1.6(b) pour le cas de n3),exponentielles, la fonction factorielle. . .

Il existe également des méthodes pour construire des grilles de calcul plus générales [Mazoyer1996 ; Mazoyer et Yunès 2012 ; Yunès 2012], qui peuvent ensuite être utilisées pour y implémenterdes calculs comme l’exemple de la multiplication donnée en Fig. 1.6(c).

(a) Générer les nombres premiers[Fischer 1965, Fig. 2].

��������������������������������������

�����

��������

��������

��������

���������

������������

�����������������

�����������������������������

������

����

������

�����������

����������������������������������������

��������������� ���� ��

���� ���������� ����

�������������� ����

�������� ����� ����

��

���� ��� ����� ����

����

������� ����� ���� ��

��� �����

(b) Calculer la fonction n3

[Mazoyer et Terrier 1999, Fig. 5].

000

111

111

000

111

000

***

1

1

0

0

1

1

*

<

000

111

000

000

000

111

111

000

000

000

111

000

***

000

000

111

000

000

000

000

000

111

000

111

Bits 0 in transit throught thenetwork

Bits 1 in transit throught thenetwork

Limits of a computation

Bits 1 of themultiplier

Bits 0 of themultiplier

Bits 1 of themultiplicand

Bits 0 of themultiplicand

Bit "end " of the multiplier

Bit "end" of the multiplicand

������ �� ����� � ������

(c) Calculer (a · b)2 [Mazoyer1996, Fig. 8].

Figure 1.6 – Exemples d’implémentations de calcul par signaux en AC de dimension 1.

Formalisations des particules et collisions discrètes. À notre connaissance, l’une desformalisations les plus abouties concernant les signaux et les collisions discrètes a été fournie dans[Richard 2008 ; Ollinger et Richard 2009]. Les diagrammes espace-temps y sont formellementdécomposés en fond, motif et particules, puis formalisés avec des schémas de ligature, dontl’expressivité peut être réduite à la résolution de formules existentielles dans l’arithmétique dePresbuger. Cette approche a permis d’obtenir des résultats sur la conception et la minimisation

Page 35: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

18 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

d’AC universels, notamment avec la conception d’un AC intrinsèquement universel à quatre étatset voisinage minimal [Ollinger et Richard 2011].

Une autre approche consiste en systèmes abstraits de collisions discrètes [Ito et al. 2008]. Unsystème abstrait de collisions est défini par un ensemble de « balles » (équivalent aux états d’unAC), et par une une famille de collisions entre ces balles. Une fonction de collision associant uneconfiguration sortante à toute collision appartenant à la famille, complète la définition d’un sys-tème abstrait de collisions. Ces systèmes formalisent de manière simpliste les collisions discrèteset ne permettent pas de retrouver toute la richesse des signaux discrets utilisés par les AC, no-tamment parce qu’un signal y est modélisé par un unique état (une balle). De plus, la définitiondes collisions prenant en compte les positions spatiales de la collision, la famille de collisions estdéfinie par des schémas de collisions et peut donc être infinie. Néanmoins, ce modèle permetfacilement de simuler d’autres modèles de calcul tels que les systèmes de réécriture cycliques(cyclic tag systems) et le modèle boule de billard (billard ball model).

Signaux discrets et signaux continus. Bien qu’utilisés pour concevoir des AC, par naturediscrets, les signaux continus diffèrent de leur version discrète sur plusieurs points. En effet, lessignaux continus en sont une version idéalisée : ils n’ont ni épaisseur ni période, contrairement auxsignaux discrets qui en ont (à la fois temporellement et spatialement). Du fait de leur épaisseur,le décalage spatial (ou déphasage) entre deux signaux discrets a une importance dans le résultatde la collision discrète entre ces deux signaux. La Figure 1.7 illustre les six sorties possiblespour une collision impliquant à chaque fois les deux mêmes particules : les résultats possiblesproviennent des décalages possibles entre ces deux particules au moment de la collision.

Figure 1.7 – Résultats possibles pour une même collision dans l’ACE 110 [Cook 2004, Fig. 6].

1.3 Les machines à signaux en tant que modèle de calcul

Nous donnons ici plusieurs propriétés sur les machines à signaux d’un point de vue général,qui peuvent être comprises sans les définitions formelles concernant le modèle, lesquelles seronténoncées dans le Chap. 2. Nous discuterons également des similitudes et distinctions qui existententre les modèles à signaux et les modèles géométriques proches dont nous avons connaissance.

1.3.1 Propriétés des machines à signaux

Nous énonçons ici des caractéristiques connues des machines à signaux qui concernant leurpouvoir de calcul. Les quelques diagrammes espace-temps qui seront donnés pour illustrer lasimulation de modèles de calcul par des machines à signaux peuvent être compris de manièreintuitive, sans recourir à leurs définitions formelles.

Turing-univeralité. L’une des toutes premières propriétés qui a été démontrée concernantles machines à signaux est leur Turing-universalité [Durand-Lose 2003]. La capacité des ma-chines à signaux à calculer au sens de Church-Turing peut être démontrée par des simulations

Page 36: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.3. LES MACHINES À SIGNAUX EN TANT QUE MODÈLE DE CALCUL 19

directes de différents modèles de calcul qui sont équivalents aux machines de Turing : automatesà deux compteurs, automates celllulaires, cyclic tag systems (systèmes cycliques de réécriture)et machines de Turing (on trouvera dans [Durand-Lose 2011a] les simulations de plusieurs deces modèles). La Figure 1.8 illustre des simulations directes d’une machine de Turing : unesimulation avec des cellules de même taille est donnée Fig. 1.8(b) et une simulation en espace(continu) constant en Fig. 1.8(c) (la Fig. 1.8(a) donnant l’exécution correspondante sur machinede Turing classique).

3 Turing machines

Only notations and constructions are presented since the reader is expectedto have some knowledge of Turing machines. This section provides smallpolynomial-time universal SMs. It also illustrates AGC.

A Turing machine (TM) is defined by (Q, qi,Γ, #, δ) where Q is a finite setof states, qi is the initial state, Γ is a finite set of symbols, # (blank) is adistinguished symbol, and δ : Q × Γ → Q × Γ × {←,→} is the transitionfunction.

The construction is exemplified in the TM given in Fig. 3 and its operation inFig. 4(a).

Q= {qi, q1, q2, qf}Γ= {^, a, b, #}=

“−” means undefined

δ ^ a b #

qi qi,^,→ qi,a,→ q1,a,← -

q1 - q1,b,→ - q2,a,→q2 - - - qf ,b,←qf qf ,^,← qf ,a,← qf ,b,← -

Fig. 3. Definition of the TM.

The simulation goes as follows: there are finitely many parallel signals (encod-ing the content of the tape) in which zigzags a signal mimicking the movementof the head and encoding the state.

qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .q2

# ^ b b a #. . . . . .q1

# ^ b b #. . . . . .q1

# ^ b a #. . . . . .q1

# ^ a a #. . . . . .qi

# ^ a b #. . . . . .qi

# ^ a b #. . . . . .qi

# ^ a b #. . . . . .

(a) TM Computation.

#

^

^

^

a

a

b

b

b

a

b

b

#

a

a

b

−→qi

−→qi

−→qi

←−q1

−→q1

−→q1

−→q2

−→qf

←−#

−→#

−→qf

←−#

−→#

−→#

#−→qf

−→qf

−→qf

(b) Simulation.

#

#

#

−→qi

−→qi

−→qi

−→q2

−→q2

←−q1

←−q1

^

^

^

a

a

a

a

a

−→qf

−→qf

−→qf

−→qf

−→qf

b

b

b

b

b

b

b

(c) Bounded simulation.

Fig. 4. Example of a TM computation and its simulation by a SM.

The simulating SM is defined by the following meta-signals:

8

(a) Une exécution de MT.

3 Turing machines

Only notations and constructions are presented since the reader is expectedto have some knowledge of Turing machines. This section provides smallpolynomial-time universal SMs. It also illustrates AGC.

A Turing machine (TM) is defined by (Q, qi,Γ, #, δ) where Q is a finite setof states, qi is the initial state, Γ is a finite set of symbols, # (blank) is adistinguished symbol, and δ : Q × Γ → Q × Γ × {←,→} is the transitionfunction.

The construction is exemplified in the TM given in Fig. 3 and its operation inFig. 4(a).

Q= {qi, q1, q2, qf}Γ= {^, a, b, #}=

“−” means undefined

δ ^ a b #

qi qi,^,→ qi,a,→ q1,a,← -

q1 - q1,b,→ - q2,a,→q2 - - - qf ,b,←qf qf ,^,← qf ,a,← qf ,b,← -

Fig. 3. Definition of the TM.

The simulation goes as follows: there are finitely many parallel signals (encod-ing the content of the tape) in which zigzags a signal mimicking the movementof the head and encoding the state.

qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .q2

# ^ b b a #. . . . . .q1

# ^ b b #. . . . . .q1

# ^ b a #. . . . . .q1

# ^ a a #. . . . . .qi

# ^ a b #. . . . . .qi

# ^ a b #. . . . . .qi

# ^ a b #. . . . . .

(a) TM Computation.

#

^

^

^

a

a

b

b

b

a

b

b

#

a

a

b

−→qi

−→qi

−→qi

←−q1

−→q1

−→q1

−→q2

−→qf

←−#

−→#

−→qf

←−#

−→#

−→#

#−→qf

−→qf

−→qf

(b) Simulation.

#

#

#

−→qi

−→qi

−→qi

−→q2

−→q2

←−q1

←−q1

^

^

^

a

a

a

a

a

−→qf

−→qf

−→qf

−→qf

−→qf

b

b

b

b

b

b

b

(c) Bounded simulation.

Fig. 4. Example of a TM computation and its simulation by a SM.

The simulating SM is defined by the following meta-signals:

8

(b) Simulation par signaux.

3 Turing machines

Only notations and constructions are presented since the reader is expectedto have some knowledge of Turing machines. This section provides smallpolynomial-time universal SMs. It also illustrates AGC.

A Turing machine (TM) is defined by (Q, qi,Γ, #, δ) where Q is a finite setof states, qi is the initial state, Γ is a finite set of symbols, # (blank) is adistinguished symbol, and δ : Q × Γ → Q × Γ × {←,→} is the transitionfunction.

The construction is exemplified in the TM given in Fig. 3 and its operation inFig. 4(a).

Q= {qi, q1, q2, qf}Γ= {^, a, b, #}=

“−” means undefined

δ ^ a b #

qi qi,^,→ qi,a,→ q1,a,← -

q1 - q1,b,→ - q2,a,→q2 - - - qf ,b,←qf qf ,^,← qf ,a,← qf ,b,← -

Fig. 3. Definition of the TM.

The simulation goes as follows: there are finitely many parallel signals (encod-ing the content of the tape) in which zigzags a signal mimicking the movementof the head and encoding the state.

qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .qf

# ^ b b a b #. . . . . .q2

# ^ b b a #. . . . . .q1

# ^ b b #. . . . . .q1

# ^ b a #. . . . . .q1

# ^ a a #. . . . . .qi

# ^ a b #. . . . . .qi

# ^ a b #. . . . . .qi

# ^ a b #. . . . . .

(a) TM Computation.

#

^

^

^

a

a

b

b

b

a

b

b

#

a

a

b

−→qi

−→qi

−→qi

←−q1

−→q1

−→q1

−→q2

−→qf

←−#

−→#

−→qf

←−#

−→#

−→#

#−→qf

−→qf

−→qf

(b) Simulation.

#

#

#

−→qi

−→qi

−→qi

−→q2

−→q2

←−q1

←−q1

^

^

^

a

a

a

a

a

−→qf

−→qf

−→qf

−→qf

−→qf

b

b

b

b

b

b

b

(c) Bounded simulation.

Fig. 4. Example of a TM computation and its simulation by a SM.

The simulating SM is defined by the following meta-signals:

8

(c) Simulation en espace borné.

Figure 1.8 – Simulations d’une machine de Turing [Durand-Lose 2011a, Fig. 4].

Les simulations de machines de Turing par des signaux peuvent se faire en utilisant uni-quement des machines avec des signaux initiaux à positions rationnelles et des collisions decoordonnées rationnelles : de telles machines sont appelées machines rationnelles. De plus, lesdiagrammes correspondant aux simulations ne contiennent pas d’accumulation. La simulationréciproque est possible : la possibilité de simuler des diagrammes de machines à signaux ra-tionnelles sans accumulation par une machine de Turing découle de l’existence d’un programmecapable de générer de tels diagrammes 1.

De la Turing-universalité des machines à signaux découlent beaucoup de propriétés d’indéci-dabilité sur leur dynamique, telles que les problèmes de finitude d’un diagramme espace-temps,d’apparition d’un signal donné, d’apparition d’une accumulation. . . [Durand-Lose 2003].

Calculs analogiques. Les machines à signaux étant définies à partir d’espace et temps conti-nus (respectivement R et R+), il semble naturel de penser qu’elles puissent effectuer des calculsanalogiques. Il a effectivement été montré que certains modèles de calcul manipulant des valeursréelles sont simulables par machines à signaux. Parmi les modèles évoqués en Sous-sec. 1.1.2,l’analyse récursive et le modèle BSS ont été implémentés avec des signaux, respectivement dans[Durand-Lose 2011b] et [Durand-Lose 2008]. Ces deux simulations prouvent que les machines àsignaux sont au moins aussi puissantes que ces deux modèles. Elles nécessitent cependant l’utili-sation séquentielle d’accumulations afin d’opérer une infinité d’étapes de calcul en un temps fini.En effet, les machines à signaux sans accumulation ne sont pas aussi puissantes que le modèleBSS complet puisqu’elles ont été montrées équivalentes au modèle BSS linéaire [Durand-Lose2007], une version plus faible des machines BSS. Elles deviennent équivalentes au modèle BSS

1. Un tel logiciel a été implémenté en java par Jérôme Durand-Lose et a servi à générer la plupart desdiagrammes présents dans ce manuscrit.

Page 37: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

20 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

complet lorsque l’utilisation d’accumulations est autorisée.

Capacités super-Turing. Parmi les propriétés non-conventionnelles des machines des si-gnaux, la possibilité de résoudre des problèmes récursivement énumérables en fait un modèlesuper-Turing, et de ce fait un modèle puissant. Cette aptitude à résoudre des problèmes indéci-dables par machines de Turing a été prouvée en implémentant par signaux et signaux rationnelsle modèle « trou noir » [Durand-Lose 2004, 2006a], qui est également le phénomène de type Zénonutilisé par les machines accélérantes et les modèles relativistes. Ce modèle consiste à exécuter uneinfinité d’opérations en un temps fini, rendant décidable le problème de l’arrêt d’une machinede Turing. Pour être implémentée sur des machines à signaux, cette accélération s’inspirant duparadoxe de Zénon requiert la continuité de l’espace et nécessite l’utilisation d’une accumulation,dans laquelle est insérée la simulation d’une machine de Turing. Dans cette simulation, les accu-mulations sont utilisées de manière séquentielle : une seule accumulation peut apparaître dansle diagramme, et uniquement à la limite de (l’éventuelle) infinité d’opérations de la machines deTuring.

Parallélisme massif. Comme les automates cellulaires, les machines à signaux bénéficientégalement d’un parallélisme massif intrinsèque [Duchier et al. 2010b]. Les AC étant simulablesavec des signaux, comme illustré par Fig. 1.9, la puissance de calcul parallèle des machinesà signaux égale au moins celle des AC. Une utilisation de ce parallélisme massif constitue laproblématique de cette thèse et sera illustrée dans les chapitres Chap. 7, Chap. 8 et Chap. 9.

erated. Moreover, one signal, say oneR, can be easily removed. This “ghost”signal can be identified by the presence of only two signals of speeds 0 and−1, instead of three. The other collisions of two signals are blank (with sig-nals of speeds 1 and −1 thus differentiating them). Noticing that the transitionf(0, 0, 0) = 0 generates a blank rule, this leads to a 5-meta-signal 7-collision-rule weakly universal SM.

To consider standard universality, infinitely many cells should be encoded withfinitely many signals. The configurations used are quasi-periodic so that theperiodic pattern generation of Subsect. 2.3 can be used. When a cell is gener-ated, it corresponds to a future iteration, so that the periodicity to be consid-ered is not the spatial one but the one following a space-time line which mighthave a very different period. Since periodic configurations have (ultimately)periodic orbits, following a rational space-time discrete line, a periodic obser-vation is found. The construction is only presented on an example in Fig. 7:evolution of rule 110 CA on the configuration 11. The periodic space-timediscrete lines are typed in boldface: ω(10) on the left and (011)ω on the right.

0 1 1 1 0 0 1 1 0 0

10 1 1 0 0 0 1 11

10 1 1 1 1 10

10 1 101

Fig. 7. Evolution and simulation of rule 110 on 11 framed by ω(10) and (011)ω.

With the references in Ollinger (2008) and Durand-Lose (2009b), it is hardto go below, say, 30 meta-signals for standard universality. Ollinger (2002);Cook (2004) and Richard and Ollinger (2008) provide universal CA with veryfew states but they use periodic extensions encoding a boolean function or acyclic tag system, which leads to many meta-signals.

4.1 Robust weak universality

Previous construction is not robust since it works with collisions of threesignals. If one signal is slightly moved, then the exact collision of three signalsis transformed into a two-signal collision plus a signal on the side.

The CA simulation can be turned robust by adding a few rules and signals:leftward meta-signals are replaced by faster ones, and then each central stillsignal receives the information from the left (a 2-collision) and then from theright (another 2-collision). This is depicted on the example of Fig. 8.

The robustness is at the price of extra meta-signals to encode the information

12

Figure 1.9 – Évolution (bornée par les motifs respectifs ω(10) à gauche et (011)ω à droite) etsimulation de l’ACE 110 [Durand-Lose 2011a, Fig. 7].

1.3.2 Positionnement des machines à signaux

Nous comparons ici les machines à signaux avec les approches similaires dont nous avonsconnaissance, et nous clorons le chapitre en initiant une discussion sur les différents aspectsphysiques du modèle.

Approches similaires. Nous reprenons ici quelques uns des modèles géométriques décritsdans la Sous-sec. 1.1.2 et dont les contextes sont proches de celui des machines à signaux.Les machines euclidiennes abstraites, les pavages, les systèmes d’auto-assemblage et les AC nesont pas abordés ici. Nous pensons que par définition, leurs caractéristiques en font d’emblée desmodèles de natures géométriques très différentes de celle des machines à signaux. La notion decalcul (purement séquentiel) des machines euclidiennes ou le type d’espace-temps et de dyna-mique considérés (discret et/ou sans dynamique uniforme) dans le cas des pavages, des systèmesauto-assemblants et des AC constituent des points distinctifs fondamentaux pour le type d’étudeconsidérée ici.

Parmi les autres contextes de calcul géométrique déjà évoqués, le modèle des univers colorésde [Jacopini et Sontacchi 1990] semblent être le modèle qui se rapproche le plus des machines àsignaux. Les deux sont définis sur des univers continus de même nature (des espaces euclidiens),et leurs études sont essentiellement restreintes au cas d’objets rationnels.

Page 38: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

1.3. LES MACHINES À SIGNAUX EN TANT QUE MODÈLE DE CALCUL 21

Nous notons cependant des différences. D’une part, les motivations ne semblent pas être toutà fait les mêmes : elles sont dans le cas des machines à signaux l’étude abstraite de simplesobjets de base — les signaux — alors que l’étude des univers colorés est motivée par des consi-dérations de type physique comme la réversibilité. Les structures polyédrales considérées dans[Jacopini et Sontacchi 1990] résultent d’ailleurs d’hypothèses sur la nature de l’espace (vitessebornée, isotropie. . . ), et les signaux et les collisions constatés en sont une conséquence, et non lesobjets élémentaires qui fondent l’étude. D’autre part, les collisions considérées dans les universcolorés sont des boules et ont donc des dimensions non nulles, néanmoins non bornées inférieu-rement. L’une des différences majeures reste le traitement des accumulations : elles sont expli-citement exclues des univers colorés, et ni elles et encore moins les fractales ne sont considéréesdans les constructions.

Concernant les systèmes à dérivées constantes par morceaux (systèmes PCD), les principalesdifférences avec les machines à signaux sont à nos yeux : la non-isotropie de l’espace (due aupartionnement de l’espace en régions polyédrales à vecteurs constants), la séquentialité du calculet le recours à plusieurs dimensions spatiales pour obtenir des propriétés intéressantes. Troisdimensions spatiales sont en effet nécessaires aux systèmes PCD pour être Turing-universel,alors qu’une seule suffit aux machines à signaux. La puissance de calcul de ces systèmes a déjàété caractérisée, en fonction de la dimension des systèmes considérés. De plus, les systèmes PCDà paramètres réels ont été démontrés strictement plus puissants que ceux à paramètres rationnels.Une telle comparaison entre cas réel et cas rationnel n’est pas encore totalement explicitée dansle cadre des machines à signaux, dont les propriétés et pouvoir de calcul ont surtout été étudiésdans le cas rationnel et uniquement en dimension un.

Contrairement aux machines à signaux, les systèmes de transitions sur des espaces-tempscontinus ne constituent pas une approche géométrique mais proposent un formalisme basé sur desrègles d’inférences et la logique modale. De plus, les notions de base du modèle sont la transitiond’état d’un point et la diffusion d’information à travers l’espace. Cette notion de propagationd’information est proche de la notion de signal mais ne semble toutefois pas y être équivalente :elle permet l’apparition de « membranes » lors de la propagation d’un état à travers un autre,comme illustré par la Fig. 1.1(c). S’il est a priori possible de définir certaines classes de machinesà signaux dans le formalisme des systèmes de transition à temps et espace continus, il sembleraitque certaines machines (notamment les machines contenant des règles de collisions produisanttrois méta-signaux ou plus) ne soient pas formalisables dans ces systèmes de transition. De plus,l’interprétation en termes de machine de calcul y est beaucoup moins intuitive, et les travauxréalisés dans [Takeuti 2005 ; Hagiya 2005] ne traitent que de la réalisabilité de la trajectoired’un point (i.e. les états successivement pris par un point de l’espace) et non de dynamiques oud’aspects globaux.

Enfin, le paradoxe de Zénon est plus délicat à gérer dans ce contexte, la suite d’états prispar un point de l’espace pouvant être a priori infini dans les deux sens. Ce type de phénomèneest explicitement exclu par le système de règles d’inférences utilisé pour décrire les trajectoiresréalisables.

Considérations physiques sur les machines à signaux. Les travaux concernant les ma-chines à signaux ont été et sont encore surtout motivés par les aspects théoriques du modèle, dontl’étude apporte un point de vue différent sur les notions classiques liées au calcul. Néanmoins,nous pouvons reformuler leurs caractéristiques essentielles et énoncer les postulats physiques quisous-tendent ce modèle de calcul purement abstrait.

Si certains types de signaux et collisions ont déjà été utilisés de multiples façons pour modé-liser des phénomènes physiques [Adamatzky 2002], le modèle des machines à signaux n’a pourle moment aucune application en termes de modélisation. Cela tient sans doute aux définitions

Page 39: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

22 CHAPITRE 1. ÉTAT DE L’ART : ORIGINES ET ORIGINALITÉS DU MODÈLE

idéalisées des objets considérés : espace et temps continus, particules sans dimensions se dépla-çant sur espace à une seule dimension et à vitesse constante, collisions ponctuelles. Ces définitionsconstituent des hypothèses physiques fortes, qui rendent l’implémentation physique du modèlepeu probable, et sur laquelle nous n’avons a priori aucune perspective.

Les machines à signaux n’en respectent pas moins les postulats de base de certaines théoriesphysiques majeures comme celle de la relativité. En effet, la vitesse de propagation de l’infor-mation y est bornée (le principe de causalité est donc respecté), la densité d’information restebornée (dans le cas de diagrammes sans accumulation) et l’espace-temps considéré est homogène(en l’absence d’objets), l’espace étant de plus isotrope. Ces caractéristiques sont à recouper avecles principes formulés par Robin Gandy sur la réalité physique d’une machine de calcul : naturediscrète, vitesse d’information bornée, densité finie d’information, homogénéité de l’espace et dutemps, état quiescent presque partout (i.e. partout sauf dans une partie finie de l’univers). Il a étédémontré dans [Gandy 1980] qu’il est impossible pour une machine satisfaisant ces principes decalculer strictement plus qu’une machine de Turing. Mais les machines à signaux ne respectentpas la première hypothèse sur la nature discrète d’une machine physique de calcul. De plus, le mo-dèle est connu pour être super-Turing lorsque les accumulations sont considérées, et la présenced’accumulation viole l’un des principes de Gandy : celui de la densité finie d’information.

On notera que certaines classes de machines à signaux ont été étudiées avec des considérationsmotivées par la physique [Durand-Lose 2006b, 2012a] : c’est respectivement le cas des machinesréversibles (possibilité de connaître la totalité du diagramme uniquement à partir d’une configu-ration à un instant donné) et des machines conservatives (conservation d’une énergie à chaquecollision). Ces cas particuliers de machines respectent tous deux le principe de conservation del’énergie, à la base de la physique des particules et de la thermodynamique.

Page 40: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 2Machines à signaux

Nous présentons dans ce chapitre le modèle formel des machines à signaux, fournissant ainsiun cadre rigoureux à des figures géométriques comme la Fig. 1 de l’introduction, construitesà partir d’énoncés du type « quand un segment bleu de pente 1 et un segment vert de pente1/3 s’intersectent, un nouveau segment rouge de pente 2 les remplace ». Pour en donner uneinterprétation en termes de machines, nous formalisons les segments de droites colorées sousforme d’objets abstraits (les méta-signaux ) et nous décrivons leurs intersections par des règles(les règles de collisions). À partir de ces objets de base et de leurs instanciations en signauxet collisions, il devient possible d’étudier le calcul géométrique abstrait sous divers angles, quenous utilisons ici pour présenter les machines à signaux sous quatre aspects différents : machine,topologique, dynamique et géométrique. La multiplicité de ces points de vue provient du faitque l’on considère ici une dynamique de calcul sur un espace-temps euclidien (R× R+), qui estnaturellement muni d’une topologie (en tant qu’espace métrique) et d’une structure géométrique(en tant qu’espace affine).

Nous partirons des définitions de base déjà existantes et énoncées dans [Durand-Lose 2003],que nous rappellerons dans les deux premières sections : après avoir donné la définition de ma-chines à signaux à partir des primitives du modèle, nous formulerons de manière topologiqueles diagrammes espace-temps engendrés par ces machines. Cette approche topologique des dia-grammes fournit un cadre formel pour la définition et l’étude des accumulations. Nous associeronsensuite une dynamique aux diagrammes espace-temps, dont nous décrirons l’évolution en consi-dérant la suite des temps de collisions. Nous finirons le chapitre par un point de vue géométrique,en énonçant certaines propriétés d’invariance par transformations affines et en introduisant lesnotions de supports de machines et de diagrammes. Ces derniers concepts, dédiés à l’étude de lastructure globale des diagrammes espace-temps, seront ensuite utilisés pour démontrer certainespropriétés des accumulations et fractales dans le Chap. 4.

2.1 Point de vue machine

Nous définissons ici les machines à signaux de la manière qui semble la plus intuitive : unemachine à signaux sera constituée par un ensemble de méta-signaux et de règles de collisionsdéfinissant ce qui se passe lorsque plusieurs de ces méta-signaux se rencontrent. Nous commençonsici par détailler les primitives de calcul du modèle, qui nous serviront dans un second temps àdéfinir les machines à signaux sous forme d’un triplet.

Nous ne présentons ici que des machines à une seule dimension spatiale (les signaux sepropagent sur la droite réelle R), l’objectif principal de cette thèse étant d’utiliser des fractales àdes fins de parallélisme massif dans le plan (la seconde dimension correspondant alors au temps).

23

Page 41: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

24 CHAPITRE 2. MACHINES À SIGNAUX

Cependant, la définition peut facilement se généraliser à plusieurs dimensions 1 .

2.1.1 Les objets et notions de base du modèle

Comme mentionné dans Sous-sec. 1.1.2, les primitives d’un modèle de calcul définissent lesobjets de base et les opérations élémentaires autorisées, et conditionnent la forme que prend lecalcul dans ce modèle. Dans le cas des machines à signaux, les primitives de calcul sont de naturegéométrique : ce sont des segments colorés et leurs intersections. Nous les présentons ici d’unemanière plus abstraite, afin de les utiliser pour définir formellement les machines à signaux.

Les objets élémentaires du calcul par signaux sont de deux types : d’une part les signaux etd’autre part les collisions. Les signaux et les collisions sont des objets « concrets », dans le sensoù ce sont ceux qui sont utilisés lors d’une exécution de machine à signaux et dans le diagrammeespace-temps résultant. Les signaux et collisions sont en fait des instances d’objets abstraits,respectivement les méta-signaux et les règles de collisions, dont ils héritent des caractéristiques.

Méta-signaux et signaux. Les méta-signaux et les signaux constituent les objets fondamen-taux des machines à signaux. La relation entre ces deux types d’objets est de nature abstrac-tion/instanciation : les méta-signaux sont les éléments abstraits qui définissent les types designaux qu’une machine peut utiliser. On peut les comparer aux états utilisés par des machinesclassiques, comme une machine de Turing. Un signal est une version instanciée d’un méta-signalqui prend place dans l’espace-temps : un signal a donc une date de création et une date de fin(il peut également se propager indéfiniment). Il peut y avoir plusieurs signaux de même typeexistant simultanément dans une machine à signaux. Comme dans le cas des AC, les signauxpeuvent également être vus comme étant la trace dans l’espace-temps de particules se déplaçantdans l’espace. Leur vitesse étant constante, les traces résultantes de leurs mouvements sont dessegments de droite, signaux et particules constituent donc deux formalisations différentes de lamême notion (celle d’information), mais les signaux sont des objets unidimensionnels tandis queles particules sont des points sans dimension. Nous utiliserons dans ce manuscrit exclusivementle terme de signal. Un méta-signal sera identifié par son nom et on parlera indifféremment designal et de méta-signal : par abus de langage, on dira « un signal µ » au lieu de dire « un signalde type µ ».

Chaque méta-signal est muni d’une vitesse à valeur réelle, donnant la distance qu’il parcourten une unité de temps. La dynamique de propagation d’un signal (tant qu’il ne rencontre pasd’autre signal) se calcule alors simplement à l’aide de sa vitesse. Si un signal de vitesse ν estprésent en position x0 au temps t0, sa position x au temps t ≥ t0 sera donnée par :

x = x0 + ν · (t− t0) (2.1)

Vitesse d’un méta-signal. On remarquera que, comme l’espace et le temps sont respective-ment représentés horizontalement et verticalement, la vitesse d’un signal ne correspond pas à sapente dans un repère orthonormé classique. En effet, comme cela est représenté par la Fig. 2.1(a),la vitesse définit la distance parcourue par un signal en une unité de temps et la pente du seg-ment correspondant est donnée par l’inverse de la vitesse : un signal de vitesse 2 est représentépar un segment de pente 1/2. Deux signaux de même vitesse sont donc parallèles car étant demême pente. Nous ne raisonnerons qu’en termes de vitesse, cette notion étant ici plus intuitiveque celle de pente. En effet, l’espace dans lequel se propagent les signaux étant une droite, nouspouvons facilement obtenir la nouvelle position d’un signal partant d’une position donnée grâceà l’Eq. (2.1).

1. Nous donnerons d’ailleurs un bref exemple de machine à signaux à deux dimensions spatiales dans le Chap. 5.

Page 42: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.1. POINT DE VUE MACHINE 25

Plus un signal est rapide, plus sa pente est faible. Un signal de grande vitesse est ainsireprésenté par un segment de droite proche de l’horizontale. Notons qu’il est impossible d’avoirun signal horizontal : cela signifierait en effet que sa vitesse est infinie, ce que nous excluonsexplicitement du modèle. Un signal peut toutefois être vertical : il correspond alors à une vitessenulle et est stationnaire.

Nous considérerons par la suite des ensembles de méta-signaux, et leurs vitesses seront don-nées par une fonction S — la fonction vitesse — qui associera à chaque méta-signal la vitesseréelle correspondante : on aura S(µ) = ν si ν est la vitesse du méta-signal µ.

R

R+

µ (S(µ) = ν)1

ν

(a) Propagation d’un signal de type µ et de vitesse ν.

µ1µ2

µ3 µ4

µ5

(b) Règle de collisions R({µ1, µ2}) = {µ3, µ4, µ5}.

Figure 2.1 – Les objets de base du modèle.

Règles de collisions. Les règles de collisions définissent ce qu’il advient lorsque plusieurssignaux interagissent, c’est-à-dire qu’elles décrivent le comportement adopté aux intersections designaux. Un ensemble de règles de collisions peut être vu comme l’équivalent d’une table (d’unensemble, d’une fonction. . . ) de transitions d’une machine classique du type machine de Turing.L’ensemble de règles décrivant les interactions d’un ensemble de méta-signaux est ici donné sousla forme d’une fonction R— la fonction de collision — qui associe à tout sous-ensemble de méta-signaux un ensemble de méta-signaux : une règle s’écrit donc R({µ1, . . . µn}) = ({µ′1, . . . µ′m}).L’ensemble antécédent {µ1, . . . µn} est appelé ensemble de méta-signaux entrants et l’ensembleimage {µ′1, . . . µ′m} est l’ensemble des méta-signaux sortants associé à cette collision. La fonctionR est une fonction partielle : il existe en effet des contraintes sur les ensembles entrants etsortants. Il faut au moins deux méta-signaux pour provoquer une collision et des signaux demême vitesse ne peuvent être en collision (car ayant des trajectoires parallèles). De même, onimpose que deux signaux sortant d’une même collision aient des vitesses différentes (sinon, ilsrentreraient immédiatement en collision, pouvant éventuellement provoquer ainsi une chaîneinfinie de collision s’enchaînant de manière continue). La Fig. 2.1(b) fournit la représentationgraphique d’une règle de collisions : les signaux entrants arrivent par le bas, les sortants partentvers le haut (les segments représentant les signaux sont également munis de flèches indiquantleur direction).

De la même façon qu’un signal est une instance concrète d’un méta-signal, une collision estun objet qui prend place dans l’espace-temps et qui est entièrement caractérisée par la règle decollisions correspondante. Sur un point de collision, tous les signaux rentrants sont immédiate-ment remplacés par les signaux sortants, et cela en accord avec les règles de collisions. Dans lecontexte des machines à signaux, les caractéristiques importantes des collisions sont leur aspectdéterministe (des collisions avec les mêmes signaux en entrée produiront les mêmes signaux ensortie) et leur aspect ponctuel (une collision est un point sans dimension).

On distingue certaines formes particulières de règles de collisions qui correspondent à desfonctionnalités souhaitées pour certains signaux (voir Fig. 2.2). Nous en énumérons ici quelquesunes. Une règle dont les signaux entrants et sortants sont exactement les mêmes sera qualifiée derègle blanche : les signaux se croisent sans aucune interaction (voir Fig. 2.2(a)). Formellement,une règle blanche s’écrit R({µ1, . . . µn}) = ({µ1, . . . µn}). Cette forme est considérée ici comme

Page 43: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

26 CHAPITRE 2. MACHINES À SIGNAUX

la forme par défaut : toutes les règles de collisions non spécifiées d’une machine seront des règlesblanches. On dira d’une règle non blanche qu’elle est une règle significative. On appellera règled’annihilation une règle du typeR({µ1, . . . µn}) = ∅ , c’est-à-dire telle que l’ensemble des signauxsortants est vide (voir Fig. 2.2(b)). On appellera règle de rebond (ou plus simplement rebond)toute règle R({µ,w}) = {µ′,w}, avec S(µ2) < S(w) < S(µ1) ou S(µ1) < S(w) < S(µ2)(voirFig. 2.2(c)). Un signal w (pour wall) tel qu’aucun signal ne peut le traverser par définitiondes règles de collisions, sera qualifié de signal mur (un signal arrivant sur mur disparaît ourebondit). Un signal c (pour clean) est dit signal de nettoyage si toutes les règles de collisions(sauf éventuellement une pour stopper le processus) dans lesquelles il apparaît en entrée sont dela forme R({c, µ1, . . . µn}) = {c} : le seul signal sortant est c (voir Fig. 2.2(d)).

µ1µ2

µ1

µ2

(a) Règle blancheR({µ1, µ2}) = {µ2, µ1}.

µ1µ2

(b) Règle d’annihilationR({µ1, µ2}) = ∅.

µ1w

µ2 w

(c) Règle de rebondR({µ1,w}) = {µ2,w}.

c µ1

c

(d) Règle de nettoyageR({c, µ1}) = {c}.

Figure 2.2 – Quelques formes utiles de règles de collisions.

2.1.2 Machines à signaux

Nous pouvons maintenant énoncer la définition d’une machine à signaux. Une machine àsignaux sera composée d’un ensemble fini de méta-signaux et de deux fonctions définies à partirde cet ensemble : l’une fournissant la vitesse de chaque méta-signal et l’autre décrivant lesinteractions entre méta-signaux. Formellement :

Définition 1 (Machine à signaux)Une machine à signaux M est un triplet M = (M,S,R) tel que :

(i) M est un ensemble fini de méta-signaux ;

(ii) S :M→ R est la fonction vitesse qui associe à chaque méta-signal µ une vitesse S(µ) et

(iii) R : P(M) → P(M) est la fonction (partielle) de collision qui associe à chaque ensemblede méta-signaux ρ− ∈ P(M) satisfaisant card(ρ−) ≥ 2 et S�ρ− est injective, un ensemblede méta-signaux ρ+ tel que S�ρ+ est injective.

Les conditions sur la définition de R définissent les contraintes sur les collisions que nousavons déjà évoquées : d’une part, des signaux peuvent rentrer en collision seulement si leursvitesses sont différentes, et une collision implique au moins deux signaux ; et d’autre part, lessignaux résultant d’une collision doivent également avoir des vitesses différentes. Par la suite,nous identifierons la fonction de collision avec son graphe, dont nous identifierons les éléments àdes règles de collisions : on notera donc ρ− → ρ+ au lieu deR(ρ−) = ρ+, afin de garder l’intuitionde notion de règle. Nous noterons également parfois Rsign l’ensemble des règles significatives (i.e.non-blanches) : Rsign désignera l’ensemble {ρ ∈ R | ρ− 6= ρ+}. En général, on se contentera dedéfinir Rsign pour définir l’ensemble des règles d’une machine, les autres règles étant considéréescomme blanches par défaut.

La Figure 2.3 fournit un exemple complet de machine simple : l’ensemble des méta-signaux,ainsi que les valeurs correspondantes de la fonction S sont donnés en Fig. 2.3(a) ; l’ensemble R

Page 44: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.1. POINT DE VUE MACHINE 27

des règles de collisions est donné en Fig. 2.3(c). Une évolution de cette machine est représentéeen Fig. 2.3(b).

Méta-signal Vitesse

s1 1

s2 −1/2

s3 3

s4 0

(a) Méta-signaux.

EspaceR

Tem

ps

R+

s1

s1

s1

s4

s2

s2s2

s2

s3

s3

(b) Diagramme espace-temps.

{ s2, s1 } → { s2, s1, s3 }

{ s3, s4 } → { s2 }

(c) Règles de collisions.

Figure 2.3 – Exemple de machine à signaux et évolution à partir d’une configuration initiale.

Configurations et diagrammes. On appellera configuration l’« état » du système à un ins-tant donné, c’est-à-dire la liste des objets existant à ce moment et leurs dispositions dans l’espace(la droite réelle). Nous donnerons une telle description sous forme d’une fonction définie de l’en-semble des valeurs valides pour la machine : les méta-signaux (les valeurs des signaux) et lesrègles de collisions (les valeurs des collisions), auxquelles s’ajoute la valeur � (la valeur vide)pour désigner l’absence d’élément. On note V =M∪R∪ {�} l’ensemble des valeurs prises parla machine. Une configuration est donc une fonction définie de l ’espace R sur V.

Tout signal ou collision dans une configuration doit être spatialement isolé : la seule valeurarbitrairement proche est �. Nous ne considérons pas encore de valeur pour les positions qui ontdes signaux ou des collisions arbitrairement proches. Ces positions sont des points d’accumulationet prendront la valeur Z. De tels cas seront pris en compte par la formulation topologique dansla Sec. 2.2.

Définition 2 (Configuration)On appelle configuration toute fonction c : R → V telle que tous les signaux et collisions sontisolés : ∀x ∈ R, c(x) ∈M∪R ⇒ ∃ε > 0, ∀y, 0 < |x− y| < ε⇒ c(y) = �.On appelle support de la configuration c l’ensemble support(c) = {x ∈ R | c(x) 6= �}.

La condition de signaux et collisions isolés implique que le support d’une configuration estau plus dénombrable : il y a au plus un nombre dénombrable de méta-signaux et de collisionssur l’espace R. Nous ne travaillerons par la suite qu’avec des configurations finies c’est-à-dire desconfigurations à support fini.

On notera ct pour désigner une configuration au temps t ∈ R. Le support d’une configurationc, que l’on notera support(c), est l’ensemble des positions de valeur non vide pour cette configu-ration. Lorsque c(x) = v où x ∈ R et v ∈ M∪R, on notera v@x (cette notation implique doncque la valeur en x est non vide).

Nous définissons les configurations initiales comme des configurations munies d’une restrictionde finitude du support. Le temps étant homogène, on pourra toujours se ramener au temps t = 0comme origine pour le temps, et une configuration initiale sera toujours notée c0.

Définition 3 (Configuration initiale)Une configuration initiale est une configuration c0 : R→ V à support fini c’est-à-dire l’ensemble{x ∈ R | c0(x) 6= �} est fini.

Page 45: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

28 CHAPITRE 2. MACHINES À SIGNAUX

Une configuration initiale est complètement définie par la donnée d’un nombre fini de signaux,chacun étant associé à sa position spatiale sur la droite réelle (toutes les autres positions ayantalors la valeur vide). Nous expliciterons donc une configurations initiale c0 : R→M∪� par unensemble fini de la forme c0 = {µi@xi | µi ∈M, xi ∈ R}i∈I où I ⊂ N est fini, ou plus simplementpar c0 = {µ1@x1, . . . µn@xn} (µi@xi signifiant que le signal µi est initialement placé en positionxi ∈ R c’est-à-dire que c0(xi) = µi). On notera également parfois (µ1 µ2 . . . µn) pour désigner uneconfiguration telle que les positions xi respectives des signaux µi vérifient x1 ≤ x2 ≤ . . . ≤ xn.

La présence de collisions dans une configuration initiale correspond à la possibilité d’avoirplusieurs signaux à une même position (ces signaux sont de vitesses différentes, conformémentà la définition d’une règle de collisions). Pour rendre les notations plus claires, on s’autorisera àremplacer une collision dans la configuration initiale par l’ensemble des signaux sortants, placésà la même position que la collision. Ainsi, pour une collision {µ1, . . . , µp} → {µ′1, . . . , µ′q} initia-lement placée en position x, on utilisera la notation [µ′1, . . . , µ

′q]@x ou même µ′1@x, . . . , µ′q@x.

Avec cette notation, une configuration initiale peut s’exprimer par un ensemble fini d’élémentsde la forme µ@x, comme cela est illustré par la Fig. 2.4.

c0 = Rs1

0

s2

1

[s2,s3 ]

1410

Figure 2.4 – Configuration initiale correspondant au diagramme donné par la Fig. 2.3(b) :c0 = {s1@0, s2@1, [s2, s3]@14

10} = {s1@0, s2@1, s2@1410 , s3@14

10} .

Remarque 2. Nous insistons sur le fait que [µ′1, . . . , µ′q]@x = µ′1@x, . . . , µ′q@x est juste une

notation pour simplifier l’écriture des collisions quand on exprime une configuration initiale parun ensemble de valeurs non vides. Mais par définition, une configuration c0 reste une fonctionbien définie de R dans V: pour tout x ∈ R, la valeur c(x) est unique (et est soit un méta-signal,soit une collision, soit �). Nous utiliserons également cette notation pour les collisions dans desconfigurations quelconques (et pas seulement initiales). Dans ce cas, {µ′1@x, . . . , µ′q@x} devraêtre interprété par « toute collision en position x produisant l’ensemble {µ′1, . . . , µ′q} en sortie »,c’est-à-dire c(x) = ρ− → ρ+ avec ρ+ = {µ′1, . . . , µ′q}.

On appelle diagramme espace-temps d’une machine à signaux la figure géométrique à deuxdimensions obtenue par l’évolution de cette machine à partir d’une configuration initiale. Nousentendons ici par évolution d’une machine l’application des règles définies à chaque collision et lapropagation des signaux présents sur la droite réelle (suivant l’Eq. (2.1) décrivant la dynamiqued’un signal). L’évolution peut être complètement décrite par l’historique des collisions se pro-duisant au cours du temps sur la droite réelle. Nous formulerons les diagrammes espace-tempsde manière topologique en Sec. 2.2, en les considérant dans leur globalité c’est-à-dire sans lesmunir de dynamique.

Vocabulaire. Nous introduisons ici le vocabulaire qui sera utilisé pour décrire les configura-tions. Le support de la configuration c est l’ensemble des réels dont l’image par c est non videc’est-à-dire support(c) = {x ∈ R | c(x) 6= �}. On appelle partie significative d’une configuration(ou intervalle d’une configuration) le plus petit segment contenant son support : Ic est la partiesignificative de c si pour tout x ∈ support(c), on a x ∈ Ic et si pour tout J vérifiant cettepropriété, on a Ic ⊆ J .

À partir des notions de support et partie significatives, nous pouvons définir les notions decardinal, taille, bornes et extrémaux d’une configuration. On appelle cardinal d’une configurationle cardinal de son support : card(c) = card(support(c)). On dira que c est une configuration finiesi elle est de support fini. La taille d’une configuration, |c|, est donnée par la longueur de sa partie

Page 46: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.1. POINT DE VUE MACHINE 29

significative : |c| = longueur(Ic). La borne inférieure et supérieure de c sont définies comme lesbornes respectivement inférieure et supérieure de Ic . Lorsque ces bornes sont de valeur non vide,nous parlerons de minimum et de maximum de la configuration c. Nous noterons ces positionsrespectivement xcinf , x

csup, x

cmin et xcmax.

Remarque 3. On peut toujours considérer qu’une configuration s’écrit c = {µi@xi | µi ∈M, xi ∈ R}i∈I avec I ⊆ N. En effet, par définition des configurations, la condition d’isolementdes signaux et des collisions implique qu’il ne peut pas y avoir plus d’un nombre dénombrable devaleurs non vides dans une configuration. Le support d’une configuration c pourra donc toujourss’écrire support(c) = {xi ∈ I | I ⊆ N}.

La notion de support permet d’exprimer de nombreuses caractéristiques de configuration àpartir de son support ou de sa partie significative. Par exemple, le fait qu’une configuration c necontienne pas de collision est équivalent à support(c) ∩ R = ∅, et le fait que le signal le plus àgauche dans c est un signal de type µ s’exprime par c(min{support(c)}) = µ.

Configurations rationnelles et machines rationnelles. Les machines à signaux sont dé-finies sur R (vitesses à valeurs réelles et positions réelles), mais beaucoup de constructions nenécessitent en fait que peu de vitesses, que l’on peut souvent choisir rationnelles, et même entières.De même, des positions initiales rationnelles permettent de générer la plupart des constructionsprésentées ici. Les définitions suivantes formalisent de telles machines rationnelles :

Définition 4 (Configuration rationnelle)On dit que c est une configuration rationnelle si et seulement si ∀x ∈ R c(x) 6= � ⇒ x ∈ Q.

Définition 5 (Machine à signaux rationnelle)Une machine à signaux M = (M,S,R) est une machine rationnelle si et seulement si S(M) ⊆ Qet toute configuration initiale de M est rationnelle.

C’est-à-dire qu’une machine est rationnelle si toutes les vitesses ont des valeurs rationnelleset si toutes les positions initiales de valeur non vide considérées pour M sont aussi des nombresrationnels. Les positions des collisions sont solutions de systèmes d’équations rationnelles linéaires(données par les équations des mouvement des signaux, qui ont une vitesse constante). Donc dansle cas d’une machine rationnelle, tant qu’il n’y pas d’accumulation, les coordonnées de toutesles collisions resteront rationnelles, car Q étant un corps, toute solution d’équations du premierdegré à coefficients dans Q est encore dans Q.

Bien que restreintes, les machines à signaux rationnelles gardent un fort pouvoir de calcul :elles sont encore Turing-universelles [Durand-Lose 2006b]. Toutes les machines considérées dansce manuscrit sont des machines rationnelles (la plupart ayant même leur fonction vitesse à va-leur dans Z), à l’exception de celles du Chap. 4 où nous démontrerons des propriétés sur lesaccumulations qui dépendent de la (non) rationalité relative entre certaines grandeurs (et nonde leur rationalité absolue).

Notations et conventions d’écriture. Dans tout le manuscrit, nous adopterons les notationset conventions d’écriture suivantes.

Pour rendre plus claires les définitions de signaux, leurs noms seront surmontés de flèche (àla manière d’un vecteur) pour indiquer le signe de leur vitesse : une flèche droite (resp. gauche)indiquera une vitesse strictement positive (resp. strictement négative). Ainsi, un signal −→µ1 serade vitesse positive alors que ←−µ2 sera de vitesse négative et se déplacera vers la gauche. Le nomd’un signal sans flèche, comme µ0, désignera en général un signal de vitesse nulle c’est-à-direun signal stationnaire. Toutefois, on trouvera dans certains contextes, des noms de signaux quine seront pas surmontés d’une flèche, mais qui pourront avoir des vitesses non-nulles (ce sera le

Page 47: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

30 CHAPITRE 2. MACHINES À SIGNAUX

cas lorsque la vitesse d’un signal, et donc son signe, nous est inconnue). Notons que −→µ et ←−µdésignent bien deux méta-signaux différents : l’un allant vers la droite, l’autre vers la gauche (leurvitesse étant différente, ils constituent des entités différentes). L’utilisation du symbole sous laflèche (µ ici) indiquera que −→µ et ←−µ ont des rôles similaires, c’est-à-dire qu’ils auront les mêmesfonctionnalités dans une construction, l’un étant simplement la version droite et l’autre la gauche.Nous utiliserons également parfois une double flèche lorsque nous aurons besoin d’un signal sedirigeant dans la même direction qu’un signal de même type mais plus rapidement, c’est-à-direayant une vitesse de même signe, mais de valeur absolue strictement supérieure. Dans ce cas, −→µdésignera une version « lente » de µ se dirigeant à droite et =⇒µ désignera une version « rapide ».

On confondra souvent signaux et méta-signaux, que l’on notera µ de manière générale. Ce-pendant, dans certains contextes, on désignera plutôt les signaux par σ, soulignant ainsi le faitqu’ils appartiennent à un diagramme et sont des instances de méta-signaux (et sont donc munisde dates de création et d’une date de fin qui peut éventuellement être infinie). Pour les méta-signaux particuliers, qui ont une utilisation bien définie dans le cadre d’une machine particulière,leur nom sera donné avec une police sans empattement (police de type « sf »). Leur nom explici-tera leur rôle ou fonction, soit de manière explicite, soit en abrégé : −−→start et add désigneront desméta-signaux (et les signaux correspondants) dont les rôles respectifs sont d’initier un processuset de procéder à une addition.

On utilisera ρ pour désigner une règle de collisions de manière générale et ρ− et ρ+ seront lesensembles de signaux respectivement entrant et sortant, de telle sorte que ρ s’écrira ρ = ρ− → ρ+.On notera parfois une collision par C pour insister sur le fait qu’elle est instanciée (et admet descoordonnées) dans un diagramme espace-temps. On écrira préférentiellement les ensembles designaux entrants et sortants ordonnés respectivement par vitesses décroissantes et par vitessescroissantes. L’ordre d’écriture suivra ainsi l’ordre d’apparition des signaux dans une collisiondans le diagramme espace-temps, lorsque celui-ci est parcouru de la gauche vers la droite.

Les machines seront notées avec des lettres gothiques, éventuellement munies d’indices etd’exposants indiquant respectivement la fonction et les paramètres de la machine. Par exemple,M désignera une machine dans un contexte général et MR

add désignera la machine pour effectuerune addition binaire vers la droite. Les ensembles de méta-signaux seront toujours désignés parM, les ensembles de règles par R et les fonctions vitesses par S.

Une configuration sera toujours notée c et les diagrammes espace-temps seront notés par D.De plus, le temps t d’une configuration pourra être précisé en indice et des paramètres de laconfiguration pourront être donnés en exposants : cx1 désigne ainsi une configuration au tempst = 1 et utilise un paramètre x dans sa description (pour l’une de ses positions par exemple).L’ensemble des configurations d’une machine sera noté Config . Lorsque plusieurs machines serontconsidérées, on rajoutera éventuellement en indice le nom de la machine ou l’ensemble des valeursdes configurations i.e. on notera ConfigM ou ConfigV pour désigner l’ensemble des configurationsde la machine M ou l’ensemble des configurations à valeurs dans V. On notera ConfigfiniM (outout simplement Configfini) l’ensemble des configurations finies de la machine M.

Concernant l’évolution d’une machine, on désignera par M(c0) le diagramme complet obtenupar l’évolution de la machine M exécutée à partir de la configuration c0. Lorsque nous voudronsconsidérer uniquement la configuration obtenue par l’évolution de la machine, nous spécifieronsalors une durée en indice : la notation Md(c0) désignera ainsi la configuration obtenue aprèsl’évolution de la machine M pendant la durée d et à partir de c0.

Page 48: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.2. POINT DE VUE TOPOLOGIQUE 31

2.2 Point de vue topologique

On fournit ici une définition purement topologique des diagrammes espace-temps. Cette dé-finition fournit un cadre naturel pour exprimer la notion d’accumulation, puisqu’elle définit lesaccumulations dans le cadre des machines à signaux à partir de la notion d’accumulation topo-logique.

Espace-temps et topologie considérée. Un diagramme espace-temps peut être reformuléen des termes topologiques, à partir de la topologique classique sur R2 dont les ouverts sont ceuxgénérés par la distance euclidienne c’est-à-dire la distance d définie par :∀(x, t), (x′, t′) ∈ R× R+ d((x, t), (x′, t′)) =

√(x− x′)2 + (t− t′)2.

Cette distance génère une famille d’ouverts dont les ouverts de base sont des boules eucli-diennes : la boule de rayon ε et centrée en (x, t) est Bε(x, t) = {(x′, t′) | d((x, t), (x′, t′)) < ε}.Cette topologie est la topologie produit i.e. un ouvert de R×R+ est le produit d’un ouvert de Ret d’un ouvert de R+ (tous deux au sens de la topologie usuelle sur R). Nous pourrons égalementraisonner en termes de voisinages topologiques.

Configurations étendues et accumulations. Nous commençons par donner une définitionplus large des configurations pour prendre en compte la notion d’accumulation avec le symboleZ. Ces configurations étendues sont définies de manière que les configurations définies en Déf. 2mais la valeur Z est ajoutée aux valeurs possibles, et est attribuée à une position x qui est unpoint d’accumulation pour un ensemble de positions de valeurs non vides. On désigne par V+

l’ensemble des valeurs étendues : V+ = V ∪ {Z} =M∪R∪ {�,Z}.On rappelle qu’un point x ∈ X (où X est un ensemble topologique) est un point d’ac-

cumulation (au sens topologique) de l’ensemble E ⊆ X si pour tout voisinage Vx de x, l’en-semble E ∩ Vx est non-vide. Avec X = R et sa topologie classique, la condition devient :∀ε, card(E ∩ (x− ε, x+ ε)) > 1.

Définition 6 (Configuration étendue)Une configuration étendue est une fonction c : R→ V+ telle que :

(i) tous les signaux et collisions sont isolés :∀x ∈ R, c(x) ∈M∪R ⇒ ∃ε > 0, ∀y, 0 < |x− y| < ε⇒ c(y) = � ;

(ii) tout x qui est un point d’accumulation de c−1(V \ {�}) vérifie c(x) = Z .

Nous utiliserons le terme de configuration à la fois pour désigner des configurations simples(à valeurs dans V) et des configurations étendues (à valeurs dans V+) ; l’ensemble des valeurssera précisé quand le contexte l’imposera.

Un point x ∈ R vérifiant la condition (ii) de la Déf. 6 est appelé accumulation spatiale (ouaccumulation statique). Une accumulation spatiale en x correspond en fait à une accumulationtopologique du support de la configuration (définie sur l’espace de la machine) : le point x est unpoint d’accumulation de support(c) ⊆ R et vérifie donc ∀ε, 1 < card(support(c)∩ (x−ε, x+ε)).

Un autre type d’accumulation peut être envisagé : des accumulations temporelles ou accu-mulation dynamique. Elles correspondent également à des accumulations au sens topologique,mais sur l’espace-temps et non plus seulement sur l’espace. Pour définir ces accumulations, nousutilisons la notion de passé causal :

Définition 7 (Passé causal)Soit νmax (vitesse maximale droite) et νmin (vitesse maximale gauche) les valeurs maximale etminimale prises par la fonction vitesse S. On définit le passé causal (ou cône de lumière) aupoint (x0, t0) par : Γ−(x0, t0) =

{(x, t)

∣∣∣ t0 < t ∧ νmax·(t−t0) < x−x0 < νmin·(t−t0)}

.

Page 49: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

32 CHAPITRE 2. MACHINES À SIGNAUX

La Figure 2.5 illustre la notion de cône de lumière : la valeur de la position (x0, t0) dans lediagramme espace-temps dépend uniquement des valeurs prises dans la zone blanche inférieure.De même, la valeur en (x0, t0) ne pourra avoir d’influence que sur les positions situées dans lazone blanche supérieure.

espace

temps

νmin

νmax

(x0, t0)

Γ−(x0, t0)

Figure 2.5 – Passé causal et cône de lumière.

Remarque 4. La valeur V définie par V = max{|νmax|, |νmin|} représente la vitesse maximalede propagation de l’information dans la machine à signaux considérée, et peut être vue commel’équivalent de la vitesse de la lumière dans la théorie de la relativité restreinte.

La notion de passé causal permet de définir des accumulations ne pouvant être provoquées qued’une manière dynamique : les valeurs s’accumulent dans le passé causal et non plus seulementdans l’espace comme c’est la cas pour les accumulations statiques :

Définition 8 (Accumulation dynamique)On dit que le point (x0, t0) est une accumulation dynamique si pour tout voisinage V(x0,t0) de(x0, t0), il y a une infinité de signaux ou collisions dans V(x0,t0) ∩ Γ−(x0, t0).

Diagrammes espace-temps topologiques. Les diagrammes espace-temps de machines àsignaux peuvent être reformulé en termes topologiques, à partir de la distance euclidienne sur R2

(et plus généralement à partir d’ouverts). La définition topologique d’un diagramme implique quel’espace et le temps sont considérés dans un même objet unique — une structure d’espace-temps— a priori dénué de dynamique. Formellement :

Définition 9 (Diagramme espace-temps topologique)Un diagramme espace-temps topologique associé à une machine à signaux M = (M,S,R) estune application D définie sur R × [0, T ] où [0, T ] ⊂ R+ est un intervalle de temps (T peut êtreinfini) sur V+ l’ensemble des valeurs étendue de M, telle que :

(i) l’ensemble {x ∈ R | D(x, 0) 6= �} est fini et ∀x ∈ R, D(x, 0) 6= Z ;

(ii) si D(x, t) = µ ∈ M alors ∃ti, tf ∈ [0, T ] avec soit ti < t < tf soit 0 = ti = t < tf soitti < t = tf = T tels que :• ∀t′ ∈ ]ti, tf [ D(x, t′) + S(µ)(t− t′)) = µ,• ti = 0 ou D(xi, ti) ∈ R et µ ∈ (D(xi, ti))

+ avec xi = x+ S(µ)(ti − t),• tf = T ou D(xf , tf ) ∈ R et µ ∈ (D(xf , tf ))− avec xf = x+ S(µ)(tf − t) ;

(iii) si D(x, t) = ρ− → ρ+ ∈ R alors ∃ ε > 0, ∀t′ ∈ [t− ε, t+ ε], ∀x′ ∈ [x− ε, x+ ε]

• D(x′, t′) ∈ ρ− ∪ ρ+ ∪ {�},• ∀µ ∈ ρ− : ( D(x′, t′) = µ )⇔ ( t < t′ et x′ = x+ S(µ)(t′ − t) ),• ∀µ ∈ ρ+ : ( D(x′, t′) = µ )⇔ ( t′ < t et x′ = x+ S(µ)(t′ − t) ) ;

(iv) si D(x, t) = Z alors

Page 50: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.2. POINT DE VUE TOPOLOGIQUE 33

• soit ∀ ε > 0, {x′ ∈ R | D(x′, t) ∈M∪R}⋂

[x− ε;x+ ε] 6= ∅ ;• soit ∃ ε > 0, ∀(x′, t′) /∈ Γ−(x, t) tel que |x− x′| < ε, |t− t′| < ε on a D(x′, t′) = �

et ∀ ε > 0, card({(x′, t′) ∈ Γ−(x, t) | t− ε < t′ < t ∧ D(x′, t′) ∈ R}) =∞.

Comme V+ =M∪R∪ {�} ∪ {Z}, on a D(x, t) = � lorsque le point (x, t) ne valide aucunedes conditions de la Déf. 9 (toutes les valeurs de V+ sont exclues sauf �). La condition (i)signifie que la base du diagramme est une configuration initiale telle que définie en Déf. 3, quien plus ne contient pas d’accumulation. La condition (ii) implique que pour tout point (x, t) telque D(x, t) = µ, il existe une boule ouverte centrée sur ce point telle que la seule valeur non videdans cette boule est µ. La Figure 2.6 illustre pour chaque valeur possible l’existence de boulesouvertes telles que la valeur prise dans une boule est entièrement définie par une des conditionsde la Déf. 9. Les deux cas de la condition (iv) correspondent aux deux notions d’accumulation,respectivement temporelle et spatiale.

Espace

Temps

ε

ε′

Bε′ε′′

Bε′′

Figure 2.6 – Boules centrées sur des valeurs vide (Bε), signal (Bε′) et collision (Bε′′).

L’application D : R×[0, T ]→ V+ peut également être identifié à l’application définie de [0, T ]dans l’ensemble des configurations étendues i.e. D : t ∈ [0, T ] 7→ ct. Cette définition équivalenterevient à « découper » le diagramme en sections correspondant aux temps t ∈ [0, T ] : le diagrammeest alors formé d’une succession de configurations ct avec t ∈ [0, T ] et on a ct = x 7→ D(x, t). Onutilisera toujours la notation D quand il s’agit d’un diagramme espace-temps (défini sur R×R+)et on gardera la notation c pour désigner une configuration (définie sur R).

L’évolution d’une machine à signaux à partir d’une configuration initiale finie correspond(jusqu’à l’éventuelle apparition d’accumulations) à un diagramme espace-temps topologique quirespecte la Déf. 9 (voir [Durand-Lose 2003]).Remarque 5. On pourrait définir des diagrammes restreints en ajoutant à la Déf. 9 unecondition de finitude des configurations : ∀t ∈ [0, T ] l’ensemble {x ∈ R | D(x, t) 6= �} est fini.Dans ce cas, les accumulations sont nécessairement dynamiques (car une accumulation spatialeau temps t implique que le support de ct soit infini).

Diagrammes équivalents. On définit l’équivalence de deux diagrammes espace-temps : intui-tivement, deux diagrammes sont équivalents s’ils ont la même structure, c’est-à-dire les mêmesliens de causalité entre leurs collisions et signaux respectifs, indépendamment de leurs positionset du nom des méta-signaux. Nous modélisons l’invariance de structure grâce à la notion d’ho-méomorphisme : un diagramme obtenu par déformation continue gardera la même structuretopologique.

Définition 10 (Diagrammes espace-temps équivalents)Soient D et D′ deux diagrammes espace-temps de machines à signaux respectivement à valeursdans V+ =M∪R∪{�,Z} et V+′ =M′∪R′∪{�,Z}. On dit que D et D′ sont des diagrammeséquivalents si :

Page 51: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

34 CHAPITRE 2. MACHINES À SIGNAUX

(i) il existe un homéomorphisme h : R× R+ → R× R+, et(ii) il existe une bijection Φ : V+ → V+′ telle que Φ[M] = M′, Φ[R] = R′, Φ(Z) = Z et

Φ(�) = � et telle que ∀µ ∈M, ∀ρ ∈ R, µ ∈ ρ− (resp.ρ+)⇒ Φ(µ) ∈ Φ(ρ)− (resp.Φ(ρ)+),

qui vérifient ∀(x, t) ∈ R× R+, D′(x, y) = Φ(D(h(x, y))).

La deuxième condition signifie que Φ induit une bijection de l’ensemble des méta-signaux deD sur les méta-signaux de D′ et de l’ensemble des règles de D dans celles de D′ telle que lesrôles des méta-signaux dans les règles sont conservés. Notons aussi qu’il est possible d’induireune application Φ : V+ → V+′ à partir d’une bijection φ : M → M′. Il suffit pour cela deposer Φ(µ) = φ(µ) (cas d’un méta-signal), Φ

({µ−i }1≤i≤n → {µ

+j }1≤j≤m

)= {φ(µ−i )}1≤i≤n →

{φ(µ+j )}1≤j≤m (cas d’une règle), Φ(Z) = Z et Φ(�) = �. La condition (ii) de la Déf. 10 est

alors équivalente à l’existence d’une bijection φ deM dansM′ telle que Φ, l’application induitepar φ de V+ dans V+′, est une bijection.

La définition implique que si D et D′ sont équivalents, alors le diagramme de Fig. 2.7(a)commute. L’application de l’homéomorphisme h déforme l’espace-temps de manière continue et lastructure du diagramme sera préservée lors de cette transformation. On peut également remplacerla condition « h homeomorphisme » par la condition équivalente « h bijection continue ».

Si les deux diagrammes ont le même ensemble de valeurs c’est-à-dire si ce sont deux dia-grammes d’une même machine, alors seule l’existence de l’homéomorphisme h est requise, unebijection de V+ dans V+′ = V+ étant trivialement donnée par l’identité. La condition devientalors : ∀(x, t) ∈ R × R+ D′(x, y) = D(h(x, y)), et on peut simplifier le diagramme commutatifen celui de la Fig. 2.7(b).

R× R+OO

h��

D′ // V+′

R× R+ D // V+��Φ

OO

(a) Cas général.

R× R+OO

h��

D′ // V+

R× R+

D

::vvvvvvvvv

(b) Cas de diagrammes de mêmes valeurs.

Figure 2.7 – Diagramme commutatif de diagrammes espace-temps équivalents.

Les deux diagrammes D et D′ étant associés à des machines, ils vérifient tous deux la Déf. 9.Il est alors immédiat que pour tout (x, t) ∈ R × R+, pour tout v ∈ V+′, on a : D′(x, t) = vvérifie l’une des conditions de la Déf. 9 si et seulement si D(h(x, t)) = Φ−1(v) vérifie la mêmecondition. En effet, la fonction h étant un homéomorphisme, l’existence d’ouverts est préservée.

Des diagrammes équivalents vérifieront les mêmes propriétés structurelles, comme l’enchaîne-ment et la causalité entre les collisions, la finitude du diagramme,etc. Nous verrons en Sec. 2.4des moyens de générer des diagrammes équivalents à un diagramme donné.

2.3 Point de vue dynamique

Nous présentons ici l’évolution d’une machine en termes de dynamique, en explicitant laconstruction de diagramme espace-temps en fonction des temps des collisions.

Suite des temps de collisions et front de collisions. Les collisions correspondent auxopérations élémentaires de calcul dans le modèle, et l’historique de leurs coordonnées permet deconnaître un diagramme espace-temps. Nous nous focalisons ici sur les temps de collisions carils correspondent aux changements significatifs dans le diagramme espace-temps, la dynamique

Page 52: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.3. POINT DE VUE DYNAMIQUE 35

entre deux temps successifs de collisions correspondant à la propagation uniforme et linéaire dessignaux. Pour formuler la suite des temps de collisions, nous utilisons la notion de délai jusqu’àla prochaine collision :

Définition 11 (Délai jusqu’à la prochaine collision)À partir d’un configuration c, le délai jusqu’à la prochaine collision ∆(c), est défini comme leplus petit réel positif d tel que :

∃x1, x2 ∈ R,∃µ1, µ2 ∈M

x1 + d·S(µ1) = x2 + d·S(µ2)c(x1) = µ1 ∨ (c(x1) = ρ− → ρ+ ∧ µ1 ∈ ρ+)c(x2) = µ2 ∨ (c(x2) = ρ− → ρ+ ∧ µ2 ∈ ρ+)

.

Cette valeur est +∞ s’il n’existe pas de tel d.

Étant donné un instant t, plusieurs collisions peuvent se produire de manière simultanée àl’instant t+ ∆(ct) (en effet, la définition n’impose pas l’unicité des signaux rentrant en collisionaprès la durée d). On parlera dans ce cas de front de collisions au temps t. De même, la collisionconsidérée pour définir ∆(c) peut se produire entre plus de deux signaux entrants. À partir dudélai entre deux collisions successives, nous définissons :

Définition 12 (Suite des temps de collisions)La suite des temps de collisions (tn)n est définie par :{

t0 = 0tn+1 = tn + ∆(ctn)

Cette suite est finie s’il existe n ∈ N tel que ∆(ctn) = +∞. Sinon, la suite est infinie et elle eststrictement croissante par définition, elle admet une limite : soit ∞, soit une limite finie que l’onappelle t. La Figure 2.8 donne un exemple de diagramme simple sur lequel sont positionnéesles premières valeurs de la séquence des temps de collisions.

Espace

Temps

t0

t1

t2

t3

Figure 2.8 – Un diagramme et les premiers temps de collisions.

Dynamique du calcul. Nous explicitons maintenant la construction dynamique d’un dia-gramme espace-temps.

Définition 13 (Dynamique)Soit ct une configuration au temps t. On définit pour tout t′ ∈ [t; ∆(ct)[ la configuration à l’instantt′ de la manière suivante. D’abord, les signaux sont disposés de telle sorte que ct′(x′) = µ si etseulement si ct(x) = µ ∨ (ct(x) = ρ− → ρ+ ∧ µ ∈ ρ+) où x = x′ + (t−t′)·S(µ). Il n’y a aucunecollision puisque t′ < t + ∆(ct). Ensuite les accumulations (statiques) sont placées : ct′(x′) = Z

Page 53: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

36 CHAPITRE 2. MACHINES À SIGNAUX

si et seulement si x′ est un point d’accumulation de c−1t′ (M). Toutes les autres positions ont une

valeur nulle : pour tout autre x, on a ct′(x) = �.Pour la configuration à l’instant t′ = t + ∆(ct), les collisions sont placées en premier :

ct′(x′) = ρ− → ρ+ si et seulement si pour tout µ ∈ ρ−, ct(xµ) = µ∨(ct(xµ) = ρ− → ρ+∧µ ∈ ρ+)

avec xµ = x′ + (t−t′)·S(µ). Puis les signaux sont placés de la même manière que précédemment,ainsi que les accumulations (statiques).Si la suite (tn)n est finie ou si sa limite est infinie, alors le diagramme espace-temps est en-tièrement défini. Dans le cas d’une limite finie t, la configuration au temps t est définie de lamanière suivante. Les accumulations (dynamiques) sont d’abord placées : ct(x) = Z si et seule-ment si ∀ε > 0 ∃x′ ∈ R, t′ ∈ R+ tels que |x − x′| < ε, t − ε < t′ < t et ct′(x′) ∈ M ∪ R.Ensuite, les collisions : ct(x) = ρ− → ρ+ si et seulement si ∀µ ∈ ρ−, ∃ε, ∀ε′, 0<ε′<ε tel quect−ε′(x

′ − ε′·S(µ)) = µ. Puis les méta-signaux sont placés : ct(x) = µ si et seulement si ∃ε, ∀ε′,0<ε′<ε, alors ct−ε′(x

′ − ε′·S(µ)) = µ. Enfin, les accumulations statiques sont placées.

À chaque instant, une valeur ne peut être associée à une position (selon la définition précé-dente) uniquement si aucune valeur n’a déjà été fixée pour cette position. Toutes les positionsnon encore définies à la fin prennent la valeur �. La dynamique est uniforme à la fois en tempset en espace.

Le programme java de Jérôme Durand-Lose qui permet de calculer et tracer les diagrammesespace-temps, utilise un principe similaire à celui énoncé dans la Déf. 13, sans toutefois gérerles valeurs d’accumulations. À partir d’une configuration donnée, toutes les collisions possiblessont calculées, fournissant ainsi le temps du prochain front de collisions (donné par la date decollision de plus petite valeur). La nouvelle configuration au temps de collisions suivant est alorsmise à jour en respectant les règles de collisions et les nouvelles positions des signaux. Puis leprocessus est réitéré jusqu’à atteindre un nombre de fronts de collisions initialement fixé.Remarque 6. Cette définition ne définit pas toujours une extension au calcul. En effet, quandil y a une infinité de signaux présents à l’instant t dans la configuration ct, ∆(ct) n’est plus définicomme un minimum mais comme une borne inférieure qui peut valoir 0.

2.4 Propriétés géométriques

Nous rappelons ici quelques propriétés géométriques des machines à signaux, notammentl’application de transformations géométriques au calcul. Nous introduisons ensuite de nouvellesnotions, les supports et l’inclusion de diagrammes, qui constituent des outils adaptés à l’étudede la structure des diagrammes espace-temps.

2.4.1 Transformations par fonctions affines

Nous rappelons ici quelques outils géométriques de base, qui ont été pour la plupart définiset utilisés dans [Durand-Lose 2003].

Transformations géométriques du calcul. Les transformations affines usuelles permettentde définir de nouvelles primitives sur le calcul, à niveau plus élevé que ceux des signaux etcollisions. En appliquant des transformations simples aux diagrammes, il devient possible de« geler », de déplacer ou de contracter/dilater le calcul respectivement par deux signaux parallèles,par une translation et par une homothétie.

Quelques signaux et règles simples (ajoutés à la machine) suffisent pour transformer lesdiagrammes selon des applications affines de partie linéaire positive (qui peuvent s’écrire commecomposées d’une translation et d’une homothétie de rapport positif). La Figure 2.9(b) illustreles effets de telles transformations sur l’exemple de diagramme en forme de bande donné en

Page 54: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.4. PROPRIÉTÉS GÉOMÉTRIQUES 37

Fig. 2.9(a) : une translation et une contraction (i.e. une homothétie de rapport 0 < r < 1) luisont appliquées respectivement en Fig. 2.9(b) et Fig. 2.9(c).

Par ailleurs, il est possible de ramener tout diagramme dans une zone d’espace-temps trian-gulaire. Pour cela, des contractions comme celle présentée en Fig. 2.9(c) sont itérées de telle sorteque le diagramme soit toujours inclus dans cette structure contractante bornée par un triangle :la Fig. 2.9(d) illustre le diagramme résultant d’une telle construction. On remarque que sur cetexemple (ainsi que sur tout exemple donné à partir d’un diagramme infini), comme le diagrammede référence donné en Fig. 2.9(a) contient une infinité de collisions et qu’il est ici inséré dans lastructure itérative, celle-ci contiendra également une infinité de collisions, produisant ainsi uneaccumulation tout haut de la structure triangulaire.

(a) Référence.

62 Chapitre 6. TRANSLATIONS

debut

du calcul

suite

du calcul

debut

du calcul

suite

du calcul

Translation

Fig. 6.1 – Principe de translation.

Referenceβ = 3 β = 3 β = 3θ = 1 θ = 0 θ = −3

Fig. 6.2 – Exemples de translations.

6.1.1 Construction

Une transition est definie par deux parametres : β, la vitesse de toggle et, θ, la vitessedes signaux en translation. Les trois parties du calcul, avant, durant et apres la translationsont isolees. La modification d’une machine ne peut se faire que si la condition suivante estverifiee :

(νMmax

< β ) ∧ ( θ < β )�

( β < νMmin

) ∧ ( β < θ )�

(6.1)

Cette condition est importante car elle signifie que toggle rattrape tous les signaux, que lessignaux en translation sont bien entre les deux toggle et qu’une fois degele, aucun signal nepeut rattraper toggle.

La machine est modifiee de la facon suivante (l’algorithme est defini sur la Fig. 6.3) :Tout d’abord le meta-signal toggle est cree, sa vitesse est β.Pour chaque meta-signal originel µ, un nouveau meta-signal µ� de pente θ est ajoute ainsi

que deux regles assurant la bascule entre µ et µ� au passage de toggle. Cela correspond auxlignes 6 a 9 de l’algorithme de la Fig. 6.3.

(b) Translation. (c) Contraction. (d) Contractions itérées.

Figure 2.9 – Exemples de transformations géométriques [Durand-Lose 2003, Fig. 6.2, 7.6 et 7.9].

Transformations des vitesses. Nous montrons ici qu’il est possible de changer les vitessesd’une machine à signaux sans changer la nature des calculs qu’elle effectue, c’est-à-dire tout engardant des diagrammes espace-temps équivalents.

Appliquer une fonction affine de ratio strictement positif aux valeurs de vitesses d’une machinene change pas la structure du diagramme espace-temps engendré par la machine :

Lemme 1 (Invariance du calcul par transformation affine des vitesses)Soit M une machine à signaux et f : R→ R une fonction affine de ratio strictement positif. SoitMf la machine à signaux obtenue en appliquant f à toutes les vitesses de M c’est-à-dire que lafonction vitesse de Mf est égale à f ◦ S où S est la fonction vitesse de la machine M. Alors Mf

génère des diagrammes espace-temps équivalents à ceux générés par la machine M.

Démonstration. Soit a ∈ R+ et b ∈ R tels que f(x) = a · x + b pour tout x ∈ R. Soit D undiagramme espace-temps de M et soit D′ le diagramme généré par Mf sur la même configurationinitiale que D.

Ajouter la constante b à toutes les vitesses dévie progressivement toutes les positions spatialesmais garde les dates de collisions inchangées. On vérifie facilement que (x, t) ∈ R×R+, D′(x, t) =D(x − b · t, t). Dans le diagramme D, après une durée ∆t, la position x1 d’un signal µ situéen x0 au temps t0 est donnée par x1 = ∆t · S(µ) + x0 (tant qu’il n’entre pas en collision).Dans le diagramme D′, sa nouvelle position est donnée par : x′1 = ∆t · (S(µ) + b) + x0 =∆t · S(µ) + x0 + ∆t · b = x1 + ∆t · b et on a donc bien c′(x, t) = c(x − b · t, t). Dans le casd’une collision se produisant aux coordonnées (x, t) entre deux signaux µ1 et µ2 (si la collisionimplique plus de deux signaux entrants, on peut ramener le système d’équations décrivant lemouvement des signaux concernés à une seule équation concernant l’intersection des trajectoiresde seulement deux de ces signaux), on sait qu’il existe un temps t0 tel que t est solution del’équation (t− t0) · S(µ1) + x1 = (t− t0) · S(µ2) + x2, où x1 (respectivement x2) est la position

Page 55: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

38 CHAPITRE 2. MACHINES À SIGNAUX

spatiale de µ1 (respectivement µ2) au temps t0. Ajouter b aux vitesses de µ1 et µ2 ne change pasl’équation (car le terme (t − t0) · b = ∆t · b apparaît dans les deux membres de l’égalité) doncle temps t1 solution de l’équation est le même dans le diagramme D′. La position de la collisiondans le diagramme D′ est donnée par x′ = (t− t0) · (S(µ1) + b) + x1 = x+ ∆t · b, et on obtientégalement dans le cas d’une collision D′(x, t) = D(x − b · t, t). Comme les positions de tous lessignaux et de toutes les collisions sont déviées uniformément, la position d’une accumulationsera également déviée de la même façon : si D(x, t) = Z alors D′(x + b · t, t) = Z. En effet, sil’accumulation est statique, les valeurs s’accumulant dans l’espace verront leurs positions déviéesde la même façon et donc la position de l’accumulation sera également déviée. Si l’accumulationest dynamique, son cône de lumière est dévié en même temps que toutes les positions contenuesdans celui-ci : son passé causal contiendra donc encore une infinité de collisions.

On montre de la même façon que multiplier toutes les vitesses par la constante positive amodifie toutes les dates mais conserve toutes les positions spatiales (car a > 0). On a pour tout(x, t) ∈ R× R+, D′(x, t) = D(x, a · t).

Finalement, appliquer f aux vitesses est équivalent à les multiplier par a et à leur ajouterb et donc pour tout (x, t) ∈ R × R+, D′(x, t) = D(x − b · t, a · t). En particulier, les collisionssimultanées, les signaux s’intersectant et les signaux parallèles dans D le sont encore dans D′.

La fonction h : R×R+ → R×R+ définie par h(x, t) = (x−b·t, a·t) est un homéomorphisme (lesdeux composantes de h sont continues et la bijectivité se vérifie facilement). On a donc montréqu’il existe un homéomorphisme h tel que pour tout (x, t) ∈ R × R+, D′(x, t) = D(h(x, t)),c’est-à-dire d’après la Déf. 10 que D et D′ sont équivalents.

Normalisations des vitesses. Étant donnés deux réels c et d tels que c < d, ce lemmepermet de transformer toute machine M dont les vitesses incluent les valeurs a et b (avec a < b)en une machine équivalente Mf telle que les vitesses de Mf incluent les valeurs c et d. En effet,la fonction f : R → R définie par f(x) = d−c

b−a · x + cb−adb−a est une fonction affine de coefficient

strictement positif (car c < d et a < b) qui vérifie f(a) = c et f(b) = d. Le Lemme 1 nous assurealors que M et Mf génère des diagrammes espace-temps équivalents.

Par exemple, toute machine à signaux ayant au moins deux vitesses différentes, peut êtretransformée en une machine équivalente dont l’ensemble des vitesses inclut les valeurs 0 et 1 (outout autre paire de nombres réels distincts).

Transformations des configurations initiales. Le calcul est également préservé lorsqu’onapplique des transformations affines aux configurations initiales :

Lemme 2 (Invariance du calcul par transformation affine des configurations initiales)Soit f : R→ R une fonction affine de ratio strictement positif et D un diagramme engendré parune machine M à partir d’une configuration initiale c0. Alors le diagramme D′ engendré par Mà partir de la configuration c′0 définie par c′0(x) = c0(f(x)) pour tout x ∈ R, est équivalent à D.

Démonstration. Si f(x) = a · x+ b (a > 0) pour tout x ∈ R, alors on montre de la même façonque pour le Lem. 1 que pour tout (x, t) ∈ R× R+, on a D′(x, t) = D(x− b, 1

a · t). On en déduitdirectement que les diagrammes D et D′ sont équivalents.

2.4.2 Supports et inclusions de diagrammes

On introduit ici des notions permettant de décrire et de comparer les structures des dia-grammes, en ne considérant que les positions de valeur non vide, et ce, indépendamment de lavaleur exacte de la position du moment qu’elle est non vide.

Page 56: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.4. PROPRIÉTÉS GÉOMÉTRIQUES 39

Notion de supports. Afin d’étudier et de « borner » la structure des diagrammes de machinesà signaux, nous définissons une notion de support, à la fois pour les machines et les diagrammes.Intuitivement, lamachine support M de la machine à signauxM est définie à partir de l’ensembledes vitesses différentes de M. Les règles de collisions sont définies pour produire le maximumde signaux en sortie, de telle sorte que toute règle de M soit « incluse » dans une règle de lamachine support.

On appelle machine à signaux à n vitesses toute machine ayant exactement n valeurs dis-tinctes pour les vitesses des méta-signaux la composant, i.e. telle que card(Im(S)) = n.

Soit M = (M,S,R) une machine à signaux. On définit sur M une relation binaire ∼ telleque pour tous µ, σ ∈ M, µ ∼ σ ⇔ S(µ) = S(σ). La relation ∼ est clairement une relationd’équivalence. Une classe d’équivalence pour ∼ contient exactement tous les méta-signaux deM ayant la même vitesse. M étant fini, chaque classe d’équivalence l’est aussi. On choisit unsystème de représentants {µi}1≤i≤n, où n est le nombre de classes c’est-à-dire le nombre devitesses distinctes de M. On écrira [µ]∼ pour désigner la classe d’équivalence du méta-signal µ.

Définition 14 (Machine support)Soit M = (M,S,R) une machine à signaux. La machine support M de M est la machine àsignaux M = (M′,S ′,R′) telle que :

(i) M′ =M/ ∼ ;

(ii) S ′ :M′ → R définie par S ′([µ]∼) = S(µ) ;

(iii) R′ = { ρ− → ρ+| ρ− ⊆M′, card(ρ−) ≥ 2 et ρ+ =M′ }.

Pour chaque valeur distincte de vitesse, on choisit un unique méta-signal ayant cette vitessedans la machine originale M. L’ensemble des règles de collisions est défini de la façon suivante.Pour chaque collision possible, l’ensemble des signaux sortants est M′ (l’ensemble de tous lesméta-signaux). Cette définition est possible car tous les méta-signaux dansM′ ont des vitessesdeux à deux distinctes.

On étend ensuite la surjection canonique µ 7→ [µ]∼ en une surjection Π : R → R′. Pour toutρ = {µ−i }i∈I → {µ

+j }j∈J ∈ R, on définit Π(ρ) = ρ′ ∈ R′ par ρ′ = {[µ−i ]∼} →M′ (l’ensemble des

méta-signaux sortants de C ′ est l’ensemble de tous les méta-signaux M′, et ρ′ appartient bienà R′ définie ci-dessus). On étend également cette surjection aux configurations : étant donnéeune configuration c de la machine M, on note c la configuration c dans laquelle chaque signalM (resp. chaque collision C) est remplacé par un signal [µ]∼ (resp. par une collision Π(C)),toutes les positions restant inchangées. Clairement, c est une configuration pour la machine M.On peut maintenant définir la notion diagramme espace-temps support :

Définition 15 (Diagramme support)Soit D diagramme espace-temps de la machine à signaux M généré à partir de la configurationinitiale c0. On définit D le diagramme support du diagramme D comme le diagramme espace-temps généré par M à partir de la configuration initiale c0.

Le diagramme support du diagramme utilisé dans les exemples précédents est donné enFig. 2.10. Attention à bien distinguer cette notion de diagramme support (resp. configurationsupport) de celle de support d’un diagramme (resp. support d’une configuration) : un diagrammesupport d’un diagramme est un diagramme D alors que le support d’un diagramme est unensemble (donné par support(D) = {(x, t) ∈ R× R+ | D(x, t) 6= �}).

La notion de machine support sera particulièrement utile pour étudier les accumulations,notamment parce qu’intuitivement, les accumulations apparaissent plus facilement lorsque lescollisions génèrent beaucoup de signaux, et dans le cas d’une machine support, tous les signauxpossibles sont générés à chaque collision.

Page 57: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

40 CHAPITRE 2. MACHINES À SIGNAUX

R

R+

(a) Un diagramme espace-temps.

R

R+

(b) Son diagramme support.

Figure 2.10 – Le diagramme support du diagramme de la Fig. 2.8.

Notions d’inclusion. On définit ici une notion d’inclusion de configurations et de diagrammes.Cette notion sera utilisée conjointement avec celles de configurations et diagrammes supportspour étudier au Chap. 4 la structure des diagrammes et des accumulations n’impliquant qu’unfaible nombre de vitesses différentes.

Définition 16 (Inclusion de diagrammes)Soient D et D′ deux diagrammes de machines, respectivement définis sur R× [0;T ] et R× [0;T ′].On dit que D′ est inclus dans le diagramme D (ou que D′ est supporté par D) si support(D′) ∩R× [0; inf(T, T ′)] ⊆ support(D) ∩ R× [0; inf(T, T ′)].

On notera alors D′ ⊆ D. La restriction des supports à R × [0; inf(T, T ′)] est nécessaire afinde comparer les supports des diagrammes sur la même portion d’espace-temps. On définit dela même façon la notion d’inclusion de configurations : une configuration c′ est incluse dans laconfiguration c si support(c′) ⊆ support(c).

On remarquera que ces définitions imposent uniquement que toute position de valeur nonvide pour le premier diagramme (resp. la première configuration) soit également non vide pourle deuxième diagramme (resp. la deuxième configuration). Elle n’impose pas que la valeur prisesoit exactement la même pour les deux diagrammes (resp. pour les deux configurations 2).

Remarque 7. Lorsque deux diagrammes D et D′ sont équivalents, l’homéomorphisme h tel que∀(x, t) ∈ R×R+, D′(x, y) = Φ(D(h(x, y))) (et où Φ est définie dansDéf. 10) fournit également lelien entre les supports de D et D′ : on a support(D) = h(support(D′)). En effet, pour tout (x, y),on a D′(x, y) 6= � si et seulement si Φ(D(h(x, y))) 6= �. Comme Φ est une bijection telle queΦ(�) = �, on en déduit que D′(x, y) 6= � si et seulement si D(h(x, y)) 6= �. On a donc (x, t) ∈support(D′) si et seulement si h(x, t) ∈ support(D), c’est-à-dire support(D) = h(support(D′)).

Nous montrons maintenant que les diagrammes supports « bornent » les structures des dia-grammes dans le sens où tout diagramme est inclus dans son diagramme support :

Lemme 3Pour tout diagramme D, on a D ⊆ D.

Démonstration. Soient D et D respectivement définis sur R × [0;T ] et R × [0;T ′]. Passer audiagramme support ne supprime aucun objet présent dans le diagramme initial mais peutseulement ajouter de nouveaux objets. Pour chaque signal (resp. collision) présent au point(x, t) dans D ∩ R × [0; inf(T, T ′)], il existe un signal (resp. collision) au point (x, t) dansD∩R×[0; inf(T, T ′)]. En effet, pour une collision C = {µ−i }i∈I → {µ

+j }j∈J telle que D(x, t) = C,

2. Ce cas fera l’objet de la Déf. 18 dans la sous-section suivante.

Page 58: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.4. PROPRIÉTÉS GÉOMÉTRIQUES 41

on a D(x, t) = Π(C) = {[µ−i ]∼}i∈I →M′ . Π(C) aura les mêmes coordonnées (x, t) que C, maiselle produira plus de signaux, correspondant à tous les méta-signaux de la machine support.Pour un signal µ tel que D(x, t) = µ, soit t = 0 et on a D(x, t) = D(x, 0) = [µ]∼, soit µ a étécrée dans une collision C en (x0, t0). Dans ce dernier cas, on a D(x0, t0) = Π(C) et l’ensembledes signaux sortants de Π(C) estM′, donc Π(C) génère en particulier le signal [µ]∼. Comme µet [µ]∼ sont tous les deux générés au point (x0, t0) de leurs diagrammes respectifs et que leursvitesses sont égales par définition de [µ]∼, ils ont exactement les mêmes équations de mouvementet passent par les mêmes positions spatiales aux mêmes moments. En particulier D(x, t) = [µ]∼.Donc dans les deux cas, si D(x, t) = µ alors D(x, t) = [µ]∼. Supposons que D contienne uneaccumulation au point (x, t): D(x, t) = Z. Il y a une infinité de signaux et collisions présentsdans Γ−(x, t) (le passé causal de (x, t) in D). Comme pour chaque signal (resp. chaque collision)présent dans Γ−(x, t), il existe un signal (resp. une collision) ayant exactement la même positiondans le diagramme support D, il y aura également une infinité de signaux et collisions dansΓ−(x, t), le passé causal de (x, t) dans D. On a donc D(x, t) = Z .

Finalement, on a ∀(x, t) D(x, t) 6= � ⇒ D(x, t) 6= � c’est-à-dire support(D) ⊆ support(D).

Comme nous n’avons pas défini de règles de continuation des diagrammes après les accu-mulations, la condition sur la restriction des supports à R × [0; inf(T, T ′)] dans la Déf. 16 estparticulièrement importante dans le cas des diagrammes supports. En effet, les diagrammes sup-ports, par leur définition, ont tendance à produire rapidement et beaucoup d’accumulations, etils peuvent notamment en contenir bien avant la première accumulation des diagrammes dont ilssont les supports. Le Lemme 3 peut être généralisé en ajoutant dans la définition des diagrammessupports qu’une accumulation produit tous les signaux possibles. Dans ce cas, le support d’undiagramme D est intégralement inclus (sans restriction sur les intervalles de temps) dans celuide son diagramme support i.e. support(D) ⊆ support(D).

De manière plus générale, on peut montrer que la relation d’inclusion de diagramme préservel’existence d’accumulation :

Lemme 4Soient D et D′ deux diagrammes espace-temps tels que D′ ⊆ D.Alors : ∀(x, t) ∈ R× R+ D(x, t) 6= Z ⇒ ∀(x, t) ∈ R× R+ D′(x, t) 6= Z.

C’est-à-dire : si D′ est inclus dans D et si D ne contient pas d’accumulation, alors D′ necontient pas non plus d’accumulation.

Démonstration. On a support(D′) ⊆ support(D). Comme D ne contient pas d’accumulation, ona ∀(x, t) ∈ R×R+, D(x, t) 6= Z. Pour tout (x, t) et pour tout voisinage V(x,t) ⊆ R×R+, il n’y aqu’un nombre fini de positions de valeur non vide dans V(x,t), c’est-à-dire que V(x,t)∩ support(D)est fini. Comme support(D′) ⊆ support(D), on en déduit que V(x,t) ∩ support(D′) est fini aussi.Donc pour tout (x, t) ∈ R× R+, D′(x, t) 6= Z i.e. D′ ne contient pas d’accumulation.

Remarque 8. Le Lemme 4 implique en fait que le nombre d’accumulations dans D est au moinségal au nombre d’accumulations dans D′. Mais D peut contenir strictement plus d’accumulationsque D′.

La combinaisons des Lem. 3 et 4 implique le corollaire suivant :

Corollaire 5Soit D un diagramme espace-temps d’une machine M. Si D ne contient pas d’accumulation,alors D n’en contient pas non plus.

Page 59: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

42 CHAPITRE 2. MACHINES À SIGNAUX

2.4.3 Opérations sur les configurations

Nous introduisons des concepts permettant de ramener l’étude d’une configuration à celled’une ou plusieurs autres configurations. Nous définissons pour cela diverses opérations sur lesconfigurations.

Normalisations de configurations. Il est possible d’appliquer diverses opérations aux confi-gurations sans en altérer la structure c’est-à-dire sans altérer l’ordre des signaux et leurs dis-tances relatives. De la même façon qu’appliquer une fonction affine aux vitesses ne change pas lastructure des diagrammes espace-temps correspondants, appliquer une fonction affine à une confi-guration préserve également le diagramme généré sur cette configuration, tel que démontré enLem. 2. L’utilisation de fonctions affines permet de définir des normalisations de configuration :

Définition 17 (Normalisation d’une configuration)On définit c↪→ [a;b] la normalisation de la configuration c dans l’intervalle [a; b] en posant pour toutx ∈ R : c↪→ [a;b](x) = c( b−a

xsup−xinf· x+

axsup−bxinfxsup−xinf

), et où xsup et xinf désignent respectivement laborne supérieure et la borne inférieure de la configuration c.On définit ctrans(b) la translation par b de la configuration c par ctrans(b)(x) = c(x− b) pour toutx ∈ R.

La normalisation d’une configuration dans un intervalle permet donc de ramener la partiesignificative d’une configuration à un intervalle donné, tout en conservant les rapports de dis-tances (les distances absolues ne sont pas préservées). La translation d’une configuration est enfait un cas particulier de normalisation qui permet de ramener la première valeur non vide d’uneconfiguration à une position fixée. Par exemple, on pourra ainsi considérer des configurationsinitiales avec un premier signal en position 0. Lors de la normalisation d’une configuration dansun intervalle [a; b], les positions a et b seront de valeurs non vide si et seulement si les bornessupérieure et inférieure de c sont non vides (et peuvent donc être remplacées par xmax et xmin).

Restrictions et sous-configurations. Il est parfois plus approprié de raisonner sur des por-tions de configurations ou bien sur des positions ayant certaines valeurs dans une configuration.Nous définissons pour cela les notions de restrictions et de sous-configuration d’une configura-tion :

Définition 18Soit c une configuration à valeurs dans V. On définit la restriction de c à un intervalle I ⊆ Rpar la restriction classique i.e. c�I : I → V

x 7→ c(x).

On définit la restriction de c à l’ensemble de valeurs V′ ⊆ V comme la restriction de l’ensembleimage à V′ i.e. c�V′ : R → V′ .

x 7→

{c(x) si c(x) ∈ V′

� sinonOn dit que c′ est une sous-configuration de c si support(c′) ⊆ support(c) et pour tout x ∈support(c′) on a c′(x) = c(x). On notera dans ce cas c′ v c.On dit que c′ est une sous-configuration connexe de c si c′ v c et s’il n’existe pas de x dans lapartie significative de c′ tel que x ∈ support(c)r support(c′).

Unions de configurations. Il est possible de définir de nouvelles configurations à partird’opérations d’union de configurations. Nous proposons ici de telles opérations pour superposer,

Page 60: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

2.4. PROPRIÉTÉS GÉOMÉTRIQUES 43

concaténer et joindre deux configurations. De manière intuitive, ces opérations d’unions corres-pondent respectivement à une union simple, une union bout-à-bout et une union bout-à-boutavec identification des deux extrémités mises bout-à-bout.

Définition 19 (Superposition de configuration)Soient c et c′ deux configurations respectivement à valeurs dans V et V′. On suppose que pourtout x ∈ support(c)∩support(c′), on a c(x) = c′(x). On définit c∪c′, la superposition (ou union)des configurations c et c′, par c ∪ c′ : R → V ∪ V′ .

x 7→

{c(x) si x ∈ support(c)c′(x) sinon

On définit la concaténation de configurations à distance ε par l’union bout-à-bout des confi-gurations telle que le début de la deuxième configuration est situé à une distance ε de la fin dela première configuration :

Définition 20 (Concaténation de configurations)Soient c et c′ deux configurations respectivement à valeurs dans V et V′. Soit ε > 0.On définit c_εc′ la concaténation de c et c′ à distance ε par :c_εc′ : R → V ∪ V′ .

x 7→

c(x) si x ∈ support(c)c′(x′) si x = xcsup + ε+ x′ − xc

inf , avec x′ ∈ support(c′)� sinon

Dans une concaténation, lorsque la position maximale de la première configuration et laposition minimale de la deuxième sont bien définies et que leurs valeurs concordent, il est possibled’opérer une concaténation à distance ε = 0, fusionnant ainsi les deux extrémités concernées.Nous parlons dans ce cas de jonction de configurations :

Définition 21 (Jonction de configurations)Soient c et c′ deux configurations respectivement à valeurs dans V et V′. On suppose que xcmaxet xc

min sont définis et vérifient c(xmax) = c′(xmin). On définit c¬c′ la jonction de c et c′ par :c¬c′ : R → V ∪ V′

x 7→

c(x) si x ∈ support(c)c′(x′) si x = xcsup + x′ − xc

inf , avec x′ ∈ support(c′)� sinon

On parlera également de jonction suivant une valeur : celle donnée par c(xmax) = c′(xmin). Lasuperposition de configurations suppose une origine commune aux configurations (les positionsspatiales de même valeurs sont superposées). Au contraire, la concaténation et la jonction deconfigurations n’impose pas une origine commune, et ces opérations correspondent en fait àune superposition de configurations après que la deuxième configuration a subi une translationautomatique (translation de valeur xcsup + ε+ x′ − xc

inf ).

Page 61: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 62: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 3Algorithmique géométrique

Nous introduisons dans ce chapitre des définitions afin de formaliser dans le cadre des ma-chines à signaux les notions de codages d’entrée/sortie, de calcul, de résolution de problème et decomplexité. Ces définitions complètent celles du Chap. 2, donnant ainsi tous les outils nécessairespour parler d’algorithmique géométrique.

Nous commencerons par quelques exemples simples d’algorithmes géométriques, qui nousserviront à introduire de manière intuitive la notion de calcul par signaux et quelques méthodespour représenter des données avec des signaux et pour prouver la correction des constructions.Nous formaliserons ensuite ces notions : d’abord celle de codages de valeurs discrètes et continues,puis celle de calcul géométrique abstrait et enfin celle de résolution de problèmes sur machinesà signaux, que l’on distinguera en deux sous-concepts, celui de résolution spécifique et celuide résolution générique. Nous définirons également des relations entre configurations, afin de lesmanipuler plus facilement en tant que représentations des entrées/sorties sur machines à signaux.Enfin, après une brève discussion sur les différentes façons de mesurer la complexité d’un calculgéométrique abstrait, nous définirons deux nouvelles mesures de complexité d’un diagramme demachine à signaux. Ces nouvelles mesures prenant en compte les spécificités du modèle et sesprimitives de calcul, se nomment la profondeur de collisions et la largeur de collisions. Ellescorrespondent respectivement aux mesures en temps et en espace du calcul, et se définissentcomme les longueurs d’une chaîne maximale et d’une anti-chaîne maximale.

3.1 Exemples de calculs géométriques

Afin d’illustrer les définitions duChap. 2 et de donner l’intuition des concepts d’algorithmiquegéométrique, nous proposons ici une étude de trois exemples simples de calculs géométriques :celui du milieu d’un segment, celui de la soustraction et celui d’une addition binaire. Nousmontrons comment interpréter les diagrammes correspondants en termes de calcul, et donnonsles preuves de corrections correspondantes.

3.1.1 Calcul géométrique du milieu

Nous montrons ici comment la position exacte du milieu d’un segment réel peut être calculépar une machine à signaux simple. La machine Mmid utilisée est définie par les Fig. 3.1(a) et3.1(c) ; la Fig. 3.1(b) fournit l’exemple d’un diagramme représentant un calcul géométrique dumilieu.

On se donne comme configuration initiale c0 = {−→div@p,w@a, w@b }, où p < a < b. Le

segment [a; b] est directement encodé dans cette configuration : il est marqué par les deux signauxw. Décrivons de manière intuitive l’évolution de la machine Mmid à partir de la configurationc0. Après la première collision, les signaux

−→hi et

−→lo se propagent en direction du signal w de

45

Page 63: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

46 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

Méta-signal Vitesse

w 0−→div 3−→hi 1−→lo 3←−−back −3

(a) Méta-signaux.

−→div w

−→lo

w

−→hi

←−−backw

ww

•C1

•C2

•C3

(b) Diagramme espace-temps.

{w,−→div } → {w,

−→hi ,−→lo }

{−→lo , w } → {

←−−back, w }

{−→hi ,←−−back } → {w }

(c) Règles de collisions.

Figure 3.1 – La machine Mmid: calcul géométrique du milieu d’un segment.

droite. Or, par le choix des vitesses,−→lo se déplace trois fois plus vite que

−→hi . Donc le temps que−→

lo parcourt une distance d,−→lo , devenu

←−−back après le rebond sur w, aura parcouru une distance

trois fois plus grande et égale à 3d. La distance parcourue par←−−back est donnée par 3d− (b− a)

et à la rencontre avec−→hi , on aura d = 3d− (b− a), et donc d = b−a

2 , c’est-à-dire que la collisionentre

−→hi et

←−−back se produit exactement au milieu du segment [a; b].

Nous allons maintenant démontrer de manière calculatoire et formelle (en utilisant les équa-tions de mouvements des signaux) qu’à partir de la configuration initiale c0, on obtient bien uneconfiguration finale telle que le milieu du segment [a; b] est marqué par un signal w. Pour cela,nous calculons l’historique des collisions, en calculant les coordonnées de la prochaine collisionpuis en recommençant à partir de la configuration obtenue en appliquant la règle correspondanteà cette collision.

Évolution de la machine Mmid . Comme les deux signaux w sont parallèles, la premièrecollision a forcément lieu entre

−→div (qui se déplace vers la droite car étant de vitesse positive)

et le premier signal w. Les coordonnées (x1, t1) de la collision C1 sont solutions du systèmed’équations linéaires suivant, donné par les équations des mouvements des signaux

−→div et w

donnant leur position x au temps t :{x = 3t+ p (pour

−→div)

x = a (pour le premier w).

Le temps t1 de la première collision est donc t1 = a−p3 . La position correspondante x1 est

trivialement donnée par la position stationnaire de w: x1 = a. En appliquant la règle {w,−→div} →

{w,−→hi ,−→lo}, on obtient au temps t1 la configuration ct1 = {w@a,

−→hi@a,

−→lo@a, w@b }. Les

signaux−→hi et

−→lo se déplacent tous deux vers la droite en direction du signal stationnaire w mais

comme−→lo (de vitesse 3) est plus rapide que

−→hi (de vitesse 1), la collision suivante aura lieu entre

−→lo et le signal w de droite.

En appliquant le même calcul que ci-dessus, on déduit des équations de mouvement de−→lo et

w de droite, respectivement données par x = 3(t − t1) + a et x = b, que les coordonnées de ladeuxième collision C2 sont t2 = b−p

3 et x2 = b. Après application de la règle {−→lo , w} → {

←−−back, w},

la nouvelle configuration est ct2 = {w@a,−→hi@ b+2a

3 ,←−−back@b, w@b } : en effet, la nouvelle position

du signal−→hi qui se trouvait en x = a au temps t1 est donnée par x = (t2−t1)+a = b−p

3 −a−p

3 +a =b−a

3 + a = b+2a3 .

Page 64: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.1. EXEMPLES DE CALCULS GÉOMÉTRIQUES 47

De même, à partir de la configuration ct2 et des mouvements des signaux−→hi et

←−−back respecti-

vement donnés par x = (t− t1) +a et x = −3(t− t2) + b, on en déduit que la date de la troisièmecollision C3 est t3 = 3b−a−2p

6 et sa position est x3 = a+b2 .

En appliquant la dernière règle de collisions {−→hi ,←−−back} → {w} à la collision C3, on obtient

la configuration ct3 = {w@a, w@a+b2 , w@b}. La position du signal w intermédiaire est a+b

2et correspond donc bien au milieu du segment [a; b]. Comme seuls des signaux w apparaissentdans cette dernière configuration, plus aucune collision ne se produit car tous les signaux sontparallèles.

Dans cet exemple, la fin du calcul peut être définie de deux façons : soit par une durée d’évo-lution de la machine fixée en avance (la durée 3b−a−2p

6 ), soit par l’apparition d’une configurationstationnaire (ct3), qui ne permet plus aucune dynamique dans la machine.

Remarque 9. Le signal−→div n’est utilisé que pour démarrer le processus, et n’est pas indispen-

sable au calcul du milieu proprement dit. Il est possible de s’en passer en considérant commeconfiguration initiale la configuration obtenue après la collision entre

−→div et w et donnée par

c = { [w,−→hi ,−→lo ]@a, w@b } (et égale à la configuration ct1 précédemment décrite). Dans ce cas,

la durée du calcul (i.e. la hauteur de la construction) est b−a2 .

Cet algorithme géométrique de calcul du milieu fournit également une machine Mdiv quipermet de calculer la moitié d’une grandeur réelle positive. En effet, la distance d entre les deuxpremiers signaux de la configuration finale ct3 est égale à d =

∣∣a− a+b2

∣∣ = b−a2 , c’est-à-dire la

moitié de la distance entre les deux signaux w de la configuration initiale.

3.1.2 Algorithme de soustraction et de calcul du modulo

Nous donnons ici un autre exemple d’algorithme géométrique simple : la soustraction de deuxvaleurs réelles a et b. Comme en Sous-sec. 3.1.1, nous montrons ici qu’en encodant deux réelsa et b dans la configuration c0 =

{−→sub@s, w0@x0, wb@xb, wa@xa

}, avec s < x0 < xb < xa et

telle que a = xa − xb et b = xb − x0 l’évolution de la machine à signaux Msub, dont les méta-signaux et règles sont donnés par les Fig. 3.2(a) et 3.2(c), aboutit à une configuration finalede la forme c = {w0@x0, wb@xb, w@x, wa@xa}, qui encode le résultat de la soustraction a− bpar la distance entre wb et w, c’est-à-dire x− xb = a− b. Une telle évolution est illustrée par lediagramme espace-temps de la Fig. 3.2(b).

Méta-signal Vitesse

w0, wa, wb 0

−→sub, −−→copy 3

←−−copy −3

(a) Méta-signaux.

wb

wb

−→sub

←−−copy

w0 wa

wa

−−→copy

←−−copy−−→copy

w0 wa− b

ab

•C1

•C2

••

C3

•C4

(b) Diagramme espace-temps.

{−→sub, wb} → {←−−copy, wb, −−→copy}

{w0,←−−copy} → {w0,

−−→copy}

{−−→copy, wa} → {←−−copy, wa}

{−−→copy, ←−−copy} → {w}

(c) Règles de collisions.

Figure 3.2 – La machine Msub: soustraction géométrique.

Évolution de la machine Msub . Commençons par une remarque : comme pour l’exempledu calcul du milieu, le signal

−→sub est utilisé uniquement pour démarrer la soustraction avec plus

Page 65: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

48 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

de clarté. Sa position exacte s n’est pas importante du moment que s est la position la plus àgauche. On ne considérera pas ici la toute première collision, se produisant entre

−→sub et w0 (qui

est une collision blanche), mais on prendra sa date comme instant initial.Nous nous plaçons donc directement au niveau de la collision C1 qui se produit entre

−→sub et wb

et dont les coordonnées (x1, t1) vérifient x1 = 3t1+x0 (mouvement de−→sub, en x0 à l’instant t0 = 0)

et x1 = xb (pour wb). On en déduit facilement que t1 = xb−x03 (et de manière triviale x1 = xb).

L’application de la règle {−→sub, wb} → {←−−copy, wb, −−→copy} produit une nouvelle configuration, dont

une étude rapide montre que les deux collisions suivantes C2 et C3 auront lieu respectivemententre le w0 et ←−−copy pour une collision et −−→copy et wa pour l’autre. Les coordonnées (x2, t2) dela collision C2 entre w0 et ←−−copy sont x2 = x0 et t2 = 2t1 = 2xb−x03 . On calcule de même lescoordonnées de la collision C3 entre −−→copy et wa: t3 = xa−xb

3 + t1 = xa−x03 , et x3 = xa.

Nous pouvons désormais en déduire les coordonnées (x4, t4) de la dernière collision C4 seproduisant entre −−→copy (produit par la collision C2) et←−−copy (produit par C3) (la règle de collisionsentre −−→copy et wb étant blanche, la collision entre −−→copy et ←−−copy aura bien lieu). Les positions dessignaux −−→copy et ←−−copy étant respectivement données par x = 3(t− t2) +x0 et x = −3(t− t3) +xa,on obtient que t4 = 1

6 (3t3 + 3t2 + xa − x0) = xa+xb−2x03 et x4 = −3(t4 − t3) + xa = −(xa + xb −

2x0) + (xa − x0) + xa = xa − xb + x0.Après application de la règle {−−→copy, ←−−copy} → {w} correspondant à la collision C4, on obtient la

configuration stationnaire finale ct4 = { w0@x0, wb@xb, w@xa − xb + x0, wa@xa }. La distancey entre wb et w est donc égale à y = xa − xb + x0 − xb, c’est-à-dire en reprenant le codage initialdes réels a et b que a = xa − xb et b = xb − x0, y = a− b.

La largeur est trivialement donnée par xa − x0 = (xa − xb) + (xb − x0) = a + b. La hau-teur de la construction, et donc la durée totale ∆, est donnée par ∆ = t4 = xa+xb−2x0

3 =(xa−xb)+(xb−x0)+(xb−x0)

3 = a+2·b3 . Le diagramme comprend en tout (et indépendamment des va-

leurs a et b) six collisions (dont deux blanches), quatre signaux en configuration initiale et quatreen configuration finale.

Remarquons que la hauteur de la construction dépend du choix des vitesses. Si nous avionschoisi des vitesses −1 et 1 au lieu des vitesses −3 et 3, la construction aurait eu en vertu duLem. 1 une hauteur trois fois plus grande et égale à a + 2b. Ce choix de vitesses permet doncd’avoir des diagrammes moins hauts et est justifié par les calculs du modulo et de la divisioneuclidienne : ces constructions utilisent des soustractions successives et seront illustrées dans leprochain paragraphe. En modifiant la machine Msub, il est également possible de concevoir unemachine produisant des configurations de sortie ne contenant que deux signaux verticaux dontl’espacement encode le résultat de la soustraction.Remarque 10. Il est parfois plus convenable de se contenter de preuves intuitives, et il estpossible pour des petits exemples de déduire les propriétés recherchées à partir d’argumentssimples. Par exemple, dans le diagramme de la Fig. 3.2(b) vu comme une figure géométriquedans le plan euclidien, les signaux ←−−copy et −−→copy forment un parallélogramme, et les trianglesformés par les signaux ←−−copy (resp. −−→copy), w0 (resp. wa) et l’horizontale sont isométriques. Celapermet de déduire directement que la distance entre w et wa au sommet de la construction estégale à la distance entre w0 et −−→copy à la base du diagramme. La distance entre wb et w est doncbien égale à la différence entre a et b.

Le modulo et la division euclidienne. À partir de l’exemple de la soustraction, onobtient facilement le calcul du modulo et celui de la division euclidienne sur R (les notions dedivision euclidienne et modulo sur les réels seront précisées en Sec. 4.3). Par définition, le modulopeut se calculer en itérant des soustractions : il suffit donc de modifier la machine Msub pourqu’elle réitère la copie de la distance b grâce aux signaux ←−−copy et −−→copy. Le calcul se terminelorqu’il n’est plus possible de soustraire b : après nettoyage grâce à des signaux

←−−clean et

−−→clean,

Page 66: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.1. EXEMPLES DE CALCULS GÉOMÉTRIQUES 49

le résultat peut alors être représenté par l’espacement entre deux signaux verticaux, comme celaest illustré par la Fig. 3.3(a). Les règles correspondant à ces deux étapes (itération et arrêt)sont respectivement {−−→copy, wb} → {←−−copy, wb, −−→copy} et {wb, ←−−copy} → {

←−−clean, wb,

−−→clean}. Il est

également possible de concevoir une variante plus « compacte » (c’est-à-dire avec un diagrammemoins haut tout en ayant les mêmes vitesses) : la Fig. 3.3(b) en fournit un exemple. De même,en itérant la soustraction et en émettant un signal vertical à chaque fois que l’on soustrait b à lavaleur a, on obtient une construction géométrique calculant la division euclidienne et produisantle résultat codé en unaire, dont un exemple est donné par la Fig. 3.3(c).

(a) Calcul de 7/2 mod 1. (b) Calcul de 5/2 mod 1 (versioncompacte).

(c) Division euclidienne de 31 par4 avec résultat en unaire.

Figure 3.3 – Calculer le modulo et la division euclidienne à partir de la soustraction géométrique.

Les exemples des calculs géométriques du milieu et de la soustraction montrent comme il estpeut être fastidieux de prouver de manière analytique (i.e. avec les équations de propagation dessignaux) la correction de constructions géométriques pourtant simples. Nous allons illustrer dansla sous-section suivante comment la correction d’un algorithme géométrique de type combinatoirepeut se réduire à une preuve combinatoire. Une méthode plus générale de preuve de correctionsera fournie au Chap. 6 : elle permettra entre autres de simplifier les preuves de constructionscomplexes en les ramenant à des preuves de fonctionnalités plus basiques, comme celles effectuéesdans cette section.

3.1.3 Additionneur binaire géométrique

L’algorithme géométrique considéré ici est une construction permettant de calculer l’additionde deux nombres binaires. Cet algorithme fonctionne avec des valeurs discrètes (des entiers)fournies en entrée, et est donc de type combinatoire.

Les entiers n et m sont codés sous forme de deux faisceaux binaires [−→bin(n)] et [

←−bin(m)]

(respectivement en représentation big endian et little endian), et un signal +R placé entre cesdeux faisceaux déclenche l’addition. L’addition bit à bit est alors portée par un signal d’additionzig-zaguant entre les deux faisceaux. La Figure 3.4 illustre le principe de fonctionnement de lamachine Madd en donnant le diagramme pour l’addition de 6 et 3.

Lemme 6 (Correction de l’additionneur binaire)Soient n,m deux entiers. Le diagramme engendré par Madd à partir de la configurationcn,m0 =

{[−→bin(n)] +R [

←−bin(m)]

∣∣∣ (n,m) ∈ N× N}, vérifie :

(i) il y a toujours au plus un signal de type + entre les deux signaux end ;

(ii) le signal + disparaît avant la collision entre−→end et

←−end;

Page 67: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

50 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

+R

−→0

←−1−→+R

0

←−+ R0

−→1←−1

−→+R

1←−end

−→1

←−+ R1

−→1

−→0

−−→+R

10

−→end

=⇒+R1−→1

−→0

−→0

−→1

Figure 3.4 – Addition binaire géométrique de 6 et 3 par la machine Madd .

(iii) si un signal + rencontre un bit gauche puis un droit, alors le bit sortant de la deuxièmecollision est la somme binaire (XOR) des deux bits correspondants et l’éventuelle retenueest propagée aux bits suivants ;

(iv) le faisceau obtenue en sortie est [−→bin(n+m)].

Démonstration. Les différents points du lemme viennent de l’observation des règles de Madd

fournies par le Tab. 3.1.(i) Seules les règles ayant un signal de type + en entrée peuvent produire un signal de type

+, et en produisent au maximum un seul. Comme il n’y a qu’un seul signal de type + enconfiguration initiale, il y aura toujours au maximum un seul signal +. De plus, les règlesentre les signaux end et + sont des règles de rebond, ce qui garantit que + reste toujoursentre les signaux end.

(ii) Le nombre de bits rentrants diminue strictement à chaque collision avec +. Lorsqu’il nereste plus de bits dans les faisceaux d’entrée, une règle fait disparaître + lors d’une collisionavec end (sauf si un nouveau bit doit être créé par un signal

==⇒+R

10, auquel cas il disparaîtraaprès un aller-retour supplémentaire entre les deux signaux end).

(iii) Il suffit de constater que les règles du Tab. 3.1(c) suivent les règles d’une addition binaireclassique. La retenue est portée par le signal de type ←−+ (qui est soit

←−+R

0 , soit←−+R

1 ).(iv) On remarquera tout d’abord que les règles ne sont pas symétriques entre les versions droite

et gauche des signaux. En effet, le résultat étant envoyé vers la droite, il est nécessaire pouradditionner les deux bits correspondants de toujours commencer par le bit de droite. Lerésultat de l’addition de ces deux bits sera émis lors de la collision entre + et le deuxième bit(le bit arrivant de gauche). Lorsque la toute première collision ne se produit pas entre + etun bit gauche, nous ramenons le début de l’addition vers le premier bit du faisceau gaucheen utilisant le signal⇐===+shiftet les règles du Tab. 3.1(b), comme illustré par la Fig. 3.5(a). LeTableau 3.1(b) fournit également les règles pour gérer le cas d’une triple collision initiale.Le point (iv) se montre par induction. Le point précédent constitue l’étape d’inductiond’addition bit à bit. Il faut considérer maintenant ce qu’il se passe lorsqu’un faisceau a étéépuisé et qu’il reste des bits dans l’autre. Lorsqu’un faisceau est épuisé, le signal de type +continue de zig-zaguer, mais entre les bits du faisceau restant et le signal end opposé. On

Page 68: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.1. EXEMPLES DE CALCULS GÉOMÉTRIQUES 51

définit l’équivalent des règles d’addition de bits à bits, mais avec des rebonds sur end (avecl’éventuelle création d’un nouveau bit) : les règles utilisées sont données par le Tab. 3.1(d).En commençant par un bit de gauche, les bits sont successivement additionnés deux à deux,et le bit de sortie émis correspond bien aux deux bits à additionner. Lorsque le processusprend fin, il ne reste en sortie qu’un faisceau de bits et le signal

−→end. La configuration finale

est bien de la forme [−→bin(n+m)] : l’entier n+m est représenté en binaire en sortie.

(a) Méta-signaux et vitesses.

−→0 ,−→1 ,−→end 1

←−0 ,←−1 ,←−end,

←−−−endR −1

−→+R

0 ,−→+R

1 ,−−→+R

10 1←−+R

0 ,←−+R

1 ,←−−+R

10 −1=⇒+R

0 ,=⇒+R

1 ,==⇒+R

10 3⇐=+R

0 ,⇐=+R

1 ,⇐==+R

10 −3

+R 0⇐====+shift −3

(b) Démarrer l’addition.

{−→0 , +R } → {

−→+R

0 }

{−→1 , +R } → {

−→+R

1 }

{←−0 , +R } → {

←−0 , ⇐====+shift}

{←−1 , +R } → {

←−1 , ⇐====+shift}

{−→0 , ⇐====+shift} → {

−→+R

0 }

{−→1 , ⇐====+shift} → {

−→+R

1 }

{−→0 , +R,

←−0 } → {

←−+R

0 ,−→0 }

{−→0 , +R,

←−1 } → {

←−+R

0 ,−→1 }

{−→1 , +R,

←−0 } → {

←−+R

0 ,−→1 }

{−→1 , +R,

←−1 } → {

←−+R

1 ,−→1 }

(c) Additionner les bits.

{−→0 ,←−+R

0 } → {−→+R

0 }

{−→1 ,←−+R

0 } → {−→+R

1 }

{−→0 ,←−+R

1 } → {−→+R

1 }

{−→1 ,←−+R

1 } → {−−→+R

10}

{−→+R

0 ,←−0 } → {

←−+R

0 ,−→0 }

{−→+R

0 ,←−1 } → {

←−+R

0 ,−→1 }

{−→+R

1 ,←−0 } → {

←−+R

0 ,−→1 }

{−→+R

1 ,←−1 } → {

←−+R

1 ,−→0 }

{−−→+R

10,←−0 } → {

←−+R

1 ,−→0 }

{−−→+R

10,←−1 } → {

←−+R

1 ,−→1 }

(d) Cas des bits seuls.

{−→+R

0 ,←−end } → {

⇐=+R

0 ,←−end,

−→0 }

{−→+R

1 ,←−end } → {

⇐=+R

0 ,←−end,

−→1 }

{−−→+R

10,←−end } → {

⇐=+R

1 ,←−end,

−→0 }

{←−+R

0 ,−→end } → {

−→end,

=⇒+R

0 }

{←−+R

1 ,−→end } → {

−→end,

=⇒+R

1 }

(e) Finir l’addition.

{=⇒+R

0 ,←−end } → {

←−−−endR }

{=⇒+R

1 ,←−end } → {

←−−−endR,

−→1 }

{−→end,

←−−−endR } → {

−→end }

Tableau 3.1 – La machine Madd: méta-signaux et règles.

(a) Calcul de 6 + 3, avec recalage du signal initial. (b) Calcul de 17 + 2, avec résultat envoyé à gauche.

Figure 3.5 – Autres exemples d’additions binaires géométriques.

Tailles de la construction. Soit l la distance entre les deux signaux initiaux−→end et←−

end. Alors la hauteur h est donnée par h = l2 (car

−→end et

←−end de vitesses 1 et −1 et tout est

Page 69: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

52 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

fini après leur collision). Le nombre de collisions total est en O(log2(n) · log2(m)) et le plusgrand nombre de collisions enchaînées est en O(max(log2(n), log2(m))). Le nombre maximal designaux présents à un instant donné est égal au nombre de signaux présents en entrée c’est-à-dire(log2(n) + 1) + (log2(m) + 1) + 1 (car aucune des règles de collisions ne créé de signaux en plus).

3.2 Calcul géométrique abstrait

Sur un modèle de calcul non conventionnel, les primitives de calcul et les objets manipuléssont différents de ceux utilisés en calculabilité classique, et il faut donc redéfinir les notions clas-siques de codages de données, de problème, de solution avant de pouvoir parler d’algorithmiqueintrinsèque au modèle. Nous introduisons ici plusieurs notions de résolution de problèmes parmachines à signaux, ainsi que les notions en lien comme le codage/décodage des entrées et sorties,l’interprétation d’un calcul. . . afin de formaliser ce que l’on entend par « résoudre un problèmeavec des signaux ». Ces notions seront reprises et approfondies au Chap. 6 dans un contexteparticulier, celui des modules géométriques.

3.2.1 Représentations de l’information

Dans le modèle des machines à signaux, les objets basiques sont les signaux et les collisions,et ce sont en fait les seuls objets disponibles. La représentation d’informations et de données doitdonc se faire uniquement par ces objets. Il existe de nombreuses manières de coder des donnéespar des signaux et des collisions. Nous en présentons ici quelques unes uniquement basées surl’utilisation de signaux : une valeur sera codée par des signaux disposés dans une configurationselon un schéma donné. Nous différencions deux méthodes principales d’encodage, suivant le typede valeur à représenter. En effet, comme dans les modèles classiques, un réel ne se représente pasde la même façon qu’un entier.

Représentation de valeurs discrètes. Il est aisé de représenter des valeurs discrètes (finies)sur machines à signaux : il suffit d’utiliser des méta-signaux pour représenter des symboles. Ainsi,la représentation d’objets définis à partir d’un alphabet de taille k nécessitera k méta-signauxdifférents, plus éventuellement quelques signaux supplémentaires (par exemple pour marquer ledébut ou la fin de la représentation). De plus, il est important que ces méta-signaux soient demême vitesse, afin de garantir la stabilité du codage dans l’espace.

Exemple 1 : codage d’entiers en unaire.Les entiers peuvent se représenter de manière unaire en utilisant deux méta-signaux : le méta-signal −→un pour représenter le symbole « | » et le méta-signal

−→end pour marquer la fin de la repré-

sentation. Ces deux méta-signaux sont surmontés d’une flèche vers la droite, dénotant des vitessespositives : ils ont en fait la même vitesse, que l’on choisi égale à 1 pour simplifier. Ainsi, l’entiern que l’on représente habituellement par une concaténation de n symboles « | » (i.e.||...|)se code sur le même principe avec des signaux et sera représenté par la suite de signaux (

−→end

−→un . . .−→un), que l’on notera également (−→end −→unn). La Figure 3.6(a) fournit la représentation de

l’entier 3, avec des signaux régulièrement espacés et se propageant vers la droite.Comme les méta-signaux

−→end et −→un sont de vitesses 1, la séquence de signaux ainsi définie

est uniquement constituée de signaux parallèles et se propageant vers la droite. Nous pouvonsdéfinir de la même façon une représentation unaire d’un entier dans laquelle l’information sepropage vers la gauche. Nous ne nous intéressons pas pour le moment aux positions exactes deces signaux dans l’espace, mais à la séquence qu’ils définissent, sous forme d’une configuration.

Exemple 2 : codage d’entiers en binaire.Il est possible de définir sur le même principe que l’Ex. 1 un codage binaire des entiers. La

Page 70: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.2. CALCUL GÉOMÉTRIQUE ABSTRAIT 53

−→end −→un −→un −→un(a) Codage unaire de 3.

−→end −→1 −→1 −→0 −→1 −→0

(b) Codage binaire de 26.

base val

π

zero unit

1

(c) Codage du réel π.

Figure 3.6 – Exemples de codage de valeurs numériques par signaux.

représentation binaire nécessite trois méta-signaux de même vitesses (deux pour les symbolesbinaires 0 et 1, et un signal pour marquer la début ou la fin du codage) :

−→0 ,−→1 et

−→end. Pour

un entier n, les signaux seront disposés en suivant l’écriture binaire de n en représentation bigendian, le bit de poids fort étant le plus proche du signal

−→end. La Figure 3.6(b) fournit un

exemple de représentation binaire de l’entier 26, encodé par la séquence de signaux (disposés lesuns à la suite des autres, de gauche à droite) (

−→end−→1−→1−→0−→1−→0 ). Les bits de poids fort sont

aux débuts de la séquence, ceux de poids faibles à la fin, c’est-à-dire tout à droite. De manière

générale, si l’écriture binaire d’un entier n est donnée par bblog2(n)c . . . b1b0 =i=blog(n)c∑

i=0bi · 2i avec

bi ∈ {0, 1}, alors n sera représenté par la suite de signaux : [−→bin(n)] = (

−→end −−−−−→σblog2(n)c . . .

−→σ1−→σ0) où

−→σi est un signal−→1 (resp.

−→0 ) si bi = 1 (resp. bi = 0). La position exacte de chaque signal n’est

pas importante (cependant deux signaux ne peuvent avoir la même position au même instant,puisque les signaux utilisés ici sont tous de même vitesse), seul l’ordre des signaux est important.On définit de la même façon un faisceau binaire se déplaçant vers la gauche (i.e. de vitesse −1),correspondant à une représentation little endian.

Il est possible d’envisager de multiples variantes de ces encodages d’entiers : nous pouvons« encapsuler » complètement l’encodage entre deux signaux de type

−→end ou au contraire s’en

passer si l’on impose un espacement régulier entre les signaux (la fin de l’encodage étant alorsmarqué par l’absence de signal à la prochaine position).

D’autres types d’encodages existent pour représenter des valeurs discrètes non numériques :la Fig. 3.7 donne l’exemple de deux méthodes différentes de codage d’une formule booléenne.La première méthode (Fig. 3.7(a)) consiste à utiliser des signaux spécifiques à l’objet à encoder,tandis que la deuxième méthode (Fig. 3.7(b)) permet, pour un type d’objet donné, de représentern’importe lequel de ces objets à partir d’une famille finie de signaux fixés. Ces deux méthodes,respectivement qualifiées de spécifique et générique, seront détaillées et utilisées dans le cas deformules booléennes dans les Chap. 7 et 8.

−→xll1

−→xlrc2

−→¬lr

−→∨l

−→xr3

−→∧

(a) Codage spécifique de ϕ.

−→∧ −→∨ −→x −→¬ −→x −→β −→x −→

β−→β

−→γ −→γ

(b) Codage générique de ϕ.

Figure 3.7 – Exemples de codages d’une formule booléenne : cas de ϕ = (x1 ∨ ¬x2) ∧ x3.

Représentation de valeurs continues. Les machines à signaux formant un modèle de calculà temps et espace continus, elles permettent naturellement de manipuler des valeurs réelles oucontinues. En tant qu’ensemble de nombres réels, l’espace utilisé (R) contient déjà implicitementdes valeurs réelles. Il faudra néanmoins fixer des normes pour un encodage de valeurs continues :

Page 71: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

54 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

elles pourront par exemple être directement représentées par des positions de signaux donnés,ou bien être assimilées à des distances entres signaux.

Exemple 3 : codage de nombre réels.Comme illustré par la Fig. 3.6(c), un réel peut se représenter très simplement par la distanceentre signaux donnés : dans l’exemple, le nombre π est représenté par la distance (relative) entreles signaux base à val. Les réels négatifs peuvent également être représentés de cette façon, soiten considérant la mesure algébrique de la distance base à val (le réel encodé sera négatif si val està gauche de base), soit en imposant que base soit toujours à gauche et en utilisant des signauxval+ et val− pour indiquer le signe du réel encodé.

L’espace ne disposant pas d’échelle absolue, il faut fixer une unité de mesure, en utilisantpar exemple deux signaux zero et unit dont l’espacement fournira la longueur unité. On peutégalement déduire l’unité de mesure à partir de l’encodage d’une première valeur.

L’exemple de la Fig. 3.6(c) est donné avec des signaux stationnaires, mais il est possiblede considérer des signaux de vitesses non nulles (les signaux utilisés doivent néanmoins êtreparallèles).

Remarque 11. Remarquons qu’il est également possible de représenter des données à l’aidedes règles de collisions ou des vitesses des signaux. Nous verrons au Chap. 7 comment coderdes formules booléennes avec des signaux et des règles de collisions (dont les définitions suivrontla structure syntaxique de la formule) et au Chap. 8 comment le faire en utilisant uniquementdes signaux. De même, les vitesses étant des nombres réels, il est possible de stocker un nombrer réel ou rationnel en assignant la valeur r comme vitesse d’un méta-signal donné. Le nombrer peut alors être récupéré dans un calcul en tant que distance : ce sera la distance parcouruepar le signal de vitesse r pendant une unité de temps. Un tel procédé sera utilisé au Chap. 4pour créer une distance irrationnelle à partir d’un méta-signal de vitesse irrationnelle et d’uneconfiguration rationnelle.

Faisceaux de signaux. Les trois exemples de codage donnés en Fig. 3.6 partagent une mêmestructure commune, bien que la nature des objets qu’ils encodent soit différente (discrète etcontinue). Tous peuvent être vu comme des faisceaux propageant une information dans l’espace.Les valeurs y sont codées par un ensemble de signaux tous parallèles c’est-à-dire de même vitesse :vitesse 1 pour Fig. 3.6(a) et Fig. 3.6(b) et vitesse 0 pour Fig. 3.6(c). Malgré leur apparentesimplicité (que des signaux parallèles, pas de collisions, dynamique très simple), les faisceauxpermettent de représenter l’information et de la propager de manière homogène et sans altérationdans l’espace.

On appellera configuration-faisceau toute configuration c : R → V qui ne contient que dessignaux, tous de même vitesse : Im(support(c)) ⊆ M et il existe ν ∈ R tel que pour toutx ∈ support(c), on a S(c(x)) = ν. On désignera par faisceau soit une configuration-faisceau, soitl’évolution d’une configuration-faisceau jusqu’à une éventuelle altération du faisceau. Notonsqu’un faisceau peut également être constitué d’un unique signal.

Taille des représentations. On remarque que dans les Ex. 1 et 2, le nombre de signauxconstituant le faisceau dépend de la valeur à coder : il faudra n + 1 signaux pour coder l’entiern en unaire et blog2(n)c + 2 en binaire. La distance séparant deux signaux successifs ne joueaucun rôle dans le codage de la valeur, et peut même être rendue aussi petite que l’on veut (dumoment qu’elle reste strictement positive). Pour le codage d’un réel tel qu’illustré par Fig. 3.6(c),il n’y a toujours que deux signaux (sans compter les deux signaux fixés pour définir une unitéde distance), et ce, indépendamment du réel x à coder. Par contre, la distance entre ces deuxsignaux dépend de x, puisque c’est justement cette distance qui encode x de manière directe.

Page 72: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.2. CALCUL GÉOMÉTRIQUE ABSTRAIT 55

Ce constat permet de différencier deux types de mesures de la représentation d’information :pour des valeurs discrètes ou entières, le nombre d’objets utilisés donnera une mesure de la tailledu codage, alors que la taille du codage de valeurs continues ou réelles sera donnée par desdistances ou des grandeurs spatiales.

3.2.2 Calculs géométriques abstraits

Un diagramme espace-temps D peut être interprété comme un calcul de multiples façons.Afin d’assimiler un diagramme à un calcul, il convient de préciser l’interprétation considérée.

Un calcul géométrique abstrait (CGA) est constitué d’un diagramme espace-temps généré parune machine à signaux, une condition de fin de calcul et une fonction d’interprétation du résultat.

Définition 22 (Calcul géométrique abstrait)Un calcul géométrique abstrait (CGA) est un triplet γ =(D,ΦH , I) tel que :

(i) D est un diagramme espace-temps ;

(ii) ΦH est une condition de fin de calcul donnée par une fonction définie de l’ensemble desconfigurations de D dans l’ensemble {vrai, faux};

(iii) I est une fonction d’interprétation définie de l’ensemble des configurations vérifiant ΦH (i.e.les configurations c telles que ΦH(c) = vrai) dans un ensemble de valeurs, appelé ensembledes résultats du calcul.

L’interprétation du diagramme sera donnée par l’interprétation d’une configuration, et nonpar une interprétation du diagramme global. Le diagramme est vu ici comme une succession deconfigurations, la fin et le résultat du calcul étant donnés par la « première » configuration quivérifie la condition d’arrêt : la fonction I nous fournit alors l’interprétation du résultat.

Plusieurs types de condition d’arrêt peuvent être envisagés : durée d’évolution fixée à l’avance,apparition d’un signal donné (ou d’une règle prédéfinie), plus d’évolution possible (présence designaux tous parallèles ou de signaux se propageant dans des directions opposées), apparitiond’un cycle de configurations, etc.

Un même diagramme peut donner lieu à plusieurs interprétations différentes en termes decalcul, ce que nous illustrerons plus loin. En effet, changer la condition d’arrêt et/ou la fonctiond’interprétation donnera en général des résultats qui peuvent s’avérer très différents. On pourraégalement définir une notion de temps d’arrêt TH à partir de la borne inférieure des temps t telsque ΦH(ct) est vraie.

Cette définition est très générale, et ne dit rien sur la façon d’obtenir les diagrammes espace-temps ou sur les fonctions d’interprétations. De plus, les calculs géométriques abstraits ainsidéfinis ne correspondent pas forcément au calcul d’une fonction donnée ou à la résolution d’unproblème. Nous allons maintenant formaliser ces CGA dans le cadre de la résolution de problème :les CGA considérés dépendront de l’instance d’entrée du problème considéré.

3.2.3 Résolution de problèmes par machines à signaux

Nous formalisons ici la notion d’algorithme géométrique : l’idée est d’associer un calcul géo-métrique abstrait à chaque instance d’un problème.

Avant de définir ce que nous entendons par « résoudre géométriquement un problème » dansle contexte des machines à signaux, nous formalisons la notion de représentation d’un ensemblede valeurs dans une machine à signaux :

Définition 23La représentation (ou codage) d’un ensemble X dans la machine à signaux M est un ensembleConfig de configurations de M tel qu’il existe une fonction calculable injective R : X → Config .

Page 73: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

56 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

En général, la fonction R sera simple : elle sera donnée par des schémas ou des algorithmespolynomiaux, et même très souvent linéaires c’est-à-dire que la configuration représentant uneentrée sera générée en temps polynomial en la taille de l’entrée. Notons qu’il n’est possibled’encoder au maximum que des ensembles X de cardinal inférieur au continu 2ℵ0 c’est-à-dire desensembles X tels que card(X) ≤ 2ℵ0 . En effet, comme card(Config ) = 2ℵ0 (car une configurationest une fonction de R dans un ensemble fini), la condition d’injection de X dans Config impliqueque card(X) ≤ card(Config ).

Lors de la résolution d’un problème algorithmique par machines à signaux, il convient deséparer deux parties bien distinctes : d’un côté, une partie « algorithmique classique » (définiedans un modèle de calcul classique comme les machines de Turing), et d’un autre côté, unepartie « algorithmique géométrique » qui constitue la partie intrinsèque au modèle des machines àsignaux. La partie classique est constituée par les fonctions de codages d’une instance du problèmedans une machine à signaux et une configuration initiale. Ces fonctions seront également appeléesfonctions de représentation (ou fonction de codage) des entrées. La partie intrinsèque au modèlecorrespond à l’évolution à partir de la configuration initiale de la machine à signaux utilisée, quirésulte en un diagramme espace-temps correspondant à l’instance considérée. L’interprétation dece diagramme se fera via une fonction d’interprétation (ou fonction de décodage).

La résolution d’un problème par machines à signaux, ou algorithme géométrique pour unproblème, sera donc constituée par ces deux parties (classique et intrinsèque). Elle sera donnéed’une part par les algorithmes générant la machine et la configuration initiale à partir de l’entréedu problème, et d’autre part par l’exécution de cette machine à signaux munie de la configurationinitiale correspondante.

Résolution par machine unique et par famille de machines. Nous distinguons ici deuxcas de résolutions géométriques : soit la machine générée dépend de l’instance du problème,soit elle est indépendante, et dans ce cas, seule la configuration initiale dépend de l’instancedu problème. On rappelle que M(c0) désigne le diagramme complet (i.e. maximal) obtenu parl’évolution de la machine M à partir de la configuration c0.

Définition 24 (Résolution spécifique)On dit qu’un problème P est résoluble par une famille de machines à signaux s’il existe :(i) une fonction calculable injective représentation définie de l’ensemble des instances de P dans

l’ensemble des couples (M, c0) (où M est une machine et c0 est une configuration pour M)telle que x 7→ representation(x) = (Mx, cx0) ;

(ii) une fonction calculable surjective décodage définie de l’ensemble des diagrammes de M dansl’ensemble des réponses pour P,

telles que pour toute instance x du problème P, on a P(x) = decodage(Mx(cx0)).

On dira également que le couple (representation, decodage) est une résolution spécifique duproblème P. La fonction représentation peut donc se décomposer en deux fonctions : une quiassocie une machine à l’instance x, et une autre qui code x dans une configuration initiale. Àchaque instance est donc associé un couple (machine, configuration initiale), et la résolutiondu problème est donc donnée par une famille {(Mx, cx0)}x∈{instances de P}. Cette famille définitla famille {Mx(cx0)}x∈{instances de P} des diagrammes espace-temps obtenus par évolution de lamachine Mx sur la configuration cx0 . Munie de la fonction décodage, elle constitue alors la famillede CGA associée au problème P.

Il est parfois possible d’utiliser la même machine pour toutes les instances du problème P :dans ce cas, la fonction de représentation de la machine est constante, et seule la configurationinitiale dépend de l’instance du problème. La fonction représentation se réduit alors à la fonctionde codage de la configuration initiale. On parlera dans ce cas de résolution générique :

Page 74: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.2. CALCUL GÉOMÉTRIQUE ABSTRAIT 57

Définition 25 (Résolution générique)On dit qu’un problème P est résoluble par une machine à signaux s’il existe :(i) une fonction calculable injective représentation et une machine à signaux M telles que x 7→

representation(x) = (M, cx0) ;(ii) une fonction calculable surjective décodage définie de l’ensemble des diagrammes de M dans

l’ensemble des réponses pour P,telles que pour toute instance x du problème P, on a P(x) = decodage(M(cx0)).

Pour insister sur le fait qu’une seule machine est utilisée, on peut alors réécrire le couple(representation, decodage) en un triplet (M, representation, decodage), où la fonction représen-tation est uniquement à valeurs dans Config . La Figure 3.8 montre les diagrammes corres-pondant aux deux types de résolution de problèmes par machines à signaux. La commuta-tivité de ces diagrammes provient des conditions données dans les deux définitions, à savoirP(x) = decodage(Mx(cx0) et P(x) = decodage(M(cx0)).

{instances de P} P //� _

representation��

{reponses}

{(Mx, cx0)}Mx

// {D}

interpretation

OOOO

(a) Résolution spécifique de P.

{instances de P} P //� _

representation��

{reponses}

{cx0} M// {D}

interpretation

OOOO

(b) Résolution générique de P.

Figure 3.8 – Les deux types de résolution d’un problème P sur machines à signaux.

La résolution spécifique considérée ici se rapproche de la notion de résolution de problème parcircuits booléens [Vollmer 1999] : une solution par circuits booléens est donnée par une famillede circuits (un circuit pour chaque taille d’entrée possible). En général, les familles considéréessont uniformes : la famille peut être générée par une machine de Turing en temps polynomialc’est-à-dire qu’il existe une machine de Turing fournissant la description du circuit pour lesentrées de taille n en temps polynomial en la taille de n. Nous considérerons ici aussi des famillesuniformes, mais à la différence des circuits booléens, une machine à signaux sera définie pourchaque instance (et pas non seulement pour chaque taille d’entrée possible).

La résolution générique suit plus l’intuition de solution algorithmique à un problème : dansles modèles classiques, l’algorithme ne dépend jamais de l’entrée, et fonctionne pour les toutesles instances du problème.

Dans les définitions précédentes, on impose que les fonctions représentation et décodage soientcalculables : en fait, ces fonctions ne doivent pas être trop compliquées. Elles ne doivent pas eneffet cacher la difficulté du problème dans le codage des entrées et des sorties. De même, pourl’étude des complexités d’algorithmes géométriques, les fonctions devront être de complexitémoindre que celle du problème considéré.

Nous utiliserons une présentation légèrement différente au Chap. 6, en préférant des fonctionssurjectives de décodages des entrées et de sorties, que nous appellerons fonctions de représenta-tions des entrées et des sorties.

Correction d’algorithmes géométriques. Un algorithme géométrique sera correct pour larésolution du problème P si l’une des Déf. 24 ou 25 est vérifiée. Une preuve de correction de cetalgorithme géométrique sera donc donnée par une preuve que pour toute instance x, on a bienP (x) = decodage(Mx(cx0)).

Il existe diverses façons de prouver la correction d’un algorithme géométrique. Pour desexemples simples, on peut se convaincre de manière informelle par un argument géométrique

Page 75: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

58 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

naïf, sans toutefois tomber dans le « ça se voit sur le dessin ». Par exemple, l’utilisation designaux de même vitesse fait apparaître des parallélogrammes, lesquels permettent de voir quedes durées ou des distances entre signaux sont les mêmes.

Les preuves que l’on peut naturellement utiliser sont « analytiques » et suivent le principe dela dynamique énoncé dans laDéf. 13 : l’historique de l’évolution de la machine est calculé à partirdes équations de propagation des signaux et des règles de collisions. À partir d’une configurationdonnée, la résolution de systèmes d’équations linéaires (dont les équations décrivent les positionsfutures de chaque signal présent dans la configuration en fonction de sa vitesse et de sa positionactuelle) permet d’obtenir les coordonnées de la prochaine collision. Puis ce calcul est réitéréà partir de la configuration obtenue en mettant à jour la machine au temps de collision ainsicalculé. Cette méthode permet de connaître l’historique complet des collisions, mais est déjàlongue et fastidieuse même pour des exemples simples.

Il est parfois possible de raisonner sans tenir compte de la valeur exacte des positions, maisjuste avec l’ordre des signaux et des collisions : c’est notamment le cas pour des diagrammescorrespondant à des calculs de types discrets. Dans ce cas, il est possible de formuler une preuvecombinatoire de la correction du diagramme : nous en avons déjà fourni un exemple dans laSous-sec. 3.1.3.

Nous introduirons dans le Chap. 6 une autre méthode de preuve de correction d’algorithmesgéométriques : nous utiliserons pour cela une approche modulaire. Le principe est de découperun diagramme en modules géométriques aux fonctionnalités bien définies et déjà prouvées, puisd’assembler ces « boîtes » de telle sorte à composer les preuves de fonctionnalités. Ainsi, les résul-tats du Chapitre 6 permettront de composer des diagrammes complexes à partir d’algorithmesgéométriques simples de telle façon que la preuve globale de correction se déduira des preuvesdes algorithmes de base utilisés.

3.2.4 Les configurations comme entrées/sorties

Les entrées/sorties sur machines à signaux sont définies par des ensembles de configurations,mais afin de pouvoir considérer les fonctions de représentations associées nous définissons ici desrelations d’équivalences sur les configurations. Les ensembles quotients correspondant constitue-ront les ensembles des entrées et des sorties, pour lesquels les fonctions de représentations desentrées et des sorties seront respectivement injective et surjective.

Configurations équivalentes. Nous définissons ici des relations d’équivalence sur les confi-gurations. L’intérêt de telles relations est de s’intéresser à la structure d’une configuration, in-dépendamment des positions exactes des objets la composant. Les deux principales structuresutiles pour caractériser une configuration sont les distances relatives entre les positions de valeurnon vide et l’ordre de ces objets.

Définition/Proposition 26 (Configurations équivalentes)Soit Config l’ensemble des configurations d’une machine à signaux. On définit une relation binaire∼aff sur Config telle que pour toutes c, c′ ∈ Config on a c ∼aff c′ si et seulement s’il existe unefonction f : R → R affine de ratio strictement positif telle que c = c′ ◦ f . Alors ∼aff est unerelation d’équivalence.

On définit une relation binaire ∼aff sur Config telle que pour toutes c, c′ ∈ Config on a :c ∼ord c′si et seulement s’il existe f : R → R une bijection croissante telle que c = c′ ◦ f . Alors∼ord est une relation d’équivalence.

Si c ∼aff c′, on dira que c et c′ sont affinement équivalentes. Deux configurations sont doncaffinement équivalentes s’il est possible de passer de l’une à l’autre par une translation de valeur

Page 76: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.2. CALCUL GÉOMÉTRIQUE ABSTRAIT 59

c = Rσ1

0

σ2

2

σ3

6

σ4

192

f(x) = x2 − 1

c′ = Rσ1

−1

σ2

0

σ3

2

σ4

154

(a) Deux configurations affinement équivalentes.

c = Rσ1

0

σ2

2

σ3

6

σ4

192

f(x) strictement croissante

c′′ = Rσ1

−2

σ2

7

σ3

9

σ4

10

(b) Deux configurations à ordres équivalents.

Figure 3.9 – Configurations équivalentes

b, suivie d’une homothétie de rapport positif a. Dans ce cas, la fonction f correspondante estdonnée par f(x) = a · x+ b. Lorsque c ∼ord c′, on dit que c et c′ sont à ordres équivalents.

Démonstration. La relation ∼aff définit une relation d’équivalence : elle est trivialement réflexive(prendre f = id la fonction identité) et transitive (car la composée de deux fonctions affines deratios positifs est encore une fonction affine de ratio positif). De plus, ∼aff est symétrique carl’inverse d’une fonction affine de ratio positif existe et est également affine de ratio positif. Donc∼aff est bien une relation d’équivalence.

De même, la relation ∼ord est réflexive, transitive (car la composée de deux bijections crois-santes est encore une bijection croissante) et symétrique (car l’inverse d’une bijection croissanteest une bijection croissante). Donc ∼ord est également une relation d’équivalence.

Remarque 12. La condition « de ratio strictement positif » dans la définition de la relationd’équivalence affine de configurations est indispensable si l’on souhaite conserver non seulementles rapports de distance et l’ordre des signaux, mais surtout l’ordre des collisions à venir et lastructure du diagramme.

Il est également possible de définir de la même manière une relation d’équivalence par transla-tions, qui est un cas particulier de l’équivalence affine de configurations. On notera cette relationpar ∼trans et on dira de deux configurations en relation par ∼trans qu’elles sont équivalentes àtranslation près ou à translation équivalente. Cela permettra entre autres d’encoder de manièreinjective des valeurs réelles par des distances, indépendamment de toute position exacte.

Deux configurations affinement équivalentes sont également à ordre équivalent puisque toutefonction affine de ratio strictement positif est également une bijection croissante. En fait, pourtoutes c et c′, on a : c ∼trans c

′ ⇒ c ∼aff c′ ⇒ c ∼ord c′.

Ensembles de configurations équivalentes. De nombreuses machines ne nécessitent pasde considérer des configurations avec les positions exactes : la distance relative des signaux, oumême juste leur ordre dans la configuration, suffit parfois pour déduire le comportement généralde la machine sur toutes les configurations d’un certain type. Nous définissont de tels ensemblesde configurations à partir des relations d’équivalences précédemment introduites :

Définition 27 (Ensembles de configurations équivalentes)Soit M une machine à signaux. On définit Configaff

M l’ensemble des configurations à transforma-tion affine près (resp. ConfigordM l’ensemble des configurations à ordre près et Config trans

M l’ensembledes configurations à translation près pour M) par ConfigM/∼aff

(resp. par ConfigM/∼ord etConfigM/∼trans

).

Page 77: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

60 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

Remarque 13. Un calcul et son interprétation dépendront des ensembles de configurationschoisis comme ensembles d’entrées et de sortie. Par exemple, en prenant pour sorties l’ensembledes configurations de la forme {w@x, w@y, w@z | x < y < z}, la machine Mmid présentée enSous-sec. 3.1.1 permet de :• calculer le milieu du segment [a; b] si l’ensemble des entrées est

{w@a,

−→hi@a,

−→lo@a, w@b

};

• calculer a/2 si l’ensemble des entrées est{

w@0,−→hi@0,

−→lo@0, w@a

}/∼trans

;• générer un nouveau signal vertical entre deux autres si l’ensemble des entrées est{

w@0,−→hi@0,

−→lo@0, w@a

}/∼ord .

La notion d’ordre équivalent pour les configurations, associée à la notion d’équivalence dediagramme donnée par la Déf. 10, permet de formaliser une notion intuitive de robustesse :

Définition 28 (Machine robuste)Une machine à signaux M est dite robuste si pour toutes configurations c0, c

′0 telles que c0 ∼ord c′0,

les diagrammes engendrés par M sur c0 et c′0 sont équivalents.Une machine à signaux M est dite relativement robuste s’il existe un segment I ⊆ R, non

réduit à un point, tel que pour toutes configurations c0, c′0 vérifiant c0�I ∼ord c′0�I , les diagrammesengendrés par M sur c0 et c′0 sont équivalents.

Une machine est donc robuste si seul l’ordre des signaux importe pour ses configurations ini-tiales (et non leurs positions exactes). Cette définition se conforme à l’idée intuitive de robustesseselon laquelle des perturbations sur l’entrée ne changent pas le calcul, ce qui se traduit ici parune liberté de placement des signaux initiaux, du moment qu’un certain ordre est respecté.

3.3 Complexités sur machines à signaux

Nous avons abordé en début de chapitre la notion de codages par signaux, et nous avonsévoqué différents codages possibles suivant la nature des données considérées. En particulier,une valeur réelle x peut être codée par un nombre constant de signaux et par une distancedépendante de x. Inversement, un entier n (ou d’autres valeurs discrètes) peuvent être codéespar un ensemble de signaux dont le nombre et le type dépendent de n, mais dont l’espace utiliséest indépendant de cette valeur. Si pour des calculs analogiques, l’espace et le temps nécessairesau calcul semblent être significatifs de la complexité de ce calcul, ce n’est pas le cas pour descalculs de type discrets. Par exemple, un faisceau [

−→bin(n)] codant un entier n sera composé de

blog2(n)c+1 signaux, mais la largeur du faisceau (la distance entre le premier et le dernier signal)peut être choisie aussi petite que l’on veut sans affecter la valeur qu’il code.

Dans le cas de calculs discrets, les mesures naïves en temps et espace continus ne sont doncplus adaptées. Comme dans le cas de modèles classiques, ces mesures devraient être définiesuniquement par rapport aux primitives de calculs. Il existe de multiples façons de définir desmesures de complexité dans le cadre de modèles non-conventionnels, comme cela est discuté dans[Blakey 2011a,b]. Des mesures de complexité non-conventionnelles doivent tenir compte soit deressources non-classiques considérées, soit de la nature du modèle et de ses objets atomiques.Pour les machines à signaux, ces objets étant les signaux et les collisions, une « bonne » définitionde complexité devrait donc être basée sur le nombre de signaux et de collisions mis en œuvrelors d’un calcul géométrique.

Nous présentons ici de nouvelles mesures de complexité, particulièrement adaptées au mo-dèle des machines à signaux. Un diagramme espace-temps de machines à signaux peut être vucomme un graphe dirigé acyclique (DAG) afin de mieux appréhender les relations entre signauxet collisions entrant en jeu dans ce diagramme, et ce indépendamment de leurs positions spatio-temporelles exactes. La relation fondamentale qui sera alors considérée est la relation de causalité

Page 78: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.3. COMPLEXITÉS SUR MACHINES À SIGNAUX 61

entre deux objets, c’est-à-dire l’influence éventuelle de l’un sur l’autre. Le DAG muni de cet ordrede causalité peut ensuite être utilisé pour introduire de nouvelles mesures de complexité : la me-sure en temps sera donnée par le plus grand nombre de collisions s’enchaînant les unes les autres,et la mesure en espace sera donnée par le plus grand nombre de signaux indépendants entre eux.

3.3.1 Définitions

Nous commençons par donner la définition formelle de ce que nous entendons par la hauteuret la largeur d’un diagramme espace-temps :

Définition 29 (Taille d’un diagramme espace-temps)Soit D : R× [0;T ]→ V un diagramme espace-temps. La hauteur du diagramme D est donnée parHaut(D) = T . Sa largeur est donnée par Larg(D) = supt∈[0;T ] {|ct|}. La taille du diagramme Dest donnée à la fois par sa hauteur et sa largeur.

Pour un diagramme D quelconque, les valeurs de Haut(D) et Larg(D) peuvent être infi-nies. On a implicitement considéré ici que l’intervalle de temps [0;T ] correspond à la partie« significative » du diagramme : après le temps T , le diagramme n’admet plus de dynamique.

Ces mesures continues sont adaptées pour des calculs analogiques (en prenant soin de relati-viser par rapport à une unité de mesure et à la taille de la configuration d’entrée) mais ne sontpas du tout adaptées aux calculs combinatoires. En effet, comme nous l’avons déjà mentionné enSous-sec. 2.4.1, il est possible d’appliquer des transformations aux diagrammes pour le contrac-ter ou le dilater sans altérer l’historique des collisions, c’est-à-dire sans changer le calcul. La taille(mesurée en valeurs continues) de n’importe quel calcul géométrique peut donc être rendue aussipetite que l’on veut.

Ordre de causalité dans le diagramme espace-temps. Afin de définir des mesures decomplexité qui prennent en compte les collisions et les signaux, et non leurs coordonnées exactes(et qui ne tient par conséquent pas compte de la taille du diagramme), nous considérons lediagramme espace-temps comme un graphe dirigé acyclique (DAG). Pour cela, nous commençonspar rappeler des définitions concernant les chaînes et les anti-chaînes :

Définition 30 (Chaîne et anti-chaîne)Soit (S,≤S) un ordre partiel. Un ensemble C ⊆ S est une chaîne si ≤S induit sur C un ordretotal : pour tous a, b ∈ C on a soit a ≤S b soit b ≤S a. On dit qu’une chaîne C est une chaînemaximale si pour toute chaîne C′ ⊆ S contenant C, on a C = C′.

Un ensemble A ⊆ S est une anti-chaîne si les éléments de A sont tous deux à deux incompa-rables au sens de ≤S : pour tous a 6= b ∈ A on a a 6≤S b et b 6≤S a. On dit qu’une anti-chaîne Aest une anti-chaîne maximale si pour toute anti-chaîne A′ ⊆ S contenant A, on a A = A′.

Définition 31 (Relation de précédence entre signaux)On dit qu’un signal σprécède immédiatement un signal σ′ s’il existe une collision C telle queσ ∈ C+ et σ′ ∈ C−. On note σ ≺ σ′.

On définit la relation de précédence entre signaux ≺∗ par la clôture transitive de ≺.

On a σ ≺∗ σ’ si et seulement s’il existe une suite de signaux (σi)1≤i≤n et une suite de collisions(Ci)1≤i≤n−1 telle que :• ∀i ∈ [1, n− 2], σi+1 ∈ C+

i ∩ C−i+1 ;

• σ = σ1 ∈ C−1 ;• σ′ = σn ∈ C+

n−1 .c’est-à-dire telle que : σ = σ1 ≺ σ2 ≺ . . . σn−1 ≺ σn = σ′.

Page 79: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

62 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

On définit également une relation de précédence entre collisions, que l’on appelera relationde causalité :

Définition 32 (Relation de causalité entre collisions)On dit qu’une collision C ′ est conséquence immédiate d’une collision C s’il existe un signal σ telque σ ∈ C+ et σ ∈ C ′−. On note C → C ′.

On définit la relation de causalité entre collisions � (ou simplement relation de causalité)par la clôture transitive de →.

La relation de causalité peut également se définir à partir de la relation de précédence entresignaux : on a C � C ′ si et seulement s’il existe des signaux σ, σ′ tels que σ ∈ C+, σ′ ∈ C ′− etσ ≺∗ σ′. Notons que σ = σ′ ∈ C+ ∩ C ′− signifie que C ′ est conséquence immédiate de C.

Lemme 7Les relations ≺∗ et � sont des ordres stricts partiels.

Démonstration. Il est clair que la relation ≺∗ n’est en général pas totale. Montrons que c’est unerelation d’ordre strict. Par définition, ≺∗ est transitive en tant que clôture transitive de ≺. Onmontre par l’absurde l’anti-symétrie de ≺, qui implique trivialement celle de ≺∗. Supposons qu’ilexiste σ, µ des signaux tels que σ ≺ µ et µ≺ σ. Alors il existe deux collisions C et C’ telles queσ ∈ C+ µ ∈ C− et σ ∈ C ′−, µ ∈ C ′+. Comme µ ∈ C− et µ ∈ C ′+ (µ est crée par la collisionC ′ et disparaît dans la collision C), on a t′C < tC (où tC désigne la coordonnée temporelle dela collision C). D’autre part, comme σ ∈ C ′− et σ ∈ C+, on a également tC < t′C , ce qui estabsurde. Donc µ ≺ σ implique σ 6≺ µ. De même, ≺∗ est anti-réflexive. : si σ ≺ σ alors il existeune collision C telle que σ ∈ C− et σ ∈ C+. On en déduit tC < tC , ce qui est absurde.

On montre de la même façon que � est un ordre partiel strict.

Lemme 8Soit D un diagramme espace-temps d’une machine à signaux. On considère le graphe dirigéGD = (V,E) associé à D, où l’ensemble des sommets V est l’ensemble des collisions de D,l’ensemble d’arêtes E est l’ensemble des signaux de D et l’orientation des arêtes est donnée parla relation →. Alors GD est un graphe dirigé acyclique (DAG).

Démonstration. Le Lemme 7 nous permet d’affirmer que le graphe ne contient pas de cycle, paranti-réflexivité de �.

Pour un diagramme D : R×R+ →M∪R∪{�}, les ensembles de sommets et d’arrêtes sontdonc respectivement donnés par V = D−1(R) et E = D−1(M) .

Définition de nouvelles mesures de complexité. Nous pouvons maintenant définir desmesures de complexité tenant compte de la structure du diagramme et non de sa taille. L’opé-ration élémentaire du modèle étant la collision, les définitions suivantes sont basées les chaîneset anti-chaînes dans le diagramme, lorsqu’il est muni de la relation de causalité entre collisions.

Définition 33 (Profondeur de collisions)La profondeur de collisions du diagramme D est la taille d’une chaîne maximale de GD i.e.pc(D) = max { card(C) | C ⊆ V est une chaîne de GD}.

Définition 34 (Largeur de collisions)La largeur de collisions du diagramme D est la taille d’une anti-chaîne maximale de GD i.e.lc(D) = max { card(A) | A ⊆ V est une anti-chaîne de GD}.

Page 80: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

3.3. COMPLEXITÉS SUR MACHINES À SIGNAUX 63

Les définitions de chaîne et anti-chaîne appliquées ici donnent : C = {Ci}1≤i≤n est une chaînesi et seulement si pour tous C,C ′ ∈ C, on a soit C � C ′ soit C ′ � C. De même, A = {Ci}1≤i≤nest une anti-chaîne si et seulement si pour tous C 6= C ′ ∈ A, on a C 6� C ′ et C ′ 6� C.

Pour un diagramme D, on notera la profondeur de collisions et la largeur de collisions de Drespectivement par pc(D) et lc(D). La Figure 3.10 illustre ces mesures sur un exemple simplede diagramme. Par la suite, nous confondrons un diagramme espace-temps D avec le graphecorrespondant GD.

Remarque 14. Notons qu’on peut également définir des mesures de complexité basées sur larelation de précédence entre signaux, respectivement la profondeur en signaux et la largeur ensignaux.

••

••

(a) Un diagramme.

••

••

••

••

(b) Une chaîne maximale.

••

••

(c) Une anti-chaîne maximale.

Figure 3.10 – Mesures de complexité d’un diagramme espace-temps.

Remarque 15. Les notions de temps de collisions et de front de collisions ne sont plus per-tinentes dans le cadre d’un diagramme vu comme DAG. En effet, la notion de simultanéitésous-tend celle de front de collision, et les coordonnées spatio-temporelles ne jouent plus aucunrôle dans le DAG : seul l’ordre de causalité importe.

La complexité globale d’une résolution géométrique à un problème sera donnée d’une part parla complexité classique des schémas de représentations des instances en machines à signaux etconfiguration initiales ; et d’autre part par les complexités en collisions des diagrammes résultants.

3.3.2 Propriétés des mesures de complexité en collisions

Nous énonçons ici quelques propriétés immédiates des mesures de complexité en collisions.

Lemme 9Soit D un diagramme espace-temps. Alors :

(i) pc(D) est inférieur ou égal au nombre total de collisions ;

(ii) pc(D) est inférieur ou égal au nombre de front de collisions.

Démonstration. (i) Pour toute chaîne C de GD = (V,E), on a C ⊆ V .

(ii) Toute collision appartient exactement à un front de collisions et deux collisions enchaînéesappartiennent forcément à deux fronts différents (puisque l’une se produit strictement avantl’autre). Le nombre de fronts de collisions est donc supérieur ou égal au plus grand nombrede collisions enchaînées.

Page 81: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

64 CHAPITRE 3. ALGORITHMIQUE GÉOMÉTRIQUE

Lemme 10Soit ncolsimult(D) = max

t∈R+{card(c−1

t (R)) | ctest un front de collisions}. Alors ncolsimult(D) ≤ lc(D).

Ce lemme signifie que lc(D) est au moins égal au nombre maximal de collisions se produisantsimultanément dans la machine au cours du calcul (ce nombre correspond bien au nombre decollisions d’un front de collisions maximal). Cela provient du fait que des collisions simultanées nepeuvent pas être deux-à-deux conséquences les unes des autres, et formant ainsi une anti-chaîne.

3.3.3 Exemples

On donne ici les complexités en collisions et en temps et espaces continus des algorithmesgéométriques présentés en Sec. 3.1 : les complexités sont mesurées par la largeur et la hauteurde la construction dans le cas de la division géométrique par deux et le cas de la soustraction,qui sont de nature analogique. Une addition binaire géométrique, de nature combinatoire, seramesurée par les mesures de complexité précédemment définies c’est-à-dire par sa profondeur etsa largeur de collisions.

Division par deux. On appelle Dx le diagramme engendré par Mmid sur une configurationinitiale telle que les signaux verticaux w sont espacés d’une distance réelle x. D’après l’étude faiteen Sous-sec. 3.1.1, le diagramme Dx vérifie Haut(Dx) = x/2 et Larg(Dx) = x et pc(Dx) = 2et lc(Dx) = 1. Cet algorithme géométrique manipulant des valeurs réelles, nous mesurons sonefficacité par la taille du diagramme obtenu, et non par sa largeur et profondeur de collisions. Lescomplexités en temps et espace continus sont donc toutes deux en O(x), où x désigne la tailledu réel représenté en entrée.

Soustraction. On appelle Da,b le diagramme engendré par Msub sur une configurationinitiale telle que les signaux verticaux w sont espacés respectivement par les distances réelles b eta, comme illustré en Sous-sec. 3.1.2. On a alorsHaut(Da,b) = a+b+|b−a| et Larg(Da,b) = a+b.Comme pour le calcul du milieu, les complexités en collision sont là aussi constantes : pc(Da,b) = 4et lc(Da,b) = 2.

Modulo. L’exemple du calcul géométrique du modulo constitue un cas intéressant, car àla fois les mesures en temps et espace continus et les mesures en collisions dépendent de la tailledes entrées. On appelle Da,b le diagramme engendré par Mmod sur une configuration initiale telleque les signaux verticaux w sont espacés respectivement par les distances réelles b et a, commeillustré en Sous-sec. 3.1.2 (c.f. la Fig. 3.3(b)), et dont le résultat est a mod b. On a alorsHaut(Da,b) = O(a+ b) et Larg(Da,b) = a+ b et pc(Da,b) = O(ba/bc) et lc(Da,b) = O(ba/bc).

Addition binaire. On appelle Dn,m le diagramme engendré par Madd sur une confi-guration initiale dont laquelle sont représentés les entiers n et m par les faisceaux binaires[−→bin(n)] et [

←−bin(m)], séparés par un signal +R, déclencheur de l’addition. Une telle configu-

ration a été détaillée en Sous-sec. 3.1.3. Soit l la largeur de la configuration initiale. On aalors Haut(Dn,m) = l/2 et Larg(Dn,m) = l. Le nombre total de collisions dans le diagrammeest en O(blog2(n)c × blog2(m)c). Les complexités en collisions sont quant à elles données parpc(Dn,m) = O(max(blog2(n)c, blog2(m)c)) et lc(Dn,m) = O(blog2(n)c+ blog2(m)c).

Page 82: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 4Accumulations et petites machines

Ce chapitre est consacré aux accumulations et à l’étude de certaines de leurs propriétés. Aprèsun bref rappel du contexte général dans lequel se situent les accumulations (entre autres, leur lienavec le paradoxe de la dichotomie de Zénon) et quelques exemples d’utilisation d’accumulationsdans d’autres modèles de calcul, nous rappellerons quelques unes de leurs propriétés. Nous feronségalement le lien avec les notions de supports et d’inclusions introduites en Sec. 2.4.2.

Nous présenterons ensuite la contribution principale de ce chapitre, obtenue par l’étude desaccumulations sur les « petites » machines à signaux, c’est-à-dire les machines admettant unfaible nombre de vitesses distinctes. Nous dégagerons de cette étude une condition nécessairesur le nombre de vitesses distinctes qu’une machine doit posséder pour pouvoir engendrer desaccumulations. Dans le cas général, construire une accumulation nécessite au moins trois vitessesdifférentes et au moins quatre vitesses dans le cas de machines rationnelles.

Ce chapitre sera conclu par une application des résultats obtenus à quelques problèmes dedécidabilité concernant les machines à signaux.

4.1 Contexte général et nature des accumulations

Cette section regroupe quelques généralités sur les accumulations : leur lien avec le paradoxede Zénon, leur utilisation dans certains modèles de calcul non conventionnels et quelques unesde leurs propriétés dans le modèle des machines à signaux.

4.1.1 Contexte

Accumulations et paradoxe de Zénon. Zénon d’Élée, l’antique philosophe grec, énonçases fameux paradoxes pour illustrer la difficulté de cerner et définir les notions de continuité etd’infini. Les accumulations peuvent être vues comme une version d’un des paradoxes de Zénon,celui de la dichotomie. Ce paradoxe est une caractéristique importante des espaces continus (etd’autres espaces comme Q), dans lesquels des parties peuvent être divisées une infinité de foisen parties plus petites. Pourtant, de telles parties divisibles indéfiniment restent de taille finiebien qu’elles soient exprimables en tant que réunion infinie de parties non vides disjointes. Lesaccumulations sur machines à signaux peuvent être comprises dans le contexte de ce paradoxe :une accumulation est la réalisation d’un nombre infini d’étapes de calcul — des collisions —pendant une durée finie. Par exemple, l’accumulation donnée dans l’introduction et reprise enFig. 4.1(a) correspond à une infinité d’aller-retours (avec deux collisions à chaque étape) entreles deux signaux qui se rapprochent de plus en plus. La Figure 4.1(b) fournit un autre exempled’accumulation, qui sera repris par la suite. Cet exemple est important car il illustre à la fois lacapacité des machines à signaux à générer des fractales non triviales et à effectuer des opérationsparallèles.

65

Page 83: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

66 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

(a) Accumulation isolée. (b) Accumulation non-isolée[Durand-Lose 2003, Fig. B.1(b)].

Figure 4.1 – Exemples d’accumulations.

État de l’art. Nous donnons ici quelques exemples de modèles et contextes de calcul danslesquels les accumulations ont déjà été considérées ou utilisées (la plupart ont déjà été évoquésdans le Chap. 1).

Par nature, le continu permet l’existence d’accumulations : des quantités continues peuventen effet être divisées indéfiniment. En tant que modèles dynamiques continus, les systèmes à déri-vées constantes par morceaux (PCD systems) permettent les accumulations. Elles y ont d’ailleursété utilisées pour accélérer les calculs (avec un facteur d’accélération infini), et permettent ainsid’escalader les hiérarchies arithmétique [Asarin et Maler 1995] et hyper-arithmétique [Bournez1999]. La Figure 4.2(a) illustre l’utilisation d’une dimension spatiale supplémentaire pour im-plémenter un effet de type Zénon, permettant ainsi d’accélérer un calcul effectué dans les autresdimensions spatiales. Nous remarquons que la structure basique qui est utilisée en Fig. 4.2(a)est la même que l’accumulation « zig-zag » de la Fig. 4.1(a).

Les accumulations sont une caractéristique essentielle du continu, mais il est possible de lesconsidérer dans des contextes discrets. C’est le cas de machines de Turing dont l’exécution estaccélérée de manière non-uniforme : les transitions y sont effectuées de plus en plus rapidementet les durées des transitions successives sont données par une suite géométrique, de telle sorteque le temps total de calcul correspond à une série géométrique convergente. Une infinité detransitions, et par conséquent un calcul infini, peut ainsi être effectué en un temps fini. De tellesmachines se retrouvent sous différentes dénominations dans la littérature : machines de Zeus[Boolos et Jeffrey 1980, pp. 14–15], machines de Turing accélérantes [Copeland 2002], machinesde Zénon [Potgieter 2006], etc. Notons que l’utilisation de phénomènes de type Zénon pour descalculs discrets avait déjà été évoquée dans les années 1930 par Ralph Blake [Blake 1926], HermanWeyl [Weyl 1927] et Bertrand Russell [Russell 1936].

Les accumulations ont également été considérées dans le cadre des automates cellulaires :dans [Schaller et Svozil 2010], l’espace discret des AC est donné par une grille de type Zénoncomme celle de la Fig. 4.2(b). Cette structure permet à une cellule d’être influencée par les étatsd’une infinité d’autres cellules.

Dans tous ces modèles, ainsi que dans d’autres modèles tels que le modèle « trou noir » dansun contexte relativiste, les accumulations permettent de résoudre des problèmes récursivementénumérables, tels que le problème de l’arrêt, indécidable sur les modèles classiques. La méthodeest d’utiliser l’accumulation pour y implémenter une accélération de type Zénon, qui permetd’effectuer une infinité de transitions d’une machine de Turing en un temps fini, et par conséquentde décider de son arrêt en temps fini.

Page 84: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.1. CONTEXTE GÉNÉRAL ET NATURE DES ACCUMULATIONS 67

Figure 7: A homogenization of a 1-dimensional system (left) and a 2-dimensional system (right).

rooted at that point (see figure 7). Syntactically all you do is replace everyinequality of the form a · x ≤ b in H by

(a, 0) · (x, xd+1) ≤ bxd+1

and add the conjunct 0 ≤ xd+1 ≤ 1 to every definition of a region. Finallyevery slope c is replaced by (c, 0).

Lemma 4 (Semi-Recognition ⇒ Recognition) From a bounded PCDH =(Rd, f, I, r,xa,xr) semi-recognizing P one can construct a bounded PCD

H� = (Rd+3, f �, I �, r�,x�a,x�r) that recognizes P .

Proof: Without loss of generality we can assume that our PCDs alwayswork in a bounded subset of R

d

+ sufficiently far from the origin (because ofboundedness the whole system can be translated to the positive side). Weaugment the system with three additional variables: xd+1, h and y. Thefirst of these variables, xd+1, serves for homogenization and is treated as anyother xi during the division phase. The overall behavior of the system canbe captured using the following pseudo-code:

12

(a) Accumulations dans les PCD [Asarin et Maler1995, Fig. 7].

�10

0

1

1

2

2

3

3 45cells

time

Figure 2: Evolution of a self-similar cellular automaton.

4

(b) Définition d’un AC basé sur une accumulation[Schaller et Svozil 2010, Fig. 2].

Figure 4.2 – Utilisation d’accumulations dans d’autres modèles de calcul.

Nature des accumulations sur machines à signaux. Comme présenté dans la Sec. 2.2, lesaccumulations dans un diagramme espace-temps peuvent être de deux types : soit statique, soitdynamique. Nous en donnons ici des exemples, et distinguons un type particulier d’accumulationdynamique : les accumulations isolées.

On rappelle que le point (x0, t0) est une accumulation statique si pour tout voisinage V(x0,t0)

de (x0, t0), il y a une infinité de signaux ou collisions dans V(x0,t0)

⋂(support(ct0)× {t0}). Dans

cette définition, on peut remplacer les voisinages de (x0, t0) par des voisinages « spatiaux » de x0

au temps t0, Vt0x0 ⊆ R, donnés par Vt0x0 =

{x ∈ R

∣∣ (x, t0) ∈ V(x0,t0)

}. La condition devient alors :

Vt0x0⋂support(ct0) 6= ∅. Une accumulation statique est donc une accumulation purement spatiale,

et correspond à une accumulation topologique pour le support de la configuration au temps t0dans l’espace R. On rappelle que le point (x0, t0) est une accumulation dynamique si pour toutvoisinage V(x0,t0) de (x0, t0), il y a une infinité de signaux ou collisions dans V(x0,t0) ∩ Γ−(x0, t0),où Γ−(x0, t0) désigne le passé causal de (x0, t0).

La distinction entre accumulations statique et dynamique (i.e. entre accumulations spatialeet temporelle) peut se faire à travers la notion du passé causal. Une accumulation dynamiquecorrespond par définition à une infinité de signaux et collisions dans le passé causal, alors qu’uneaccumulation statique implique une infinité de valeurs non vides à un instant donné, et donc endehors du passé causal (et même en dehors du cône de lumière). En effet, deux positions distinctesconsidérées au même instant donné ne peuvent être dans le passé causal l’une de l’autre.

Parmi les accumulations dynamiques, nous distinguons un type en particulier, les accumula-tions isolées :

Définition 35 (Accumulation isolée)Une accumulation au point (x0, t0) est dite isolée si suffisamment proche de (x0, t0) :

(i) ∃ ε > 0, ∀(x′, t′) /∈ Γ−(x, t), |x− x′| < ε ∧ |t− t′| < ε ⇒ D(x′, t′) = �,(ii) ∀ ε > 0, l’ensemble {(x′, t′) ∈ Γ−(x, t) | t− ε < t′ < t ∧ D(x′, t′) ∈M∪R} est infini.

La condition (i) signifie que la seule valeur possible en dehors du passé causal est �, Lacondition (ii) correspond au fait qu’il y a une infinité de signaux et collisions dans le passécausal. Une accumulation isolée est purement dynamique et locale. En effet, une accumulation

Page 85: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

68 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

isolée ne peut pas être spatiale, la condition (i) imposant que la seule valeur en dehors du passécausal soit le vide. Des exemples d’accumulations isolée et non-isolée sont illustrés respectivementpar les Fig. 4.1(a) et Fig. 4.1(b), données auparavant.

4.1.2 Propriétés

Nous rappelons ici quelques propriétés des accumulations.

Difficulté de prévoir les accumulations. Il a été démontré que les accumulations sont desphénomènes dynamiques imprévisibles en général. En effet, le problème consistant à décider siune accumulation apparaît dans le diagramme engendré par une machine à signaux rationnelle àpartir d’une configuration initiale donnée, a été montré indécidable [Durand-Lose 2003]. En fait,ce problème est même fortement indécidable (un problème fortement indécidable appartient audeuxième niveau de la hiérarchie arithmétique, et est donc un niveau au-dessus du problème del’arrêt d’une machine de Turing).

Coordonnées des accumulations isolées. Les coordonnées d’accumulations isolées peuventêtre caractérisées de manière exacte dans le cas de machines rationnelles [Durand-Lose 2012b] :ce sont exactement les nombres réels calculables (réels c.e.) et les différences de réels calculables(réels d.c.e.) (voir [Weihrauch 2000] pour les définitions exactes des nombres c.e. et d-c.e.). Plusexactement :

Théorème 11 ([Durand-Lose 2012b])Les coordonnées des accumulations isolées de machines rationnelles sont des réels d-c.e.Il existe une machine à signaux rationnelle pouvant générer une accumulation dont la coordonnéetemporelle (resp. spatiale) peut être n’importe quel réel c.e. (resp. n’importe quel réel d-c.e.).

Approche dynamique et accumulations. Le lemme suivant fait le lien entre accumulationdynamique et suite des temps de collisions :

Lemme 12Il y a une accumulation dynamique au point (x, t) si et seulement s’il existe une suite de collisions(Cn)n∈N ordonnée par date telle que lim

n→∞(xn, tn) = (x, t), où (xn, tn) sont les coordonnées de la

collision Cn.

Démonstration. Dans le cas d’une accumulation dynamique en (x, t), la suite (Cn)n∈N est donnéepar la suite (infinie) des collisions s’accumulant dans Γ−(x, t), le passé causal de (x, t). On a bienlimn→∞

(xn, tn) = (x, t) (car pour toute collision Cn, Cn ∈ Γ−(x, t)).Pour l’autre sens, la Déf. 13 implique directement qu’il y a une accumulation dynamique au

point (x, t).

4.2 Accumulations à deux et quatre vitesses

Nous nous intéressons à l’étude des accumulations sur les « petites » machines à signauxc’est-à-dire sur les machines à signaux à une dimension spatiale et ayant un faible nombre devitesses distinctes. La problématique ici consiste à déterminer le nombre minimal de vitesses pourpouvoir produire une accumulation. Concrètement, nous distinguons les cas de machines à 2, 3 et4 vitesses (n rappelle que M est machine à n vitesses s’il existe exactement n valeurs distinctespour les vitesses des méta-signaux de M). Le cas 1 vitesse n’est pas abordé car étant trivial :en effet, aucune collision n’est possible avec seulement une vitesse, et donc aucune accumulation

Page 86: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.2. ACCUMULATIONS À DEUX ET QUATRE VITESSES 69

a fortiori. Nous allons montrer que les cas de deux et quatre vitesses sont assez immédiats : lesaccumulations avec deux et quatre vitesses sont respectivement proscrites et faisables. Le cas detrois vitesses est plus délicat à traiter et fera l’objet de la section suivante.

4.2.1 Cas de quatre vitesses

Nous fournissons ici la preuve formelle que l’exemple de la Fig. 4.1(a) (déjà donnée dansl’introduction) est bien une accumulation. Pour générer l’accumulation simple de la Figure 4.3,on considère la machine à signaux M4 définie par les quatre méta-signaux suivants : left (1

2),right (-1

2), zig (4), zag (−4) ; et par deux règles de collisions définissant les rebonds de zig (resp.zag) sur right (resp. left) par :

{left, zag} → {left, zig} et {zig, right} → {zag, right} .

zig rightleft

zag

zig

right

left

Figure 4.3 – Une accumulation simple à quatre vitesses.

La machine M4 est une machine à 4 vitesses qui permet de générer des accumulations :

Lemme 13La machine M4 exécutée à partir de la configuration initiale c0 = {left@−1, zig@−1, right@1}génère une accumulation isolée au point de coordonnées (0, 2).

Démonstration. On considère la suite (Cn)n∈N des collisions successives dans le diagramme en-gendré par M4 à partir de la configuration c0 et on note (xn, tn) les coordonnées (spatiales ettemporelles) correspondantes. On définit également δn comme étant le délai entre deux collisionssuccessives Cn et Cn+1 : δn = tn+1 − tn.

Nous allons calculer les coordonnées de chaque collision Cn et montrer que la suite descollisions est une alternance des deux règles de collisions définies ci-dessus. On a pour toutn ≥ 0 :

Cn =

{{zig, right} → {zag, right} si n est impair (rebond à droite)

{left, zag} → {left, zig} si n est pair (rebond à gauche).

On suppose par convention que la première collision C0 de coordonnées (x0, t0) vérifie t0 = 0 etx0 = −1 (c’est-à-dire la position initiale de left et zig) et correspond à un rebond à gauche. Onnotera que les positions des signaux left et right de la configuration c0 sont toujours opposées carleurs vitesses sont opposées et ils sont disposés initialement de manière symétrique par rapportà 0. Les règles de collisions assurant qu’ils gardent le même mouvement après chaque collision,leurs positions resteront toujours opposées.Supposons qu’une configuration au temps tn soit de la forme ctn = {left@xn, zig@xn, right@−xn}.Toute configuration provenant d’une collision Cn de coordonnées (xn, tn) et de type rebond àgauche vérifie cette forme de configuration. C’est le cas en particulier pour la configuration initialec0 avec x0 = −1. Il est clair à partir de la disposition des signaux que la prochaine collision Cn+1

Page 87: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

70 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

qui arrivera sera un rebond à droite i.e. {zig, right} → {zag, right} car zig (de vitesse 4) se déplacevers la droite et est situé à gauche de right (de vitesse −1

2) qui se déplace vers la gauche. Lessignaux left et zig ne peuvent pas rentrer en collision car left est situé à gauche de zig qui se déplaceplus rapidement vers la droite que left. La collision entre zig et right se déduit de leurs dynamiques

respectives, et ses coordonnées (x, t) vérifient :

{x = 4 · (t− tn) + xn (dynamique de zig)x = −1

2 · (t− tn)− xn (dynamique de right).

La collision entre zig et right arrive au temps t = tn+1, et les signaux zig et right occupe la mêmeposition spatiale après la durée δn = tn+1 − tn vérifiant 4 · δn + xn = −1

2 · δn − xn. On en déduitle délai δn et la position xn+1 :

δn = −4

9· xn et xn+1 = −7

9· xn . (4.1)

Comme les signaux rentrants de la collision Cn+1 sont remplacés par les signaux sortants, laconfiguration au temps tn+1 est ctn+1 = {left@−xn+1, zag@xn+1, right@xn+1}.

Pour le cas symétrique, lorsque ctn = {left@−xn, zig@xn, right@xn} et Cn est un rebond àdroite, la collision suivante Cn+1 est alors un rebond à gauche et on trouve de la même manièreque précédemment sa position xn+1 ainsi que la durée δn entre Cn et Cn+1 :

δn =4

9· xn et xn+1 = −7

9· xn . (4.2)

Donc à partir de la configuration initiale c0 et en appliquant successivement les deux calculsprécédents aux configurations résultant de chaque collision, on obtient une alternance de rebondsà droite et de rebonds à gauche (en commençant par un rebond à droite). D’après Eq. (4.1) etEq. (4.2), les suites (xn)n∈N et (δn)n∈N vérifient :{

x0 = −1 ; xn+1 = −79 · xn

δn = (−1)n+1 · 49 · xn

ce qui donne ∀n ∈ N

{xn = (−1)n+1 ·

(79

)nδn = 4

9 ·(

79

)n .

Finalement, à partir de la relation tn+1 = tn + δn avec t0 = 0, on obtient pour tout n ∈ N :

tn+1 =

n∑i=0

δi =

n∑i=0

4

9×(

7

9

)i=

4

n∑i=1

(7

9

)i.

La suite (tn)n∈N est infinie, strictement croissante et positive. Elle admet une limite qui estdonnée par la limite d’une suite géométrique de raison 7

9 < 1 :

limn→∞

tn =4

9×∞∑i=0

(7

9

)i=

4

9× 1

1− 79

= 2 .

La suite (xn)n∈N des positions spatiales admet également une limite :

limn→∞

xn = limn→∞

∣∣∣∣(−1)n ·(

7

9

)n∣∣∣∣ = limn→∞

(7

9

)n= 0 .

La machine M4 exécutée sur la configuration initiale c0 produit donc une suite de collisionssuccessives de coordonnées (xn, tn) vérifiant lim

n→∞(xn, tn) = (0, 2) . D’après la Déf. 13 et le

Lem. 12, on a ct(0) = c2(0) = Z c’est-à-dire que le point (0, 2) est un point d’accumulation(isolée).

On déduit de l’étude de cet exemple que :

Page 88: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.2. ACCUMULATIONS À DEUX ET QUATRE VITESSES 71

Corollaire 14Une accumulation peut être générée en utilisant seulement quatre vitesses différentes.

Remarque 16. Dès qu’une machine à signaux contient au moins quatre méta-signaux devitesses distinctes et des règles de collisions permettant à deux de ces méta-signaux de rebondiralternativement sur les deux autres, il devient alors possible de générer des accumulations dansle genre de l’accumulation décrite précédemment (avec une configuration initiale bien choisie).Cela suggère que la capacité d’accumuler n’est pas si rare pour les machines à signaux contenantsuffisamment de vitesses différentes.

4.2.2 Cas de deux vitesses

Réduction à une machine normalisée. Soit Ma,b = (M,S,R) une machine à signaux telleque Im(S) = {a, b} c’est-à-dire que les méta-signaux ne peuvent prendre que les valeurs a etb comme vitesse. On définit la fonction g : R → R par g(x) = x

b−a −ab−a . On a g(a) = 0 et

g(b) = 1 (en fait, g est la fonction f définie dans la Sous-sec. 2.4.1, avec c = 0 et d = 1).On normalise la machine Ma,b en une machine M0,1 = Ma,b

g = (M,S ′,R) où S ′ = g ◦ S. Lesnouvelles (et seules) valeurs de vitesse sont 0 et 1, les méta-signaux et règles restant inchangés.Comme g est une fonction affine de coefficient strictement positif (car a < b) et que M0,1 = Ma,b

g ,on en déduit grâce au Lem. 1 que M0,1 produit des diagrammes espace-temps équivalents à ceuxgénérés par Ma,b. En particulier, si Ma,b produit des accumulations, alors M0,1 produira aussides accumulations.

Accumuler est impossible avec uniquement deux vitesses. Nous pouvons maintenantdonner la preuve de l’impossibilité de produire une accumulation avec uniquement deux vitessesdifférentes. Grâce au Lem. 1 et au Cor. 5, il est suffisant de montrer qu’aucune accumulationne peut survenir dans les diagrammes produits par la machine support ayant uniquement deuxméta-signaux : un de vitesse 0 et un de vitesse 1.

On considère maintenant sans perte de généralité une machine à signaux M2 ayant unique-ment deux méta-signaux : S et

−→R de vitesses respectives 0 et 1. Comme M2 contient uniquement

deux méta-signaux, il n’y a qu’une seule règle de collisions à définir et pour que M2 soit effecti-vement une machine support, il s’agit nécessairement de la règle blanche {

−→R , S} → {S,

−→R } .

Lemme 15Soit D un diagramme espace-temps généré par la machine M2 à partir d’une configuration initialecomprenant i signaux

−→R et j signaux S. Alors le nombre total de collisions se produisant dans D

est inférieur ou égal à i× j.

Démonstration. Commençons par remarquer que toute configuration initiale de M2 peut êtreréarrangée en une configuration initiale qui maximise le nombre de collisions dans le diagrammeengendré (voir la Fig. 4.4(a) pour un exemple de configuration quelconque et la Fig. 4.4(b)pour sa version arrangée). En effet, le nombre maximal de collisions est obtenu si chaque signal−→R rentre en collision avec chaque signal S. Les signaux S étant stationnaires et les signaux

−→R

se déplaçant vers la droite, cela est possible uniquement si chaque−→R est initialement disposé à

la gauche de chaque S. Donc pour calculer la borne supérieure exacte du nombre de collisions,on considère une configuration initiale similaire à celle de la Fig. 4.4(b) c’est-à-dire telle que laposition de chaque signal

−→R est strictement inférieure aux positions de tous les signaux S.

Comme l’unique règle de collisions est une règle blanche i.e. tous les signaux entrants sontrégénérés en sortie, chaque signal

−→R n’est pas détruit après la collision avec le premier signal S

rencontré (celui qui est le plus à gauche) mais continue sa trajectoire et rentre successivement

Page 89: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

72 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

(a) Diagramme de M2 avec configuration initiale quelconque. (b) Maximiser le nombre de collisions.

Figure 4.4 – Diagrammes avec deux vitesses.

en collision avec tous les signaux S c’est-à-dire les j signaux S présents dans la configurationinitiale. Après la dernière collision (avec le signal S le plus à droite),

−→R continue de se propager

indéfiniment vers la droite et ne provoque plus de collision.Donc chaque signal

−→R génère exactement j collisions. Il y a i signaux

−→R dans la configuration

initiale, chacun rentrant en collision avec tous les signaux S, et comme les collisions entre signaux−→R sont impossibles (car ils ont la même vitesse), le nombre total de collisions est donc i× j.

Remarque 17. Étant donnés n signaux dans la configuration initiale, le nombre maximalde collisions i × j est obtenu en prenant i = bn2 c signaux

−→R et j = n − i signaux S dans la

configuration initiale de telle sorte que chaque signal−→R est initialement disposé à la gauche de

chaque signal S (voir la Fig. 4.4(b)).

On peut maintenant conclure :

Proposition 16Il est impossible de générer une accumulation avec une machine à signaux à 2 vitesses.

Démonstration. Comme expliqué précédemment, toute machine M à 2 vitesses peut être norma-lisée en une machine M0,1 à 2 vitesses (0 et 1). Toute machine de la forme M0,1 admet M2 commemachine support. Par le Lem. 15, M2 exécutée sur une configuration initiale finie ne peut donnerlieu qu’à un nombre fini de collisions. Une condition nécessaire (mais pas suffisante) pour avoirune accumulation étant de contenir une infinité d’objets (signaux/collisions) dans le diagramme,il s’ensuit que la machine M2 ne peut pas produire d’accumulation. Le Lemme 1 et le Cor. 5impliquent que ni M0,1 ni M ne peuvent produire d’accumulation (car les diagrammes de Msont équivalents à ceux de M0,1, qui sont inclus dans les diagrammes supports sans accumulationde M2). On conclut finalement qu’il est impossible d’accumuler des signaux et des collisions avecuniquement deux vitesses.

Notons que dans le cas de deux vitesses, la rationalité des vitesses et des positions initialesn’intervient pas car la normalisation de deux vitesses distinctes a et b en vitesses 0 et 1 peut êtreréalisée pour n’importe quels nombres a et b, rationnels ou non, et les positions initiales n’ontpas besoin d’être rationnelles dans la preuve du Lem. 15). Par contre, l’hypothèse de finitude dela configuration initiale (voir Déf. 3) est quant à elle indispensable.

En effet, il est toujours possible de créer une accumulation avec seulement deux vitesses sion considère des configurations initiales infinies : il suffit de placer des signaux de telle façonqu’ils forment une accumulation statique dans l’espace. Par exemple, le point 0 étant un pointd’accumulation topologique de l’ensemble

{1n

∣∣ n ∈ N } dans R, on obtiendra une accumulation

Page 90: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 73

statique en 0 en plaçant un signal à chaque position 1n (remarquons au passage qu’une telle

configuration est rationnelle).Il est ensuite aisé de générer une accumulation dynamique en plaçant un signal stationnaire

à chaque position 1n et un signal

−→R (de vitesse 1) en position −2. Le signal

−→R rentrera alors

en collision avec tous les signaux stationnaires (pour une règle de collisions appropriée) avant letemps t = 2, produisant ainsi une accumulation de collisions au point (0, 2), comme illustré enFig. 4.5.

Figure 4.5 – Une accumulation à deux vitesses et configuration initiale infinie.

4.3 Accumulations à trois vitesses

Nous avons montré dans la section précédente que s’il est facile de produire une accumulationavec seulement quatre vitesses, cela est en revanche impossible lorsque seulement deux vitessesdifférentes sont permises. Nous allons maintenant étudier le cas intermédiaire — trois vitessesdistinctes — et nous montrons que deux sous-cas doivent être distingués : l’un traitant de ma-chines contenant des valeurs incommensurables (i.e. des valeurs de rapport irrationnel), et l’autretraitant de machines purement rationnelles. Le résultat obtenu est une condition nécessaire pourqu’une machine à trois vitesses puisse générer une accumulation :pour qu’une machine à signaux à 3 vitesses puisse générer une accumulation à partir d’uneconfiguration initiale, il faut qu’elle contienne un rapport irrationnel soit entre des vitesses, soitentre des positions initiales.

Dans un premier temps, nous montrons qu’il est effectivement possible de générer une accu-mulation avec une machine irrationnelle à 3 vitesses : nous en fournissons deux exemples (un avecdes positions initiales de rapport irrationnel, et un avec des vitesses de rapport irrationnel). Nousdémontrons dans un second temps qu’il est impossible pour une machine rationnelle à 3 vitessesde produire une accumulation. Nous utilisons pour cela les notions de machines et diagrammessupports introduites en Sous-sec. 2.4.2.

4.3.1 Cas non rationnel

Pour démontrer qu’il est possible de produire une accumulation avec trois vitesses dansle cas de machines irrationnelles, nous fournissons directement un tel exemple de machine etde configuration initiale. Pour cela, nous implémentons de manière géométrique l’algorithmed’Euclide, en utilisant la machine évoquée en Sous-sec. 3.1.2 qui permet de calculer le modulode deux nombres, c’est-à-dire le reste dans leur division euclidienne. Le calcul géométrique dumodulo permet, à partir d’une configuration dans laquelle deux valeurs réelles a et b sont encodéespar des distances entre signaux verticaux, d’obtenir une configuration dans laquelle la valeur dureste de la division euclidienne de a par b est encodée de cette même façon. Pour implémentergéométriquement l’algorithme d’Euclide et calculer ainsi le plus grand diviseur commun de a etb, l’idée est, comme pour l’algorithme classique, de réitérer le calcul géométrique du modulo.

Page 91: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

74 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

Les notions de division euclidienne, modulo et plus grand diviseur commun, habituellementdéfinies sur les entiers, sont ici généralisées de manière canonique aux réels. Plus précisément,pour a, b ∈ R, nous entendons par division euclidienne (ou division entière) de a par b l’uniquen ∈ Z (égal à bab c) tel que a = b ·n+ r avec r ∈ R et 0 ≤ r < |b|. Le reste r définit la valeur de amodulo b, que l’on notera a mod b. On dira que le réel b divise le réel a si a mod b = 0. Le plusgrand diviseur commun des réels a et b, noté pgcd(a, b), est le plus grand réel qui divise à la foisa et b. On ne considérera par la suite que des nombres réels positifs, les division, modulo et pgcdde réels de signes quelconques pouvant se ramener facilement à ceux de leur valeurs absolues.

Implémenter géométriquement l’algorithme d’Euclide avec trois vitesses. On pour-rait facilement produire une accumulation en utilisant la machine support M−1,0,1

3 exécutéedepuis une configuration initiale bien choisie, mais nous préférons utiliser ici une autre ma-chine à trois vitesses, appelée Mpgcd, pour produire l’accumulation recherchée. La définition deMpgcd permet d’implémenter l’algorithme d’Euclide avec des signaux et de produire ainsi desdiagrammes plus clairs et significatifs que la machine support à trois vitesses.

Rappelons d’abord l’algorithme d’Euclide. À partir de deux nombres réels positifs a et b (onpeut supposer sans perte de généralité que b ≤ a, quitte à les échanger), on définit les suites(an)n∈N et (bn)n∈N par la récursion suivante :{

a0 = a

b0 = bet

{an+1 = bn

bn+1 = an mod bn.

Cette double récursion permet également de définir la suite (rn)n∈N des restes des divisionseuclidiennes successives c’est-à-dire que pour tout n, rn est le reste de la division de an par bn.Lorsque cette suite est nulle à partir d’un certain rang, le dernier reste non nul nous fournit alorspgcd(a, b), le plus grand diviseur commun de a et b.

Cet algorithme peut être implémenté avec une machine à signaux à 3 vitesses (de valeurs−1, 0 ou 1), et définie par 7 méta-signaux et 8 règles de collisions. La définition de la machineMpgcd est donnée par les Fig. 4.6(a) et 4.6(b) ; la Fig. 4.6(c) fournit le diagramme de l’exécutionde Mpgcd sur les entrées a = 8 et b = 3. Le résultat peut être lu au sommet du diagramme, ladistance entre les deux signaux w0 nous fournissant alors pgcd(8, 3).

Les méta-signaux stationnaires (w0, wa et wb) sont utilisés pour encoder des valeurs : lavaleur a (resp. b) étant codée par la distance entre les signaux w0 et wa (resp. entre w0 et wb).Dans cette version géométrique, l’étape de récurrence an+1 = bn est implémentée par la règle{wb,←−−ZAG} → {

←−−ZAG,wa} et l’étape bn+1 = rn par la règle {−→zig,

←−−ZAG} → {←−zag,wb}.

Remarque 18. Notons qu’avec trois vitesses −ν1 < 0 < ν2 et qu’à partir d’une configurationinitiale comprenant deux signaux verticaux et un autre signal se déplaçant (disons vers la droite)à partir du premier signal vertical en direction du deuxième, et avec des règles définissant desrebonds des signaux non stationnaires sur les stationnaires, on obtient un aller-retour dont letemps dépend à la fois de la distance l séparant les signaux verticaux et des deux vitesses nonnulles. Ce temps est égal à la somme des temps mis par chaque signal pour aller d’un signalvertical au second et est donné par 1

ν1l + 1

ν2l . En notant τ = 1

ν1+ 1

ν2, le temps d’un aller-retour

entre deux murs espacés d’une distance l est τl. Pour le cas deMpgcd, les signaux non-stationnairesont des vitesses de valeurs absolues égales à 1 et donc τ = 2.

Pour deux nombres a et b, on note ca,b la configuration définie à partir de quatre signaux (dontseulement un est non-stationnaire) et respectant l’encodage des valeurs de a et b par les distancesentre signaux stationnaires c’est-à-dire ca,b =

{w0@0,

−→zig@0, wb@b, wa@a

}. La distance entre

w0 et wa (resp. wb) est égale à a (resp. à b).Décrivons brièvement l’évolution de Mpgcd sur une telle configuration. Après que les signaux

−→ZIG (initialement

−→zig devenu

−→ZIG après la collision avec wb) et

←−−ZAG ont effectué un aller-retour

Page 92: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 75

Méta-signal Vitesse−→zig,−→ZIG −1

w0, wa, wb 0

←−zag,←−−ZAG 1

(a) Méta-signaux.

{−→zig, wb } → { ←−zag, wb,

−→ZIG }

{ w0, ←−zag } → { w0,−→zig }

{ wa,−→ZIG } → {

←−−ZAG }

{ wb,←−−ZAG } → {

←−−ZAG, wa }

{−→zig,←−−ZAG } → { ←−zag, wb }

{−→ZIG,

←−−ZAG } → {

←−−ZAG }

{−→zig, wb,

←−−ZAG } → {

←−−ZAG, w0 }

{ w0,←−−ZAG } → { w0 }

(b) Règles de collisions.

wb

−→zig

←−zag

w0 wa

−→ZIGwb

−→zig

←−−ZAG

−→ZIG

←−zag

w0

←−−ZAG

←−−ZAG−→zig

←−zag

wb

−→zig

wa

w0 w0

3

8

1

(c) Exécution de Mpgcd calculant pgcd(8, 3) = 1.

Figure 4.6 – La machine Mpgcd : algorithme d’Euclide géométrique.

complet entre w0 et wa (donc après une durée τa compte-tenu de la remarque précédente), laconfiguration vérifie le même schéma (même signaux et même ordre) que la configuration ca,b

mais avec les signaux wa et wb à de nouvelles positions. En effet, selon les règles de collisions, lesignal initial wa a désormais disparu, et le wb a été remplacé par wa lors de la collision avec

←−−ZAG.

La collision suivante entre−→zig (qui rebondissait entre w0 et wb, devenant alternativement

−→zig et

←−zag) et←−−ZAG génère un nouveau signal wb. Le mur initial w0 demeure toujours présent (puisque

apparaissant toujours en sortie des collisions l’impliquant).En appelant a′ (resp. b′) la distance entre w0 et le nouveau signal wa (resp. wb), conformément

à la Fig. 4.7(a), la configuration au temps τa est ca′,b′ ={

w0@0,−→zig@0, wb@b′, wa@a′

}. En

définissant r comme la distance entre w0 et le signal nouveau wb généré, on a :

τa = k · τb+ τr où k ∈ N et 0 ≤ τr < τb

d’où : τr = τa mod τb (par définition du modulo)et donc : r = a mod b .

On obtient donc finalement que a′ = b et b′ = r = a mod b et qu’à partir de la configurationca,b, la configuration après une durée τa est ca′,b′ = cb,a mod b. Si r = 0, cela signifie que a estdivisible par b et que la collision entre

←−−ZAG et wb implique également

−→zig: dans ce cas, l’application

de la dernière règle donnée en Fig. 4.6(b) produit deux signaux w0 alors séparés par la distanceb.

Page 93: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

76 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

τb

τa

τr

a

b

b′a′

(a) Détail d’une étape de calcul de Mpgcd.

1

ϕ

(b) Une accumulation avec 3 vitesses.

Figure 4.7 – Générer une accumulation à trois vitesses avec Mpgcd .

Les règles de Mpgcd définissant une itération de cette étape lorsque la valeur r précédemment

obtenue est non nulle (c’est-à-dire lorsque la collision entre←−−ZAG et wb n’implique pas

−→zig), l’étape

de calcul est recommencée mais cette fois à partir de la configuration cb,a mod b. En commençantavec les valeurs a = a0 et b = b0, nous définissons les suites (an)n∈N et (bn)n∈N en identifiant àchaque étape du processus les distances a, a′, b et b′ respectivement avec les valeurs an, an+1, bnet bn+1. Les suites ainsi obtenues correspondent alors à celles définies par la double récurrencede l’algorithme d’Euclide. S’il existe n0 ∈ N tel que an0 est divisible par bn0 , cela signifiera quele reste r associé à cette étape de calcul sera nul et qu’il y aura une triple collision entre lessignaux

←−−ZAG, wb et

−→zig. Comme mentionné ci-dessus, les deux dernières règles de collisions de

la Fig. 4.6(b) provoqueront alors l’arrêt du processus et ne laisseront dans la machine que deuxsignaux stationnaires w0. La distance entre ces deux signaux correspond alors au dernier restenon-nul et fournit donc le résultat recherché, à savoir pgcd(a0, b0) = pgcd(a, b).

Arrêt de l’algorithme. Afin d’obtenir une accumulation, il faut par définition qu’un nombreinfini de collisions se produise en temps fini. Dans le cas de l’algorithme d’Euclide, cela signifie quel’algorithme ne s’arrête jamais. Il suffit pour cela d’utiliser deux réels incommensurables, c’est-à-dire tels que leur rapports est irrationnel. En effet, nous savons à partir de [Hardy et Wright1960, Th. 161, p. 136] que :

l’algorithme d’Euclide termine sur les entrées a et b ⇐⇒ a

b∈ Q .

Pour obtenir ainsi une exécution infinie, il suffit donc de choisir deux valeurs initiales derapport irrationnel. Nous prenons ici a = ϕ et b = 1, où ϕ = 1+

√5

2 est le nombre d’or. La

Page 94: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 77

configuration initiale correspondante est cϕ,10 ={

w0@0,−→zig@0, wb@1, wa@ϕ

}.

Comme le rapport ab = ϕ est irrationnel, l’algorithme ne s’arrêtera jamais et produira une

suite de restes (rn)n∈N qui sera strictement décroissante et strictement positive. De plus, comme ϕsatisfait ϕ = 1+ 1

ϕ , nous pouvons facilement obtenir le développement de ϕ en fraction continue :

ϕ = 1 +1

1 + 11+ 1

...

conformément au lien classique entre fraction continue et algorithme d’Euclide [Hardy et Wright1960]. Ici, on aura pour tout n, an = bn + rn, c’est-à-dire que le quotient de an par bn est égal à1 pour tout n.

Convergence de la série des an et limite de la suite des temps de collisions. L’al-gorithme exécuté à partir de cϕ,10 produit donc bien un diagramme infini, mais pour qu’il y aiteffectivement une accumulation, il faut qu’une infinité de collisions soit contenue dans une duréefinie. À partir des définitions de an+1 = bn et bn+1 = rn et de la relation an = bn · qn + rn pourtout n ∈ N, nous pouvons prouver que pour tout n on a an+2 <

12 · an. En effet:

an = bn · qn + rn

= an+1 · qn + bn+1 car an+1 = bn et bn+1 = rn ,

= (bn+1 · qn+1 + rn+1) · qn + bn+1

= bn+1(1 + qn+1 · qn) + rn+1 · qn= an+2(1 + qn+1 · qn) + rn+1 · qn car an+2 = bn+1 ,

≥ 2an+2 + rn+1 car ∀n, qn ≥ 1 .

Or, avec les valeurs initiales a0 = ϕ et b0 = 1, comme a0b0

est irrationnel, l’algorithme netermine pas et pour tout n, on a rn > 0 et qn = 1. La dernière inégalité ci-dessus implique alorsque an > 2 ·an+2 et donc an+2 <

12 ·an. Nous pouvons ensuite montrer par une simple récurrence

sur n que ∀n ≥ 1, a2n <1

2n · a0 et ∀n ≥ 1, a2n+1 <1

2n · a1, et il s’ensuit que pour tout k ∈ N :

k∑n=0

an =

bk/2c∑n=0

a2n +

bk/2c∑n=0

a2n+1

<

bk/2c∑n=0

1

2na0 +

bk/2c∑n=0

1

2na1

< (a0 + a1)×bk/2c∑n=0

1

2n

ce qui donne finalement (et avec a1 = b0 par définition) :

limk→∞

k∑n=0

ai < 2× (a0 + b0) .

Comme tous les an sont strictement positifs, la série est strictement croissante et la somme

infinie∞∑n=0

an converge vers une limite finie inférieure ou égale à 2× (a0 + b0).

Notons également qu’à chaque itération, au moins une collision se produit (en fait, au moinstrois), et donc pour chaque durée an, il se produit au moins une collision. Plus exactement, pourn ∈ N, il existe une collision de coordonnées (0, an) (celle entre w0 et ←−zag). De plus, entre les

Page 95: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

78 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

temps an et an+1, il y a seulement un nombre fini de collisions. La somme totale t de ces durées

est donnée par t =∞∑n=0

τan et correspond à la hauteur totale de la construction. Comme démontré

ci-dessus, la somme des an est bornée par 2× (a0 + b0), et donc t est bornée par 2τ× (a0 + b0).Ici, nous avons τ = 2, a0 = ϕ et b0 = 1 et donc t < 4× (ϕ+ 1).

Nous pouvons maintenant conclure qu’avant le temps fini t, il se produit un nombre infini decollisions car une collision se produit en (x = 0, t = an) avec an < t pour tout n. Cela impliquepar définition de la suite de collisions (Cn)n∈N (voir la Déf. 13), que la suite des temps decollision est convergente. Par le Lem. 12, le diagramme de Mpgcd à partir de cϕ,10 contient doncune accumulation aux coordonnées (0, t) i.e. ct(0) = Z.

De manière générale, en utilisant la propriété que l’algorithme d’Euclide termine sur lesentrées a et b si et seulement si le rapport a

b est irrationnel, nous obtenons finalement le lemmesuivant :

Lemme 17La machine Mpgcd génère une accumulation lorsqu’elle est exécutée à partir de la configurationca,b0 avec a

b /∈ Q.

Remarque 19. En vertu de ce lemme, ϕ peut donc être remplacé par n’importe quelle autrevaleur irrationnelle x (supérieure à 1) : la machine Mpgcd exécutée sur cx,10 produira égalementune accumulation. Dans l’exemple précédent, nous avons choisi la valeur ϕ à cause de la régularitédu diagramme résultant, régularité provenant du fait que les divisions euclidiennes successivesobtenues en commençant avec ϕ et 1 satisfont qn = 1 pour tout n.

Nous pouvons également fournir une accumulation en utilisant M3 =Mpgcd, la machine sup-

port de Mpgcd définie avec seulement trois méta-signaux. À partir de la configuration cϕ,10 , laconfiguration support de cϕ,10 , nous obtenons le diagramme de la Fig. 4.8(a), dans lequel uneaccumulation se produit en position x = 1 et strictement avant le temps t précédemment calculé.La Figure 4.8(b) fournit un autre exemple de diagramme support pour Mpgcd exécutée à partird’une configuration initiale incluant un rapport irrationnel.

(a) Diagramme support pour la configuration cϕ,10 . (b) Un autre exemple de diagramme support.

Figure 4.8 – Diagrammes supports avec accumulation pour Mpgcd.

Accumulation à partir de vitesses à rapport irrationnel. L’exemple précédant donne unexemple d’accumulation en utilisant une machine ayant toutes ses vitesses rationnelles (−1, 0 et−1 pour Mpgcd) et une configuration initiale à rapport irrationnel. Nous montrons ici qu’il estaisé d’obtenir une accumulation à partir d’une configuration initiale rationnelle et d’une machinedont deux vitesses ont un rapport irrationnel. Il suffit pour cela d’utiliser ces deux vitesses pour

Page 96: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 79

créer un signal à une position irrationnelle de telle sorte à obtenir une configuration de la formeca,b0 avec a

b /∈ Q.

Pour cela, nous utilisons la machine Mpgcd dans laquelle la vitesse 1 est remplacée par lavitesse ϕ ∈ R r Q. Cette machine modifiée implémentera encore l’algorithme d’Euclide. Eneffet les règles de collisions restent identiques et le changement de la vitesse 1 en ϕ n’auracomme conséquence que de changer le temps d’un aller-retour entre deux signaux verticaux.Alors qu’on avait pour la version originale de Mpgcd la valeur τ = 2, nous aurons pour la ver-sion modifiée τ′ = 1 + 1

ϕ = ϕ. Les étapes de l’algorithme resteront alors les mêmes, puisqueles restes successivement obtenus sont indépendants de τ. En utilisant le fait que le rapport desvitesses est −1

ϕ /∈ Q, nous construisons à partir d’une configuration rationnelle une configura-tion ayant une rapport irrationnel. Après deux collisions, la configuration irrationnelle ainsiproduite peut alors être utilisée pour démarrer une exécution infinie de l’algorithme d’Eu-clide. En effet, tel qu’illustré par la Fig. 4.9(a), en partant de la configuration rationnellec0 =

{w0@0,

−−→start@0, ←−zag@1, wa@1}, un simple calcul montre que la première collision se

produit en position x = 11+ϕ = 1

ϕ = ϕ− 1, et qu’après la deuxième collision, la configuration au

temps 1 est c1,ϕ−11 =

{w0@0,

−→zig@0, wb@ϕ− 1, wa@1

}, qui vérifie alors la forme requise pour

effectuer l’algorithme d’Euclide. Comme 1ϕ−1 /∈ Q, l’algorithme ne terminera pas, et la suite

(an)n∈N est la même que dans l’exemple précédent, mais décalée d’un rang à cause de l’étaped’initialisation des distances qui fournit comme valeurs d’entrée a0 = 1 et a1 = ϕ− 1 (alors quedans l’exemple précédent, nous avions a0 = ϕ, a1 = 1 et a2 = ϕ− 1). Une accumulation est ainsi

générée en position x = 0 et temps t′ = 1 + τ′∞∑n=1

an. Le diagramme complet est donné par la

Fig. 4.9(b).

1

ϕ− 1

(a) Créer une position irrationnelle à partir d’une vitesse irrationnelle. (b) Le diagramme complet.

Figure 4.9 – Une accumulation à trois vitesses dont une de valeur irrationnelle.

Avec le Lem. 17, nous obtenons finalement la proposition suivante :

Proposition 18Il existe des accumulations générées par des machines à signaux à 3 vitesses avec des vitessesincommensurables ou des positions initiales incommensurables.

Page 97: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

80 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

4.3.2 Cas rationnel

Nous allons maintenant montrer que l’existence d’un rapport irrationnel entre deux valeurs estune condition nécessaire pour qu’une machine à 3 vitesses puisse générer une accumulation. Pourcela, nous considérons des machines à 3 vitesses de rapports entre elles rationnels, exécutées surdes configurations initiales dont les rapports des positions sont aussi rationnels. Nous montronsque de telles machines ne peuvent produire que des diagrammes ayant des structures en formede grilles périodiques et dont la régularité implique l’inexistence d’accumulation.

Normalisation des vitesses. De la même façon que les vitesses ont été normalisées en 0 et 1pour les machines à 2 vitesses en Sous-sec. 4.2.2, nous montrons ici que les vitesses de machinesà 3 vitesses distinctes peuvent être normalisées en valeurs −1, 0 et ν > 0.

Soit Ma,b,c une machine à signaux à 3 vitesses a, b et c telles que a < b < c. Nous définissonsalors la machine M−1,0,ν , qui produira des diagrammes équivalents à ceux Ma,b,c. Considéronsla fonction f : R → R définie en Sous-sec. 1.3.1, avec c = −1 et d = 0 : f(x) = x

b−a −b

b−a .Nous avons alors f(a) = −1, f(b) = 0 et f(c) = c−b

b−a > 0. Notons ν = f(c).Comme f est une fonction affine de ratio strictement positif, on déduit par le Lem. 1 que

les diagrammes de Ma,b,c et M−1,0,ν seront équivalents. En particulier, si Ma,b,c produit undiagramme avec une accumulation, le diagramme correspondant deM−1,0,ν contiendra égalementune accumulation.

Dans cette sous-section, nous voulons prouver qu’aucune machine à signaux rationnelle à3 vitesses ne peut produire d’accumulation. En fait, nous prouvons une propriété légèrementplus forte : aucune machine à signaux à 3 vitesses dont les rapports entre les vitesses et lesrapports entre les positions initiales sont rationnels, ne produit d’accumulation. Pour cela, pourune machineMa,b,c, nous ne considérerons que la machine support M−1,0,ν de la machineM−1,0,ν ,où ν = c−b

b−a . Par définition des machines supports, la machine M−1,0,ν ne contient que 3 méta-signaux : un pour chaque vitesse −1, 0 et ν. Chaque règle de collisions produira en sortie lenombre maximal de méta-signaux, c’est-à-dire les trois méta-signaux de la machine.

Notons que si les rapports entre les valeurs a, b et c sont rationnels (i.e. a, b et c sontcommensurables), alors ν sera également rationnel. En effet, tous nombres réels x et y non nulsvérifient l’équivalence suivante :

x

y∈ Q⇐⇒ x− y

y∈ Q .

Comme ν = c−bb−a = c

b−a −b

b−a et que a, b et c sont tous distincts, on en déduit que

a

b,a

c∈ Q⇒ ν ∈ Q

(la rationalité de bc se déduisant des deux autres rapports). Donc si les rapports entre a, b et

c sont rationnels, ν sera rationnel (et strictement positif par sa définition). Nous exprimeronsparfois ν sous forme de fraction irréductible que nous écrirons ν = p

q , où p et q sont des entiers

naturels premiers entre eux. Pour simplifier les notations, on notera Mν3 ou M

p/q3 pour désigner

la machine support M−1,0,ν .

Notions de bandes et multi-bandes. Nous construisons une famille de diagrammes telle quetout diagramme généré par une machine à trois vitesses de rapports rationnels est inclus dansau moins un diagramme de cette famille. Comme aucun diagramme de la famille ne contientd’accumulation, nous en déduirons qu’aucune machine à 3 vitesses de rapports rationnels nepeut produire d’accumulation. Cela est effectué en deux étapes. D’abord, nous introduisons un

Page 98: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 81

certain type de configurations initiales ne produisant que des diagrammes réguliers à partir d’uncertain temps : nous appelons de tels des diagrammes des multi-bandes. Ensuite, nous prouvonsque toute configuration initiale rationnelle c0 de la machine support Mν

3 est incluse dans une desconfigurations de la forme précédente et que le diagramme généré à partir de c0 est inclus dansune multi-bande.

Avant de définir les diagrammes que nous appelonsmulti-bandes, nous introduisons les bandes,des structures plus simples qui seront utilisées comme éléments de bases pour construire les multi-bandes.

Définition 36 (Bande)Soient n ∈ N, ν ∈ Q et x0, w ∈ R. Nous appelons (ν, n, x0, w)− bande le diagramme généré parla machine Mν

3 à partir de la configuration initiale :

c0 =

{[←−L ,−→R ]@x0, S@x0 +

i

n· w, [

←−L ,−→R ]@x0 + w

∣∣∣∣ 0 ≤ i ≤ n}

.

La Figure 4.10(b) fournit un exemple de (23 , 5, 0, 1)− bande (le diagramme a été coupé sur

les deux côtés, mais les signaux quittant la partie centrale se propagent indéfiniment).Le paramètre ν est une vitesse rationnelle (qui correspondra à la vitesse obtenue par la

normalisation précédente) ; x0 est la position de début de la bande i.e. la position du signalstationnaire le plus à gauche ; et w est la largeur totale d’une bande (la position dernier signalstationnaire est donc x0 + w). Le paramètre n est le nombre de sous-divisions de l’intervalle[x0;x0 +w] en segments de même longueur, égale à w

n ). Nous montrerons par la suite que lorsquele paramètre est « bien choisi » en fonction de ν, alors il correspond exactement au nombre detelles sous-divisions créées par l’évolution la machine sur une configuration initiale ne contenantpas les signaux stationnaires marquant les sous-divisions, comme illustré par la Fig. 4.10(a). Pourun tel n, les collisions entre

−→R et

←−L se produiront exactement aux positions des sous-divisions

et seront donc des triples collisions impliquant également le signal S marquant la sous-division.La Figure 4.11(a) illustre la signification géométrique de ces paramètres.

Il y a donc n − 1 signaux S entre les deux signaux S les plus extrêmes, et leur position estx0 + i

n · w pour 1 ≤ i ≤ n− 1. En incluant les positions des deux signaux extrêmes, un signal Sest placé dans la configuration initiale à chaque position x0 + i

n pour 0 ≤ i ≤ n .

Nous prouvons d’abord grâce à deux lemmes que la structure d’une bande est régulière : lapartie centrale de la bande se comporte suivant un motif périodique et la partie externe contientuniquement des signaux parallèles qui n’entreront jamais en collision.

Lemme 19Soit une (ν, n, x0, w) − bande. Alors aucune collision ne se produit en dehors de l’intervalle[x0;x0 + w].

Démonstration. Tout signal traversant le signal S le plus à gauche (resp. le plus à droite) dela configuration initiale (en position x0) est nécessairement un signal

←−L (resp. un signal

−→R ).

D’après la forme de la configuration initiale, il n’y a pas de signal avant (resp. après) la positionx0 (resp. x0+w) et comme les signaux partant à gauche (resp. à droite) du premier (resp. dernier)signal S sont tous parallèles, aucune collision ne se produira dans l’espace situé avant la positionx0 (resp. x0 + w).

Nous montrons maintenant que pour des paramètres judicieusement choisis, une bande cor-respond à une structure régulière constituée d’une grille verticale et de signaux parallèles s’enéchappant sur les côtés.

Page 99: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

82 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

(a) Une bande « incomplète ». (b) Une bande. (c) Zig-zags sur une et deuxsous-divisions.

Figure 4.10 – Structures de base pour les diagrammes à trois vitesses.

Lemme 20Toute (pq , p + q, x0, w) − bande devient périodique dans l’intervalle [x0;x0 + w] après le tempstT = q

p+qw. Après ce temps, la période est donnée par T = wp .

Ce lemme signifie que pour t ≥ tT et pour tout x ∈ [x0;x0 +w] on a : ct+T (x) = ct(x). Notonsd’abord qu’il est impossible d’avoir une périodicité sur l’espace complet à cause des signaux sepropageant en dehors de la partie centrale de la bande. C’est pourquoi nous restreignons l’étudede l’évolution de la bande à l’intervalle défini par les signaux extrémaux, c’est-à-dire l’intervalle[x0;x0 + w].

Démonstration. Commençons par une remarque. Dans le cas de trois signaux S tels que lesdeux premiers et les deux derniers sont espacés d’une même distance, les temps d’aller-retourde signaux

←−L et

−→R partant en même temps du S central sont les mêmes, comme illustré par la

Fig. 4.10(c). En effet, pour deux signaux stationnaires espacés d’une distance l et un signal−→R

de vitesse ν partant d’un des S, il faudra une durée νl pour que−→R atteigne le second S. Après la

collision,−→R rebondit en un signal

←−L de vitesse −1 (un autre signal

−→R est également généré et

part de l’autre côté). Le temps mis par←−L pour atteindre S est de l. Le temps total de l’aller-retour

est donc νl+ l = τ · l en posant τ = 1 +ν. L’aller-retour symétrique (d’abord←−L puis S) nécessite

la même durée τ · l. Ainsi, à partir d’une configuration {S@x, [←−L , S,

−→R ]@x+ l, S@x+ 2l}, après

une durée τ · l (i.e. le temps d’un aller-retour), il se produit une triple collision au niveau dusignal S central (en position x+ l), comme cela est illustré par la Fig. 4.10(c). Comme la machineconsidérée est une machine support, trois signaux figurent en sortie, de telle sorte que le processusde double zig-zag se répète indéfiniment. Cette remarque s’applique également pour plus de troissignaux stationnaires régulièrement espacés. Dans le cas d’une (pq , p + q, x0, w) − bande, lesparamètres étant ν = p

q et n = p+ q et la distance entre deux signaux S successifs étant donnéepar w

n , le temps d’un aller-retour sera donc égal à τ · wn = (1 + pq ) · w

p+q = wq .

Afin d’affirmer que toutes les collisions entre signaux gauche et droit se produisent en despositions de signaux stationnaires, il reste à s’assurer que le signal

−→R de gauche et

←−L de droite de

la configuration initiale se rencontre bien au niveau d’un signal stationnaire. Cette collision aurabien lieu (car chacun de ces deux signaux peut rencontrer des signaux S mais par définition desrègles, il sera également en sortie de collision et continuera donc de traverser la bande). Calculons

Page 100: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 83

•x0

w

ν

1

n divisions

(a) Paramètres d’une(ν, n, x0, w)− bande.

•x0

w w w

ν

1

n divisions n divisions n divisions

(k fois)

(b) Paramètres d’une (ν, n, x0, w, k)−multi-bande.

Figure 4.11 – Paramètres des bandes et des multi-bandes.

les coordonnées de la collision centrale entre les signaux−→R et

←−L initialement présents en positions

respectives x0 et x0 + w. Les coordonnées (xC , tC) de cette collision vérifient ν · tC + x0 =−tC +x0 +w et xC = ν · tC +x0, ce qui donne xC = ν

ν+1w+x0 et tC = wν+1 . Avec les paramètres

ν = pq , on obtient xC = p

p+qw + x0 et tC = qp+qw. Comme n = p + q, la position xC s’écrit

pnw + x0 et est donc bien de la forme x0 + i

nw avec 0 ≤ i ≤ n. Cela correspond donc bien à laposition d’un signal S de la configuration initiale, assurant que la collision sera bien une triplecollision.

Avec la remarque faite en début de preuve, nous en concluons qu’à partir du temps tC , toutesles collisions (exceptées celles situées sur les bords) sont des collisions triples et le diagrammedevient périodique entre les positions x0 et x0 + w. Après le temps tT = tC , la période esttrivialement donnée par le temps d’un aller-retour : T = w

q .

Concernant les parties « externes » à la bande, des signaux sont générés avec un espacementrégulier et se propagent indéfiniment. Sur la partie gauche, les signaux

←−L (qui se propagent vers

la gauche) sont tous espacés d’une distance d = τ× wp+q × 1 = τ·w

p+q , qui correspond à la distance

parcourue par un signal←−L pendant le temps d’un aller-retour d’une sous-division. À droite, les

signaux−→R qui se propagent à l’infini sont régulièrement espacés d’une distance d = τ·w·p

q(p+q) .

Le paramètre n choisi ici (n = p + q) correspond en fait à 1/ pgcd(

νν+1 , 1

), valeur que l’on

peut déduire de l’étude des coordonnées de la collision C. Le choix de n’importe quel multiple de1/ pgcd

(νν+1 , 1

)comme valeur de n permet également d’obtenir une bande stable après le temps

tT , la différence étant que les sous-divisions seront plus ou moins fines en fonction du multiplechoisi.

À partir des bandes que nous pouvons utiliser comme structures élémentaires, nous définissonsmaintenant une structure périodique plus générale :

Définition 37 (Multi-bande)Soient n, k ∈ N, ν ∈ Q et x0, w ∈ R. On appelle (ν, n, x0, w, k) − multi-bande le diagramme

Page 101: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

84 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

généré par Mν3 à partir de la configuration :

c0 =

{[S,←−L ,−→R ]@x0 + l · w, S@x0 +

(i

n+ j

)· w

∣∣∣∣ 0 ≤ l ≤ k, 0 < i < n et 0 ≤ j < k

}.

Comme dans le cas d’une bande, les paramètres d’une multi-bande ont un sens géométrique,qui est illustré par la Fig. 4.11. Intuitivement, une (ν, n, x0, w, k) − multi-bande correspondà k copies d’une (ν, n, x0, w) − bande, juxtaposées côte-à-côte de telle sorte que leurs signauxextrémaux se superposent. Comme toutes les copies ont les mêmes paramètres w (leur largeur)et n (leur nombre de sous-divisions), toutes leurs sous-divisions sont de même largeur w

n . Une(ν, n, x0, w)−bande est également une (ν, n, x0, w, 1)−multi-bande. La Figure 4.12 montre une(2

3 , 5, 0, 1, 3)−multi-bande, qui correspond donc à trois copies de la bande donnée en Fig. 4.10(b).

Figure 4.12 – Une (23 , 5, 0, 1, 3)−multi-bande : elle est constituée de trois (2

3 , 5, 0, 1)−Bandes,c’est-à-dire 3 bandes, toutes de largeur 1, ayant chacune 5 sous-divisions, et dont la premièrebande commence en position 0.

On déduit la périodicité des multi-bandes de celle des bandes :

Lemme 21Toute (pq , p + q, x0, w, k) − multi-bande devient périodique de période T = w

p , dans l’intervalle[x0;x0 + k · w] et après le temps tT = q

p+q · w.

Démonstration. Pour tout j ∈ J0; k − 1K, la configuration{S@x0 +

(i

n+ j

)· w,←−L @x0 + j · w,

−→R @x0 + j · w

∣∣∣∣ 0 ≤ i ≤ n}

génère une (pq , p+ q, x0 + jw,w)− bande (par définition d’une bande). La configuration initialegénérant la (pq , p+q, x0, w, k)−multi-bande est une jonction de telles configurations (jonction sui-vant les signaux S en position de la forme x = x0+j ·w). Comme ces configurations correspondenttoutes à des bandes de mêmes paramètres, tous les aller-retours dans toutes les sous-divisionsrequièrent la même durée. D’autre part, d’après la preuve du Lem. 20, toutes les collisions entresignaux

←−L et

−→R coïncident avec les signaux stationnaires S, y compris ceux faisant la jonction

entre deux bandes simples. Comme toutes les bandes sont périodiques de même période à partirdu même temps tC , la multi-bande est elle aussi périodique. Sa période est la période communeà toutes les bandes et est celle donnée par le Lem. 20 : la (pq , p + q, x0, w, k) −multi-bande estpériodique de période T = w

p à partir du temps tT = qp+q · w.

Ce lemme a pour conséquence essentielle le corollaire suivant :

Corollaire 22Aucune accumulation ne peut apparaître dans une multi-bande.

Démonstration. Par le Lem. 19, il suffit juste de montrer qu’il ne peut y avoir d’accumulationdans l’intervalle [x0;x0 + k · w]. D’autre part, d’après le Lem. 21, toute multi-bande devient

Page 102: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 85

périodique de période T = wp , à partir du temps tT et il n’y a qu’un nombre fini de collisions

avant le temps tT . Pour tout t > tT , il n’y a qu’un nombre fini de collisions durant l’intervalle[t; t + T ] (durant une période, chaque bande ne contient qu’un aller-retour des signaux

←−L et

−→R ). Comme l’existence d’un intervalle de temps fini contenant une infinité de collisions est unecondition nécessaire pour l’existence d’une accumulation, on en déduit qu’il ne peut y avoird’accumulation dans une multi-bande.

Tout diagramme de machine rationnelle à 3 vitesses est contenu dans une multi-bande. Nous montrons ici que pour toute configuration initiale finie c0 de Mν

3 , il existe uneconfiguration c′0 qui étend c0 de telle façon que c′0 génère une multi-bande incluant entièrementle diagramme généré à partir c0.

Théorème 23Soit ν ∈ Q. Pour tout diagramme espace-temps D généré par Mν

3 à partir d’une configurationinitiale finie et n’ayant que des rapports rationnels entres ses positions, il existe n, k ∈ N etx0, w ∈ R tel que D est inclus dans la (ν, n, x0, w, k)−multi-bande.

Démonstration. Nous procédons par induction sur le nombre de signaux présents dans la confi-guration initiale. Nous prouvons d’abord que tout diagramme n’ayant au maximum que deuxsignaux en configuration initiale est inclus dans une bande, et a fortiori dans une multi-bande.Nous prouvons ensuite l’étape d’induction : pour tout signal ajouté sur la droite d’une configura-tion initiale d’une multi-bande, il est possible de construire une nouvelle multi-bande qui incluraentièrement le diagramme obtenu en ajoutant le nouveau signal à la multi-bande initiale.

Cas initiaux. De manière évidente, aucune configuration initiale ayant 0, 1 ou 2 signaux ne peutdonner lieu à une accumulation, et ce, sans tenir compte des vitesses. Avec 0 ou 1 signal,le diagramme ne contiendra aucune collision. Pour 2 signaux initiaux, comme des signauxrésultant d’une même collision ne peuvent entrer en collision plus tard, un diagramme initiéavec deux signaux ne pourra contenir au maximum qu’une seule collision : celle (éventuelle)entre ces deux signaux.Cependant, comme nous voulons montrer qu’à partir de n’importe quelle configurationinitiale, le diagramme généré est inclus dans une multi-bande, nous devons fournir unemulti-bande pour le cas de deux signaux. Pour deux signaux (quelconques) aux posi-tions initiales x0 et x1 > x0, une multi-bande suffisante est simplement donnée par la(ν, n, x0, x1 − x0) − bande, avec n = 1/ pgcd

(νν+1 , 1

), c’est-à-dire de manière équivalente

par la (ν, n, x0, x1−x0, 1)−multi-bande. La Figure 4.13(a) donne un exemple de configu-ration initiale à deux signaux c0 =

{S@x0,

←−L @x1

}, et la Fig. 4.13(b) donne la multi-bande

correspondante, de largeur w = x0 − x1.

w

(a) Diagramme avec deux signaux initiaux.

w

(b) La multi-bande correspondante.

Figure 4.13 – Un des cas initiaux.

Page 103: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

86 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

Le cas de deux signaux (de vitesses distinctes) situés à la même position initiale x0 et lecas d’un seul signal peuvent être traités en utilisant une bande dégénérée de largeur 0, i.e.la bande correspondant à la configuration

{←−L @x0, S@x0,

−→R @x0

}.

Étape d’induction. Considérons maintenant une (ν, n, x0, w, k) − multi-bande notée B. Pourtout signal µ ajouté en position y > x0 + kw à la configuration c0 correspondante à B,nous pouvons expliciter les paramètres ν, n′, x′0w′ et k′ de la nouvelle multi-bande B′ quiinclura le diagramme obtenu à partir de la configuration c0 ∪ {µ@y}. Nous avons supposéici, sans perte de généralités, que y > x0 + kw : le signal µ est ajouté tout à droite de laconfiguration initiale. En fait, seuls les paramètres w′ et k′ changent, car les paramètresν (la troisième vitesse de la machine), n (qui dépend uniquement de ν) et x0 (la positiondu signal le plus à gauche de la configuration initiale) restent identiques. La largeur totalede la multi-bande B′ que nous allons fournir, est donnée par la distance entre les signauxextrémaux c’est-à-dire que y−x0 (la largeur étant également donnée par k′ ·w′). Comme ladernière position d’une multi-bande contient toujours les trois signaux

←−L , S et

−→R , il n’y a

pas besoin de distinguer plusieurs sous-cas correspondant au signal ajouté et nous pouvonsdonner des paramètres qui sont adaptés pour les trois cas à la fois.Comme la position y du nouveau signal vérifie y > x0 + kw, il existe d ∈ R tel quey = x0 + kw+ d. Par hypothèse, les positions initiales sont toutes deux-à-deux de rapportrationnel, et donc les valeurs w et d sont commensurables. Posons w′ = pgcd(w, d) et k′ =kw+dw′ . Comme w et d sont de rapport rationnel, leur pgcd est bien défini et est rationnel.

Par ailleurs, k ∈ N, car comme w′ divise w et d, w′ divise également kw + d. Montronsmaintenant que la (ν, n, x0, w

′, k′)−multi-bande B′ contient la multi-bande initiale B. Nousallons pour cela montrer que chaque σ@x dans la configuration initiale c0 de la multi-bandeB se retrouve également dans la configuration initiale c′0 de la multi-bande B′.La multi-bande B est générée à partir de la configuration :c0 =

{[S,←−L ,−→R ]@x0 + l · w, S@x0 +

(in + j

)· w∣∣∣ 0 ≤ l ≤ k, 0 < i < n et 0 ≤ j < k

}et la (ν, n, x0, w

′, k′)−multi-bande B′ à partir de :

c′0 ={

[S,←−L ,−→R ]@x0 + l · w′, S@x0 +

(in + j

)· w′

∣∣∣ 0 ≤ l ≤ k′, 0 < i < n et 0 ≤ j < k′}.

Considérons la position x d’un signal←−L (ou

−→R ) dans c0 : x s’écrit nécessairement de la

forme x = x0 + l · w avec 0 ≤ l ≤ k. On a alors :

x = x0 + l · w

= x0 + l · α · w′ où α ∈ N est défini par α =w

w′(α ∈ N car w′ = pgcd(w, d)),

= x0 + l′ · w′ en posant l′ = l · α (l′ ∈ N car α ∈ N et l ∈ N),

et à partir de 0 ≤ l ≤ k, on obtient successivement :

0 ≤ l · α ≤ k · α

0 ≤ l′ ≤ k · ww′

0 ≤ l′ ≤ k · ww′

+d

w′(car

d

w′> 0)

0 ≤ l′ ≤ k · w + d

w′

0 ≤ l′ ≤ k′ par définition de k′.

Donc la position x = x0 + l · w (0 ≤ l ≤ k) s’écrit également sous la forme x = x0 + l′ · w′

où 0 ≤ l′ ≤ k : tout signal−→R ou

←−L présent dans c0 est donc également présent dans c′0.

Page 104: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.3. ACCUMULATIONS À TROIS VITESSES 87

La Figure 4.14 détaille cette étape d’induction dans le cas d’un signal←−L ajouté à une

multi-bande.

(a) La multi-bande initiale avec w = 1 et k = 2. (b) Ajout d’un signal L supplémentaire enposition y = 275

100.

(c) La nouvelle multi-bande de paramètres w′ = 14et k′ = 11.

Figure 4.14 – Exemple d’ajout d’un signal L en position y = 275100 à une

(23 , 5, 0, 1, 2)−multi-bande. Les nouveaux paramètres obtenus sont w′ = pgcd(w, y) =

pgcd(1, 275

100

)= 1

4 et k′ = yw′ = 275/100

1/4 = 11, et la nouvelle multi-bande est donc une(2

3 , 5, 0,14 , 11)−multi-bande.

On procède de la même façon pour montrer que tout signal S présent dans c0 l’est aussidans c′0. On remarque d’abord que les positions de tous les signaux S d’une multi-bandepeuvent s’écrire sous la forme x0 + r · wn avec 0 ≤ r ≤ n · k (il suffit de regrouper les deuxtypes de positions des signaux S décrites par les indices i et j en un seul type de positionsindexées par r). La position x d’un signal S de B s’écrit donc x = x0 +r · wn où 0 ≤ r ≤ n ·k.En posant r′ = r · ww′ , on peut alors écrire x = x0 + r · ww′ ×

w′

n = x0 + r′ · w′n . On a r′ ∈ Ncar r ∈ N et w

w′ ∈ N (car w′ = pgcd(w, d)). De la même façon que dans le cas précédent,on obtient à partir de l’inégalité 0 ≤ r ≤ n · k, en la multipliant par w

w′ et en la bornanten ajoutant n · d

w′ au membre de droite, que r′ ∈ J0;n · k′K. La position x s’écrit doncx = x0 + r′ · w′n avec 0 ≤ r′ ≤ n · k′, et correspond donc bien à la position d’un signal Sdans la configuration c′0.Tous les signaux initiaux de multi-bande B sont donc également initialement présents dansB′. Il ne reste désormais que le cas du signal µ ajouté en position y = x0 + kw + d. Nousobtenons directement que la position y est une des positions de c′0 car :

y = x0 + kw + d = x0 +kw + d

w′· w′ = x0 + k′w′ .

Elle correspond en fait à la dernière position de la configuration c′0, qui est la position destrois derniers signaux

←−L , S et

−→R .

Nous avons donc montré que c0 est incluse dans c′0, et il s’ensuit par la définition desdiagrammes supports que le diagramme engendré à partir de c0 est inclus dans le diagramme

Page 105: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

88 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

engendré par c′0. De même, le diagramme généré à partir de c0 ∪ {µ@y} est entièrementinclus dans la multi-bande B′.

Soit un D un diagramme de la machine Mν3 généré à partir d’une configuration initiale finie

c0 = {σi@xi | xi ∈ R}0≤i≤m avec x1 ≤ x2 ≤ . . . ≤ xm et telle que pour tout i, j, l ∈ J0;mK, lavaleur xi−xj

xj−xl (xj 6= xl) est rationnelle. Nous pouvons désormais donner des paramètres n, k ∈ Net x,w ∈ R tels que le diagramme D soit inclus dans une (ν, n, x0, w, k) − multi-bande. Aprèsavoir calculé la bande correspondant à la configuration {σ0@x0, σ1@x1}, nous calculons, grâceà l’étape d’induction, les multi-bandes obtenues en ajoutant successivement les éléments σi@xidans l’ordre. Comme tous les rapports sont rationnels, les pgcd utilisés ci-dessus existent et lesparamètres sont tous bien définis. La configuration initiale c0 étant finie, on obtient après métapes la (ν, n, x0, w, k) −multi-bande, dont les paramètres sont ceux obtenus lors du calcul dela dernière multi-bande. On obtient ainsi une multi-bande B telle que D ⊆ B. De plus, nouspouvons donné explicitement ces paramètres. Les paramètres ν, n et x0 sont les mêmes pourtoutes les multi-bandes successives (ν est une vitesse fixée par la machine, n = 1/ pgcd

(νν+1 , 1

),

et x0 est donné par la configuration c0). La largeur w et le nombre k de bandes de la multi-bandeglobale sont donnés par w = pgcd(x2−x1, x3−x2, . . . , xm−xm−1) et k = xm−x1

w .

Nous en déduisons finalement :

Corollaire 24Aucune machine à signaux à 3 vitesses à rapports rationnels entre vitesses et exécutée à partird’une configuration à positions de rapports rationnels ne produit d’accumulation.

Démonstration. Par normalisation des vitesses, toute machine M à 3 vitesses dont tous les rap-ports sont rationnels peut être réduite à une machine dont toutes les vitesses sont rationnelles(−1, 0 et ν), et dont la machine support est Mν

3 avec ν rationnel. Par le Cor. 5, si Mν3 ne génère

pas d’accumulation, alors M n’en générera pas non plus. D’après le Th. 23, tout diagramme deMν

3 est inclus dans une multi-bande, et comme aucune multi-bande ne peut contenir d’accumu-lation par le Cor. 22, il s’ensuit qu’aucune accumulation ne peut être générée par Mν

3 , et donca fortiori, par M.

4.4 Applications

Nous donnons dans cette courte section quelques conséquences immédiates des résultats ob-tenus en Sec. 4.2 et Sec. 4.3. que nous formulons en termes de décidabilité de certains problèmesde décision liés aux machines à signaux. Le critère de minimalité du nombre de vitesses néces-saires pour générer une accumulation s’applique ici dans la décidabilité de l’apparition d’un signalpour des machines à signaux dont le nombre de vitesses est donné en paramètre du problème.

Une version générale du problème considéré ici a été démontrée indécidable dans [Durand-Lose2003]. Elle s’énonce de la façon suivante :

Problème ApparitionSignalentrée : une machine rationnelle M, un méta-signal µ et une configuration c0 finie.sortie : est-ce qu’un signal de type µ apparaît après un nombre fini de collisions dans

l’évolution de M à partir de c0 ?

La restriction « un nombre fini de collisions » est importante : elle exclut les accumulations.Le cas général étant indécidable, nous nous intéressons ici à une version paramétrée du problème,dans laquelle les machines données en entrée sont restreintes sur le nombre de vitesses différentes :

Page 106: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

4.4. APPLICATIONS 89

Problème n-VitessesApparitionSignalentrée : une machine rationnelle M à n vitesses, un méta-signal µ et une configuration

c0 finie.sortie : est-ce qu’un signal de type µ apparaît après un nombre fini de collisions dans

l’évolution de M à partir de c0 ?

En suivant les résultats de la section précédente, nous distinguons trois cas : n = 2, n = 3 etn ≥ 4 (le cas n = 1 étant sans intérêt, puisqu’une machine à 1 vitesse ne peut pas engendrer decollisions, et dans ce cas, tester si un signal donné apparaît revient à vérifier s’il est présent dansla configuration initiale).

Cas n = 2

D’après le Lem. 15, le nombre de collisions d’un diagramme d’une machine à 2 vitesses estfini (et est borné de manière quadratique par le nombre de signaux présents dans la configurationinitiale). Il s’ensuit que tout diagramme d’une machine à deux vitesses est fini, et par conséquentle problème 2-VitessesApparitionSignal est décidable : il suffit de calculer l’historiquedes collisions (ce qui prendra un temps fini) et de vérifier si le signal µ apparaît en sortie d’unede ces collisions.

Cas n = 3

L’énoncé du problème n-VitessesApparitionSignal impose pour les machines don-nées en entrée d’être rationnelles. Le Théorème 23 de la Sous-sec. 4.3.2 implique que toutdiagramme d’une machine rationnelle à 3 vitesses est inclus dans un diagramme d’une machinesupport périodique à partir d’un temps donné (et sans tenir compte d’éventuels signaux se pro-pageant à l’infini vers la droite et la gauche). Contrairement aux machines supports, les machinesconsidérées en instance de n-VitessesApparitionSignal peuvent avoir strictement plus detrois méta-signaux, mais leur nombre est toujours fini. Néanmoins, tous les signaux qui appa-raissent dans le diagramme sont sur les structures périodiques des multi-bandes. On en déduitdonc que tout diagramme d’une machine rationnelle à 3 vitesses exécutée à partir d’une confi-guration finie est périodique. Il s’ensuit que le problème 3-VitessesApparitionSignal estdécidable, la méthode étant la même que pour le cas n = 2, mais en calculant l’historique descollisions durant une période complète.

Cas n = 4

L’indécidabilité du problème 4-VitessesApparitionSignal se montre par réductionau problème de l’arrêt d’une machine de Turing. L’existence d’une telle réduction provient dela possibilité de simuler des modèles Turing-universels en utilisant seulement quatre vitessesdistinctes. Il est ensuite facile de modifier la simulation de telle sorte que la machine simulées’arrête si et seulement si un signal µ apparaît.

Nous renvoyons à [Durand-Lose 2011a] pour une simulation d’un cyclic tag system avec quatrevitesses (mais plus de méta-signaux). Notons qu’il est également possible de simuler directementune machine de Turing en utilisant seulement quatre vitesses.

Variantes

De nombreuses variantes de ce problème existent : le diagramme d’une machine rationnelleà n vitesses exécutée à partir de c0 est-il fini ? est-ce qu’un signal µ entre en collision dansl’évolution d’une machine rationnelle à n vitesses à partir de c0 ? est-ce qu’une accumulationapparaît lors de l’évolution d’une machine rationnelle à n vitesses à partir de c0 ? etc.

Page 107: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

90 CHAPITRE 4. ACCUMULATIONS ET PETITES MACHINES

Ces problèmes admettent les mêmes valeurs critiques pour le paramètre n : ils sont décidablespour n ≤ 3 et deviennent indécidables lorsque n ≥ 4 (cela se montre de la même façon que ci-dessus).

Notons que la décidabilité du problème de l’ApparitionAccumulation dans les cas demachines rationnelles à 2 et 3 vitesses a été montrée de manière directe dans la Sous-sec. 4.2,puisqu’aucune accumulation ne peut survenir dans ces cas. L’indécidabilité du cas n = 4 provientde la possibilité de simuler une machine de Turing avec 4 vitesses de telle sorte que l’exécutionde la machine est infinie si et seulement s’il se produit une accumulation.

Cas de machines non-rationnelles

L’hypothèse de rationalité des machines dans les énoncés des problèmes considérés ci-dessusest indispensable. En effet, les modèles classiques de calcul comme les machines de Turing, nepermettent pas de manipuler de manière exacte des nombres irrationnels, c’est pour cela queles énoncés de problème de décision du type n-VitessesApparitionSignal, sont restreintsaux machines rationnelles pour ne pas sortir du cadre de la calculabilité classique. Il semblecependant possible d’étudier la décidabilité des problèmes précédents dans le cas de machinesnon-rationnelles dans des modèles de calcul analogiques tels que l’analyse récursive ou le modèleBSS.

Néanmoins, il est naturel de se poser la question de savoir s’il est possible de simuler desmachines de Turing (ou tout autre modèle équivalent) avec des machines non-rationnelles à nvitesses. Il est clair qu’avec des machines à 1 ou 2 vitesses, une telle simulation est impossible(indépendamment de la rationalité des vitesses ou des positions). Lorsque n ≥ 4, cela est possible,car déjà possible avec des machines rationnelles à 4 vitesses. Le cas limite de 3 vitesses a été résolurécemment dans [Durand-Lose 2013]. À partir des résultats de ce chapitre, il y est démontré qu’ilest possible de simuler des machines de Turing par des machines à signaux irrationnelles à 3vitesses, et que par conséquent, les machines à signaux irrationnelles à 3-vitesses sont Turing-universelles. Notons que comme dans le cas de machines rationnelles, le fait qu’il est impossibled’être Turing-universel avec uniquement 3 vitesses se déduit de manière directe du Th. 23 et dela périodicité des multi-bandes : en effet, de telles machines rationnelles ne peuvent pas simulerde machine de Turing universelle puisqu’elles ne peuvent simuler que des calculs périodiques àpartir d’une certaine étape.

Page 108: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 5Fractales et signaux

Après avoir étudié dans le chapitre précédent les phénomènes d’accumulations de manièregénérale, nous allons maintenant nous en intéresser à un type particulier : les fractales. Lesfractales sont en effet des accumulations avec une structure régulière, obtenues en itérant desalgorithmes géométriques simples. Nous avons vu dans le Chap. 4 qu’il est possible de générerdes accumulations avec peu de vitesses (quatre vitesses distinctes, trois dans le cas de machinesnon rationnelles). Nous allons montrer ici qu’avec un faible nombre de vitesses supplémentaires, ilest possible de générer simplement certaines structures fractales avec des signaux. Cette étude seplace dans la continuité du chapitre précédent, et fournit déjà un premier exemple du parallèlismemassif du modèle des machines à signaux.

Nous commencerons par quelques rappels généraux sur les fractales — méthodes de construc-tions, fractales classiques, notion de dimension fractale — et nous donnerons également un étatde l’art très succinct sur l’étude de fractale dans des modèles de calcul non-classiques.

Nous présenterons ensuite quelques machines à signaux permettant de construire des frac-tales simples. Nous nous servirons de ces exemples pour démontrer que pour n’importe quelledimension d strictement entre 0 et 1, il existe une machine à signaux à 1 dimension permettantde générer une fractale de dimension d.

Enfin, nous montrerons qu’il est également possible d’approximer ces fractales de deux façonsessentiellement différentes : de manière spécifique et de manière générique. Ces deux notionsd’approximations, appliquées ici à l’exemple de l’arbre binaire fractale, fournissent un moyende découper l’espace de manière automatique et parallèle, et seront utilisées dans les chapitressuivants pour implémenter géométriquement des algorithmes efficaces de résolution de problèmesde satisfaisabilité.

5.1 Le monde des fractales

Cette section regroupe une très brève présentation des fractales en général, et de quelquesfractales classiques, ainsi qu’un état de l’art succinct sur l’étude et l’utilisation des fractales danscertains modèles de calcul (surtout dans des modèles non-conventionnels).

5.1.1 Définitions des fractales

Les fractales sont aujourd’hui étudiées et utilisées dans de nombreux domaines : physique,économie, géologie, biologie. . .Mais elles ont d’abord été étudiées d’un point de vue strictementmathématique, afin de comprendre certaines notions telles la continuité ou l’infini. Informelle-ment, les fractales correspondent à des « objets qui présentent les mêmes (ir)régularités à toutesles échelles ».

91

Page 109: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

92 CHAPITRE 5. FRACTALES ET SIGNAUX

Notions de dimension fractale et ensembles fractales. Les ensembles fractales ont étéintroduits de manière formelle par Benoît Mandelbrot [Mandelbrot 1967, 1982]. À la base de laformalisation d’ensemble fractale se trouve la notion de dimension fractale. Celle-ci permet deformuler de manière mathématique le concept de « répétition (ir)régulière de motifs à différenteséchelles ». Il existe en fait plusieurs définitions de dimension fractale : dimension de Hausdorff,dimension de Minkowski, etc. De même, il existe plusieurs définitions non équivalentes des frac-tales, dont certaines sont basées sur ces différentes notions de dimensions fractales. La définitionde fractale qui est couramment admise est celle formulée par Benoît Mandelbrot et est baséesur la notion de dimension de Hausdorff (nous renvoyons à [Edgar 2008] pour les définitions desdifférents concepts de dimensions et de fractales, qui sortent du cadre de ce manuscrit).

Nous allons voir un autre cadre, légèrement moins général, permettant de formaliser la plupartdes fractales : les systèmes de fonctions itérées. C’est ce cadre qui sera utilisé dans ce manuscritpour évoquer les fractales.

Systèmes de Fonctions Itérées et auto-similarité. Une manière simple de définir etconstruire une large gamme de fractales est donnée par les systèmes de fonctions itérées ouiterated function systems (IFS). De tels systèmes ont été introduits dans [Barnsley et Demko1985]. Ils sont définis à partir d’un nombre fini d’applications contractantes (hi)1≤i≤n définies deE dans E et de rapports respectifs (ri)1≤i≤n i.e. hi : E → E de rapport ri ∈]0; 1[. Le résultatqui fait le lien entre ces systèmes et les fractales est l’existence d’un unique ensemble compactK tel que K =

⋃1≤i≤n

hi(K) (intuitivement, un ensemble est compact si c’est un espace fermé et

borné). On sait de plus qu’il existe un unique nombre s ∈ R qui vérifien∑i=1

rsi = 1. Ce nombre

s définit une autre notion de dimension fractale appelée dimension d’auto-similarité de K. Onparlera alors de fractale si s /∈ N. Les fractales dans ce sens le sont aussi au sens de Mandelbrot.Cependant il existe des fractales au sens de Mandelbrot qui ne le sont pas dans le sens des IFS.

Dans ce manuscrit, nous considérons que les fractales sont définies comme étant des compactsattracteurs d’IFS et tels que leur dimension d’auto-similarité n’est pas entière. Cela permet decapturer de manière simple toutes les fractales définies à partir des construction géométriquessimples.

Méthodes pour générer des fractales. Les fractales sont en général construites à partird’une définition récursive qui itère un processus simple en partant d’un ensemble simple. Ilexiste différents moyens pour réaliser cela.

Tout d’abord, une fractale peut être définie par évidement : en partant d’un ensemble compacton retire successivement des sous-parties de cet ensemble selon le même schéma à chaque étape.Par exemple, l’ensemble de Cantor, le triangle de Sierpiński ou encore l’éponge de Menger sontconstruits de cette manière.

On peut également procéder par remplacement de motif : il s’agit de remplacer un compactpar un motif particulier qui permettra ensuite de l’appliquer aux parties de l’ensemble obtenu.Par exemple, la courbe et le flocon de von Koch, les courbes de Peano, Hilbert, Lebesgue, et demanière générale, toutes les fractales dérivant de L-systèmes, sont obtenus par remplacement demotifs.

Enfin, les fractales peuvent être définies à travers le cadre des systèmes dynamiques : ellesy sont alors définies comme étant l’attracteur d’un système dynamique, ou bien à partir d’unepropriété du système dynamique. Les IFS ou encore les ensembles de Mandelbrot et de Juliarentrent dans cette méthode de génération de fractales.

Nous renvoyons le lecteur à l’ouvrage [Edgar 2008] pour plus de détails sur les constructionset les propriétés des ensembles fractales évoqués ici.

Page 110: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.1. LE MONDE DES FRACTALES 93

5.1.2 Quelques fractales classiques

Nous rappelons brièvement ici quelques fractales célèbres et classiques, dont nous implémen-terons des constructions par signaux par la suite.

Ensembles de Cantor. L’un des premiers ensembles fractales qui a été formellement étudiéest le triadique de Cantor C, défini par Georg Cantor [Cantor 1884]. Le triadique est l’ensemble

compact attracteur de l’IFS donné par :

{h1(x) = 1

3x

h2(x) = 13x+ 2

3

, où h1, h2 : [0, 1] → [0, 1]. L’en-

semble C vérifie C = h1[C]⋃h2[C]. Sa dimension fractale (d’auto-similarité) est donnée par la

solution den∑i=1

(13

)s= 1 et vaut dimfrac(C) = ln(2)

ln(3) ≈ 0, 6309.

De manière géométrique, l’IFS considéré ci-dessus correspond à partir du segment [0, 1],retirer le tiers central, puis recommencer successivement sur les segments restant. La Figure 5.1illustre les premières itérations de la construction du triadique de Cantor.

Figure 5.1 – Les premières itérations de la construction du triadique de Cantor.

Courbe de von Koch. La courbe de Helge von Koch [von Koch 1904], construite en tantqu’exemple de courbe continue nulle part dérivable, fournit un exemple de fractale définie parremplacement de motifs. Cet ensemble fractale est défini à partir d’un segment et de l’étaped’itération consistant à remplacer le tiers central du segment par deux segments en suivant untriangle équilatéral. Cette étape est alors réitérée sur chaque portion de la ligne brisée ainsiobtenue, comme cela est illustrée par la Fig. 5.2.

Figure 5.2 – Courbe originale de von Koch [Edgar 1993, Fig. 2, p. 29].

Triangle de Sierpiński. Le triangle (ou fanion) de Sierpiński a été introduit Waclaw Sier-piński dans [Sierpiński 1915]. Une méthode géométrique classique pour construire le triangle deSierpiński consiste à partir d’un triangle équilatéral, à le partitionner en quatre triangles équila-téraux et à lui retirer le triangle équilatéral central, laissant ainsi trois triangles équilatéraux surlesquels est de nouveau appliquée cette étape. La Figure 5.3 montre le résultat obtenu après7 itérations. Plus formellement, le triangle de Sierpinski se définit comme l’ensemble compact

Page 111: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

94 CHAPITRE 5. FRACTALES ET SIGNAUX

S ⊂ R2 attracteur de l’IFS suivant :

h1(x, y) = 1

2(x, y)

h2(x, y) = 12(x, y) + (1

2 , 0)

h3(x, y) = 12(x, y) + (0, 1

4)

.

Figure 5.3 – Les premières itérations de la construction du triangle de Sierpiński.

Autres fractales. Il existe de nombreuses autres fractales classiques : l’ensemble de Mandel-brot, la courbe de Peano, la courbe de Hilbert, l’éponge de Menger, les dragons, les H-fractales,les arbres. . . Ces derniers sont particulièrement intéressants parce qu’ils sont très simples à géné-rer et facile à comprendre. Ils sont basés sur la répétition simple d’un motif lui aussi très simple :on ajoute deux segments de même longueur à la même extrémité d’un segment initial. Cette opé-ration est ensuite répétée sur les deux nouveaux segments et en gardant les mêmes paramètres(rapport de longueur entre les trois segments, et l’angle formé). Cette méthode génère toute unefamille de fractales dont les structures varient suivant les paramètres choisis.

Nous renvoyons une fois de plus à l’ouvrage [Edgar 2008] pour l’étude formelle de nombreuxexemples de fractales classiques.

5.1.3 Fractales et modèles de calcul non-conventionnels

Les fractales, beaucoup étudiées formellement en mathématiques et dans des cadres classiques,l’ont également été sur des modèles de calcul non-conventionnels : nous en donnons ici quelquesbrefs exemples.

Modèles géométriques. Par leur nature géométrique, les fractales ont bien évidemment étéétudiées de manière naturelle sur des modèles géométriques de calcul, tant pour utiliser certainesde leur propriétés que simplement pour étudier la possibilité de les générer et de les construire.

Un des exemples les plus simples est l’apparition naturelle de fractales dans les automatescellulaires élémentaires : par exemple, l’ACE de règle 90 produit une version discrète du tri-angle de Sierpinski, comme celle de la Fig. 5.4(a). De telles structures présentes naturellementdans certains ACE ont ensuite été étudiées pour de plus larges classes d’AC : citons par exemplel’études des comportements d’AC linéaires et leurs liens avec les fractales [Čulik II et Dube 1989],ainsi que l’étude de leur propriétés d’auto-similarité [Haeseler et al. 1995] ou la dimension frac-tale des diagrammes espace-temps engendrés [Willson 1984]. L’utilisation de diverses structuresfractales a également fournie des outils pour la synchronisation d’AC : comme déjà mentionnéau Chap. 1, le problème du fusilier se résout à partir de constructions géométriques continues ettoutes les solutions efficaces ont été obtenus à partir d’un motif fractale (voir [Yunès 2007] pourdes solutions au problème du fusilier à partir d’arbres infinis et [Yunès 2008] une solution d’unecas du problème du fusilier à partir du triangle de Sierpiński discret).

Citons également quelques études de fractales en auto-assemblage : il a été montré qu’il estpossible de générer certaines structures fractales avec des jeu de tuiles auto-assemblantes. C’est

Page 112: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.2. CONSTRUCTION DE FRACTALES PAR MACHINES À SIGNAUX 95

le cas par exemple du triangle de Sierpiński « fibré » [Lathrop et al. 2009], ainsi qu’une variantedu tapis de Sierpiński [Patitz et Summers 2010], comme sont respectivement illustrés par lesFig. 5.4(b) et 5.4(c). Les pavages ont également donnés lieu à de nombreuses constructionsautour des fractales, ainsi qu’à l’étude de certaines propriétés telles que l’auto-similarité dans lespavages [Durand 1996].

Figure 1: The standard discrete Sierpinski triangle S.

2.5 The Standard Discrete Sierpinski Triangle S

We briefly review the standard discrete Sierpinski triangle and the calculation of its zeta-dimension.Let V = {(1, 0), (0, 1)}. Define the sets S0, S1, S2, · · · ⊆ Z

2 by the recursion

S0 = {(0, 0)} , (2.2)

Si+1 = Si ∪�

Si + 2iV�

,

where A + cB = {�m + c�n|�m ∈ A and �n ∈ B}. Then the standard discrete Sierpinski triangle is the set

S =

∞�

i=0

Si,

which is illustrated in Figure 1. It is well known that S is the set of all (k, l) ∈ N2 such that the binomial

coefficient�

k+l

k

is odd. For this reason, the set S is also called Pascal’s triangle modulo 2. It is clear from

8

(a) Triangle de Sierpiński discret[Lathrop et al. 2009, Fig. 1].

Figure 2: The fibered Sierpinski triangle T.

4 The Fibered Sierpinski Triangle T

We now define the fibered Sierpinski triangle and show that it has the same zeta-dimension as the standarddiscrete Sierpinski triangle.As in Section 2, let V = {(1, 0), (0, 1)}. Our objective is to define sets T0, T1, T2, · · · ⊆ Z

2, setsF0, F1, F2, · · · ⊆ Z

2, and functions l, f, t : N → N with the following intuitive meanings.

1. Ti is the ith stage of our construction of the fibered Sierpinski triangle.

2. Fi is the fiber associated with Ti, a thin strip of tiles along which data moves in the self-assemblyprocess of Section 5. It is the smallest set whose union with Ti has a vertical left edge and a horizontalbottom edge, together with one additional layer added to these two now-straight edges.

3. l(i) is the length of (number of tiles in) the left (or bottom) edge of Ti ∪ Fi.

4. f(i) = |Fi|.

5. t(i) = |Ti|.

11

(b) Version auto-assemblante[Lathrop et al. 2009, Fig. 2].

Conditions (1), (2), and (3) of Definition 3.11 tell us that, for each k ∈ N, G#Bk

is a dom σ-subgraph of

G#X

(rooted at �rk). Furthermore, it is routine to verify that, for all k1, k2 ∈ N, G#Bk1

∼ G#Bk2

=⇒ k1 = k2.

Thus, we have

m =�

G#

Bk

�0 ≤ k < m

��

[B]�

�B is a dom σ-subgraph of G

#X

��

�.

Corollary 3.13 (Lathrop, Lutz, and Summers [10]). The standard discrete Sierpinski triangle S does notstrictly self-assemble in the Tile Assembly Model.

4 Every Nice Self-Similar Fractal Has a Fibered Version

In this section, given a nice c-discrete self-similar fractal X � N2 (generated by V ), we define its fiberedcounterpart F(X). Intuitively, F(X) is nearly identical to X , but each successive stage of F(X) is slightlythicker than the equivalent stage of X (see Figure 14 for an example). Our objective is to define setsF0, F1, . . . ⊆ Z2, sets T0, T1, . . . ⊆ Z2, and functions l, f, t : N → N with the following meanings.

l(2)

T2

T1T1

T0T0

F0

F1

F2

Figure 14: Construction of the fibered Sierpinski carpet. The black, dark gray, and light gray tiles represent(possibly translated copies of) F0, F1, and F2, respectively.

1. Ti is the ith stage of our construction of the fibered version of X , i.e., F(X).

2. Fi is the fiber associated with Ti. It is the smallest set whose union with Ti has a straight verticalleft edge and a straight horizontal bottom edge, together with one additional layer added to these twonow-straight edges (see Figure 14 for an example of the set F0, F1, and F2 for the fibered version ofthe discrete Sierpinski carpet).

3. l(i) is the length (number of tiles in) the left (or bottom) edge of Ti ∪ Fi.

15

(c) Un tapis de Sierpińskiauto-assemblant[Patitz et Summers 2010,Fig. 14].

Figure 5.4 – Fractales discrètes et systèmes auto-assemblants.

Autres modèles. D’autres modèles de calcul, non géométriques, ont également fourni uncadre pour l’étude de certains problèmes sur les fractales. C’est le cas par exemple du statutdu problème de l’appartenance à l’ensemble de Mandelbrot c’est-à-dire le problème consistantà savoir si un point du plan complexe est ou non dans l’ensemble de Mandelbrot. Ce problèmen’est pas formalisable dans les modèles de calcul classiques car il est défini sur des valeurs réelles.Il est cependant formalisable dans le modèle de BSS, qui permet de manipuler de manière exactedes réels. Il a alors été montré dans [Blum et al. 1998] que ce problème est indécidable (maisrécursivement énumérable) au sens de BSS.

L’analyse récursive, en tant que modèle de calcul sur les réels, fournit également un formalismepermettant d’étudier la calculabilité des structures fractales. Par exemple, la calculabilité et lacomplexité de courbes fermées fractales et de leur intérieur ont ainsi pu être traitées dans lecadre de l’analyse récursive [Ko 2003].

5.2 Construction de fractales par machines à signaux

Nous illustrons dans cette section la capacité des machines à signaux à engendrer naturelle-ment des structures fractales. Nous donnons principalement des exemples de fractales à partirde machines à une dimension spatiale, Il faut cependant distinguer plusieurs façons de définirles fractales ainsi générés : les ensembles fractales peuvent soit être définis en tant qu’ensemblesupport d’une configuration à un instant donné, soit en tant que support du diagramme espace-temps tout entier. Dans le premier cas, il s’agit donc de générer des fractales sur machines àsignaux de manière purement spatiale, tandis que dans le deuxième cas, les fractales devront êtreperçus à la fois dans l’espace et dans le temps.

Page 113: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

96 CHAPITRE 5. FRACTALES ET SIGNAUX

5.2.1 Exemples de fractales sur machines à signaux à une dimension spatiale

Nous commençons par donner des machines permettant de construire quelques fractales clas-siques : un arbre binaire infini, le triadique et une fractale de type von Koch.

L’arbre binaire fractale. En itérant le calcul géométrique du milieu, il est possible deconstruire facilement un arbre binaire fractale. Il suffit pour cela de modifier la machine Mmid

de la Sous-sec. 3.1.1 pour recommencer indéfiniment et de manière symétrique le proces-sus de marquage du milieu d’un segment par un signal vertical w. On utilise pour cela lamachine définie par les Fig. 5.5(a) et 5.5(b). Exécutée à partir de la configuration initialectree0 =

{[w,−→a ,=⇒a ]@0, w@1

}, elle engendre le diagramme donné dans la Fig. 5.5(c).

L’arbre ainsi obtenu est une représentation de l’ensemble de Cantor abstrait, formellementdéfini par C = {0, 1}N (un chemin dans l’arbre correspond à un élément x ∈ C). Notons quecet arbre a largement été utilisé pour résoudre le problème du fusilier dans les AC, comme nousl’avons déjà mentionné en Sous-sec. 1.2.2.

Méta-signal Vitesse=⇒a 3

−→a 1

w 0

←−a −1

⇐=a −3

(a) Méta-signaux.

{ w, ⇐=a } → { w, =⇒a }

{ =⇒a , w } → { ⇐=a , w }

{ −→a , ⇐=a } → { ⇐=a , ←−a , w, −→a , =⇒a }

{ =⇒a , ←−a } → { ⇐=a , ←−a , w, −→a , =⇒a }(b) Règles de collisions.

w=⇒a

⇐=a

−→a

w

=⇒a⇐=a

w

⇐=a

−→a

←−a

=⇒a w

=⇒a⇐=aw

−→a←−a=⇒a ⇐=a−→a

←−aw w

w

w

(c) Diagramme espace-temps.

Figure 5.5 – La machine Mtree: construction d’un arbre binaire fractale.

Décrivons brièvement le fonctionnement de la machine. Les deux premières règles de laFig. 5.5(b) correspondent aux rebonds de =⇒a et ⇐=a sur les murs w. Les deux dernières règlesdéfinissent l’étape d’induction pour initier le niveau suivant : les signaux initiaux −→a et =⇒a sontdupliqués à gauche et à droite et le signal stationnaire w est crée exactement au milieu du niveauprécédent définissent par les deux murs w les plus proches. Il est également possible d’obtenir unarbre binaire infini sans générer tous les signaux verticaux : c’est le cas de l’arbre déjà présentéen Fig. 4.1(b) (voir également [Durand-Lose 2003, p. 148, Fig. B.1(b)]).

Bien que le processus de division par des segments se poursuive indéfiniment, la constructionreste de hauteur bornée : si la largeur est w alors la hauteur est également w (pour des vitesses 1et 3). En effet, on sait d’après le calcul du milieu donné en exemple dans la Sous-sec. 3.1.1 quechaque étage a une hauteur égale à la moitié de la hauteur de l’étage précédent (car le processusde calcul du milieu à partir d’une largeur x nécessite une durée x/2). Donc en partant d’unelargeur totale w (i.e. la distance initiale entre les deux signaux w est de w), la hauteur de l’arbrecomplet est donnée par :

limn→∞

n∑i=1

w

2i= w ·

∞∑i=1

1

2i= w .

Page 114: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.2. CONSTRUCTION DE FRACTALES PAR MACHINES À SIGNAUX 97

Notons qu’il y a au temps t = w une infinité d’accumulations non-isolées : pour tout point (x, t)tel que x ∈ [0;w] et t = w, il existe une infinité de points (x′, t′) ∈ V(x,t) (le voisinage de (x, t))tel que c(x′, t′) = Z.

Le triadique de Cantor. En changeant les vitesses de la machine Mmid, on peut facilementconstruire une machine calculer le tiers d’une segment donné au lieu de calculer son milieu.Pour générer le triadique de Cantor, le principe est ensuite de réitérer ce calcul du tiers, ainsique le calcul de deux tiers d’une distance, de la même façon que le calcul du milieu était itérerpour générer l’arbre binaire infini. Une version du triadique du Cantor a déjà été fournie dans[Durand-Lose 2003, p. 150, Fig. B.3] : nous en présentons ici une autre, dont nous détaillons lamachine MCantor.

Les méta-signaux et règles de collisions de la machine MCantor sont respectivement donnésen Fig. 5.6(a) et 5.6(b). La Figure 5.6(c) fournit le diagramme produit par la machine MCantor

à partir de la configuration initiale ctriadic0 ={

[w,−→a ,−→b ,=⇒a ,

=⇒b ]@0, w@1

}.

Méta-signal Vitesse=⇒a 5

=⇒b 4

−→b 2

−→a 1

w 0

←−a −1

←−b −2

⇐=b −4

⇐=a −5

(a) Méta-signaux.

{ w,⇐=a } → { w, =⇒a } { =⇒a ,←−a } → { w, −→a ,−→b , =⇒a ,

=⇒b }

{ =⇒a , w } → { ⇐=a , w } { −→a ,⇐=a } → {⇐=b , ⇐=a ,

←−b , ←−a , w }

{ w,⇐=b } → { w,

=⇒b } {

=⇒b ,←−b } → { w, −→a ,

−→b , =⇒a ,

=⇒b }

{=⇒b , w } → {

⇐=b , w } {

−→b ,⇐=b } → {

⇐=b , ⇐=a ,

←−b , ←−a , w }

(b) Règles de collisions.

=⇒aw

=⇒b

−→a

⇐=a

−→b

⇐=b

=⇒aw

⇐=a

w

=⇒b

⇐=bw −→a −→b

←−a

←−b ww

(c) Diagramme espace-temps.

Figure 5.6 – La machine MCantor: construction du triadique de Cantor.

Comme pour l’arbre binaire, la hauteur de la construction reste bornée : pour une largeurinitiale de w, la hauteur est 1

2 · w (pour les vitesses choisies de 1 à 5). En effet, chaque étagea une hauteur égale au tiers de celle de l’étage précédent car marquer le tiers d’une distance xs’effectue en une durée x/3. De plus, avec les vitesses choisies ici, le premier et le second tierssont tous deux marqués de manière synchrone. Partant d’une largeur initiale de w, on obtientainsi comme hauteur totale :

limn→∞

n∑i=1

w

3i= w ·

∞∑i=1

1

3i=w

2.

L’ensemble obtenu correspond bien à l’ensemble triadique de Cantor. En effet, l’IFS permettantde générer le triadique de Cantor est ici implémenté par la machine MCantor. On constate avecdes calculs simples qu’en partant de la configuration c correspondant au premier étage (onne considère par la configuration initiale qui initie le processus et qui n’est pas symétrique) onobtient après une durée finie (égale à un neuvième de la largeur de c) une configuration c′ telle que

Page 115: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

98 CHAPITRE 5. FRACTALES ET SIGNAUX

c′ = h1(c)∪ h2(c), avec h1, h2 respectivement définies par h1(x) = x3 et h2(x) = x

3 + 23 pour tout

x ∈ R. Cette étape, ainsi que les étapes successives, correspondent bien à l’IFS de définition donnéen Sous-sec. 5.1.2, qui est ainsi implémenté par la machine MCantor. La structure résultantecorrespond donc bien au triadique de Cantor.Remarque 20. Ce n’est pas exactement le triadique de Cantor qui est construit ici : seules lesextrémités des segments sont générées, alors que dans la version classique du triadique, il existedes points qui ne correspondent à aucune extrémité d’un segment retiré (c’est le cas par exempledu réel 1/4).

Une courbe de von Koch. Les angles présents dans la courbe de von Koch, déjà illustréeen Sous-sec. 5.1.2, n’autorise pas une construction directe par machine à signaux : celle-cinécessiterait en effet des signaux de vitesse infinie du fait des segments horizontaux de la courbe.Néanmoins, une variante de la courbe de von Koch, donnée dans le papier original dont est tiréela Fig. 5.7(a), peut être approximée par signaux, en générant un diagramme comme celui dela Fig. 5.7(b). Le principe est de réitérer l’accumulation de type Zénon sur les deux bords quiencadrent les zig-zags. Une accumulation contenue entre deux signaux se rapprochant, joue alorsle rôle d’un triangle dans la courbe classique de von Koch.

(a) Courbe de von Koch modifiée (version originale,[Edgar 1993, Fig. 4, p. 41]).

(b) Approximation par signaux.

Figure 5.7 – Construction d’une courbe de von Koch.

Le diagramme de la Fig. 5.7(b) s’obtient en générant le diagramme de la Fig. 5.8(e) et lediagramme symétrique (obtenu en prenant toutes les versions symétriques des signaux et lesrègles de collisions associées), qu’il suffit de « coller » suivant le signal w central (celui-ci n’estd’ailleurs plus nécessaire aux rebonds, puisque un signal arrivant de la partie symétrique joue lerôle du signal issu d’un rebond). La structure principale est celle de l’accumulation simple déjàvue dans le chapitre précédent. Deux types de règles complètent celles du « zig-zag simple »,dont les rebonds sont définis dans le Tab. 5.8(b). Celles du Tab. 5.8(d) permettent de réitérerde manière récursive la construction d’une accumulation sur le bord gauche −→wl. Les deux bordsdélimitant cette nouvelle structure sont générés successivement, après l’accomplissement d’unzig-zag complet dans la structure principale. Ainsi, à chaque rebond, en plus du bord principal−→wl et du signal

=⇒zig issu du rebond, trois nouveaux signaux sont générés : w,⇐==zag0 et←−wr. Le premier

signal constitue le bord pour la structure suivante, tandis que les deux autres signaux complètentla structure initiée au rebond précédent. Les règles du Tab. 5.8(c) gèrent le cas du tout premierrebond, où seul un signal w doit être généré.

Bien que ces diagrammes respectent les grands lignes de la construction de la courbe devon Koch et son principe d’itération de la structure triangulaire, on note cependant plusieursdifférences. Contrairement à la courbe originale, les structures ne sont ici itérées que sur un

Page 116: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.2. CONSTRUCTION DE FRACTALES PAR MACHINES À SIGNAUX 99

(a) Méta-signaux et vitesses.

=⇒zig,

==⇒zig0 3/2

−→wl 1/2

w 0

←−wr −1/2⇐=zag, ⇐==zag0 −3/2

(b) Règles de rebonds.

{ w, ⇐=zag } → { w,=⇒zig }

{ w, ⇐==zag0 } → { w,==⇒zig0 }

{=⇒zig, w } → { w, ⇐=zag }

{==⇒zig0, w } → { w, ⇐==zag0 }

(c) Règles d’initiation.

{ −→wl, ⇐==zag0 } → { w, −→wl,=⇒zig }

{==⇒zig0, ←−wr } → { ⇐=zag, ←−wr,w }

(d) Règles d’itération.

{ −→wl, ⇐=zag } → { ←−wr, ⇐==zag0, w, −→wl,=⇒zig }

{=⇒zig, ←−wr } → { ⇐=zag, ←−wr,w, −→wl,

==⇒zig0 }

(e) Diagramme espace-temps.

==⇒zig0 w

−→w l

⇐==zag0

=⇒zig

w

−→w l

⇐=zag

w

⇐==zag0

=⇒zig

w

==⇒zig0←−wr −→w l

⇐=zag

Figure 5.8 – La machine MKoch: construction d’une courbe de von Koch.

seul côté de la structure triangulaire sous-jacente. De même, alors que les itérations se fontnormalement de part et d’autre d’un triangle, elles ne se font ici qu’en direction du haut, ensuivant l’axe temporel.

Comme pour les fractales précédentes, la hauteur du diagramme ainsi généré est bornée : sila largeur est l, alors la hauteur est également l (pour des signaux −→wl et ←−wr de vitesses absolues1/2). Notons également que le diagramme de la Fig. 5.7(b) contient une infinité d’accumula-tions spatiales et d’accumulations non-isolées. Il s’agit en fait d’une accumulation d’ordre ω,c’est-à-dire que les objets s’accumulant ne sont plus simplement des signaux ou des collisions,mais ce sont également des valeurs d’accumulations (accumulations d’ordre 2), d’accumulationsd’accumulations (accumulations d’ordre 3). . .

5.2.2 Génération de fractales de n’importe quelle dimension entre 0 et 1

Ensembles de Cantor généralisés. L’ensemble triadique de Cantor admet de multiples va-riantes : il est possible soit de retirer un intervalle central de longueur plus grande ou plus petiteque un tiers, soit de retirer plusieurs intervalles de même longueur ou de longueurs différentes. . .

Nous nous intéressons ici à la version généralisée qui consiste à retirer un intervalle centralde longueur γ < 1, à chaque itération et en appliquant le même principe que pour le triadiquede Cantor.

À la n − ieme itération, 2n intervalles de longueur γn sont donc retirés. Pour γ = 13 , on re-

trouve l’ensemble triadique classique. Les ensembles de Cantor généralisés bénéficient des mêmes

Page 117: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

100 CHAPITRE 5. FRACTALES ET SIGNAUX

propriétés topologiques que le triadique classique (voir [Dindoš 2001] pour une étude succinctedes ensembles de Cantor généralisés).

On note Cγ l’ensemble de Cantor généralisé de paramètre γ, construit en retirant des in-tervalles centraux de longueur γ < 1. La dimension d’un Cantor généralisé de paramètre γ estdonnée par dimfrac(Cγ) = − log 2

log( 1−γ2 )

. En effet, la dimension d’auto-similarité se calcule en consi-

dérant le fait que Cγ est égale à deux copies de lui-même, réduites par une homothétie de rapport1−γ

2 .

Construction par signaux. Pour chaque γ ∈]0; 1[, il existe une machine à signaux MγCantor,

définie par le Tab. 5.1, qui permet de construire l’ensemble Cγ . Il suffit pour cela de modifier lesvitesses des méta-signaux de la machines MCantor, afin de créer des signaux aux positions 1−γ

2

et 1+γ2 (au lieu de 1

3 et 23 pour le triadique). Pour cela, nous assignons les vitesses 1, 3+γ

1−γ ,1+γ1−γ

et 3−γ1−γ respectivement aux signaux

−→aγ ,

=⇒aγ ,−→bγ et

=⇒bγ . Les versions gauches de ces méta-signaux

sont définies de la même façon mais avec des vitesses opposées aux versions droites. Chaqueméta-signal noté µγ joue le même rôle que le méta-signal µ utilisé pour construire le triadiquede Cantor, l’exposant γ indiquant que sa vitesse dépend du paramètre γ. Notamment, les règlesde collisions sont les mêmes que celles du triadique, au détail près de l’exposant γ.

En considérant la même configuration initiale que celle utilisée pour construire le triadique,i.e. c0 =

{[w,−→aγ ,−→bγ ,

=⇒aγ ,

=⇒bγ ]@0, w@1

}, un simple calcul montre que les signaux

−→aγ et

⇐=aγ entrent

en collision au temps t = 1−γ2 et en position x = 1−γ

2 . De même, les signaux−→bγ et

⇐=bγ entrent

en collision en position x′ = 1+γ2 , et également au temps t = 1−γ

2 . Ces positions correspondentbien à celles du Cantor généralisé défini ci-dessus. De plus, ces deux positions sont marquéessimultanément, ce qui garantit qu’à chaque itération, le processus reste synchronisé. Les règlesde collision de la machine Mγ

Cantor étant les mêmes que celles de MCantor, le processus est réitéréde manière symétrique sur les deux intervalles restant. La Figure 5.9 montre deux exemples detels ensembles : avec des paramètres γ = 1

10 (Fig. 5.9(a)) et γ = 12 (Fig. 5.9(b)).

(a) Méta-signaux et vitesses.

=⇒aγ (3 + γ)/(1− γ)

=⇒bγ (3− γ)/(1− γ)

−→bγ (1 + γ)/(1− γ)

−→aγ 1

w 0←−aγ −1

←−bγ −(1 + γ)/(1− γ)

⇐=bγ −(3− γ)/(1− γ)

⇐=aγ −(3 + γ)/(1− γ)

(b) Règles de rebonds.

{w,⇐=aγ} → {w,=⇒aγ}

{=⇒aγ ,w} → {⇐=aγ ,w}

{w,⇐=bγ} → {w,

=⇒bγ}

{=⇒bγ ,w} → {

⇐=bγ ,w}

(c) Règles d’itérations.

{=⇒aγ ,←−aγ} → {w,−→aγ ,−→bγ ,

=⇒aγ ,

=⇒bγ}

{−→aγ ,⇐=aγ} → {⇐=bγ ,⇐=aγ ,←−bγ ,←−aγ ,w}

{=⇒bγ ,←−bγ} → {w,−→aγ ,

−→bγ ,

=⇒aγ ,

=⇒bγ}

{−→bγ ,⇐=bγ} → {

⇐=bγ ,⇐=aγ ,←−bγ ,←−aγ ,w}

Tableau 5.1 – La machine MγCantor: construction d’ensembles de Cantor généralisés.

Notons qu’en partant de la configuration initiale définie ci-dessus et de taille 1, le tempslimite t existe et est fini car 0 < γ < 1. Il correspond à la hauteur totale de la construction et

est donné par t =∞∑i=1

(1−γ

2

)i= 1−γ

1+γ . Comme pour le triadique, les diagrammes ainsi générés

Page 118: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.3. APPROXIMATIONS DE FRACTALES 101

w=⇒aγ

=⇒bγ−→bγ

−→aγw

(a) Avec γ = 110. (b) Avec γ = 1

2.

Figure 5.9 – Exemples d’ensembles de Cantor généralisés.

contiennent donc des accumulations.

Les constructions par signaux des ensembles de Cantor généralisés nous permettent de dé-montrer qu’il est possible de générer par signaux des ensembles de réels de dimension fractalequelconque strictement comprise entre 0 et 1 :

Théorème 25Pour tout d ∈]0, 1[, il existe une machine à signaux Md et une configuration initiale c0 tel quel’évolution de Md à partir de c0 produit une configuration cd telle que la dimension fractale desupport(cd) est égale à d.

Démonstration. Il suffit d’utiliser la machine Md =MγCantor, avec γ = 1− 21− 1

d et de l’exécutersur la configuration initiale c0 précédente. Lorsque d ∈]0; 1[, on a bien γ ∈]0; 1[. La configurationrecherchée cd est alors donnée par la configuration limite cd = ct. En effet, cette configurationvérifie bien : dimfrac(support(ct)) = − log 2

log

(1−(1−21−1/d)

2

) = − log 2log 2−1/d = d.

Remarque 21. Le cas d = 1 correspond en fait à l’arbre binaire de la Sous-sec. 5.2.1. Dansce cas, on a γ = 0.

5.3 Approximations de fractales

Nous proposons ici deux méthodes pour approximer des fractales, que nous illustrons surl’exemple de l’arbre binaire infini. Ces méthodes suivent les notions introduites en Sous-sec. 3.2.3concernant les méthodes de résolution de problèmes par famille de machines ou par machineunique. La première méthode est une méthode spécifique : la machine utilisée dépend de l’ap-proximation souhaitée. Ainsi, pour chaque nombre d’itérations, une machine à signaux différenteest utilisée. La deuxième méthode nécessite quant à elle une unique machine qui permet d’obtenirn’importe quelle approximation de l’arbre infini : le nombre d’itération voulu est seulement codédans la configuration initiale, et non pas dans la machine elle-même. Une telle méthode seraappelée générique.

Notons que nous utilisons implicitement comme notion d’approximation la construction d’uneconfiguration dans laquelle des positions appartenant à la fractale sont marquées d’un signalvertical. Cette configuration est obtenue après l’exécution complète de la machine à partir dela configuration initiale correspondante. Il est également possible d’approximer l’arbre binaireinfini en utilisant la machine Mtree que l’on exécute pendant une certaine durée prédéfinie en

Page 119: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

102 CHAPITRE 5. FRACTALES ET SIGNAUX

fonction du niveau d’approximation souhaité. Mais dans ce cas, la configuration finale obtenuesera encore munie d’une dynamique (puisque la machine, qui produit normalement la fractalecomplète, est ici interrompue).

5.3.1 Approximation de fractales par une famille de machines

L’idée d’approximation spécifique d’une fractale F est de construire une famille de machinesà signaux

(M

spe(n)F

)n∈N

telle que pour tout n ∈ N la machine Mspe(n)F fournit une approximation

des n premières itérations d’une fractale. De manière générale, la définition de la machine Mspe(n)F

(ses méta-signaux et ses règles) dépendent donc de n.On illustre ce principe sur l’exemple de l’arbre binaire. L’approximations spécifiques des

ensembles de Cantor généralisés (incluant donc le triadique de Cantor) suivent la même idée del’utilisation d’un ensemble de signaux compteurs avec des règles d’incrémentation.

Approximation de l’arbre binaire infini par une famille de machines. Dans le cas del’arbre binaire, l’idée est de construire de manière directe l’arbre donné en Sous-sec. 5.2.1 ens’arrêtant au niveau n voulu. Pour cela, on utilise un ensemble de signaux compteurs −→a1 , −→a2 , . . .,−→an, et on utilise des règles d’incrémentation correspondantes, c’est-à-dire telles que les collisionsimpliquant un signal −→ai en entrée produisent un signal −−→ai+1 en sortie. Mis à part la gestion ducompteur, ces règles sont similaires à celles utilisées en Sous-sec. 5.2.1 pour construire l’arbreinfini. Une dernière forme de règle permet de gérer l’arrêt de la construction : lorsque le compteuratteint le nombre n de niveaux voulus, seuls des signaux verticaux sont générés et le processusitératif est arrêté. L’Algorithme 5.1 génère ces méta-signaux et règles à partir d’un entier net produit la machine M

spe(n)tree qui permet de construire les n premiers niveaux de l’arbre binaire

fractale.À titre d’exemple, pour n = 3, l’Algo. 5.1 produit la machine Mspe(3)

tree , dont les méta-signauxet règles sont donnés par leTab. 5.2. Le diagramme généré parMspe(3)

tree à partir de la configurationinitiale c0 =

{w@0, −→a1@0, =⇒a @0, w@1

}est donné par la Fig. 5.10 : celui-ci correspond à une

approximation spécifique jusqu’au niveau 3 de l’arbre binaire infini.

w=⇒a

⇐=a

−→a 1

w

=⇒a⇐=a

w

−→a 2

⇐=a←−a2

=⇒a

=⇒a⇐=aw

−→a 3

⇐=a←−a3=⇒a

−→a 3 ⇐=a←−a3

=⇒a ⇐=a =⇒a

Figure 5.10 – Approximation spécifique de l’arbre fractale par la machine Mspe(3)tree .

L’Algorithme 5.1 de compilation de la machine pour l’approximation des n premiers ni-veaux est clairement linéaire en n (car les deux boucles « Pour » sont bornées par n et sont

Page 120: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.3. APPROXIMATIONS DE FRACTALES 103

Entrée : un entier n, niveau de l’approximation.Sortie : la machine M

spe(n)tree et c0 la configuration initiale associée.

// méta-signaux

1 w←−Mspe(n)tree .ajouter_meta_signal_de_vitesse(0)

2=⇒a ←−M

spe(n)tree .ajouter_meta_signal_de_vitesse(3)

3⇐=a ←−M

spe(n)tree .ajouter_meta_signal_de_vitesse(−3)

4 Pour i de 1 à n Faire5

−→ai ←−Mspe(n)tree .ajouter_meta_signal_de_vitesse(1)

6←−ai ←−M

spe(n)tree .ajouter_meta_signal_de_vitesse(−1)

// règles de collisions

7 Mspe(n)tree .ajouter_regle

({=⇒a ,w}→{⇐=a ,w}) // règles de rebonds sur les murs

8 Mspe(n)tree .ajouter_regle

({w,⇐=a

}→{w,=⇒a

})9 Pour i de 1 à n− 1 Faire

10 Mspe(n)tree .ajouter_regle

({−→ai ,⇐=a }→ {⇐=a ,←−−ai+1,w,−−→ai+1,=⇒a})

11 Mspe(n)tree .ajouter_regle

({=⇒a ,←−ai}→{⇐=a ,←−−ai+1,w,−−→ai+1,

=⇒a})

12 Mspe(n)tree .ajouter_regle

({−→an,⇐=a }→ {w}) // règles d’arrêt

13 Mspe(n)tree .ajouter_regle

({=⇒a ,←−an}→ {w}

)14 M

spe(n)tree .creer_configuration(c0)

15 c0 ←−{w@0, −→a1@0, =⇒a @0, w@1

}// création configuration initiale

16 Retourner Mspe(n)tree , c0

Algorithme 5.1 – Générer la machine Mspe(n)tree .

non imbriquées). Les complexités en collisions se déduisent facilement des diagrammes et de ladéfinition des règles (définies de telles sorte à s’enchaîner pendant n étapes), d’où une profondeurde collisions qui est linéaire en n. La largeur de collisions est quant à elle exponentielle en n.

5.3.2 Approximation de fractales par une unique machine générique

Contrairement à l’approximation spécifique, une approximation générique d’une fractale F nerequiert qu’une unique machine à signaux Mgen

F permettant d’approximer n’importe quel niveaud’itération de la fractale. Les méta-signaux, et donc a fortiori les règles, ne dépendent pas den : la machine Mgen

F est donc complètement indépendante de n. Elle doit cependant permettrede représenter n’importe quelle valeur de n : le seul moyen est donc de représenter n dans uneconfiguration initiale adéquate cgen(n)

0 .Là aussi, ce principe est uniquement illustré sur l’exemple de l’arbre binaire, les approxi-

mations génériques des ensembles de Cantor généralisés (incluant donc le triadique de Cantor)suivant quant à eux le même principe d’utilisation d’un ensemble fixe de signaux qui, muni d’unensemble fixe de règles, permet de représenter le niveau n d’approximation souhaitée à l’aided’un codage unaire de l’entier n.

Approximation générique de l’arbre binaire infini. Alors que pour l’approximation spé-cifique, n était représenter par n méta-signaux, l’idée ici est d’utiliser un nombre fixe de signauxqui nous permette de représenter en unaire n’importe quelle valeur de n : un entier sera doncreprésenté par un faisceau de n signaux, en se basant sur le codage unaire proposé dans laSous-sec. 3.2.1.

Cette représentation unaire de n est ensuite insérée dans la structure de l’arbre fractale com-plet, dont les règles ont déjà été données en Sous-sec. 5.2.1. Mais nous voulons maintenant

Page 121: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

104 CHAPITRE 5. FRACTALES ET SIGNAUX

(a) Méta-signaux et vitesses.

=⇒a 3

−→a1 , −→a2 , −→a3 1

w 0←−a1 , ←−a2 , ←−a3 −1

⇐=a −3

(b) Règles de collisions.

{ w, ⇐=a } → { w, =⇒a }

{ =⇒a , w } → { ⇐=a , w }

{ −→a1 , ⇐=a } → { ⇐=a , ←−a2 , w, −→a2 , =⇒a }

{ =⇒a , ←−a1 } → { ⇐=a , ←−a2 , w, −→a2 , =⇒a }

{ −→a2 , ←−a } → { ⇐=a , ←−a3 , w, −→a3 , =⇒a }

{ =⇒a , ←−a2 } → { ⇐=a , ←−a3 , w, −→a3 , =⇒a }

{ −→a3 , ⇐=a } → { w }

{ =⇒a , ←−a3 } → { w }

Tableau 5.2 – La machine Mspe(3)tree : méta-signaux et règles.

arrêter la construction récursive de l’arbre à un certain niveau donné. Nous utilisons pour celaquatre nouveaux type de méta-signaux : z et ζ qui servent de compteur ; w◦, une version « désac-tivée » de w qui permet de décrémenter le compteur ; et enfin a◦, la version de a qui permetdéfinir la règle d’arrêt de la fractale.

Un bloc [until(n)] est alors inséré dans la configuration initiale pour couper la frac-tale exactement après les n premiers niveaux. Le bloc est constitué de la manière suivante :[until(n)] = (−→z

−→ζn−1

). En notant [tree] = (w −→a =⇒a w) la configuration correspondant àla fractale complète, on obtient comme configuration initiale pour l’approximation générique duniveau n, la configuration cgen(n)

0 = [until(n)][tree] = (−→z−→ζn−1

w −→a =⇒a w).Détaillons le fonctionnement du compteur générique, dont les règles sont données par le

Tab. 5.3. Pour coder un compteur de manière générique, on utilise la pile constituée de n − 1

signaux−→ζ et d’un signal −→z . Ce faisceau va ensuite se propager dans l’arbre, en étant à la fois

« décrémenté » et dupliqué à chaque étage. Les signaux−→ζ servent à la fois de compteur et de

protection pour le signal −→z . En effet, le faisceau−→ζn−1

constitue un ensemble d’inhibiteurs dusignal−→z : en transformant le signal w en une version désactivée w◦, ils empêchent une collisiondirecte entre −→z et w. Ce dernier w◦ redevient w après le passage de −→z , conformément aux règlesdu Tab. 5.3(b) et au diagramme de la Fig. 5.11(b). Un inhibiteur

−→ζ est consommé à chaque

niveau et après n − 1 niveaux, −→z qui n’est alors plus protégé, peut interagir directement avecw. Les règles du Tab. 5.3(c) permettent alors de dupliquer le signal −→z en des versions rapides=⇒z et ⇐=z , qui vont rattraper les signaux −→a et ←−a de constructions de l’arbre pour les transformerrespectivement en −→a◦ et ←−a◦ . Ces derniers ont alors pour rôle est d’annihiler les signaux −→a et ←−ade construction de l’arbre fractal : la règle {=⇒a ,←−a◦} → ∅ et sa version gauche permettent alorsd’arrêter la génération de l’arbre infini. Cette dernière étape est illustrée par la Fig. 5.11(b).

Les conditions de validité à vérifier sont que le faisceau défini par [until(n)] n’empiète passur plusieurs branches de l’arbre en même temps, et que les signaux rapides =⇒z et ⇐=z rattrapentbien les signaux −→a et ←−a . En fait, la validité de la deuxième condition implique celle de la pre-mière, et un simple calcul montre qu’il faut que la largeur du faisceau (−→z

−→ζn−1−→a ) soit inférieure

à un tiers de la largeur du dernier niveau, c’est-à-dire inférieure à 13×

12n . Ainsi, pour un construire

l’approximation entre deux murs placés en 0 et 1, il suffit que le faisceau soit entièrement inclusdans

]− 1

3×2n ; 0]. Pour approximer les n premiers niveaux de l’arbre, la configuration initiale

cgen(n)0 =

{−→z @ −n3×2n×(n+1) ,

−→ζ @ −(n−1)

3×2n×(n+1) , . . . ,−→ζ @ −1

3×2n×(n+1) , [w,−→a ,=⇒a ]@0, w@1}

convientdonc.

Page 122: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

5.3. APPROXIMATIONS DE FRACTALES 105

(a) Méta-signaux et vitesses.

=⇒z 3

−→ζ , −→z , −→a◦ 1

w, w◦ 0

←−ζ , ←−z , ←−a◦ −1

⇐=z −3

(b) Décrémenter le compteur.

{−→ζ , w } → { w◦ }

{−→ζ , w◦ } → {

←−ζ , w◦,

−→ζ }

{ −→z , w◦ } → { ←−z , w, −→z }

(c) Étape d’arrêt.

{ −→z , w } → { =⇒z , w, ⇐=z }

{ =⇒z , −→a } → { −→a◦ }

{ =⇒a , ←−a◦ } → ∅

Tableau 5.3 – Couper l’arbre fractale (règles version droite).

La Sous-section 7.2.2 présentera une condition du même type pour assurer la validité d’uneutilisation calculatoire de l’arbre et de son approximation. Pour n = 3, on obtient le diagrammede la Fig. 5.11, à partir de la configuration initiale (−→z

−→ζ−→ζ w −→a =⇒a w), les positions initiales

exactes étant données par cgen(3)0 =

{−→z @ −3100 ,

−→ζ @ −2

100 ,−→ζ @ −1

100 , w@0, −→a @0, =⇒a @0, w@1}.

w=⇒a

−→a

⇐=a

=⇒a

w

⇐=a

(a) Diagramme complet à partir de cgen(3)0 .

w−→ζ

w◦

−→ζ

w◦

−→z

⇐=a

←−a←−ζ w −→z←−z

−→ζ

=⇒a

−→a

(b) Décrémentation.

w←−z⇐=a

w

←−a

⇐=z =⇒z=⇒a

←−a◦ ww

(c) Étape d’arrêt.

Figure 5.11 – Approximation générique de l’arbre fractale par la machine Mgentree.

Nous verrons au Chap. 8 une technique — appelée la lentille — qui garantit un rétrécissementautomatique du faisceau à chaque niveau. Dans ce cas, la validité de l’approximation de l’arbreest garantie en plaçant le faisceau dans un intervalle initial fixé, et indépendamment du niveaun d’approximation souhaité.

Page 123: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 124: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 6Modules géométriques

Les preuves de corrections des algorithmes géométriques simples présentés dans le Chap. 3,nécessitaient des preuves peu complexes mais longues et fastidieuses pour démontrer des faits ap-paremment basiques. Une preuve de type combinatoire, comme la preuve faite en Sous-sec. 3.1.3pour la correction de l’additionneur binaire, permet de simplifier la chose. Mais sur des construc-tions plus complexes, la longueur d’une preuve combinatoire explosera, nécessitant l’étude denombreux sous-cas. C’est pourquoi il est nécessaire pour prouver la correction de constructionsgéométriques complexes, de développer une approche de type modulaire. Cela consiste à ramenerl’étude d’un diagramme espace-temps à l’étude — plus simple — de chacune de ses parties, detelle sorte que les propriétés globales du diagramme se déduisent de celles de chacune de sesparties.

Une approche similaire a déjà été proposée dans le cadre des automates cellulaires par GaétanRichard [Richard 2008]. Dans ces travaux, les diagrammes d’AC définis à partir de systèmes departicules et collisions discrètes sont décomposés en composantes géométriques (les « faces »).Leur agencement est défini par des schémas de ligatures de faces, qui sont ensuite décrits à l’aidede formules logiques dans l’arithmétique de Presburger, la validité du diagramme espace-tempsse déduisant ainsi de celle de la formule correspondante. Citons également Florent Becker qui aintroduit dans [Becker 2009] un langage de programmation géométrique basé sur des systèmesde signaux pour l’auto-assemblage.

Ici, l’idée est de se placer à un niveau « macro ». Nous ne considérons pas directement leniveau atomique des signaux/collisions, mais nous regardons des portions d’espace-temps commedes boîtes ayant une certaine fonctionnalité : nous appellerons de telles structures des modules.Un module sera défini par une machine à signaux munie d’ensembles de configurations (lesentrées/sorties du module), à partir desquels une interprétation du diagramme espace-temps estdéfinie. Nous définissons ensuite différentes manières d’agencer les modules entre eux, obtenantainsi différents types de composition des fonctionnalités.

Avant de définir les notions de modules géométriques, nous commencerons par définir desopérateurs sur les machines à signaux, tels que l’union ou la jointure de machines, qui permettentde construire de nouvelles machines à partir de machines déjà existantes. Ces opérateurs servirontensuite de bases pour définir les modules géométriques. Ceux-ci seront présentés dans la secondesection. Nous définirons d’abord les modules de manière générale (les H-modules), puis ensuite destypes particuliers de modules seront présentés (les T-modules et les R-modules). Les différentesopérations de composition de ces modules (compositions séquentielles, compositions parallèles)seront ensuite étudiées, en détaillant particulièrement les compositions parallèles à travers diversexemples qui serviront à prouver certaines constructions dans les chapitres suivants. Enfin, le lienentre les complexités en collisions et les différentes compositions de modules sera abordé : desbornes sur les complexités en collisions d’une composition de modules seront fournies en fonction

107

Page 125: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

108 CHAPITRE 6. MODULES GÉOMÉTRIQUES

de celles des modules utilisés pour la composition.

6.1 Opérations sur les machines

Nous définissons ici quelques opérations de bases sur les machines, dont le but est de pouvoirconstruire facilement de nouvelles machines à partir de machines déjà existantes. Nous définissonsd’abord un concept de sous-machines à signaux, et nous introduisons ensuite des opérateurs(l’union de machines et les schémas d’extension de machines) permettant d’étendre des machinesde telle sorte que les machines auxquelles sont appliqués ces opérateurs soient des sous-machinesdes nouvelles machines étendues.

6.1.1 Sous-machines et unions de machines

Sous-machines à signaux. Nous présentons ici une notion de sous-machines à signaux. Celle-ci justifie les opérateurs d’extension de machines qui seront définis par la suite. La notion desous-machines doit se comprendre dans un sens intuitif : une machine à signaux M2 est unesous-machine à signaux de la machine M1 si ses méta-signaux sont tous des méta-signaux dela machine M1, et que leurs vitesses concordent. De plus, les règles définies à partir des méta-signaux de M2 sont exactement les mêmes que les règles de M1 impliquant des méta-signaux deM2 en entrée. Formellement :

Définition 38 (Sous-machine)Soit M1 =(M1,S1,R1) une machine. On dit que la machine M2 =(M2,S2,R2) est une sous-machine de M1 si :

(i) M2 ⊆M1 ;

(ii) S2 = S1�M2 ;

(iii) R2 = R1�M2.

L’hypothèse que M2 est une machine à signaux est nécessaire, pour garantir que les règlesde collisions de M2 sont bien déterministes (ce que la condition (iii) ne garantit pas à elle touteseule).

Union simple de machines. On définit ici l’union simple de deux machines de manièreintuitive. Naïvement, l’union simple de deux machines est la machine dont les ensemble de méta-signaux et règles sont donnés les unions respectives des ensembles de méta-signaux et règles. Ilfaut cependant faire attention aux objets communs aux deux machines : un méta-signal présentdans les deux machines doit avoir la même vitesse dans ces deux machines et aucune machine nedoit avoir de règle de collisions contredisant une règle de l’autre machine. Si une de ces conditionsn’est pas respectée, alors l’union simple ne définira pas une machine à signaux.

Définition 39 (Union simple de machines)Soient M1 =(M1,S1,R1) et M2 =(M2,S2,R2) deux machines à signaux telles que tout signalµ ∈ M1 ∩M2 vérifie S1(µ) = S2(µ) et pour toutes règles ρ1 ∈ R1, ρ2 ∈ R2 telles que ρ−1 = ρ−2on a ρ+

1 = ρ+2 . On définit alors M1 ∪ M2 = (M,S,R) la machine union simple des machines

M1 et M2, par :

(i) M =M1 ∪M2 ;

(ii) S :M→ R telle que S(µ) =

{S1(µ) si µ ∈M1

S2(µ) sinon;

Page 126: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.1. OPÉRATIONS SUR LES MACHINES 109

(iii) Rsign = Rsign1 ∪Rsign2 est l’ensemble des règles non-blanches ;et R = Rsign ∪ {ρ− → ρ− | ρ− n’est un ensemble de signaux entrants dans Rsign}.

Les conditions de la définition sont importantes : elles signifient que tous les signaux à lafois présents dans les deux machines d’origine ont bien le même comportement. En particulier,cela signifie qu’il ne doit pas y avoir de règles de collisions définies de manière contradictoirec’est-à-dire il ne doit pas exister de règles ayant les mêmes signaux entrants (communs auxdeux machines) mais ayant des signaux sortants différents, à l’exception des règles de collisionsblanches. Ainsi, une règle pourra être blanche pour une machine, mais non-blanche pour l’autre.Dans ce cas, c’est la règle non-blanche qui est retenue pour la définition de la machine union. C’estle sens de la condition (iii), où la notation Rsign désigne l’ensemble des règles significatives (i.e.non-blanches), toutes les autres règles n’apparaissant pas dans Rsign étant considérées commeblanches.

Lorsque l’union simple des machines M1 et M2 est bien définie, alors les machines M1 etM2 sont des sous-machines de la machine union M1 ∪ M2. Notons que dans l’union de deuxmachines, aucune nouvelle règle n’est formée, que ce soit à partir de règles déjà existantes ou àpartir du nouvel ensemble de méta-signaux. Nous allons maintenant introduire un opérateur quipermet justement d’enrichir une machine de nouvelles règles.

6.1.2 Schémas d’extension de machines

Il est possible de modifier des machines en appliquant des règles génériques sur des sous-ensembles de signaux pour produire de nouvelles règles. De telles règles sont appelées des sché-mas d’extension de machines. Le principe est d’ajouter de nouvelles règles (et si nécessaire, denouveaux méta-signaux) à la machine selon un schéma qui dépend d’un sous-ensemble de méta-signaux donnés. Le schéma peut également utiliser certains signaux et règles comme paramètres,indépendants de la machine à laquelle est appliqué le schéma. Un schéma d’extension appliquéla machine M ayant un sous-ensemble de méta-signauxM′ ⊆M, revêt la forme suivante :

1. ajouter les éventuels paramètres du schéma, donnés par des méta-signaux σ1, . . . σm et desrègles définies sur ces méta-signaux uniquement ;

2. pour tout méta-signal µ ∈M′ ⊆M, pour i ∈ J1;mK :(i) ajouter de nouveaux méta-signaux µi1, . . . , µ

in ;

(ii) ajouter la règle {µ, σi} → {µi1, . . . , µin} ∪ {σj}j∈Iµ,i , où Iµ,i ⊆ J1;mK.Tous les méta-signaux σ1, . . . σm, ainsi que les règles associées ne dépendent que du schémad’extension considéré. Les méta-signaux µi1, . . . , µ

in dépendent quant à eux du signal µ et du

signal paramètre σi, dont on veut justement définir la collision. La condition 2.(ii) signifie quela sortie de la collision entre µ et σi ne dépend que de ces deux signaux, et que les signaux desortie sont parmi des signaux paramètres et des signaux ajoutés en 2.(i).

On peut définir de la même façon des schémas de règles pouvant avoir plus de deux signaux en-trants. On peut également définir des schémas de règles impliquant des méta-signaux provenantde deux ou plusieurs sous-ensembles de méta-signaux distincts, avec une fonction permettantd’associer au sein d’une nouvelle règle de collisions des méta-signaux provenant de ces différentsensembles. Certaines schémas d’extension peuvent s’appliquer à n’importe quelle machine à si-gnaux vérifiant certaines propriétés : par exemple, les machines n’ayant que des méta-signaux devitesses positives, les machines admettant des règles de rebond définies que pour un seul côté. . .

Un schéma d’extension correspond à une méthode pour générer de nouvelles règles selon unschéma prédéfini : par conséquent, à tout schéma d’extension correspond un algorithme, quiprend en entrée une machine à signaux vérifiant certaines conditions et qui retourne la machineenrichie des nouveaux objets (signaux et règles) correspondant au schéma d’extension. Nousexpliciterons donc souvent un schéma d’extension par l’algorithme associé.

Page 127: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

110 CHAPITRE 6. MODULES GÉOMÉTRIQUES

Notons que des machines auxquelles ont été appliquées des schémas d’extension constituentdes sous-machines des nouvelles machines obtenus grâce au schémas d’extension. Nous allonsillustrer ce concept de schéma d’extension de machines par deux exemples, qui seront grandementutiles pour la suite.

Dupliquer un faisceau. Nous avons vu au Chap. 3 que les faisceaux permettaient de codersimplement et de manière concise de l’information (e.g. des valeurs entières ou réelles). Nousdonnons ici un exemple de schéma d’extension qui permet de définir à partir d’une machine-faisceau M une nouvelle machine Msplit qui étend M et qui permet de dupliquer un faisceaud’information et de le propager dans deux directions opposées de l’espace. On rappelle qu’unemachine-faisceau de vitesse ν est une machine telle que tous ses méta-signaux sont de vitesse ν ;une telle machine ne contient donc pas de règle de collisions. Le schéma d’extension présenté icipeut s’appliquer à toute machine-faisceau de vitesse ν non nulle et est défini par :

1. ajouter le méta-signal paramètre w de vitesse 0 ;

2. pour tout méta-signal µ ∈M :

(i) ajouter le méta-signal µsym de vitesse −ν ;(ii) ajouter la règle de collisions {µ,w} → {µsym,w, µ}.

De manière plus générale, ce schéma peut en fait s’appliquer à des machines quelconques sion restreint l’application du schéma à un sous-ensemble de méta-signaux qui ont tous la mêmevitesse. L’application effective de ce schéma d’extension est donnée par l’Algo. 6.1.

Entrée : M =(M,S,R) une machine-faisceau de vitesse ν.Condition : ν 6= 0.Sortie : Msplit, la machine M pouvant dupliquer des faisceaux.

// ajout de méta-signaux1 w←−Msplit.ajouter_meta_signal_de_vitesse(0) // signal duplicateur2 Pour chaque µ ∈M Faire // version symétrique des signaux3 µsym ←−Msplit.ajouter_meta_signal_de_vitesse(−ν)

// ajout de règles4 Pour chaque µ ∈M Faire5 Msplit.ajouter_regle ({w, µ} → {µsym,w, µ}) // duplication du signal µ

6 Retourner Msplit

Algorithme 6.1 – Générer une machine dupliquant des faisceaux.

Ici, le signal central du schéma d’extension est le signal w : c’est en effet lui qui va dupliquertout signal le rencontrant, et qui va produire ce même signal ainsi que sa version symétrique. LaFigure 6.1 illustre le principe de la duplication : ici, le diagramme est généré par la machineobtenue après application de l’Algo. 6.1 à une machine-faisceau dont l’ensemble des méta-signaux estM = {µi}1≤i≤5 (tous les méta-signaux étant de vitesse 1). Il est également possibled’ajouter des signaux et règles pour « nettoyer » les signaux utilisés pour la duplication. Celas’effectue à l’aide d’un méta-signal paramètre clean, également de vitesse ν et avec la règleparamètre {clean,w} → ∅.

Concentrer un faisceau. De même qu’il est utile de pouvoir « copier » des données en du-pliquant un faisceau, il est intéressant de pouvoir rendre un faisceau aussi fin que l’on souhaite.Sur le même principe que pour le schéma d’extension de duplication d’un faisceau, il est possiblede construire à partir d’une machine-faisceau une nouvelle machine pouvant resserrer le faisceau.Nous appelons lentille l’ensemble des nouveaux méta-signaux et nouvelles règles ajoutés à la

Page 128: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.1. OPÉRATIONS SUR LES MACHINES 111

wµ 1

w

µ 2

w

µ 2

w

µ 3

w

µ 4

w

µ 5

w

µ 4

µ sym1µ sym2

µ sym2µ sym3

µ sym4µ sym5

µ 4

µ sym4µ 5 µ 4 µ 3 µ 2 µ 2 µ 1

Figure 6.1 – Duplication d’un faisceau.

machine : ces objets servent en effet à concentrer le faisceau de la machine initiale, à la manièred’une lentille optique. Comme pour l’exemple de la duplication, le schéma d’extension de la len-tille peut s’appliquer à toute machine-faisceau de vitesse non nulle. Ici, deux schémas de règlessont utilisés, le premier pour accélérer un faisceau et le deuxième pour le ralentir :

1. ajouter le méta-signal paramètre accel de vitesse 3ν ;2. pour tout méta-signal µ ∈M :

(i) ajouter le méta-signal µfast de vitesse 3ν ;(ii) ajouter la règle de collisions {µ, accel} → {accel, µfast} ;

et1. ajouter le méta-signal paramètre deccel de vitesse 0 ;2. pour tout méta-signal µfast ∈M′ (oùM′ est l’ensemble des méta-signaux de vitesse 3ν) :

(i) ajouter le méta-signal µ de vitesse ν ;(ii) ajouter la règle de collisions {µfast, deccel} → {deccel, µ}.

La première permet d’accélérer les signaux, tandis que la deuxième réutilise les méta-signauxgénérés par la première règle et génère les règles de collisions pour ralentir les signaux rapides.Le schéma de la lentille s’obtient en appliquant successivement ces deux schémas à une machine.L’Algorithme 6.2 permet d’appliquer automatiquement le schéma à une machine-faisceaude vitesse non nulle. La nouvelle machine peut engendrer des diagrammes comme ceux de laFig. 6.2(a) : il s’agit d’un diagramme engendré par la machine obtenu après application del’Algo. 6.2 à la machine-faisceau M de l’exemple précédent, et la lentille est ici appliqué aufaisceau déjà utilisé dans la Fig. 6.1. Comme pour le schéma de duplication, il est égalementpossible d’ajouter des règles permettant de nettoyer les signaux de construction de la lentille,grâce aux signaux paramètres clean et cleanfast (respectivement de vitesse ν et 3ν) et grâce auxrègles {accel, clean} → {cleanfast} et {deccel, cleanfast} → ∅. La version de lentille utilisée dansle diagramme de la Fig. 6.2(a) est un exemple de version « nettoyante » qui supprime les signauxparamètres propres à la lentille (accel et deccel). Nous utiliserons par la suite une version de lalentille qui conserve ces signaux pour une éventuelle utilisation ultérieure.

L’exemple de lentille donné ici correspond à un rétrécissement par 2 de la largeur du faisceau,mais il est possible de concevoir des lentilles pour n’importe quel facteur de rétrécissement d’unfaisceau, en changeant les vitesses du signal accel. La Figure 6.2(b) illustre le fait que le facteurde la lentille est effectivement 2 dans le cas présent (pour un faisceau de vitesse ν et un signalaccel de vitesse 3ν) : sur la figure, il est clair que le faisceau entrant est de largeur 4νt, et estde hauteur 2t en sortie de lentille, i.e. de largeur 2νt (car le faisceau sortant est de nouveau devitesse ν).

Page 129: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

112 CHAPITRE 6. MODULES GÉOMÉTRIQUES

Entrée : M =(M,S,R) une machine-faisceau de vitesse ν.Condition : ν 6= 0.Sortie : Mlens, la machine M pouvant concentrer des faisceaux.

// ajout de méta-signaux1 accel ←−Mlens.ajouter_meta_signal_de_vitesse(−3ν) // signal d’accélération2 deccel ←−Mlens.ajouter_meta_signal_de_vitesse(0) // signal de décélération3 Pour chaque µ ∈M Faire // version rapide des signaux4 µfast ←−Mlens.ajouter_meta_signal_de_vitesse(3ν)

// ajout de règles5 Pour chaque µ ∈M Faire6 Mlens.ajouter_regle ({accel, µ} → {accel, µfast}) // accélération7 Mlens.ajouter_regle ({deccel, µfast} → {deccel, µ}) // décélération

8 Retourner Mlens

Algorithme 6.2 – Générer une machine concentrant des faisceaux (avec la valeur 2 commeparamètre de réduction du faisceau).

accelµ 1 deccelµfas

t

1µ 2µ 2

deccelµfas

t

2

µ 3µ 4

µfas

t

2

µ 5µ 4

µfas

t

3

accel

clean

µfas

t

4µfas

t

5µfas

t

4cleanfas

t

µ 4

µ 5

µ 4µ 3µ 2µ 2µ 1

(a) Diagramme d’une lentille.

µ

µfast

µ

accel

νt 3νt

t

t

(b) Principe de la lentille.

Figure 6.2 – Concentration d’un faisceau.

Autres exemples de schémas d’extension. Il existe de nombreux autres exemples de sché-mas d’extension, que nous ne détaillons pas ici. Ainsi, de nombreuses constructions présentéesdans [Durand-Lose 2003], telles que les translations ou contractions automatiques, peuvent seformuler sous forme de schémas d’extension et en constituent autant d’autres exemples. D’autresapplications des schémas d’extension méritent également d’être mentionnées : un cas intéressantest celui de schémas de « symétrisation » de machines à signaux. Ainsi, la machine de l’exempleprécédent peut être étendue en une nouvelle machine avec une lentille permettant d’accélérer etde rétrécir des faisceaux dans les deux directions. En mélangeant les schémas de duplication et dela lentille, il est aisé de concevoir un nouveau schéma d’extension qui transforme des machines-faisceaux de telle sorte à pouvoir à la fois dupliquer un faisceau tout en le concentrant (il suffitde changer le schéma de règle de décélération dans la lentille pour que tout signal décéléré soitégalement dupliqué).

Comme nous l’avons déjà mentionné, les schémas d’extension peuvent avoir des schémas derègles beaucoup plus complexes, et un même schéma pourra contenir plusieurs formes de règlesen fonction de différents cas à traiter. Ainsi, le schéma de duplication peut être décrit en fonc-tion de plusieurs sous-ensembles de méta-signaux de telle sorte à soit dupliquer un signal, soit lesupprimer, ou encore soit le dupliquer en le remplaçant par un autre type de signal et son symé-trique, en fonction de l’ensemble auquel appartient le signal. Nous verrons des applications desschémas de duplication, de lentille ainsi que des variantes (lentille avec duplication, duplicationavec suppressions de certains signaux. . . ) dans les chapitres suivants.

Page 130: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.2. MODULES GÉOMÉTRIQUES : DÉFINITIONS ET EXEMPLES 113

6.2 Modules géométriques : définitions et exemples

À partir de machines simples calculant des fonctions « de bases », on construit d’autres ma-chines calculant des fonctions plus complexes. On utilise pour cela une notion de module. Gros-sièrement, un module est constitué d’une machine à signaux, d’entrées/sorties et d’une structuregéométrique polygonale. Les entrées/sorties seront données par des ensembles de configurations.La structure géométrique associée à un module est une zone définie par un polygone (c’est doncune surface plane) qui contient toute l’évolution de la machine. Elle fournit un contrôle spatio-temporel sur la machine. La sortie d’un module est donnée par la configuration obtenue aprèsl’évolution de la machine pendant une durée définie, en fonction de l’entrée.

Un module sera ensuite muni d’une interprétation : des fonctions de représentation serontassociées aux ensembles d’entrées et de sorties, de telle sorte que le module sera interprétécomme calculant une fonction. L’interprétation d’un module n’est pas directement incluse dansla définition d’un module, car il nous apparaît nécessaire de différencier le niveau dynamique (lemodule) du niveau sémantique (son interprétation).

6.2.1 Notion de H-Module

Afin de ne pas alourdir les notations, les fonctions d1, d2, s1, s2, l1 et l2 apparaissent ici commedes paramètres mais tous dépendent de la configuration d’entrée cin. Sauf quand le contextel’impose, on parlera de paramètres au lieu de fonctions et l’argument cin sera omis : par exemple,le paramètre d1 désignera la valeur d1(cin). De même, on allège les notations de xc

in

min et xcin

max

que l’on écrira juste xmin et xmax, qui désignent les éléments extrémaux de support(cin) et quisont donc dépendants de cin. On rappelle que la taille d’une configuration, |cin|, est donnéepar |cin| = x

cin

max − xcin

min. Donnons maintenant la définition formelle d’un H-module, dont lesparamètres géométriques sont illustrés par la Fig. 6.3 :

Définition 40 (H-module)Un H-module A est un 4-uplet A=(A, Config in, Configout,Z) tel que :

(i) A est une machine à signaux, appelée machine sous-jacente du module A ;

(ii) Config in et Configout sont des ensembles de configurations de la machine A, appelés respec-tivement ensembles d’entrées et sorties du module A ;

(iii) Z est un « hexagone » défini par le 6-uplet Z = (d1, d2, s1, s2, l1, l2) de fonctions-paramètresd1, d2 : Config in → R+ telles que d1 + d2 > 0 ; s1, s2 : Config in → R et l1, l2 : Config in → R+

vérifiant pour toute cin ∈ Config in et pour tout t ∈ [0; d1] :

ct

(Rr

[xmin +

s1

d1× t ; xmax −

xmax − xmin − s1 − l1d1

× t])

= {�}

et pour tout t ∈ [d1; d1 + d2] :

ct

(Rr

[xmin + s1 +

s2

d2× (t− d1) ; xmin + s1 + l1 −

l1 − l2 − s2

d2× (t− d1)

])= {�} ;

(iv) pour toute cin ∈ Config in :

cd1+d2

(xmin + s1 + s2

)6= � et cd1+d2

(xmin + s1 + s2 + l2

)6= � ;

(v) cd1+d2 ∈ Configout.

Page 131: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

114 CHAPITRE 6. MODULES GÉOMÉTRIQUES

d1

s1

l1

d2

s2 l2

xmin xmax|cin|

Figure 6.3 – Aire géométrique et paramètres d’un H-module.

La condition (ii) de la Déf. 40 indique les ensembles de configuration de la machine A quiseront considérées comme les entrées et sorties du H-module A.

La condition (iii) définit l’aire géométrique de travail Z du H-module sous la forme d’unesous-partie hexagonale de l’espace-temps telle que l’évolution entière du module à partir d’uneconfiguration d’entrée quelconque reste confinée dans cet hexagone : en dehors de l’hexagone,aucun objet (signal ou collision) n’est présent. La base inférieure de cet hexagone correspond àla configuration d’entrée et la base supérieure correspond à la configuration de sortie. Ces deuxbases sont donc parallèles puisqu’elles correspondent toutes deux à des configurations.

Les paramètres définissant cet hexagone sont illustrés dans Fig. 6.3. L’aire hexagonale detravail peut être vue comme deux trapèzes collés, chacun ayant respectivement comme paramètresd1, s1 et l1 pour le trapèze du bas, et d2, s2 et l2 pour celui du haut.

La condition « d1 + d2 > 0 » implique qu’au moins l’un de ces deux trapèzes est de hauteurnon nulle et donc que l’hexagone ne peut pas être dégénéré, c’est-à-dire qu’on ne peut pas avoirun hexagone « plat » (les conditions de (iii) ne sont évidemment valables que pour d1 6= 0 etd2 6= 0, si l’une des deux fonctions est nulle, la condition correspondante disparaît). Les valeursde la fonction d1 +d2 correspondent à la durée totale de fonctionnement du module, et c’est pourcette raison que l’on impose qu’au moins l’une des deux ne soit pas nulle, sinon il n’y aurait pasde dynamique du tout. Si l’une de ces deux fonctions est nulle, l’aire devient alors un trapèze, cequi fera l’objet de la Déf. 41.

La condition (iv) implique que la longueur de la base du haut est égale à la longueur dela configuration de sortie, cette même condition pour la base du bas découlant directement desdéfinitions de xmin et xmax.

La dernière condition (v) impose à la configuration finale (celle qui correspond à la basesupérieure de l’hexagone) d’être une configuration de sortie du module. Cette condition et lacondition (iv) excluent donc la configuration vide (définie par c(x) = � pour tout x ∈ R) commeconfiguration de sortie.Remarque 22. On remarquera que les fonctions s1 et s2 sont toutes deux à valeurs dans R: ladéfinition permet donc d’autres formes que l’hexagone de la Fig. 6.3. Notamment, les hexagonesne sont pas nécessairement convexes : ils peuvent être, par exemple, en forme de sablier si l’oninverse le trapèze du bas avec celui du haut dans la Fig. 6.3, ou bien encore en forme de vaseavec deux trapèzes devenant de plus en plus larges. La seule contrainte sur la forme géométriquede l’hexagone est que la base du bas et celle du haut soient toutes deux parallèles à l’axe spatialdu diagramme espace-temps, car elles doivent toutes deux correspondre à des configurations.

La configuration vide ne doit appartenir ni à Config in, ni à Configout. Par contre, cin et cout

peuvent être réduites à un point, bien que dans le cas où cin est réduite à un point, il ne peutpas y avoir de dynamique en termes de collisions.

Page 132: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.2. MODULES GÉOMÉTRIQUES : DÉFINITIONS ET EXEMPLES 115

Notation. On rappelle que Ad(c0) désigne la configuration obtenue après une durée d parl’évolution de la machine A exécutée sur la configuration c0. On rappelle également que ct désignela configuration au temps t (la machine correspondante étant fixée), et que donc, à partir d’uneconfiguration ct0 à un temps t0, la configuration ct au temps t > t0 est donnée par ct = At−t0(ct0).Généralement, t0 = 0 et donc ct = At(c0). Lorsqu’une machine est la machine sous-jacente d’unestructure de module, on notera A(cin) la configuration obtenue à partir de la configuration cin

par l’évolution du module A ayant comme machine sous-jacente la machine A i.e. A(cin) =Ad1+d2(cin) (où d1 et d2 sont ceux de la définition du module A).

Soit cin une configuration d’entrée pour le module A. En notant cout = A(cin) = Ad1+d2(cin),les conditions (iv) et (v) de la définition deviennent respectivement |cout| = l2(cin) et cout ∈Configout (la condition (iii) garantit la concordance des valeurs extrémales de cout avec les extré-mités de la base du haut de l’hexagone).

Exemple 4 : H-module de division par deux.On formalise ici sous forme de H-module l’algorithme géométrique de division d’une grandeurréelle par deux donné en Sous-sec. 3.1.1. On reprend la machine Mdiv comme machine sous-jacente, que l’on munie des ensembles d’entrées et sorties suivants :• Config in =

{c = {[w,

−→hi ,−→lo ]@0, w@a}

∣∣∣ a > 0}/∼trans

;

• Configout ={c = {w@0, w@x}

∣∣∣ x > 0}/∼trans

.

Alors le quadruplet (Mdiv, Config in, Configout, (d1; d2; s1; s2; l1; l2)) avec :

d1 : cin 7→ |cin|3

d2 : cin 7→ |cin|6

s1 : cin 7→ 0

s2 : cin 7→ 0

l1 : cin 7→ |cin|

l2 : cin 7→ |cin|2

est un H-module. Un exemple de diagramme espace-temps de la machine Mdiv est rappelé parFig. 6.4(a) et les paramètres géométriques de l’aire de travail sont donnés dans Fig. 6.4(b).

(a) Diagramme.

|cin|

l1 = |cin|

l2 = |cin|2

d1 = |cin|3

d2 = |cin|6

(b) Polygone et paramètres associés (avec s1 = s2 = 0).

Figure 6.4 – Aire géométrique et paramètres du module de division par deux.

Les valeurs des fonctions-paramètres sont déduites des valeurs (positions et dates des colli-sions) calculées en Sous-sec. 3.1.1. La preuve que ces paramètres satisfont les conditions (iii)

Page 133: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

116 CHAPITRE 6. MODULES GÉOMÉTRIQUES

et (v) de la définition d’un module découle directement de la preuve faite en Sous-sec. 3.1.1,qui fournit l’historique des collisions, et donc la configuration de la machine à chaque instant.

Il est également possible de définir un module correspondant au cas de diagrammes initiéspar un signal

−→div venant de la gauche, comme évoqué en Sous-sec. 3.1.1.

6.2.2 Notion de T-Module

Beaucoup de constructions et de modules restent confinés à des parties de l’espace-temps plussimples qu’une aire hexagonale comme celle utilisée dans le définition d’un H-module. En effet,une aire trapézoïdale ou rectangulaire est suffisante pour beaucoup de constructions et est plusfacile à manipuler qu’un hexagone, notamment parce qu’elle sera toujours convexe (alors que l’aired’un H-module ne l’est pas forcément). Nous définissons ici de tels modules ne nécessitant qu’untrapèze ou qu’un rectangle comme aire de travail, et ces définitions correspondent à la définitiond’un H-module pour lequel certains des paramètres géométriques sont dégénérés. Nous appelonsces modules des T -modules (pour un « module-trapèze ») et R-modules (pour un « module-rectangle »).

Un T -module est un H-module dont un seul des deux trapèzes est réellement utilisé. Commeles paramètres des deux trapèzes sont définis de la même façon, on peut considérer indifféremmentl’un des deux trapèzes comme étant celui qui est significatif et l’autre comme étant un trapèzedégénéré (de hauteur nulle). Dans la définition suivante, nous définissons l’aire du travail d’unT -module comme étant le trapèze inférieur de l’aire de travail d’un H-module:

Définition 41 (T -module)Un T -module A est un H-module (A, Config in, Configout, (d, 0, s, 0, l, l)).

On note alors A = (A, Config in, Configout, (d, s, l)). Dans cette définition, les conditions d2 = 0,s2 = 0 et l2 = l1 doivent être comprises au sens de l’égalité de fonctions : la fonction d2 estidentiquement nulle (on a pour toute cin ∈ Config in, d2(cin) = 0) et pour le cas de l1 et l2,on a pour toute cin ∈ Config in, l2(cin) = l1(cin). L’aire de travail d’un T -module, ainsi que lesparamètres associés, est illustrée par la Fig. 6.5(a).

d

s

l

|cin|(a) Aire de travail d’un T -module.

d

l = |cin|

|cin|

(b) Aire de travail d’un R-module.

Figure 6.5 – Aires géométriques et paramètres d’un T -module et d’un R-module.

Pour un T -module, la condition (iii) de Déf. 40 devient pour toute cin ∈ Config in et pourtout t ∈ [0; d] :

ct

(Rr

[xmin +

s

d× t ; xmax −

xmax − xmin − s− ld

× t])

= {�} (6.1)

Page 134: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.2. MODULES GÉOMÉTRIQUES : DÉFINITIONS ET EXEMPLES 117

Notons que la base du haut du trapèze d’un T -module peut être plus large que celle du bas :c’est le cas s’il existe cin telle que l(cin) > |cin|. Le module utilisera alors de plus en plus d’espacependant son évolution, et on parlera dans ce cas de module expansif. Sinon, le module sera ditnon-expansif : on aura alors l(cin) ≤ |cin| pour toute cin. Un module sera dit contractant si cettedernière inégalité est stricte.

Exemple 5 : module d’addition binaire.On donne ici les paramètres d’un module d’addition binaire, dont la machine, les configurationsd’entrée et sortie sont celles déjà données dans la Sous-sec. 3.1.3. Ce module fournit un exemplede module où les paramètres ne dépendent pas uniquement de la taille de la configuration d’entréecin. Dans le cas présent, le paramètre l correspondant à la taille de la configuration de sortie, estdonné par la taille d’une sous-configuration c′ de cin. Comme c′ est une sous-configuration strictede cin et que l = |c′|, on en déduit que ce module est contractant. L’étude de cette machineréalisée en Sous-sec. 3.1.3 nous fournit directement les expressions des paramètres en fonctionde la configuration d’entrée, qui figurent sur la Fig. 6.6.

(a) Diagramme.

l = |c′|s = |cin|2

|c′|

|cin|

d = |cin|2

(b) Trapèze et paramètres associés.

Figure 6.6 – Aire géométrique et paramètres du module d’addition binaire.

6.2.3 Notion de R-Module

De même qu’un T -module est un H-module avec certains paramètres dégénérés, un R-moduleest défini comme étant un T -module ayant également certains paramètres dégénérés, de tellesorte que son aire de travail sera réduite à un simple rectangle, précédemment illustré par laFig. 6.5(b) :

Définition 42 (R-module)Un R-module A est un T -module (A, Config in, Configout, (d, 0, l)) avec l = cin 7→ |cin|.

On note alors simplement A = (A, Config in, Configout, d). La condition l = | · | signifie quepour tout cin on a l(cin) = |cin| : la longueur de la base supérieure du trapèze est directementdonnée par la taille de la configuration d’entrée et est donc la même que celle de la base inférieure(en particulier, un R-module est non-expansif). Avec la condition s = 0, on en déduit qu’il s’agitd’un rectangle de hauteur d et de largeur |cin|.

Dans le cas d’un R-module, étant donné que s = 0 et que l(cin) = |cin| = xmax − xmin,la condition (6.1) qui exprime que tous les signaux et collisions restent confinés à l’intérieur de

Page 135: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

118 CHAPITRE 6. MODULES GÉOMÉTRIQUES

l’aire géométrique s’écrit alors :

∀t ∈ [0; d], ∀cin ∈ Config in, ct

(Rr [xmin ; xmax]

)= {�} . (6.2)

On retrouve bien le fait qu’à tout instant t, l’espace utilisé est le segment [xmin;xmax],et que la portion d’espace-temps correspondant à l’aire de travail est donnée par le rectangle[xmin;xmax]× [0; d] ⊆ R× R+ .

Exemple 6 : module de calcul du milieu.Nous reprenons ici l’exemple du calcul du milieu de la section Sec. 3.1. En considérant commemachine sous-jacente la machine Mmid et en prenant comme ensembles d’entrées et sorties :

• Config in ={c = {[w,

−→hi ,−→lo ]@a, w@b}

∣∣∣ b > a}

et

• Configout ={c = {w@a, w@ b−a

2 , w@b}∣∣ b > a

},

on obtient un R-module correspondant au calcul du milieu. On notera plusieurs différences avecl’Ex. 4 : d’abord les machines sous-jacentes, bien que presque identiques, diffèrent d’une règle decollisions. Ensuite, les aires géométriques sont différentes : il s’agit d’un pentagone dans le cas del’Ex. 4, alors qu’ici c’est un rectangle, comme illustré par la Fig. 6.7. Et surtout, les ensemblesde configurations d’entrée et de sortie ne sont pas les mêmes : dans le cas de la division par deux,les configurations requises sont celles qui sont conformes au schéma d’entrée défini à translationsprès, alors que celles requises pour le calcul du milieu sont les configurations conformes au mêmeschéma mais en conservant les positions exactes. Ainsi, la valeur significative d’une configurationd’entrée pour la division par 2 est la distance séparant les deux signaux w, indépendammentde leurs positions et une configuration d’entrée pour le calcul du milieu nécessite les positionsexactes de ces deux signaux.

(a) Diagramme.

|cin|

d = |cin|2

(b) Rectangle associé.

Figure 6.7 – Aire géométrique et paramètres du module de calcul du milieu.

Un autre cas particulier de module, que nous ne détaillons pas ici, est le cas des modulestriangulaires : ce sont des T -modules dont toutes les configurations de sortie sont réduites à unpoint. Dans ce cas, l’aire géométrique correspondant est un triangle dont les caractéristiques sontdonnées par les deux paramètres d et s.

6.2.4 Interprétations de modules

Nous avons défini un module comme une machine à signaux munie de deux ensembles deconfigurations : un pour les configurations que nous considérerons comme les entrées et un autrepour celles que nous considérerons comme les sorties du module.

Nous allons formaliser ici les notions de codage/décodage de configurations déjà discutées enSous-sec. 3.2.4, afin de définir la notion de module calculant une fonction.

Page 136: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.2. MODULES GÉOMÉTRIQUES : DÉFINITIONS ET EXEMPLES 119

Définition 43 (Interprétation d’un module)Une interprétation I est un triplet I =(f,Rin, Rout) tel que :

(i) f est une fonction définie de Dom(f) dans Val(f) ;

(ii) Rin est une fonction surjective de décodage définie d’un ensemble E dans Dom(f) ;

(iii) Rout est une fonction surjective de décodage définie d’un ensemble F dans Val(f).

On dit que I =(f,Rin, Rout) est une interprétation du module A=(A, Config inA , ConfigoutA ,ZA) si :

(i) Rin : E → Dom(f) est définie sur E = Config inA ;

(ii) Rout : F → Val(f) est définie sur F = ConfigoutA .

On note AI le module A muni de l’interprétation I et on parlera de module interprété. Dansce cas, on appelle domaine de AI , noté Dom(A) (resp. l’ensemble des valeurs de AI , noté Val(A))l’ensemble Dom(f) (resp. l’ensemble Val(f)).

Définition 44 (Fonction calculée par un module)On dit que la fonction f : E → F est calculée par le module A=(A, Config inA , ConfigoutA ,ZA)s’il existe une interprétation I =(f,Rin, Rout) tel que le diagramme associé au module AI estcommutatif, c’est-à-dire si :

∀cin ∈ Config inA Rout(A(cin)) = f(Rin(cin)) .

La Figure 6.8 présente les diagrammes respectivement associés à un module A et à ce mêmemodule interprété par I =(f,Rin, Rout).

Config inAA //

� _

��

ConfigoutA� _

��ConfigA

Ad1+d2 // ConfigA

(a) Diagramme du module.

Dom(f)f //

Val(f)

Config inAA //

RinOOOO

� _

��

ConfigoutA

RoutOOOO

� _

��ConfigA

Ad1+d2 // ConfigA

(b) Diagramme du module interprété par I =(f,Rin, Rout).

Figure 6.8 – Diagrammes commutatifs associés au module A.

Remarque 23. L’interprétation d’un module dépend non seulement des fonctions de déco-dage des entrées et des sorties, mais également des ensembles de configurations choisis commeensembles d’entrées et de sortie. Par exemple, en prenant pour chaque ensemble de sortiesConfigout = {w@x, w@y, w@z}, le module ayant comme machine sous-jacente la machine Mmid

peut être interprété afin de :• calculer le milieu des segments [a; b] lorsque l’ensemble des entrées estConfig in =

{c = {[w,

−→hi ,−→lo ]@a, w@b}

∣∣∣ b > a};

• calculer les valeurs x/2 lorsque l’ensemble des entrées estConfig in =

{c = {[w,

−→hi ,−→lo ]@0, w@x}

∣∣∣ x > 0}/∼trans

;• générer un nouveau signal vertical entre deux signaux verticaux de positions 0 et x lorsque

l’ensemble des entrées est Config in ={c = {[w,

−→hi ,−→lo ]@0, w@x}

∣∣∣ x > 0}/∼ord.

Exemple 7 : calcul de l’addition binaire.On reprend l’exemple de module d’addition binaire de l’Ex. 5. La machine sous-jacente de ce

Page 137: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

120 CHAPITRE 6. MODULES GÉOMÉTRIQUES

module a été conçue pour calculer l’addition de deux entiers codés en binaire. Formalisons le faitque ce module calcule bien l’addition. Pour cela, on le munit de l’interprétation suivante :• f : N× N→ N est l’addition entière usuelle : f(n,m) = n+m ;• Rin : Config in → N× N telle que ∀ (n,m) ∈ N× N,Rin

({[−→bin(n)], +R, [

←−bin(m)]

∣∣∣ n,m ∈ N }) = (n,m) ;

• Rout : Configout → N telle que ∀ n ∈ N, Rout({

[−→bin(n)]

})= n.

On utilise la preuve faite en Sous-sec. 3.1.3 que pour une configuration d’entrée cn,m codantles entiers n et m, l’évolution de la machine produit finalement un faisceau de sortie codant enbinaire l’entier n + m. Ce résultat peut maintenant être reformulé par A(cn,m) = cn+m. On endéduit que :

∀cn,m ∈ Config in Rout(A(cn,m)) = n+m

= f(n+m)

= f(Rin(cn,m)) .

D’après la Déf. 44, le module calcule donc bien la fonction f(n,m) = n+m.

6.3 Compositions de modules

Nous définissons dans cette section des opérateurs de construction de modules à partir demodules donnés. L’objectif est de concevoir des modules plus complexes en agrégeant, suivantdes schémas particuliers, des modules plus simples dont nous connaissons et maîtrisons le com-portement.

Nous nous contentons de définir ces opérateurs pour certaines classes de modules, essentielle-ment les T -modules non-expansifs et les R-modules. Ces classes sont en effet largement suffisantespour concevoir la plupart des algorithmes géométriques, notamment ceux qui sont présentés etétudiés dans ce manuscrit.

6.3.1 Composition parallèle de modules

Nous définissons dans un premier temps un opérateur de composition de modules qui estessentiel à la programmation sur machines à signaux : il s’agit de la composition parallèle de mo-dules. En effet, de par l’origine (les AC), le parallélisme est une des caractéristiques importantesdes machines à signaux en tant que modèle de calcul.

Nous proposons ici une modélisation d’exécution parallèle de deux modules synchrones (c’est-à-dire avec la même durée de fonctionnement). Cet opérateur de composition parallèle synchronenous permettra ensuite d’implémenter certains calculs distribués par le biais des signaux. LaFigure 6.9 montre le principe de cette composition, formalisé par le définition suivante :

Définition/Proposition 45 (Composition parallèle synchrone de modules)Soient A=(A, Config inA , ConfigoutA ,ZA) et B=(B, Config inB , ConfigoutB ,ZB) des T -modules non ex-pansifs tels que l’union simple des machines A et B est définie. On suppose que les fonctions-paramètres de ZA et ZB vérifient |c|−sA(c)−lA(c)

dA(c) ≤ sb(c′)

dB(c′) pour toutes configurations c ∈ Config inA

et c′ ∈ Config inB . On définit le 4-uplet M=(M, Config inM, ConfigoutM ,ZM) par :

(i) M = A ∪ B est la machine à signaux définie par l’union simple des machines A et B ;

(ii) Config inM ={c_εc′

∣∣ c ∈ Config inA , c′ ∈ Config inB telles que dA(c) = dB(c′)

};

(iii) ConfigoutM = ConfigoutA_εConfigoutB ;

(iv) ZM est défini par le triplet (d, s, l) tel que :

Page 138: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.3. COMPOSITIONS DE MODULES 121

ε

A

dA = dB

sA = sA‖B

lA

B

sB

lB

dA‖B

lA‖B

A‖B

Figure 6.9 – Composition parallèle synchrone des modules A et B.

• d : Config inM → R+∗ est donné par d(cin) = dA(c) ;• s : Config inM → R est donné par s(cin) = sA(c) ;• l : Config inM → R+ est donné par l(cin) = |c| − sA + ε+ sB + lB(c),où cin = c_εc′ ∈ Config inA

_εConfig inB est la concaténation des configurations c et c′ àdistance ε.

Alors le 4-uplet (M, Config inM, ConfigoutM ,ZM) est un T -module, appelé composition parallèle syn-chrone. On note ce module par A‖B.

La Figure 6.9 illustre les paramètres géométriques obtenus par ce type de composition.La condition |c|−sA(c)−lA(c)

dA(c) ≤ sb(c′)

dB(c′) impose que la pente de droite du module de gauche estinférieure à la pente de gauche du module de droite, ce qui garantit que les aires géométriquesne se superposent pas.

Démonstration. On montre que le 4-uplet ainsi défini est bien un T -module. M est l’union simpledes machines A et B et est par définition une machine à signaux (voir Déf. 39). Les ensemblesConfig inM et ConfigoutM sont bien des configurations pour la machine M, toujours par définition dela machine M qui contient tous les méta-signaux et règles de collisions des machines A et B.

Montrons que le triplet (d, s, l) vérifie la condition (6.1). Pour tout t ∈ [0; d] et pour toutecin ∈ Config inM, que l’on écrit sous la forme cin = c_εc′, on a :

ct

(Rr

[xmin + s

d × t ; xmax −xmax−xmin−s−l

d × t])

= ct

(Rr

[xmin + sA

dA× t ; xmax −

|cin|−sA(c)−(|c|−sA(c)+ε+sB(c)+lB(c))d × t

])= ct

(Rr

[xcmin + sA

dA× t ; x

c′max − |c

′|−lB(c′)−sBd × t

])car cin = c_εc′ et |cin| = |c|+ ε+ |c′|

= {�} .

Cette définition donne un cadre formel à l’idée « d’exécuter deux calculs géométriques côte àcôte »: ici, les exécutions des deux modules sont indépendantes, car leur deux aires de travail lesont. On obtient donc des configurations de sortie qui sont des configurations que l’on peut obtenir

Page 139: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

122 CHAPITRE 6. MODULES GÉOMÉTRIQUES

en exécutant les modules dans deux diagrammes différents puis en prenant la concaténation desdeux configurations de sortie obtenues. La définitionDéf. 45 permet de considérer cette démarchedans un seul et unique module, qui regroupe également les deux machines en une seule. Uneconfiguration ct à un instant t ∈ [0; d] est donnée par une concaténation d’une configurationAt(c) et d’une configuration Bt(c′), pour les configurations c et c′ correspondantes.

Remarque 24. Un cas particulier de composition synchrone est celui de durées dA et dBne dépendant que de la taille des configurations d’entrées, avec de plus une dépendance li-néaire : il existe α1, α2 ∈ R+∗ tels que dA(cin) = α1 × |cin| et dB(cin) = α2 × |cin|. Dans cecas, l’ensemble de configurations d’entrées pour le module composé est donné par Config inA‖B ={c_c′

∣∣∣ c ∈ Config inA , c′ ∈ Config inB et |c′| = α1

α2× |c|

}.

Interprétation d’une composition parallèle. Nous montrons ici que lorsque les deux mo-dules initiaux sont munis d’une interprétation, leur composition parallèle est également munied’une interprétation qui correspond au produit des deux interprétations initiales :

Proposition 26 (Interprétation d’une composition parallèle synchrone)Si les A et B sont respectivement munis des interprétations I =(f,RinA , R

outA ) et J =(g,RinB , R

outB )

telles que A calcule f et B calcule g et soit (M, Config inM, ConfigoutM ,ZM) =A‖B.Soit K l’interprétation (h,RinM , R

outM ) telle que :

(i) h est une fonction définie de Dom(f) × Dom(g) dans Val(f) × Val(g) par h(x, y) =(f(x), g(y)) ;

(ii) RinM : Config inM → Dom(f)×Dom(g) est définie telle que pour tout cin ∈ Config inM, avec c etc′ les configurations telles que cin = c_εc’, on a RinM(cin) = (RinA (c), RinB (c′)) ;

(iii) RoutM : ConfigoutM → Val(f)×Val(g) est définie telle que pour tout cout ∈ ConfigoutM , avec c etc′ les configurations telles que cout = c_εc′, on a RoutM (cout) = (RoutA (c), RoutB (c′)).

Alors K est une interprétation du module A‖B telle que A‖B calcule la fonction h.

En d’autres termes : si les diagrammes des modules interprétés AI et BJ sont commutatifs,alors le diagramme du module interprété (A‖B)K sera aussi commutatif (c.f. Fig. 6.10, dans lequelles fonctions proji désignent les fonctions classiques de projections de la i − eme composante).La condition (iii) suppose que l’on sait récupérer à partir de cout les configurations c et c′

appartenant respectivement aux ensembles de configurations de sortie des modules A et B. Pourcela, on utilise les paramètres (connus) lA et lB des modules A et B : les configurations c et c′ sedéduisent immédiatement de cout que l’on restreint d’une part avec lA pour obtenir c, et d’autrepart avec lB pour obtenir c′. On obtient ainsi de manière unique les configurations c et c′ tellesque cout = c_εc′. Notons que sans les paramètres lA et lB, l’unicité de cette écriture n’est pasgarantie.

Démonstration. Montrons d’abord que le triplet (h,RinM, RoutM ) ainsi défini est une interprétation

pour le module A‖B. Les fonctions de décodage sont bien des fonctions surjectives. En effet, lasurjectivité de RinM (l’argument pour celle de RoutM est exactement le même) provient directementde la surjectivité des fonctions RinA et RinB : pour tout (x, y) ∈ Dom(f) × Dom(g), il existec ∈ Config inA et c′ ∈ Config inB telles que RinA (c) = x et RinB (c) = y. La concaténation c _ε c’ estalors dans Config inM et on a bien RinM(c_εc′) = (x, y).

Montrons maintenant que le module A‖B calcule bien la fonction h. Soit c0 = c_εc′ ∈

Page 140: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.3. COMPOSITIONS DE MODULES 123

Config inM. On a :

h(RinM(c0)) = h(RinM(c_εc′))

= h(RinA (c), RinB (c′))

= (f(RinA (c)), g(RinB (c′)))

= (RoutA (Ad(c)), RoutB (Bd(c′)) par commutativité des diagrammes de A et B= RoutM ((A‖B)d(c0)) car (A‖B)d(c0) = Ad(c)_εBd(c′) (car les aires sont disjointes)

donc le diagramme de (A‖B)K est commutatif et A‖B calcule bien la fonction h.

Dom(f)×Dom(g)(f ◦ proj1,g ◦ proj2)//

Val(f)× Val(g)

Config inA_Config inB

A‖B //

(RinA ,RinB )

OOOO

� _

��

ConfigoutA_ConfigoutB� _

��

(RoutA ,RoutB )

OOOO

ConfigA∪B(A∪B)d1+d2 // ConfigA∪B

Figure 6.10 – Diagramme commutatif associé à la composition parallèle des modules A et B.

Exemple 8 : évaluation de deux formules booléennes.On suppose que l’on dispose d’un module permettant d’évaluer une formule booléenne, repré-sentée sous forme de faisceau. Un tel module sera détaillé dans les chapitres suivants. Ce moduleproduit à partir d’un faisceau [

←−−for(φ)] codant une formule booléenne φ et d’un signal stationnaire

eval utilisé pour l’évaluation, un signal codant une valeur booléenne (il s’agit donc d’un moduletriangulaire). À l’aide d’une composition parallèle de deux tels modules, il est aisé de concevoirun module évaluant en parallèle deux formules booléennes distinctes : la Fig. 6.11 illustre unetelle construction.

Figure 6.11 – Module d’évaluation de deux formules booléennes.

Dans cet exemple, les deux modules sont séparés par un signal stationnaire, qui ne joue pourle moment aucun rôle mais qui sera utilisé par la suite. Ce signal peut soit être inclus dans undes deux modules (celui de gauche par exemple, qui devient alors un R-module contrairement àcelui de droite qui reste un module triangulaire), ou bien la construction complète peut être vuecomme la composition parallèle de trois modules, le troisième module étant uniquement constituépar le seul signal stationnaire central.

Page 141: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

124 CHAPITRE 6. MODULES GÉOMÉTRIQUES

Cas particulier : parallélisation d’un module. On s’intéresse ici à un cas particulier decomposition parallèle synchrone : celle où les deux modules sont un seul et même module R-module A. Nous pouvons facilement obtenir un module pour effectuer n exécutions parallèlespour n ≥ 2. Nous appelons ce cas particulier une parallélisation du module A, illustré par laFig. 6.12.

Définition 46 (Parallélisation d’un module)Soit A=(A, Config inA , ConfigoutA ,ZA) un T -module tel que ∀c ∈ Config inA , |c|−sA(c)− lA(c) ≤ sA(c)et tel que ∀c, c′ ∈ Config inA |c| = |c′| ⇒ d(c) = d(c′). Soit n ∈ N∗. On définit la n-parallélisationde A, notée ‖nA, par : ‖nA =A‖(A‖. . . (A‖A)), où le module A apparaît n fois.

Les conditions énoncées ci-dessus correspondent à celles de la Déf. 45 pour le cas particulierA=B. Notons que la relation de composition parallèle est associative : on a pour tous modulesA, B et C : A‖(B‖C) = (A‖B)‖C. Il s’ensuit que l’itération d’un module A peut simplement sedéfinir par : ‖nA =A‖A‖. . . A‖A.

A A . . . A

‖nA

Figure 6.12 – Parallélisation d’un R-module A.

Exemple 9 : additions de couples d’entiers.À partir du module d’addition binaire, on peut facilement concevoir un module effectuant enparallèle l’addition de deux couples d’entiers : il suffit d’effectuer la parallélisation du moduled’addition binaire, comme illustré par la Fig. 6.13, dans laquelle deux mêmes modules d’additionbinaire sont exécutés en parallèle. Les configurations d’entrée (resp. de sortie) sont la concaténa-tion de deux configurations d’entrée (resp. de sortie) pour le module simple d’addition : quatreentiers sont donc représentés en entrée et deux en sortie. Le résultat est le faisceau binaire ob-tenu par la concaténation des deux faisceaux résultant des deux additions binaires respectivesdes deux premiers et des deux derniers entiers de l’entrée.

Figure 6.13 – Parallélisation de l’additionneur binaire envoyant le faisceau de sortie vers ladroite. Exemple d’exécution sur l’entrée ((6, 3), (2, 17)), produisant le couple (9, 19) en sortie.

6.3.2 Composition séquentielle de modules

Après avoir précédemment défini une manière parallèle de composer les modules, nous définis-sons une composition séquentielle. Une telle composition correspond à une exécution séquentielle

Page 142: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.3. COMPOSITIONS DE MODULES 125

au sens intuitif de deux modules : les deux modules sont exécutés l’un après l’autre, de telle sorteque la sortie du premier module est l’entrée du second. Comme pour la composition parallèle,nous nous restreignons ici aux T -modules.

Les conditions de la définition suivante garantissent que les aires géométriques des deuxmodules seront du même type que celles de la Fig. 6.14(a) : le module B ne doit pas « se resserrer »plus rapidement que le module A. On peut facilement voir que ces conditions garantissent quel’aire du module résultant est bien un trapèze. Sans ces conditions, le module résultant posséderaitune aire hexagonale dans le cas général. La Figure 6.14(b) illustre une composition séquentielledans le cas particulier où les pentes des aires des deux modules correspondent.

A

B

B ◦A

(a) Cas de la Déf. 47.

A

B

B ◦A

(b) Cas particulier.

Figure 6.14 – Composition séquentielle des modules A et B.

Définition/Proposition 47 (Composition séquentielle de modules)Soient A=(A, Config inA , ConfigoutA ,ZA) et B =(B, Config inB , ConfigoutB ,ZB) deux T -modules tels quel’union simple des machines A et B soit définie. On suppose que :• ConfigoutA ⊆ Config inB ;• sB

dB≤ sA

dAet

• |c|−sA(c)−lA(c)dA(c) ≤ |c|−sB(c)−lB(c)

dB(c) .On définit le 4-uplet (M, Config inM, ConfigoutM ,ZM) par :

(i) M = A ∪ B est la machine à signaux définie par l’union simple des machines A et B ;(ii) Config inM ⊆ ConfigM est l’ensemble Config inA ;(iii) ConfigoutM ⊆ ConfigM est l’ensemble ConfigoutB ;(iv) ZM est défini par le triplet (d, s, l) tel que :

• d : Config inM → R+∗ est donné par d(cin) = dA(cin) + dB(AdA(cin)) ;• s : Config inM → R est donné par s(cin) = sA(cin) + sB(AdA(cin)) ;• l : Config inM → R+ est donné par l(cin) = lB(AdA(cin)).

Alors le 4-uplet (M, Config inM, ConfigoutM ,ZM) est un T -module, appelé composition séquentielle desmodules A et B . On le note alors B ◦ A.

Interprétation d’une composition séquentielle. Lorsque les modules composés séquen-tiellement sont munis d’interprétations, l’interprétation de la composition est fournie par lacomposition (classique) des fonctions correspondant aux interprétations des modules initiaux :

Proposition 27 (Interprétation d’une composition séquentielle)Si les A et B sont respectivement munis des interprétations I =(f,RinA , R

outA ) et J =(g,RinB , R

outB )

telles que A calcule f et B calcule g et soit (M, Config inM, ConfigoutM ,ZM) =B ◦A défini précédem-ment. On suppose que RoutA = RinB �ConfigoutA

. Soit K l’interprétation (h,RinM , RoutM ) telle que :

(i) k est une fonction définie de Dom(f) dans Val(g) par h(x) = g(f(x)) i.e. h = g ◦ f ;

Page 143: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

126 CHAPITRE 6. MODULES GÉOMÉTRIQUES

(ii) RinM : Config inM → Dom(f) est définie par RinM = RinA (c) pour tout c ∈ Config inM ;

(iii) RoutM : ConfigoutM → Val(g) est définie par RoutM = RoutB (c) pour tout c ∈ ConfigoutM .

Alors K est une interprétation du module B ◦ A telle que B ◦ A calcule la fonction h.

En d’autres termes : si les diagrammes des modules interprétés AI et BJ sont commutatifset si la fonction de décodage des entrées de B coïncide avec la fonction de décodage des sortiesde A, alors le diagramme du module interprété (B ◦A)K sera aussi commutatif, comme illustrépar la Fig. 6.15.

Dom(f)

g ◦ f

))f //

Val(f) � � ⊆ //

Dom(g)g //

Val(g)

Config inAA //

RinA

OOOO

� _

��

ConfigoutA

RoutA

OOOO

� _

��

� � ⊆ //

Config inBB //

RinB

OOOO

� _

��

ConfigoutB

RoutB

OOOO

� _

��ConfigA

AdA // ConfigA� � ⊆ // ConfigB

BdB // ConfigB

Figure 6.15 – Diagramme commutatif de la composition séquentielle des modules A et B.

Démonstration. Montrons d’abord que le triplet (h,RinM, RoutM ) ainsi défini est une interprétation

pour le module B◦A, c’est-à-dire que les fonctions de décodage sont bien des fonctions surjectives.Comme RinM = RinA et que RinA est une fonction surjective de décodage des entrées de A, RinM estégalement surjective. De même, la fonction RoutM étant égale à RoutB , on déduit immédiatementsa surjectivité de celle de la fonction de décodage des sorties de B. Notons que la conditionRoutA = RinB �ConfigoutA

suppose implicitement que ConfigoutA ⊆ Config inB , condition vérifiée par ladéfinition du module B ◦A.

Montrons maintenant que le module B ◦ A calcule effectivement la fonction h. Soit c0 ∈Config inM. On a :

h(RinM(c0)) = h(RinA (c0))

= g(f(RinA (c0))) car h = g ◦ f= g(RoutA (AdA(c0)) car A calcule f

= g(RinB (AdA(c0)))

= RoutB (BdB (AdA(c0)))) car B calcule g et AdA(c0) ∈ Config inB

= RoutM (MdA+dB (c0)) par définition de la machine M

= RoutM (MdM (c0)) .

Donc le diagramme de (B ◦A)K est commutatif et B ◦A calcule bien la fonction h.

Remarque 25. La condition ConfigoutA ⊆ Config inB peut également être remplacée par la conditionun peu plus générale de l’existence d’une injection i : ConfigoutA → Config inB . Cela suffit en effetpour démontrer la commutativité du diagramme composé.

Exemple 10 : disjonction des résultats de l’évaluation de deux formules booléennes.On reprend dans cet exemple le module de l’Ex. 8 effectuant les évaluations de deux formules

Page 144: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.3. COMPOSITIONS DE MODULES 127

booléennes, qui sera donc interprété par la fonction :

Eval2 : {φ | φ est une formule booléenne}2 → B2

(φ1, φ2) 7→ (val(φ1), val(φ2))

où B = {vrai, faux}. On compose séquentiellement ce module avec un module effectuant ladisjonction logique de deux booléens. On l’interprète par la fonction :

Disj : B2 → B(b1, b2) 7→ b1 ∨ b2

La fonction f obtenue sera la composée de ces deux fonctions et on aura :

f : {φ | φ est une formule booléenne}2 → B(φ1, φ2) 7→ val(φ1) ∨ val(φ2)

Pour le module d’évaluation envoyant le résultat vers la droite, l’ensemble des configura-tions d’entrée est Config in =

{c = {eval, [

←−−for(φ)]}

∣∣∣ φ est une formule booléenne}

et celui des

sorties est Configout ={c = {

−−→bool}

∣∣∣ bool ∈ B}, où eval est un méta-signal stationnaire permet-

tant l’évaluation (en jouant un rôle de mur activateur), [←−−for(φ)] est un faisceau de signaux de

vitesse −1 représentant une formule booléenne (cette représentation sera détaillée au Chap. 7)et−−→bool correspond à un méta-signal de type booléen (soit un signal

−→vrai, soit un signal

−−→faux). La

Figure 6.16 illustre le module résultant de cette composition séquentielle (le premier moduleétant déjà lui-même une composition parallèle de modules). Dans cet exemple, les formules co-dées à gauche et à droite sont respectivement fausse et vraie, et le résultat de la disjonction desdeux est représenté tout en haut du module par un signal de type vrai.

Figure 6.16 – Composition séquentielle d’un module évaluant en parallèle deux formules boo-léennes avec le module de calcul de la disjonction booléenne.

Exemple 11 : addition de quatre entiers.De même, il est possible de concevoir un module effectuant l’addition binaire de quatre entiers.Pour cela, on reprend le module de l’additionneur binaire. On le compose d’abord de manièreparallèle, comme dans l’Ex. 9, de telle sorte que le module de gauche envoie le résultat del’addition vers la gauche. On obtient alors une configuration conforme aux entrées du modulesimple d’addition binaire. On peut donc ensuite composer séquentiellement avec une additionbinaire simple. Le résultat de ces compositions est donné en Fig. 6.17, le faisceau résultantcorrespondant à l’addition des quatre entiers donnés en entrées.

Page 145: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

128 CHAPITRE 6. MODULES GÉOMÉTRIQUES

Figure 6.17 – Composition parallèle de deux additionneurs binaires, puis composition séquen-tielle avec un autre additionneur binaire. On obtient à partir de l’entrée ((6, 3), (2, 17)) d’abordle couple (9, 19), puis l’entier 28.

Cas particulier : itération d’un module. De même que nous avons défini la parallélisationd’un module à partir de la composition parallèle, il est possible de définir l’itération d’un moduleà partir de la composition séquentielle :

Définition 48 (Itération d’un module)Soit A=(A, Config inA , ConfigoutA ,ZA) un T -module non-expansif tel que Config inA ⊆ ConfigoutA . Soitn ∈ N∗. On définit la n-itération de A, notée ◦nA, par : ◦nA =A ◦ (A ◦ . . . (A ◦A)), où le moduleA apparaît n fois.

La Définition 47 implique que ◦nA est bien un module. Si A est muni d’une interprétationI =(f,RinA , R

outA ) telle que A calcule f , alors par la Prop. 27, ◦nA calculera la fonction f (n) =

f ◦ f ◦ . . . ◦ f . La Figure 6.18 illustre le principe de l’itération d’un module, dans le cas deT -module et dans le cas de R-module.

1ère itération de A

2ème itération de A

nème itération de A

◦nA

(a) Cas d’un T -module.

1ère itération de A

2ème itération de A

nème itération de A

◦nA

(b) Cas d’un R-module.

Figure 6.18 – Itération d’un module.

Exemple 12 : algorithme d’Euclide.On peut définir l’algorithme géométrique d’Euclide comme une itération du module calculant lemodulo. La machine sous-jacente est la machineMpgcd (c.f. Chap. 4). D’après la Sous-sec. 4.3.1,il est clair que l’algorithme géométrique d’Euclide correspond à une itération séquentielle d’unmodule calculant le modulo de deux valeurs (la configuration obtenue après une itération dumodulo est de la même forme que la configuration d’entrée, il est donc possible de réitérer).

Page 146: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.3. COMPOSITIONS DE MODULES 129

6.3.3 Extensions de modules

À partir du concept de schéma d’extension introduit en Sec. 6.1, on définit une notionsimilaire en termes de modules géométriques : les extensions de modules. De manière généraleet informelle, une extension de module est un module qui s’applique à d’autres modules, et quipermet de leur ajouter de nouvelles fonctionnalités.

Afin d’illustrer cette notion d’extension de module, nous reprenons les deux exemples deschémas d’extension — duplication et concentration de faisceaux — introduites en Sec. 6.1.

Module de duplication de faisceau. Le schéma d’extension de duplication de la Sec. 6.1permet de définir un T -module correspondant. Le rôle de ce module est de pouvoir générer desconfigurations contenant des duplications de faisceaux à partir d’un simple faisceau. Ce modulepourra être appliqué à tout module générant des faisceaux comme configurations de sortie : ils’agira donc bien d’une extension de module.

Pour appliquer une telle extension à un module, on applique déjà le schéma de duplicationà un ensemble de méta-signaux qui constitue un faisceau. Il en résulte une nouvelle machinequi étend la machine originale et qui permet maintenant de dupliquer le faisceau considéré. Lesconfigurations d’entrée considérées pour le module résultant sont les configurations faisceaux,comprenant en plus un signal duplicateur. À partir des ces configurations d’entrée, on obtientdes configurations de sortie qui contiennent deux copies du faisceau (la première copie du fais-ceau contient les signaux dans l’ordre inverse du faisceau entrant). Ces configurations sont desconfigurations à supports symétriques par rapport à la position du signal duplicateur. De plus,pour chaque position occupé par un signal, la position symétrique est occupée par la versionsymétrique du signal.

Les paramètres de l’aire géométrique correspondant à cette extension de module (voir laFig. 6.19) se déduisent du schéma donné en Sec. 6.1 et sont donnés par :

d : cin 7→ |cin|ν

s : cin 7→ 0

l : cin 7→ 2|cin|

.

|cin|

d = |cin|ν

l = 2|cin|

faisceau entrant

faisceaux sortant

Figure 6.19 – Aire géométrique et paramètres du module de duplication.

Module de concentration de faisceau. De même que nous avons défini une extension demodule de duplication à partir du schéma de duplication, nous définissons une extension demodule en lentille à partir du schéma d’extension correspondant. Il s’agit d’un H-module, dont

Page 147: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

130 CHAPITRE 6. MODULES GÉOMÉTRIQUES

les paramètres sont illustrés par la Fig. 6.20 et définis par :

d1 : cin 7→ |cin|4ν

d2 : cin 7→ |cin|4ν

s1 : cin 7→ |cin|4

s2 : cin 7→ 3|cin|4

l1 : cin 7→ |cin|

l2 : cin 7→ |cin|2

.

|cin|

d1 = |cin|4ν

d2 = |cin|4ν s1 = |cin|

4

s2 = 3|cin|4

l1 = |cin|

l2 = |cin|2

Figure 6.20 – Aire géométrique et paramètres du module de concentration.

6.4 Modules et complexités de collisions

Nous montrons ici dans le cadre des machines à signaux des résultats analogues à des résultatsclassiques : la complexité en espace d’une exécution parallèle correspond à la somme des mesuresen espace de chacune des exécutions et la complexité en temps d’une composition séquentielled’exécutions est donnée par la somme des mesures en temps de chaque exécution. Nous nousintéressons ici aux mesures de complexités définies en Sec. 3.3 et inhérentes aux machines àsignaux : la profondeur de collisions et la largeur de collisions, correspondant respectivementà la profondeur et la largeur d’un diagramme espace-temps vu comme un DAG (graphe dirigéacyclique). Elles fournissent les mesures respectives de complexité en temps et de complexité enespace.

La profondeur et la largeur de collisions n’ont été définies que pour des diagrammes espace-temps, mais on s’autorisera ici à parler de la profondeur et la largeur de collisions d’un module :il s’agira de celles d’un diagramme espace-temps engendré par ce module.

Complexités d’une composition parallèle. Intuitivement, la composition parallèle syn-chrone de modules correspond à ces deux modules juxtaposés côte à côte dans l’espace, et évo-luant de manière indépendante. La largeur de collisions — la mesure de complexité en espacesur machines à signaux — d’une composition parallèle de deux modules sera donc bornée par lasomme des largeurs de collisions de chacun de ses modules. En fait, nous montrons que dans lecas d’une composition parallèle synchrone telle que définie précédemment, la largeur de collisionsde la composition sera exactement la somme des largeurs de collisions des modules utilisés. Laprofondeur de collision — la mesure en temps sur machines à signaux — est quant à elle bornéepar le maximum des profondeurs de collisions.

Page 148: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

6.4. MODULES ET COMPLEXITÉS DE COLLISIONS 131

On remarquera que la taille des configurations d’entrée, ainsi que l’aspect synchrone de lacomposition parallèle, n’intervient pas.

Lemme 28 (Complexités en collisions d’une composition parallèle de modules)Soient A et B deux modules tels que A‖B soit défini. Alors :

(i) pc(A‖B) = max {pc(A), pc(B)}, et

(ii) lc(A‖B) = lc(A) + lc(B) .

Démonstration. Dans une composition parallèle synchrone, les deux sous-diagrammes sont dis-joints et n’interfèrent pas. Les deux DAG correspondant sont donc déconnectés. Or, la plusgrande chaîne d’un DAG est la plus grande chaîne de ses composantes connexes. D’où pc(A‖B) =max {pc(A), pc(B)}.

De même, tout élément d’un composante connexe n’est pas comparable (au sens de l’ordredéfini sur le graphe) avec tout élément n’appartenant pas à la même composante connexe, enparticulier tout élément d’une anti-chaîne maximale d’une composante est incomparable avectout élément d’une anti-chaîne maximale d’une autre composante connexe. L’union de deux anti-chaînes maximales provenant de deux composantes différentes est donc une anti-chaîne maximalepour l’union de ces deux composantes. D’où lc(A‖B) = lc(A) + lc(B).

On en déduit que la profondeur de collision de la parallélisation d’un module A est le maxi-mum des profondeurs de collisions des exécutions parallèles de A et que sa largeur de collision estla somme des largeurs de collisions des exécutions. C’est-à-dire : pc(‖nA) = max1≤i≤n{pc(A(i))},

et lc(‖nA) =i=n∑i=0

lc(A(i)) où A(i) désigne la ième exécution parallèle du module A.

Complexités d’une composition séquentielle. La complexité d’une composition séquen-tielle constitue en quelque sorte la situation duale de la complexité d’une composition parallèle :la complexité en temps correspond intuitivement à la somme des complexités des deux exécutionsséquentielles (elle est en fait bornée par cette somme).

Lemme 29 (Complexités en collisions d’une composition séquentielle de modules)Soient A et B deux modules et soit B ◦ A le module obtenu par leur composition séquentielle.Alors :

(i) pc(B ◦ A) ≤ pc(A) + pc(B), et

(ii) lc(B ◦ A) ≤ lc(A) + lc(B) .

Démonstration. Une composition séquentielle correspond à mettre « bout-à-bout » deux DAGc’est-à-dire qu’on met au moins un élément maximal du premier DAG en relation avec un élémentminimal du deuxième. S’ils appartiennent tous les deux à une chaîne maximale de leur grapherespectif, alors on obtiendra une chaîne maximale du graphe union. Donc pc(B ◦ A) ≤ pc(A) +pc(B).

De même, on a clairement lc(B ◦ A) ≤ lc(A) + lc(B) car toute anti-chaîne de B ◦ A estconstituée par l’union d’une anti-chaîne de A et d’une anti-chaîne de B.

Il s’ensuit que la profondeur de collision de l’itération d’un module A est la somme des profon-deurs de collisions des exécutions itérées de A et que sa largeur de collision est le maximum des

largeurs de collisions des exécutions : pc(◦nA) =i=n∑i=0

pc(A(i)) et lc(◦nA) = max1≤i≤n{lc(A(i))},

où A(i) désigne la ième itération du module A.

Page 149: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

132 CHAPITRE 6. MODULES GÉOMÉTRIQUES

Complexités d’une extension de module. De manière générale, la complexité d’une exten-sion de module dépend du schéma de règle utilisé. Nous reprenons ici les deux exemples traitésprécédemment : celui de l’extension en module duplicateur de faisceau et celui de la lentille.On désignera par card(coutA ) le nombre de signaux dans la configuration de sortie du module A(qui sera donc aussi le nombre de signaux dans la configuration d’entrée du duplicateur et de lalentille).

Lemme 30 (Complexités en collisions d’une extension de duplication)Soient A un module produisant des faisceaux et Asplit le module obtenu par application du schémade duplication à A. Alors :

(i) pc(Asplit) = pc(A) + card(coutA ), et

(ii) lc(Asplit) = max{lc(A), 2 · card(coutA )

}.

En effet, pour un faisceau entrant comprenant n signaux, le faisceau qui est réfléchi (celuiqui repart en direction opposée de celui qui rentre) croise intégralement le faisceau entrant. Il yaura donc en tout n2 collisions dans l’intersection entre les deux faisceaux (la version rentranteet la version qui a rebondi) mais un seul signal du faisceau enchaînera n collisions. En sommantavec la profondeur de collision du module A, et avec n = card(coutA ), on obtient le résultat (i).Le résultat (ii) est quant à lui immédiat.

On obtient de manière similaire les complexités en collisions de la lentille, en fonction descomplexités du module A auquel elle est appliquée :

Lemme 31 (Complexités en collisions d’une extension de concentration)Soient A un module produisant des faisceaux et Alens le module obtenu par application du schémade lentille à A. Alors :

(i) pc(Alens) = max{pc(A) + 2, card(coutA )

}, et

(ii) lc(Alens) = lc(A) .

Page 150: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 7Applications : résolutions spécifiques deSAT et Q-SAT

Nous allons montrer dans les trois prochains chapitres comment l’utilisation de l’arbre bi-naire fractale et de ses approximations vues au Chap. 5, combinées à l’approche modulaire duChap. 6, permet de résoudre géométriquement et efficacement des problèmes algorithmiquementdifficiles. Les problèmes ciblés ici sont SAT et Q-SAT, les problèmes classiques de satisfaisabi-lité d’une formule du calcul propositionnel. Les constructions de ce chapitre ont donné lieu auxpublications [Duchier et al. 2010a, 2011], et correspondent à des solutions spécifiques, c’est-à-direque la machine à signaux utilisée pour résoudre le problème sur une instance donnée dépend decette instance. Une solution générique, c’est-à-dire utilisant une unique machine pour toutes lesinstances du problème, sera présentée dans le chapitre suivant.

Nous commencerons par donner quelques rappels sur les problèmes de satisfaisabilité, ainsique des références sur la résolution de problèmes de satisfaisabilité sur modèles de calcul non-classiques. Nous expliquerons dans la section suivante comment l’arbre binaire fractale peut êtreinterprété comme un arbre binaire de décision, utilisé pour la résolution des problèmes de satis-faisabilité booléenne. Nous donnerons également des conditions de validité pour son utilisation.Nous détaillerons dans la Sec. 7.3 les résolutions géométriques des problèmes SAT et Q-SAT,ainsi que les différentes étapes. Enfin, nous conclurons en discutant des complexités des cesconstructions.

7.1 Contexte

7.1.1 Rappels sur les problèmes de satisfaisabilité

Nous rappelons ici les définitions et propriétés importantes des problèmes de satisfaisabilité,afin de souligner leur importance dans l’étude de l’efficacité d’un modèle de calcul. En effet, lesproblèmes de satisfaisabilité de formules du calcul propositionnel sont des représentants natu-rels des classes de complexité de problèmes que l’on considère habituellement comme difficiles,c’est-à-dire pour lesquels aucun algorithme en temps polynomial n’est connu. Nous renvoyons à[Papadimitriou 1994] pour plus de détails.

Le problème SAT. Le problème SAT est un problème classique consistant à déterminer lasatisfaisabilité d’une formule du calcul propositionnel (non quantifié). Formellement :

Problème SATentrée : ϕ(x1, . . . , xn) une formule du calcul propositionnel.sortie : ϕ est-elle satisfaisable i.e. existe-t-il une assignation de (x1, . . . , xn) telle que

ϕ est vraie?

133

Page 151: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

134 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

Une assignation (ou valuation) désigne ici une affectation des variables x1, . . . , xn en valeursbooléennes {vrai, faux}. Une formule du calcul propositionnel étant une formule logique uti-lisant les connecteurs booléens usuels (∧, ∨, et ¬) et des variables x1, . . . , xn à valeurs dans{vrai, faux}, nous parlons également de formule booléenne. Ce problème est NP-complet [Cook1971 ; Levin 1973], où NP désigne la classe des problèmes décidables en temps polynomial parune machine de Turing non déterministe. C’est l’un des premiers problèmes à avoir démontréêtre NP-complet. En tant que tel, c’est aussi l’un des plus naturels à considérer pour étudierl’efficacité algorithmique d’un modèle de calcul. Il existe différents énoncés de ce problème, tousNP-complets, qui sont principalement des restrictions du problème général à un type d’entréeparticulier : 3-SAT, CNF-SAT . . . Nous considérerons par la suite la version générale, énoncéeci-dessus, où n’importe quelle formule du calcul propositionnel ayant un nombre fini de variablesconstitue une instance d’entrée du problème. Nous paramétrerons la taille de l’instance d’entréepar le nombre de variables utilisées et par le nombre de symboles figurant dans la formule.

L’algorithme classique de résolution de SAT est un algorithme de recherche exhaustive, detype « brute-force ». Il s’agit de tester toutes les assignations possibles jusqu’à en trouver unesatisfaisant la formule. Si une telle assignation est trouvée, alors le problème admet un réponsepositive pour la formule d’entrée ; sinon la formule n’est pas satisfaisable. Nous allons montrerdans ce chapitre comment mener cette recherche de façon parallèle à l’aide de machines à signaux :toutes les assignations possibles seront testées en parallèle, chacune dans une zone d’espace biendéfinie.

Le problème Q-SAT. Le problème Q-SAT est une extension du problème SAT dans la-quelle la formule donnée en instance d’entrée est quantifiée : toutes les variables sont liées par desquantificateurs (universels ou existentiels). Une telle formule est une formule close et admet doncune valeur de vérité lorsque le domaine des variables est l’ensemble {vrai, faux}. Le problèmeQ-SAT s’énonce de la façon suivante :

Problème Q-SATentrée : ϕ une formule quantifiée du calcul propositionnel.sortie : ϕ est-elle vraie ?

Le problème Q-SAT est PSPACE-complet [Stockmeyer et Meyer 1973], où PSPACE dé-signe la classe de complexité des problèmes algorithmiques pouvant être décidés par des machinesde Turing à espace polynomial.

L’algorithme classique « brute-force » de résolution de Q-SAT est donné par l’algorithmerécursif A suivant :

A(∃x ψ) = A(ψ[x← faux]) ∨ A(ψ[x← vrai])

A(∀x ψ) = A(ψ[x← faux]) ∧ A(ψ[x← vrai])

A(F ) = eval(F ) si F est une formule booléenne sans variable

où eval(F ) désigne la valeur booléenne de l’expression booléenne F . L’algorithme A résoud leproblème Q-SAT en temps exponentiel et espace polynomial. C’est cet algorithme qui seraimplémenté par signaux pour résoudre géométriquement le problème Q-SAT, en utilisant lefort parallélisme des machines à signaux.

Notons que le problème SAT est un cas particulier du problème Q-SAT : en effet, uneformule instance de SAT correspond à une formule quantifiée instance de Q-SAT dans laquelletous les quantificateurs sont existentiels.

Page 152: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.1. CONTEXTE 135

7.1.2 Résolutions non-conventionnelles de problèmes difficiles

Nous avons proposé un rapide tour d’horizon des modèles de calcul, classiques et non-conventionnels, au Chap. 1. Après avoir été étudiés pour leur puissance de calcul, la plupartde ces modèles ont été étudiés d’un point de vue de l’efficacité algorithmique. Pour de tellesétudes, les problèmes NP-complets tels que SAT et les problèmes PSPACE-complets telsque Q-SAT restent des choix privilégiés, et leur résolution permet généralement de dégager denombreuses propriétés du modèle.

Nous proposons ici un bref état de l’art sur la résolution de problèmes algorithmiquementdifficiles sur de tels modèles non-conventionnels. Une grande partie des modèles évoqués ci-dessous bénéficient d’un fort parallélisme qui est utilisé pour résoudre efficacement (i.e. en temps« propre au modèle » polynomial) les problèmes considérés.

L’un des premiers et plus célèbres modèles sortant du cadre classique et permettant de ré-soudre en temps polynomial des problèmes difficiles est certainement le modèle des machinesquantiques : Peter Shor a en effet montré [Shor 1994] que ces machines peuvent résoudre le pro-blème de factorisation en temps polynomial (notons cependant que ce problème est FNP-dur,FNP étant l’équivalent de NP pour les problèmes de fonctions). De nombreuses autres variantesde modèles quantiques existent, et ont été utilisées sous diverses hypothèses physiques pour ré-soudre d’autres problèmes : citons entre autres [Aaronson et Watrous 2009] qui proposent uneétude des liens entre la classe PSPACE et des classes quantiques, sous l’hypothèse de l’existencede certains objets relativistes, les courbes de temps fermées ou CTC.

Ces derniers objets issus des théories de la relativité ont d’ailleurs été utilisés de manièredirecte pour résoudre Q-SAT par un algorithme polynomial utilisant les CTC [Brun 2003].

Les modèles optiques permettent également de résoudre des problèmes NP-complets entemps polynomial : il a été montré respectivement dans [Goliaei et Jalili 2011, 2012] que lecalcul optique par sélection de longueur d’ondes permet de résoudre SAT et 3-Coloriage.

Du côté des modèles géométriques de calcul, des problèmes tels que 3-SAT peuvent êtrerésolus efficacement à la fois avec des jeux de tuiles d’auto-assemblantes [Brun 2008, 2012] etavec des automates cellulaires hyperboliques [Margenstern et Morita 2001]. Dans les deux cas, letemps requis est polynomial en la taille de l’entrée, et les ressources utilisées (nombre d’assem-blages en parallèle et nombre de cellules) sont en nombre exponentiel. La machine utilisée estquant à elle de taille fixe, et est utilisée pour résoudre toutes les instances du problème considéré.

Le calcul basé sur des processus inspirés du vivant fournit lui aussi des solutions efficaces àdes problèmes difficiles. Leonard Adleman a ainsi montré [Adleman 1994] que le calcul par ADNpermet de résoudre le problème du chemin hamiltonien. Il a ensuite été montré que le calcul parADN et plus généralement le calcul moléculaire permet de résoudre Q-SAT [Zerjatke et Sturm2011], ainsi que d’autres problèmes [Beigel et Fu 1998]. Ces calculs sont tous effectués en tempspolynomial et nécessitent un nombre exponentiel de molécules. Le calcul par membrane a égale-ment fourni un cadre algorithmique pour l’étude de problèmes NP-complets [Păun 2001] et deproblèmes PSPACE-complets comme Q-SAT [Sosík 2003 ; Alhazov et Pérez-Jiménez 2007].

De manière plus anecdotique, citons également la résolution de SAT en temps polynomialpar des algorithmes naturels de type calcul bilatéral [Arulanandham 2005].

Les modèles évoqués ci-dessus permettent tous de résoudre des problèmes algorithmiquementdifficiles en temps polynomial, avec des mesures de complexité en temps et en espace propresà chaque modèle. Presque toutes ces solutions nécessitent cependant une autre ressource quiest de mesure exponentielle (espace utilisé, nombre d’objets impliqués. . . ), ce qui n’est guèresurprenant puisque les constructions proposées utilisent généralement le fort parallélisme desmodèles considérés, et utilisent de ce fait un espace (ou son équivalent suivant les modèles)exponentiel pour traiter de manière parallèle des recherches de type « brute-fore ».

Plus généralement, le statut des problèmes algorithmiquement difficiles et le lien entre les

Page 153: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

136 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

classes P et NP sont liés aux hypothèses physiques sous-jacentes au modèle considéré. Nousrenvoyons à [Abrams et Lloyd 1998] pour le lien entre quantique et complexité de calculs, à[Aaronson 2005] pour les relations entre classes de complexité relativement à différentes théoriesphysiques, et plus spécifiquement à [Stannett 2013] pour une étude sur les liens entre certainsobjets de la théorie de la relativité et la relation entre P et NP.

7.2 Calculer dans l’arbre binaire fractale

Nous expliquons ici comment l’arbre binaire fractale et son approximation spécifique présentésau Chap. 5, peuvent être interprétés comme arbre binaire de décision, permettant ainsi d’aborderdes problèmes de décisions sur les booléens. Nous donnons des conditions de validité sur une telleutilisation de l’arbre.

7.2.1 L’arbre fractale en tant qu’arbre binaire de décision

Afin de déterminer par « brute-force » si une formule propositionnelle sur n variables estsatisfaisable ou pas, 2n cas différents doivent être considérés. Ces cas peuvent être énumérésde manière récursive en utilisant un arbre binaire de décision. Nous expliquons ici commentconstruire en parallèle l’arbre complet permettant de traiter tous ces cas simultanément par unepartition de l’espace, à partir de l’approximation de l’arbre binaire fractale proposée en Sec. 5.3.

Nous avons vu que l’arbre binaire fractale permettait de découper l’espace de manière uni-forme, et que l’utilisation des n premiers étages de l’arbre générait 2n parties de même taille,chaque partie étant délimitée par des signaux stationnaires. Pour utiliser cette construction entant qu’arbre de décision, l’idée est de représenter le point de décision pour une variable xi unsignal stationnaire qui séparera l’espace en deux parties. L’espace de gauche sera alors interprétécomme xi = false, et celui de droite comme xi = true. De manière similaire, les espaces degauche et de droite seront à leur tour divisés par des signaux stationnaires xi+1, correspondantaux sous-cas possibles d’assignation de la variable xn+1. Le processus de division se poursuit demanière récursive pour toutes les variables (voir la Fig. 7.1(a)).

w w

x1

x1

x1 x1

x2

x2

x2 x2

x2

x2

x2 x2

x3

x3

x3 x3

x3

x3

x3 x3

x3

x3

x3 x3

x3

x3

x3 x3

(a) Identification des cas.

−−−→startlo w

−→m0

←−aw

←−a −→aw

−→a←−m1

−→m1

←−aw

←−a −→a

x1

←−a −→aw

←−m2−→m2

←−m2−→m2

x2 x2

w bl x3br x2 bl x3

br x1 bl x3br x2 bl x3

br w

(b) Division de l’espace.

Figure 7.1 – L’arbre binaire de décision.

Comme déjà mentionné au Chap. 5, l’arbre est construit en temps borné, indépendammentde la taille de la formule. On notera qu’au dernier niveau sont disposés des signaux stationnairesd’un certain type (br et bl) : ces signaux seront utilisés pour évaluer la formule.

Page 154: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.2. CALCULER DANS L’ARBRE BINAIRE FRACTALE 137

7.2.2 Conditions de validité

L’idée principale sur laquelle reposent toutes les constructions suivantes est donc d’utiliserl’arbre pour y insérer un calcul, de telle sorte que ce calcul se propage dans l’arbre en respectantl’interprétation de l’espace proposé en Sous-sec. 7.2.1. L’information, dans notre cas la formulebooléenne dont on veut déterminer la satisfaisabilité, sera codée sous forme de faisceau et c’est cefaisceau qui se propagera dans l’arbre, comme montré par le schéma de la Fig. 7.2(a). Le faisceause propage en suivant l’arbre, de manière parallèle aux signaux correspondant aux « branches »de l’arbre.

Nous proposons deux méthodes pour assurer une telle condition. La première méthode, uti-lisée dans [Duchier et al. 2010a], nécessite un seul méta-signal supplémentaire, ayant une vitesserationnelle dépendant de la taille de la formule. La deuxième méthode correspond à un calibragegéométrique automatique et utilise des signaux compteurs (voir [Duchier et al. 2011]).

Conditions pour une distribution correcte du calcul. La propagation du faisceau à tra-vers l’arbre est illustrée en Fig. 7.2(a). Afin d’assurer que cette propagation est correcte et que lessignaux codant les variables seront assignés en valeurs booléennes true et false exactement unefois et que les évaluations des différents sous-cas se font de manière strictement indépendante, lalargeur du faisceau doit être ajustée en fonction de la hauteur du dernier niveau. Nous expliquonsici la condition nécessaire à la bonne propagation du faisceau à travers l’arbre de décision. Nousnous assurons également que le faisceau généré en début de construction est suffisamment étroitpour se propager correctement dans tous les niveaux de l’arbre.

Soit l la largeur de l’espace de travail i.e. celle de l’arbre et soit n le nombre de variables.Tout en haut de la construction, l’espace est divisé en 2n+1 parties égales. Chaque partie a doncune largeur de l

2n+1 . Les signaux du faisceaux ayant pour vitesse 1 ou −1, le délai entre le dernierniveau de décision et le niveau d’évaluation est également de l

2n+1 .Afin d’assurer que les signaux correspondant aux variables seront assignés en valeurs boo-

léennes une fois et seulement une et que l’évaluation de la formule dans un cas n’interférera pasavec les autres cas, la largeur du faisceau ne doit pas excéder la taille des zones d’évaluation i.e.la largeur du faisceau doit être inférieure à l

2n+1 .Cette condition sur la propagation au dernier niveau est illustrée par la Fig. 7.2(b) : le

point D, marquant la fin de la dernière duplication du faisceau, doit être en dessous du point Emarquant le début de l’évaluation de la formule. Cela assure également que le point de croisementC est situé strictement dessous E et donc que les processus de duplication et d’évaluation sontcomplètement indépendants dans le temps : l’évaluation commence strictement après la fin dudernier niveau.

L’étape d’initiation du faisceau suit deux étapes : d’abord, la distance entre les signaux pa-rallèles constituant le faisceau est calculée de telle sorte à assurer la bonne propagation dans toutl’arbre ; ensuite, le faisceau est généré en respectant cet espacement entre signaux. Nous présen-tons ci-dessous deux méthodes différentes pour effectuer le calcul de la distance (la deuxièmeétape consistant à générer ensuite le faisceau étant essentiellement la même dans les deux mé-thodes).

Méthode 1 : utilisation d’un signal spécial. La première méthode proposée utilise le méta-signal

−→φR, pour générer le faisceau. La vitesse « spéciale » permet d’obtenir un espacement correct

entre les signaux du faisceau. Le principe, illustré par la Fig. 7.3, est le suivant. Un signal−→φR sera

émis depuis l’origine, en même temps que deux signaux (−→m0 et −→a ), respectivement de vitesse 1 et3. Le rebond de −→a produit, en plus du signal←−a utilisé pour construire l’arbre, un autre signal

←−φL

de vitesse −6. Celui-ci entrera alors en collision successivement avec −→m0 et−→φR, produisant ainsi

deux signaux verticaux φW espacés d’une distance qui dépendra des vitesses de ces trois signaux

Page 155: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

138 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

(a) A travers l’arbre.

•D •E

•C

l2n+1

l2n+1

(b) Au dernier niveau.

Figure 7.2 – Conditions géométriques pour une propagation correcte.

impliqués. Comme les vitesses de −→m0 et←−φL ont été fixées, l’espacement entre les deux signaux

dépend uniquement de la vitesse du signal−→φR. Explicitons la valeur de cette vitesse et montrons

qu’elle convient effectivement pour assurer la condition de validité précédemment définie.Soit k le nombre total de signaux dans le faisceau. Ces signaux sont répartis avec un espace-

ment constant de taille δ, comme montré dans la Fig. 7.3. Comme leur vitesse est 1 (resp. −1),la largeur et la hauteur du faisceau est (k− 1)δ. En posant δ0 = l

k.2n+1 , on assure que le faisceause sépare correctement à un niveau avant que le processus de l’étape suivante ne commence.

Cette distance entre signaux doit être posée correctement dès le début de la construction.Pour cela, nous utilisons un processus de génération du faisceau, qui utilise des rebonds entredeux signaux verticaux séparés par la moitié de la distance δ0 voulue. Sur la Fig. 7.3, il y a unzig-zag vertical composé de signaux de vitesse 1 et −1, de telle sorte que le délai — le δ recherché— est le double de la distance entre les deux signaux verticaux.

La collision entre −→m0 et←−φL (de vitesse −6 et émis en (l, l3)) se produit aux coordonnées (3l

7 ,3l7 ).

Si←−φL traverse ce point translaté par (− δ0

2 , 0), alors le δ final fonctionnera également car il seraplus petit. Afin d’assurer que

←−φL passe par ce point, et sachant qu’il est émis depuis l’origine, sa

vitesse doit être :3l7 −

δ02

3l7

=6l − 7 l

k.2n+1

6l=

6k.2n+1 − 7

6k.2n+1,

ce qui donne :

1− 7

3k × 2n+2.

Ce nombre rationnel peut être calculé en temps polynomial en fonction du nombre de variableset du nombre de signaux composant le faisceau, plus exactement en temps au plus quadratique.

Méthode 2 : utilisation de signaux compteurs. La deuxième méthode utilise le calculgéométrique du milieu, qui est réitéré jusqu’à obtenir une distance suffisamment petite et quicorrespondra à l’espacement entre les signaux du faisceau.

Page 156: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.2. CALCULER DANS L’ARBRE BINAIRE FRACTALE 139

−→m0

φLφR

−→m0

−→xll1

−→xlrc2

−→¬lr

−→∨l

−→xr3

−→∧

−−→store

−−−−→collectφW

φW

δ/2

δ0/2

δ

Figure 7.3 – Générer un faisceau (ici, le faisceau d’une formule) avec un délai correct.

On appelle w la largeur du faisceau et k le nombre de signaux le composant. L’espacementrégulier entre les signaux du faisceau doit donc être égal à w

k . Mais au lieu de calculer géomé-triquement cette distance, nous allons utiliser l’algorithme géométrique du calcul du milieu afind’effectuer suffisamment de division par 2 pour obtenir un espacement assez petit. La distanceentre signaux du faisceau sera donc de la forme l

2ioù i est le nombre de divisions successives par

2 et on aura donc finalement w = (k − 1)× l2i

(on considère k − 1 espacements dans le faisceaupuisque celui-ci est composé de k signaux régulièrement espacés). Pour cela, considérons :

τ = min

{i ∈ N

∣∣∣∣ (k − 1)× 2n+1

l≤ 2i

}.

Un tel entier τ existe toujours et est le plus petit nombre de divisions par 2 assurant une largeurde faisceau suffisamment petite. À partir d’un espace initial de taille l, on obtiendra une distance2−τ , disposée à gauche de l’espace de travail utilisé pour la construction de l’arbre comme celaest illustré par la Fig. 7.4. On note δ = 1

2τ .Cette distance ainsi calculée est suffisante pour garantir la bonne propagation du faisceau et

l’indépendance des différentes évaluations au sommet de l’arbre. En effet, le faisceau contient ksignaux parallèles régulièrement espacés par une distance 2−τ , donc sa largeur totale est w = k−1

2τ .Par définition de τ , on a :

(k − 1)× 2n+1

l≤ 2τ i.e.

k − 1

2τ≤ l

2n+1

et il s’ensuit que :

w ≤ l

2(n+1).

La condition de validité de propagation est donc bien vérifiée. Précisons que le nombre τ peutêtre calculé en temps polynomial, plus précisément en temps au plus quadratique en k et n.

Cette construction prend place dans la partie gauche de la construction entière, la partiedroite servant dans un second temps à la construction de l’arbre et à l’évaluation proprement

Page 157: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

140 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

Meta-signal Vitesse−−−−→startLo, −→a , −→w 3

−→c1 , . . ., −→cτ 1

W1, W2 0

←−−−−startHi −1

←−a −3

(a) Meta-signaux.

{ −−−−→startLo,←−−−−startHi } → { −→c1 , −→a }

{ −→a , W1 } → { ←−a , W1 }

{ −→ci , ←−a } → { −−→ci+1, −→a }

{ −→cτ , ←−a } → { W2, −→w }

(b) Règles de collisions (avec 1 ≤ i ≤ τ − 1).

−−−−→startLo

←−−−−startHi

−→a

W1

−→C1

←−a

−→aW1

−→C2

←−a

−→aW1

−→C3

←−a−→a W1

−→C4

(c) Diagramme.

Figure 7.4 – Calcul géométrique du délai.

dite de la formule. Après cette étape de calcul géométrique du délai, le faisceau est généré dela même manière que celle de la première méthode : les signaux compris entre les deux mursespacés par la distance δ rebondissent en zig-zaguant et génèrent successivement avec un délai23δ les signaux parallèles du faisceau (le délai est de 2

3δ à cause des allers-retours à vitesse 3 entreles murs). On obtient finalement des signaux parallèles régulièrement espacés et se déplaçant àvitesse 1, formant ainsi le faisceau voulu. Le processus d’initiation est montré dans sa globalitépar la Fig. 7.5.

7.3 Résolution de SAT par une famille de machines

Nous montrons ici comment le problème SAT peut être résolu par signaux en utilisant l’arbrede la façon décrite à la section précédente c’est-à-dire en y propageant un faisceau. Celui-cireprésentera une formule booléenne dont on veut savoir si elle est satisfaisable. Les sous-sectionssuivantes détaillent successivement comment coder et propager une formule en un faisceau designaux, comment évaluer une formule booléenne sans variable et enfin comment collecter lesrésultats intermédiaires pour récupérer la réponse finale.

7.3.1 Codage et propagation des formules

Nous expliquons ici comment représenter une formule propositionnelle par un ensemble designaux. Nous illustrerons ce mécanisme avec l’exemple de la formule suivante :

ϕ = (x1 ∨ ¬x2) ∧ x3 .

L’idée de base est qu’une formule propositionnelle peut être vue comme un arbre dont les nœudssont étiquetés par les symboles de la formule (connecteurs logiques et variables).

Après assignations des variables pour tous les cas possibles, l’évaluation de la formule pourchacun de ces cas suit un processus bottom-up partant des feuilles de l’arbre pour remonterjusqu’à la racine. Pour modéliser ce processus, nous allons représenter chaque nœud de l’arbrepar un signal. Afin de distinguer les différentes occurrences d’un même symbole dans l’arbre et

Page 158: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.3. RÉSOLUTION DE SAT PAR UNE FAMILLE DE MACHINES 141

−−→start

−−−−→startLo

w

−−−−→startHi

←−−−−startLo

w

←−−−−startLo

−−−−→startLo

←−−−−startHi

−→a

W1

−→C1

←−a

−→aW1

−→C2

←−a−→aW1

−→C3

−→a

w

←−a

w

w

Figure 7.5 – L’étape complète d’initiation.

de permettre à un nœud d’interagir uniquement avec son nœud-père, les nœuds sont en plusdécorés d’un chemin qui identifie de manière unique leur position dans l’arbre depuis la racine.

Les nœuds ainsi décorés de leur chemin fournissent les noms des méta-signaux correspondants.Ainsi une formule de taille s nécessitera la définition de 2s méta-signaux : s méta-signaux devitesse 1 et s de vitesse −1.

Ces signaux sont ensuite disposés de manière à former un faisceau. Comme ils sont tous demême vitesse, le faisceau est uniquement constitué de signaux parallèles. Les signaux sont placésde telle sorte que ceux qui codent les sous-formules les plus internes sont placés d’abord. Unsignal codant un nœud sera donc situé au-dessus de tous les signaux codant ses nœuds fils. Lerespect de cet ordre est essentiel pour que le processus d’évaluation par percolation se déroulecorrectement.

Nous expliquons ici comment une formule propositionnelle peut être vue comme un arbre éti-queté et comment nous utilisons cette forme pour générer les méta-signaux et règles de collisionscorrespondant à la formule considérée. Les signaux et règles ne dépendant pas de la formule sontdonnés par le Tab. 7.1 et sont ceux utilisés pour préparer le faisceau suivant la méthode 1 vueprécédemment ; ceux qui dépendent de la formule sont générés par l’Algo. 7.1.

Page 159: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

142 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

∨l

xll1 ¬lr

xlrc2

xr3

(a) Arbre étiquetté.

Méta-signal Vitesse←−∧ ,←−∨l ,←−¬lr,←−xll1 ,←−xlrc2 ,←−xr3 −1

−→∧ ,−→∨l ,−→¬lr,−→xll1 ,−→xlrc2 ,−→xr3 1

(b) Méta-signaux générés.

−→xll1

−→xlrc2

−→¬lr

−→∨l

−→xr3

−→∧

(c) Codage de la formule en faisceau.

Figure 7.6 – Compilation de la formule ϕ = (x1 ∨ ¬x2) ∧ x3 en faisceau.

Méta-signaux Vitesse−−−→startlo 3

−→m0 1

φW, w 0←−m0 −1←−a −3←−φL −6

Règles de collisions

{ −−−→startlo, w } → {←−φL, ←−a , w }

{ −→m0,←−φL } → {

←−φL, ←−m0, φW, −→m0 }

{ φW, ←−m0 } → { φW, −→m0 }{ φW, ←−a } → { ←−a }

Tableau 7.1 – Préparer le faisceau codant une formule.

Les arbres étiquetés. Nous décrivons ici comment identifier une formule à un arbre étiquetédont les nœuds sont identifiés par leur chemin jusqu’à la racine. Un chemin π est un mot (fini)sur l’alphabet N, et les nœuds seront étiquetés par des connecteurs logiques ou des variablespropositionnelles. On suppose que Σ est la signature de symboles de fonction f , g. . . , chacunétant muni d’une arité ar ≥ 0. On note N∗ l’ensemble Nr {0}.

Un domaine d’arbre D est un sous-ensemble fini de N∗ qui est clos par préfixe et coupe àdroite :

∀π, π′ ∈ N∗0 ππ′ ∈ D ⇒ π ∈ D∀π ∈ N∗0, ∀i, j ∈ N0 i < j ∧ πj ∈ D ⇒ πi ∈ D

Un arbre étiqueté τ = (Dτ , Lτ ) est la donnée d’un domaine d’arbre Dτ et d’une fonctiond’étiquetage Lτ : Dτ → Σ qui associe un symbole à chaque nœud en respectant les arités :

ar(Lτ (π)) = n ⇒ πn ∈ Dτ ∧ π(n+ 1) 6∈ Dτ ∀π ∈ Dτ , ∀n > 0

ar(Lτ (π)) = 0 ⇒ π1 6∈ Dτ ∀π ∈ Dτ

Les formules propositionnelles en tant qu’arbres étiquetés. On prend comme signatureΣ celle qui est formée à partir de variables propositionnelles (arité 0), le connecteur ¬ (arité 1),et les connecteurs ∧ et ∨ (arité 2).

Page 160: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.3. RÉSOLUTION DE SAT PAR UNE FAMILLE DE MACHINES 143

Étant donnée une formule ϕ = (Dϕ, Lϕ), l’idée est de définir un méta-signal pour chacun deses nœuds. Considérons un nœud π ∈ Dϕ avec Lϕ(π) = ` : les méta-signaux associés seront notés−→`π et

←−`π (respectivement pour les versions droite et gauche). On note Nϕ l’ensemble des nœuds

étiquetés de ϕ i.e. Nϕ = {Lϕ(π)π}π∈Dϕ = {`π}π∈Dϕ .

Les méta-signaux codant la formule ont tous la même vitesse, qui est celle du faisceau :vitesse 1 (respectivement −1) pour le faisceau se déplaçant vers la droite (respectivement vers lagauche).

On note ≺ l’ordre lexicographique sur Dϕ et dDϕe l’élément maximal au sens de ≺ dans Dϕ.On note bπc le ≺-prédécesseur de π dans Dϕ. Intuitivement, si π ≺ π′, alors

−−−−→Lϕ(π)π sera émis

après−−−−−→Lϕ(π′)π

′ .

Entrée : M une machine à signaux et une formule ϕ (de taille t et à n variables).Sortie : M étendue pour générer le faisceau codant la formule ϕ.

1 ; // méta-signal de vitesse ν et règle pour le calibrage du faisceau

2−→φR ←−M.ajouter_meta_signal_de_vitesse(ν) // ν = 1− 7

3(t+3)×2n+2

3 M.ajouter_regle({−→φR,←−φL

}→ {φW}

)// méta-signaux codant la formule

4 Pour `π ∈ Nϕ Faire5

−→`π ←−M.ajouter_meta_signal_de_vitesse(1)

6←−`π ←−M.ajouter_meta_signal_de_vitesse(−1)

// règles de génération du faisceau

7 M.ajouter_regle({−→m0, φW

}→{←−−−`dDϕe,−→m0, φW

})8 Pour `π ∈ Nϕ Faire9 Si π = ε Alors

10 M.ajouter_regle({φW,←−`ε}→{φW,−→`ε})

11 M.ajouter_regle({−→

`ε , φW

}→{←−−store, φW,

−→`ε})

12 Sinon13 M.ajouter_regle

({φW,←−`π}→{φW,−→`π})

14 M.ajouter_regle({−→

`π , φW

}→{←−−`bπc, φW,

−→`π})

15 M.ajouter_regle({φW,←−−store

}→{−−→store, φW

})16 M.ajouter_regle

({−−→store, φW

}→{←−−−−

collect, φW,−−→store,

})17 M.ajouter_regle

({φW,←−−−−collect

}→{φW,−−−−→collect,

})Algorithme 7.1 – Générer les règles spécifiques de création du faisceau codant une for-mule.

Exemple 13 : ϕ = (x1 ∨ ¬x2) ∧ x3.On reprend la formule propositionnelle ϕ = (x1∨¬x2)∧x3 utilisée pour générer les diagrammes.La formule ϕ possède six nœuds donnés par Nϕ = {x11

1 , x1212 , ¬12, ∨1, x2

3, ∧ε}. Pour rendreles notations plus simples, on notera plutôt l, r et c pour désigner respectivement la gauche,la droite et le centre dans le chemin d’un nœud. On désignera par ε le mot vide, qui cor-respond au chemin du premier nœud de l’arbre étiqueté. L’exemple précédent devient alorsNϕ = {xll

1, xlrc2 , ¬lr, ∨l, xr

3, ∧}.

Page 161: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

144 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

Propager le faisceau. Nous expliquons ici comment propager le faisceau codant la formuleà travers l’arbre binaire de décision. Pour chaque point de décision, le faisceau est dupliqué : lefaisceau principal passe au travers du point de décision et il est également réfléchi. On obtientainsi un exemplaire du faisceau qui est envoyé vers la gauche et un autre exemplaire qui est envoyévers la droite. Ainsi, le faisceau sera propagé dans chaque branche de l’arbre et atteindra chaquepoint de décision au moins une fois. Si le faisceau est suffisamment étroit, cette garantie devient« le faisceau atteint chaque point de décision exactement une fois ». Nous avons précédemmentmontré dans la Sous-sec. 7.2.2 comment obtenir cette condition sur la largeur du faisceau enémettant depuis l’origine le signal

←−φL, de vitesse ν = 1 − 7/(3(t + 3) · 2n+2), où t est le nombre

de symbole de la formule et n est le nombre de variables. Pour propager la formule jusqu’auxdifférents cas à évaluer au sommet de la construction, le faisceau se propage sur la base de laconstruction de l’arbre, suivant les couloirs de la Fig. 7.2(a) donnée en Sous-sec. 7.2.2. Parconstruction de la vitesse ν, la précédente condition sur la largeur du faisceau nous assure quechaque dédoublement du faisceau à un niveau se termine avant que le dédoublement du niveausuivant ne commence.

Quand le faisceau rencontre un point de décision (un signal stationnaire), le faisceau seduplique et produit deux nouvelles branches, chacune étant une copie du faisceau arrivant. Àpart le changement de sens (vitesse opposée), tous les signaux restent identiques dans les deuxbranches, sauf les signaux de variables qui correspondent au niveau de décision produisant laduplication : au ième niveau, les signaux xi deviennent false dans la branche gauche et truedans la branche droite, les étiquettes respectives étant conservées. La Figure 7.7 zoome surl’intersection du faisceau avec le premier point de décision : les signaux incidents

−→xll

1 deviennent←−fll partant à gauche et

−→tll partant à droite. La règle de collisions qui permet l’assignation des

variables est {−→xiπ, xi} → {←−fπ , xi,

−→tπ}, où π désigne le chemin de la variable xi dans l’arbre de la

formule.

−→m0←−a

−→xll1

−→xlrc2

−→¬lr

−→∨l

−→xr3

−→∧−−→store

−−−−→collect

←−a

−→a

←−m1

−→m1

←−fll

−→tll

←−xlrc2

−→xlrc2

←−¬lr

−→¬lr

←−∨l

−→∨l

←−xr3

−→xr3

←−∧−→∧

←−−store −−→

store

←−−−−collect

−−−−→collectx1

Figure 7.7 – Duplication du faisceau au premier niveau.

Ainsi, niveau après niveau, toutes les occurrences de variables dans la formule sont remplacéespar des signaux booléens étiquetés par leur chemin dans l’arbre de la formule. Comme chaquepoint de décision est rencontré exactement une fois pour chaque variable dans chaque branchede l’arbre, après n niveaux, tous les signaux correspondant aux variables ont disparu et ont tousété remplacés par des signaux booléens.

Page 162: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.3. RÉSOLUTION DE SAT PAR UNE FAMILLE DE MACHINES 145

L’algorithme qui permet de générer les règles de propagation est donné par l’Algo. 7.2.Tandis que tous les autres algorithmes de compilation pour cette construction sont en tempslinéaire en la taille de la formule, l’Algo. 7.2 fonctionne en temps quadratique (à cause des deuxboucles « Pour » imbriquées et toutes deux bornées par t).

Entrée : M une machine à signaux.Sortie : M étendue pour propager le faisceau de la formule.

1 R←−M.ajouter_meta_signal_de_vitesse(0)2 L←−M.ajouter_meta_signal_de_vitesse(0)// méta-signaux booléens pour assigner les variables

3 Pour chaque `π ∈ Nφ Faire4 Si ` = xi Alors5

−→tπ ←−M.ajouter_meta_signal_de_vitesse(1)

6−→fπ ←−M.ajouter_meta_signal_de_vitesse(1)

7←−tπ ←−M.ajouter_meta_signal_de_vitesse(−1)

8←−fπ ←−M.ajouter_meta_signal_de_vitesse(−1)

// règles aux points de décision9 Pour i de 1 à n Faire

10 Pour chaque `π ∈ Nφ Faire11 Si ` = xi Alors

// les variables xi sont affectées en signaux booléens au niveau i

12 M.ajouter_regle({−→`π , xi

}→{←−

fπ , xi,−→tπ})

13 M.ajouter_regle({←−`π , xi

}→{←−

fπ , xi,−→tπ})

14 Sinon// les autres signaux sont dupliqués

15 M.ajouter_regle({−→`π , xi

}→{←−`π , xi,

−→`π})

16 M.ajouter_regle({←−`π , xi

}→{←−`π , xi,

−→`π})

// duplication des signaux ne dépendant pas de la formule

17 M.ajouter_regle({−−→store, xi

}→{←−−store, xi,

−−→store})

18 M.ajouter_regle({

xi,←−−store

}→{←−−store, xi,

−−→store})

19 M.ajouter_regle({−−−−→

collect, xi}→{←−−−−

collect, L,−−−−→collect

})20 M.ajouter_regle

({xi,←−−−−collect

}→{←−−−−

collect,R,−−−−→collect

})Algorithme 7.2 – Générer les règles spécifiques de propagation du faisceau.

7.3.2 Évaluation des formules

Nous avons généré au sommet de l’arbre des signaux stationnaires bl et br pour marquerla division de l’espace : leur rôle est d’initier le processus d’évaluation. Le signal bl est utilisépour démarrer l’évaluation sur un branche du faisceau allant à gauche, alors que br correspond àl’évaluation d’une branche à droite. La Figure 7.8 zoome sur un cas d’évaluation pour l’exemplede la formule ϕ.

Le processus d’évaluation commence une fois que toute les occurrences de variables ont étéremplacées par les valeurs booléennes en fonction du chemin de la branche dans l’arbre. Lefaisceau arrive ainsi sur les signaux bl et br après la séparation du dernier niveau et l’assignationdes dernières variables restantes, représentées par les signaux xn. Les règles pour l’évaluation sont

Page 163: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

146 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

définies de telle sorte à respecter les opérations booléennes classiques. L’évaluation de la formulesuit un processus de reconstruction qui est l’inverse de celui impliqué dans la génération de laformule : les signaux se collisionnent en respectant l’ordre lexicographique défini sur l’ensemble denœuds Nφ. Les étiquettes de chemin sont ici essentielles pour assurer que la bonne sous-formuleinteragit avec les bonnes occurrences des connecteurs parents.

Les deux cas étant symétriques, nous expliquons seulement le cas de br. Les signaux de laformule valuée arrivent par la gauche et sont traités comme sur la Fig. 7.8. L’idée principaleest que tout signal de la formule (variable ou nœud connecteur) est évaluée avant d’atteindre lesignal br. L’invariant est donc que tous les signaux qui atteignent br ont des valeurs booléennes.Cette valeur booléenne est alors réfléchie sur br pour ensuite interagir avec le reste du faisceauarrivant, de telle façon qu’elle rencontre son connecteur parent avant que celui-ci n’atteigne br.Les valeurs réfléchies sont notées en majuscules et conservent les étiquettes de leur chemin :par exemple,

−→tll devient après réflexion le signal

←−Tll. Un signal booléen noté en minuscules doit

donc attendre d’atteindre br pour être réfléchi et et devenir la valeur notée en majuscules, quipeut alors interagir avec les prochains signaux rencontrés. L’ordre de disposition des signauxdans le faisceau et les étiquettes assurent que les signaux réfléchis sont pris en argument parles connecteurs parents correspondants. L’Algo. 7.3 permet de générer les règles d’évaluationcorrespondant aux signaux étiquettés de la formule.

−→m3

←−a

−→tll

br−→tlrc

←−Tll

−→¬lr

←−Tll−→tlrc

br

−→∨l

←−Tll−→¬lr←−Tlrc

−→flr

br

−→t()l

←−Flr

−→tl

br−→tr

←−Tl

−→∧

←−Tl −→tr

br

−→id←−Tr

−→t

br−−→store

←−T

−→T∅

br−−−−→collect

T

←−−−−success

Figure 7.8 – Évaluation de la formule ϕ(x1, x2, x3) lorsque x1 = x2 = x3 = vrai.

Un connecteur est évalué par les collisions avec les signaux booléens (majuscules) de ses ar-guments. Par exemple, le signal de disjonction collisionne avec son premier argument. Suivantla valeur de ce premier argument, il devient soit le signal constant

−→t()l attendant un argument

Page 164: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.3. RÉSOLUTION DE SAT PAR UNE FAMILLE DE MACHINES 147

Entrée : M une machine à signaux.Sortie : M étendue pour évaluer une formule booléenne.

// méta-signaux de connecteurs et booléens et activation1 Pour `π ∈ Nφ Faire2 Pour b ∈ {t, f,T,F} Faire3

−→bπ ←−M.ajouter_meta_signal_de_vitesse(1)

4 M.ajouter_regle({−→

tπ , br

}→{←−

Tπ, br

})5 M.ajouter_regle

({−→fπ , br

}→{←−

Fπ, br

})6 Si (` = ∨ ou ` = ∧) Alors7

−−−→id()π ←−M.ajouter_meta_signal_de_vitesse(1)

8 Si ` = ∨ Alors9

−−→t()π ←−M.ajouter_meta_signal_de_vitesse(1)

10 Sinon11

−−→f()π ←−M.ajouter_meta_signal_de_vitesse(1)

// implémenter les opérateurs booléens12 Pour `π ∈ Nφ Faire13 Si ` = ¬ Alors14 M.ajouter_regle

({−→`π ,←−−Tπc}→{−→

fπ})

15 M.ajouter_regle({−→`π ,←−Fπc}→{−→

tπ})

16 Si (` = ∨ ou ` = ∧) Alors17 M.ajouter_regle

({−−−→id()π,

←−−Tπr

}→{−→

Tπ})

18 M.ajouter_regle({−−−→id()π,

←−Fπr}→{−→

Fπ})

19 Si ` = ∨ Alors

20 M.ajouter_regle({−→`π ,←−Tπl}→{−−→t()π

})21 M.ajouter_regle

({−→`π ,←−Fπl}→{−−−→id()π

})22 Sinon

23 M.ajouter_regle({−→`π ,←−Tπl}→{−−−→id()π

})24 M.ajouter_regle

({−→`π ,←−Fπl}→{−−→f()π

})// projeter le résultat de l’évaluation sur le mur

25 Pour b ∈ {T,F} Faire

26 M.ajouter_regle({−−→store,

←−b}→{−→

b∅})

27 M.ajouter_regle({−→

b∅, br

}→ {b}

)

Algorithme 7.3 – Générer les règles spécifiques d’évaluation d’une formule.

(lorsque le premier argument était true) soit le signal identité−→idl attendant un argument (lorsque

le premier argument était false). Ces deux cas correspondent bien aux règles classiques d’évalua-tion d’une disjonction : une disjonction ayant déjà un argument vrai sera vraie indépendammentdu second argument alors qu’une disjonction ayant reçu un argument faux prendra la valeur deson deuxième argument. Ces deux cas possibles d’une disjonction partiellement évaluée et enattente du deuxième argument sont respectivement codés par les signaux

−→t()l et

−→idl. Les règles

d’évaluation de la disjonction sont données dans le Tab. 7.2, qui correspond aux règles générées

Page 165: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

148 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

par l’Algo. 7.3 (ainsi que les règles symétriques) pour le cas de la disjonction ∨l.

{−→∨l ,←−Tll } → {

−→t()l } {

−→t()l,←−Tlr } → {

−→tl } {

−→idl,←−Tlr } → {

−→tl }

{−→∨l ,←−Fll } → {

−→idl } {

−→t()l,←−Flr } → {

−→tl } {

−→idl,←−Flr } → {

−→fl }

{←−∨l ,−→Tll } → {

←−t()l } {

←−t()l,−→Tlr } → {

←−tl } {

←−idl,−→Tlr } → {

←−tl }

{←−∨l ,−→Fll } → {

←−idl } {

←−t()l,−→Flr } → {

←−tl } {

←−idl,−→Flr } → {

←−fl }

Tableau 7.2 – Évaluer la disjonction ∨l.

À la fin de l’évaluation, le signal −−→store projette la valeur de vérité de la formule initiale surbr, qui permet de stocker la valeur jusqu’à ce que

−−−→collect déclenche la collecte des résultats.

7.3.3 Collecte et résultat final

Les résultats partiels provenant de l’étape d’évaluation doivent maintenant être regroupés afind’obtenir la réponse finale, à savoir dans le cas de SAT s’il existe une évaluation ayant produitun résultat vrai. Le cas de Q-SAT doit en plus prendre en compte le type de quantificateurscorrespondant aux variables.

Récupérer les résultats partiels (cas de SAT). Après les phases de propagation et d’éva-luation des différents cas, les résultats partiels sont enregistrés sous forme de signaux station-naires, remplaçant les signaux bl et br utilisés lors de l’évaluation.

Nous devons maintenant effectuer la disjonction de tous ces résultats afin d’obtenir la solutionfinale au problème SAT. Cette phase de collecte est déclenchée par les signaux

←−−−collect et

−−−→collect et

procède par disjonction des signaux booléens deux par deux, en respectant une structure inversede l’arbre initial. La partie du diagramme correspondant à la phase de collecte est donnée par laFig. 7.9. L’ensemble des règles nécessaires est donné par le Tab. 7.3.

Figure 7.9 – Collecte des résultats.

{ B,−−−−→collect } → {

←−B } {

−−−−→collect, xi } → {

←−−−−collect, L,

−−−−→collect }

{ B,←−−−−collect } → {

−→B } { xi,

←−−−−collect } → {

←−−−−collect, R,

−−−−→collect }

{−→B1, R,

←−B2 } → {

−→B3 } pour B,B1, B2, B3 ∈ {T,F}

{−→B1, L,

←−B2 } → {

←−B3 } et B3 = B1 ∨B2

Tableau 7.3 – Collecter les résultats (sans quantificateur).

Page 166: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.3. RÉSOLUTION DE SAT PAR UNE FAMILLE DE MACHINES 149

Récupérer les résultats partiels en respectant les quantificateurs (cas de Q-SAT).Après les phases de propagation et d’évaluation, le résultat de l’évaluation de la formule nonquantifiée pour chaque cas possible d’assignation est stocké sous forme de signal stationnairequi remplace les signaux bl et br. Nous devons maintenant regrouper ces 2n résultats (un pourchaque assignation possible) afin d’obtenir la valeur de vérité de la formule quantifiée.

Nous avions construit l’arbre de telle façon que chaque niveau corresponde à une variable :le niveau 1 pour la variable x1, le niveau 2 pour x2. . . Pour agréger les résultats, nous utilisonsun processus qui « défait » cette structure d’arbre en joignant les résultats deux par deux : nousobtenons ainsi une structure d’arbre binaire inversé ou chaque niveau correspond à la jonctiondes résultats partiels pour les cas de la variable correspondant à ce niveau, et où la jonction desrésultats deux par deux respecte le quantificateur liant cette variable.

Pour la formule φ précédemment considérée, les règles de jonction des résultats pour le premierniveau de la collecte sont données dans le Tab. 7.4. Ce niveau correspond à la variable x3, etcomme x3 est liée dans φ par un quantificateur universel, chaque jonction de ce niveau effectueraune conjonction des deux résultats booléens arrivant.

{−→T , R3

∀,←−T } → {

−→T } {

−→T , L3

∀,←−T } → {

←−T }

{−→T , R3

∀,←−F } → {

−→F } {

−→T , L3

∀,←−F } → {

←−F }

{−→F , R3

∀,←−T } → {

−→F } {

−→F , L3

∀,←−T } → {

←−F }

{−→F , R3

∀,←−F } → {

−→F } {

−→F , L3

∀,←−F } → {

←−F }

{ x3,←−−−−collect } → {

←−−−−collect, R3

∀,−−−−→collect } {

−−−−→collect, x3 } → {

←−−−−collect, L3

∀,−−−−→collect }

Tableau 7.4 – Collecter les résultats : exemple d’un quantificateur universel sur x3.

À chaque duplication du faisceau, c’est-à-dire à chaque fois qu’il rencontre un signal station-naire de décision xi, le signal

−−−→collect (respectivement

←−−−collect) qui se situe tout en haut du faisceau,

change le signal stationnaire xi en LiQi (respectivement RiQi). Les signaux LiQi et RiQi encodent

chacun deux informations : Qi désigne le quantificateur liant xi dans φ (∃ ou bien ∀), et L (res-pectivement R) indique la direction dans laquelle envoyer le résultat combiné des cas xi = false(arrivant par la gauche) et xi = true (arrivant par la droite). La collecte est réalisée de manièresymétrique à l’arbre binaire de décision et ainsi, chaque niveau de collecte correspond à tous lessous-cas possibles pour une variable donnée : le niveau 1 de la collecte (le premier niveau justeaprès l’évaluation) correspond à la variable xn, le niveau 2 à la variable xn−1, et ainsi de suitejusqu’au niveau n, le dernier niveau, qui correspond à la jonction des deux sous-cas assignés dèsle début par l’arbre de décision pour la variable x1. C’est ce dernier niveau qui produit la réponsefinale. L’opération booléenne effectuant la combinaison de deux résultats à niveau donné dépenddu type de quantificateur liant la variable correspondant à ce niveau : ∨ pour ∃ et ∧ pour ∀.

L’étape complète de collecte avec quantificateur correspond au diagramme de la Fig. 7.10,et les règles requises sont résumées par le Tab. 7.5.

Le Tableau 7.5 fournit les règles de collisions nécessaires à la collecte des résultats detoutes les évaluations. Comme cette collecte dépend à chaque niveau des quantificateurs liant lesvariables dans la formule Q-SAT, ces règles dépendent elles aussi de la formule. Les signauxRiQi et L

iQi sont ceux émis durant la phase de propagation, où Qi désigne le quantificateur de xi

(voir l’Algo. 7.2). Le Tableau 7.4 donne les règles explicites pour la collecte au 3ème niveau surl’exemple courant. Comme la variable x3 est liée par un quantificateur universel, les jonctions auniveau 3 devront effectuer des conjonctions booléennes.

Diagrammes globaux. Tous les processus précédemment décrits forment les diagrammesespace-temps globaux présentés en Fig. 7.11 et 7.12. Le diagramme de la Fig. 7.11 correspond àune solution pour une instance de SAT et utilise la première méthode de calibrage du faisceau.

Page 167: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

150 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

−→a ←−a

w←−a

−→aL∃

←−a −→aw

−→a ←−a −→a ←−aw

←−a−→a

R∀

←−a −→aL∃

←−a−→a

L∀

←−a −→aw

−→a ←−a −→a ←−a −→a ←−a −→a ←−a

−→Fail

R∀

←−Fail

−→Fail

L∀

←−Fail −−−−→success

R∀

←−−−−success−→Fail

L∀

←−−−−success

−→Fail

R∀

←−Fail −−−−→success

L∀

←−Fail

−→Fail

L∃

←−Fail

w

←−Fail

w

Figure 7.10 – Collecte des résultats avec prise en compte de quantificateurs.

{−−−−→collect, B } → {

←−B } {

−−−−→collect, xi } → {

←−−−−collect, LiQi

,−−−−→collect }

{ B,←−−−−collect } → {

−→B $ { xi,

←−−−−collect } → {

←−−−−collect, RiQi

,−−−−→collect }

{−→B1, RQ ,

←−B2 } → {

−→B3 } avec B,B1, B2, B3 ∈ {T,F}, Q ∈ {∃,∀} et

{−→B1, LQ ,

←−B2 } → {

←−B3 } B3 = B1 ∨B2 si Q = ∃, B3 = B1 ∧B2 si Q = ∀

Tableau 7.5 – Collecter les résultats en respectant les quantificateurs.

La deuxième méthode de calibrage produit un diagramme comme celui de la Fig. 7.12 (lequelcorrespond également à une solution pour une instance de Q-SAT). Les résultats sont donnéspar les signaux quittant la construction tout en haut à gauche : la formule SAT du diagrammeen Fig. 7.11 est satisfaisable (le signal vert est un signal true), tandis que la formule Q-SATdu diagramme en Fig. 7.12 est fausse (le signal en pointillés rouge est un signal false).

7.4 Complexités de la construction

Complexités des algorithmes de compilation. L’Algorithme 7.1, qui génére les signauxet règles nécessaires pour créer le faisceau codant la formule, est linéaire en la taille de la formule.Les règles nécessaires à l’évaluation étant en nombre linéaire (16 règles pour chaque symbole deconnecteur binaire, et 4 pour chaque symbole de négation), elles sont également générées entemps linéaire par l’Algo. 7.3. L’Algorithme 7.2 étant quant à lui quadratique, le temps totalpour générer les méta-signaux et les règles de la machine à signaux qui représente une formulede taille t, est donc en O(t2). Rappelons que le calcul de la valeur spéciale ν s’effectue égalementen temps quadratique.

La taille de la machine générée est composée de la façon suivante. Le nombre de méta-signauxest linéaire en n pour l’arbre et en t pour la partie correspondant à la formule. Le nombre derègles de collisions non blanches est proportionnel à n · t (car chaque méta-signal de symbole dela formule se duplique à chaque niveau), ce qui donne un nombre de règles en O(t2) (car n ≤ t).

Nous insistons sur le fait qu’il n’y ait que 7 vitesses différentes : −6, −3, −1, 0, 1, 3 et lavitesse spéciale ν utilisée pour le calibrage du faisceau.

Complexités en collisions. Tout en haut de l’arbre, lors de l’évaluation, 2n processus indé-pendants de taille t se déroulent en parallèle. Il existe donc une anti-chaîne de longueur inférieureà t · 2n. En constatant que les autres anti-chaînes sont forcément de longueur inférieure, on endéduit que la largeur de collision est exponentielle.

Page 168: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

7.4. COMPLEXITÉS DE LA CONSTRUCTION 151

Figure 7.11 – Diagramme global de résolution spécifique du problème SAT pour l’instanceϕ = (x1 ∨ ¬x2) ∧ x3 (avec la première méthode de calibrage du faisceau).

Concernant la profondeur de collision : la mise en place de l’arbre, le calibrage du faisceau,la propagation, l’évaluation et la collecte contribuent tous en un nombre de collisions qui est auplus linéaire quand on suit n’importe quelle chaîne de collisions. Cependant, à chaque duplicationdu faisceau, les intersections entre les deux faisceaux sortants (le faisceau incident et le faisceauréfléchi) ajoutent un nombre de collisions qui est linéaire en t. Comme il y a n niveaux dansl’arbre, et donc n duplications quand on suit un chemin dans le faisceau, on obtient un nombrede collisions enchaînées en O(n · t). Finalement, la profondeur de collision est donc en O(t2).

Complexités globales. La complexité globale est donnée à la fois par la complexité de lapartie classique i.e. celle des algorithmes de compilation de la machine à partir de la formuleet par la complexité de la partie intrinsèque au modèle i.e. celle du diagramme espace-tempscorrespondant à l’instance considérée.

Nous obtenons donc une construction globalement en temps quadratique en la taille de laformule, et en espace exponentiel (à cause de la largeur de collision du diagramme qui est expo-nentielle).

Page 169: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

152 CHAPITRE 7. RÉSOLUTIONS SPÉCIFIQUES DE SAT ET Q-SAT

Figure 7.12 – Diagramme global de résolution spécifique du problème Q-SAT pour l’instanceϕ = ∃x1∀x2∀x3 x1 ∧ (¬x2 ∨ x3) (avec la deuxième méthode de calibrage du faisceau).

Page 170: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 8Résolution générique de Q-SAT

Le chapitre précédent contenait une résolution spécifique des problèmes SAT et Q-SAT : àchaque instance de ces problèmes étaient associés une machine à signaux et un diagramme espace-temps qui fournissait la réponse au problème pour l’instance considérée. Nous présentons ici laconstruction de [Duchier et al. 2012] qui correspond à une résolution générique du problèmeQ-SAT : l’unique machine qui sera détaillée dans ce chapitre permet de résoudre Q-SATpour n’importe quelle instance du problème. Au lieu d’être codée dans la machine (i.e. dans lesméta-signaux et les règles de collisions) comme au chapitre précédent, l’instance sera représentéeuniquement dans la configuration initiale. La résolution générique suit le même principe quela résolution spécifique : l’arbre binaire est utilisé pour y propager la formule jusqu’au dernierniveau où elle y sera évaluée pour toutes les assignations des variables possibles ; les différentsrésultats partiels sont ensuite récupérés et agrégés en fonction des quantificateurs pour obtenirla réponse finale. Toutes ces étapes sont effectuées par une unique machine, ayant un nombrefixe et fini de méta-signaux et de règles. La correction de la construction découle de l’approchemodulaire développée au Chap. 6 et des modules qui y ont été donnés en exemples.

Comme pour le chapitre précédent, nous allons détailler les différentes étapes de la construc-tion, la plupart correspondant à des modules. Nous commencerons par présenter l’arbre génériquede décision et comment la lentille permet de se passer de l’étape de calibrage du faisceau. Nousexpliquerons ensuite comment représenter et évaluer une formule booléenne de manière génériquec’est-à-dire en utilisant un ensemble fixe et fini de méta-signaux et de règles. Nous donneronsenfin la décomposition modulaire de la construction. De cette dernière se déduira une preuve decorrection, ainsi que la profondeur et la largeur de collisions de la construction, respectivementcubique et exponentielle en la taille de la formule d’entrée.

8.1 Se propager dans l’arbre générique

Dans cette section, nous expliquons comment utiliser l’arbre générique en tant qu’arbre bi-naire de décision, et comment assurer une bonne propagation du faisceau grâce au module delentille, qui permet de rétrécir le faisceau au fur et à mesure qu’il progresse dans les différentsniveaux de l’arbre.

8.1.1 L’arbre générique de décision

Comme pour la construction du Chap. 7, seuls les n premiers niveaux de l’arbre binairesont requis pour évaluer une formule définie sur n variables en suivant l’interprétation de l’arbrebinaire en tant qu’arbre de décision. Pour effectuer cette construction de manière générique, nousreprenons l’approximation générique de l’arbre binaire donnée en Sous-sec. 5.3.2. Alors que la

153

Page 171: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

154 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

construction présentée en Sous-sec. 5.3.2 requérait un ajustement fin de la largeur du faisceauen fonction du niveau n d’approximation souhaité, nous en présentons ici une variante dont lavalidité est plus simple à garantir : il suffira en effet que le faisceau soit initialement placé dansun intervalle de départ fixe et indépendant du nombre de niveaux. Nous rajoutons pour cela unelentille-duplicatrice, dont les idées principales (duplication et concentration de faisceaux) ont déjàété présentées en Sous-sec. 6.1.2. La Figure 8.1 fournit le diagramme de la construction desquatre premiers niveaux de l’arbre, à l’aide d’une lentille. Ce diagramme est semblable à celuide Fig. 5.11(a), excepté les passages du faisceau à chaque à niveau, qui, en plus de le dupliquer,le concentre en divisant sa largeur d’un facteur deux.

Figure 8.1 – Approximation générique de l’arbre fractale par la machine Mgentree.

Le Tableau 8.1 fournit les méta-signaux et règles nécessaires à cette l’approximation avecutilisation de la lentille. Le fonctionnement de la machine suit le même principe que celui de lamachine Mgen

tree donnée au Chap. 5. Il y a cependant deux différences : les règles sont modifiéespour prendre en compte la lentille, et l’étape d’arrêt est légèrement différente. En effet, la collisionentre les signaux =⇒z , −→a et ←−a qui permet de transformer ces derniers en versions d’arrêt −→a◦ et ←−a◦s’effectue ici de manière non symétrique.

(a) Méta-signaux et vitesses.

=⇒ζ , =⇒z 3

−→ζ , −→z , −→a◦ 1

w, w◦ 0

←−ζ , ←−z , ←−a◦ −1

⇐=ζ , ⇐=z −3

(b) Décrémenter le compteur.

{=⇒ζ , w } → { w◦ }

{=⇒ζ , w◦ } → {

←−ζ , w◦,

−→ζ }

{ =⇒z , w◦ } → { ←−z , w, −→z }

{ =⇒z , w } → { w, =⇒z }

(c) Étape d’arrêt.

{=⇒ζ , ←−a } → { ←−a◦,

=⇒ζ }

{ =⇒z , ←−a } → { ←−a◦, =⇒z }

{ =⇒z , ←−a◦ } → { ←−a , =⇒z }

{ =⇒z , −→a } → { −→a◦ }

{ =⇒a , ←−a◦ } → ∅

Tableau 8.1 – Couper l’arbre fractale avec la lentille.

La seule condition de validité à vérifier est que le faisceau défini par [until(n)] n’empiètepas sur plusieurs branches de l’arbre en même temps, ce qui sera garanti si la collision entre =⇒zet −→a se produit avant que −→a ne rencontre ⇐=a . Alors que sans la lentille, cette condition était

Page 172: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.1. SE PROPAGER DANS L’ARBRE GÉNÉRIQUE 155

assuré lorsque le faisceau était contenu dans l’intervalle]− 1

3×2n ; 0](où n est le nombre de niveau

souhaité), il suffit ici de placer le faisceau initial dans l’intervalle ]− 13 ; 0[ (pour les murs délimiteurs

en positions 0 et 1). En effet, la largeur du faisceau initial sera donc au plus 13 et comme la lentille

divise la largeur du faisceau par deux à chaque niveau, on obtiendra bien au dernier niveau unfaisceau de largeur inférieure à 1

3×2n . La séquence (i.e. le type et l’ordre) des signaux initiaux

reste quant à elle la même que pour la machine sans lentille, à savoir (−→z−→ζn−1

w −→a =⇒a w) pourune approximation de n niveaux.

Pour une formule quantifiée définie sur n variables, chaque variable requiert un niveau pourêtre assignée en valeur booléenne, et après le niveau n il ne reste plus qu’une formule proposition-nelle close qui doit être évaluée. Comme dans le chapitre précédent, cette évaluation nécessiteun niveau supplémentaire : n+ 1 niveaux doivent donc être construits. Le premier module inséréest donc [until(n + 1)] dont la fonction est de créer exactement les n + 1 niveaux requis. Onajoute ensuite le module [decide(n)] afin de configurer chaque niveau en tant que point de dé-cision pour chaque variable. Ce module a juste pour rôle de transformer les signaux verticaux dechaque niveau de l’arbre générique en signaux verticaux servant à assigner les variables, faisantainsi de l’arbre binaire un arbre binaire de décision. Ce bloc est constitué de manière simple par[decide(n)] = −→α n (un signal −→α par niveau) et par les règles suivantes : {=⇒α , a} → {x} (trans-formation des signaux stationnaires en signaux assignant les variables) et {=⇒α , x} → {←−α , x,−→α }(duplication des signaux −→α restants pour les prochains niveaux).

8.1.2 Schéma de lentille-duplicatrice avec fonctionnalités.

Afin de garantir que le faisceau se propage correctement dans l’arbre de la même façon qu’enSous-sec. 7.2.2, nous réutilisons la lentille-duplicatrice de la sous-section précédente, que nousallons appliquer à tous les signaux du faisceau (et non plus uniquement aux signaux permettantde construire l’arbre). La lentille précédemment introduite va être enrichie de nouvelles règles enfonction des différents sous-faisceaux présents dans le faisceau principal.

La Figure 8.2(a) présente un zoom sur l’étape de concentration et illustre le fonctionnementde la lentille, ainsi que le paramètre de rétrécissement (qui vaut ici deux, à cause du choix desvitesses 1 et 3, respectivement pour les signaux du faisceau et pour leurs versions rapides). LaFigure 8.2(b) montre l’effet qu’a la lentille sur la propagation d’un faisceau à travers l’arbredans sa totalité.

−→σ

=⇒σ

←−σ −→σ

⇐=a

t 3t

t

t

(a) Rétrécissement par deux. (b) Effet sur la propagation.

Figure 8.2 – La lentille-duplicatrice appliquée à la propagation dans l’arbre.

La lentille-duplicatrice est appliquée à la machine générique (qui sera décrite dans le reste

Page 173: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

156 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

chapitre) par le schéma d’extension suivant :sauf indications contraires, tout signal −→σ est accéléré par ⇐=a et décéléré et dupliqué par tout

signal stationnaire s.Il y a néanmoins quelques cas spéciaux à gérer au moment de la décélération et de la duplica-

tion, certains signaux particuliers devant être stoppés à ce moment-là alors que d’autres doiventêtre changés en de nouveaux signaux comme c’est le cas par exemple des signaux de variables quidoivent devenir des signaux true et false. Mais dans tous les cas, ⇐=a accélère tous les signauxqu’il rencontre. La Figure 8.3 zoome sur un niveau particulier — le premier — et illustre l’effetde la lentille sur le faisceau (ainsi que l’assignation de la variable x1 codée ici par le plus hautsignal −→x , expliqué en Sous-sec. 8.2.1). Nous détaillons ci-dessous tous les cas correspondant àla définition de la lentille.

• Cas général : pour tout signal stationnaire s (plus exactement, s est parmi w, a◦, x, x◦, ∃L,∃R, ∀L et ∀R) et pour tout signal

−→i distinct de

−→ζ et −→z , on a :

{ −→i , ⇐=a } → { ⇐=a , =⇒i } { =⇒

i , s } → { ←−i , s,−→i }

• Cas de−→ζ et −→z : les règles d’application de la lentille aux signaux

−→ζ et −→z ont déjà été

données précédemment (c.f. Sous-sec. 8.1.1). Dans ce cas de signaux compteurs, le signalstationnaire est w, qui supprime le premier

=⇒ζ , puis devient a◦. Ce signal agit de la manière

spécifiée par le schéma de la lentille : il ralentit et dédouble les prochains signaux=⇒ζ et =⇒z ,

puis redevient de nouveau w.

• Cas de −→α : de même, les règles correspondant à ce cas ont été précédemment fournies. Cesrègles permettent de transformer les signaux stationnaires w en les spécifiant en signauxstationnaires x, dont le rôle sera d’assigner les signaux de variables en signaux booléens,suivant le même principe qu’au chapitre précédent.

• Cas des quantificateurs : le premier signal quantificateur —=⇒∀ ou

=⇒∃ — rentrant en col-

lision avec le signal stationnaire x est stoppé et transforme x en un signal stationnairecorrespondant — ∀D ou ∃D, avec D ∈ {R,L}. Les règles correspondantes sont :

{ x,⇐=∃ } → { ∃R } {

=⇒∃ , x } → { ∃L } { x,

⇐=∀ } → { ∀R } {

=⇒∀ , x } → { ∀L }

Les quantificateurs suivants sont décélérés et dupliqués par le nouveau signal stationnaire∀D ou ∃D (dans les règles suivantes, on a D ∈ {R,L}) :

{=⇒∃ , ∃D } → {

←−∃ , ∃D,

−→∃ } {

=⇒∃ , ∀D } → {

←−∃ , ∀D,

−→∃ }

{=⇒∀ , ∃D } → {

←−∀ , ∃D,

−→∀ } {

=⇒∀ , ∀D } → {

←−∀ , ∀D,

−→∀ }

8.2 Résolution de Q-SAT par une unique machine

Nous présentons ici les différentes étapes de la résolution générique de Q-SAT : la représen-tation des formules, leurs évaluations et la collecte des résultats partiels pour obtenir le résultatfinal.

8.2.1 Représentation des variables

Nous voulons que la variable xi soit assignée en valeurs booléennes au niveau i. Cela estréalisé en utilisant une pile de i− 1 signaux inhibiteurs et en appliquant les règles du Tab. 8.2.

Pour une variable xi, l’idée est de protéger le signal =⇒x d’être assigné en←−f et −→t avant

qu’il n’atteigne le ième niveau. Cela peut être réalisé en codant la variable xi par une pile de

Page 174: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.2. RÉSOLUTION DE Q-SAT PAR UNE UNIQUE MACHINE 157

i − 1 signaux=⇒β : à chaque niveau, le premier signal

=⇒β change le signal stationnaire x en un

signal x◦ (la version « non-assignante » de x). Les=⇒β suivants et le =⇒x de la pile sont simplement

dupliqués, =⇒x rechangeant x◦ en x. Ainsi, après i−1 niveaux, tous les−→β ont disparus. Finalement,

le signal =⇒x , n’étant plus protégé par des signaux−→β , rentre directement en collision avec x (au

lieu−→β comme dans les niveaux précédents). Cette collision produit enfin les signaux booléens,

conformément aux assignations possibles de xi :←−f est envoyé vers la gauche et −→t vers la droite.

La variable xi sera initialement codée par [var(xi)] = −→x−→βi−1

. Les deux cas (avec et sanssignaux protecteurs

−→β ) sont illustrés dans la Fig. 8.3.

{=⇒β , x } → { x◦ } {

=⇒β , x◦ } → {

←−β , x◦,

−→β }

{=⇒x , x } → {←−f , x, −→t } {=⇒x , x◦ } → { ←−x , x, −→x }

Tableau 8.2 – Assigner de manière générique les variables en booléens.

Figure 8.3 – Duplication du faisceau au premier niveau et assignation de x1 en booléens.

8.2.2 Représentation des formules

Pour résoudre Q-SAT par une machine à signaux générique, une formule booléenne quan-tifiée donnée en entrée doit être représentée par une configuration initiale de cette machine àsignaux. L’intuition est de compiler cette formule en un faisceau de signaux sous forme polonaiseinversée. Chaque type de nœud (connecteurs et variables) de la formule sera représenté par unou plusieurs méta-signaux (un type de méta-signal pour chaque connecteur, deux type de méta-signaux pour coder les variables selon la Sous-sec. 8.2.1). À cela s’ajoutent des méta-signauxqui seront utilisés pour l’évaluation de la formule : les méta-signaux représentant des fonctionsbooléennes d’évaluation partielle (les fonctions t(), f() et id() du chapitre précédent) ; des méta-signaux d’inhibition utilisés pour effectuer l’évaluation de manière générique ; et des versionsdésactivées des méta-signaux de connecteurs. Le Tableau 8.3 résume les différents types etrôles des méta-signaux utilisés pour représenter et évaluer une formule de manière générique.

Page 175: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

158 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

Type Rôle

∧, ∨, ¬ connecteurs

∧◦, ∨◦, ¬◦ connecteurs désactivés

∧+ fonction booléenne identité (évaluation partielle de ∧)

f+ fonction booléenne unaire fausse (évaluation partielle de ∧)

∨+ fonction booléenne identité (évaluation partielle de ∨)

t+ fonction booléenne unaire vraie (évaluation partielle de ∨)

γ, γ+ inhibiteurs

Tableau 8.3 – Méta-signaux permettant de représenter génériquement une formule booléenne.

Au niveau n + 1, toutes les variables ont été assignées, et sont devenues des signaux −→t ou−→f . La formule propositionnelle close — sans variables — ainsi obtenue peut être vue commeun arbre syntaxique et sa valeur de vérité peut être calculée par une approche bottom-up : unsignal résultant de l’évaluation d’une sous-expression est envoyé de façon à interagir avec sonconnecteur parent.

Une formule est représentée par un faisceau de signaux, chaque sous-formule étant elle-mêmecodée par un sous-faisceau de signaux contigus. Lorsqu’une sous-formule arrive au niveau n+ 1,elle initie son évaluation en percutant le signal stationnaire a. Une fois calculée, la valeur devérité de cette sous-formule est réfléchie de manière à interagir avec le prochain signal arrivantet correspondant à son connecteur parent.

Dans le cas des connecteurs binaires, son premier argument — un signal booléen — arriveavant, est réfléchi contre le signal vertical a et devient un signal booléen activé prêt à interagiravec un signal connecteur arrivant en sens opposé. Pour atteindre son signal connecteur parent, ildoit d’abord éventuellement traverser une partie du faisceau codant d’autres sous-expressions etne doit par interagir avec ces signaux, mais les traverser afin d’atteindre le signal correspondantà son connecteur parent. Pour cette raison, à chaque sous-expression est associé un faisceau −→γ k

d’inhibiteurs qui empêche la valeur de vérité résultante d’interagir avec les k premiers connecteursrencontrés et permet ainsi au résultat de l’évaluation d’une sous-expression d’interagir avec sonconnecteur parent même s’il n’est pas disposé immédiatement au-dessus de lui.

Nous notons C[[ψ]] le résultat de la compilation de ψ en un bloc de signaux parallèles, qui seraintégré à la configuration initiale, et on note ‖ ψ ‖ le nombre d’occurrences de connecteurs dansla formule ψ.

Le schéma de compilation suivant produit un faisceau de signaux dont la taille — le nombrede signaux — est au plus quadratique en la taille t de la formule d’entrée. Clairement, pourchaque nœud (i.e. symbole) de la formule, les signaux inhibiteurs −→γ produits sont en plus ennombre linéaire en t (car il y a moins d’un signal −→γ par symbole de connecteur de la formule). Laconfiguration C[[ψ]] est donc composé d’au plusO(t·t) = O(t2) signaux. La compilation est réaliséepar induction sur la structure de la formule par le schéma de la Fig. 8.4. La Figure 8.5 montre laconfiguration résultante du schéma de compilation pour l’exemple courant ϕ = ∃x1∀x2∀x3 (x1 ∧¬x2) ∨ x3 .

8.2.3 Évaluation des formules

Les règles de collisions correspondant à l’étape d’évaluation suivent les règles des connecteursbooléens classiques. Néanmoins, certains signaux spécifiques sont requis — les signaux inhibiteurs−→γ — afin de garantir qu’un connecteur interagit avec la valeur de vérité des sous-formulescorrespondant bien à ses arguments directs, et non pas avec la valeur booléenne d’une de ses sous-

Page 176: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.2. RÉSOLUTION DE Q-SAT PAR UNE UNIQUE MACHINE 159

C[[ψ]] = C[[ψ]]0

C[[ψ1 ∧ ψ2]]k =−→∧ −→γ k C[[ψ1]]0 C[[ψ2]]‖ψ1‖

C[[ψ1 ∨ ψ2]]k =−→∨ −→γ k C[[ψ1]]0 C[[ψ2]]‖ψ1‖

C[[¬ψ]]k = −→¬ −→γ k C[[ψ]]0

C[[xi]]k = [var(xi)] −→γ k

Figure 8.4 – Schéma de compilation générique d’une formule booléenne.

−→γ−→γ−→β−→β−→x−→β−→x−→¬−→x−→∧−→∨

(−→∨−→∧−→x −→¬−→x

−→β −→x−→β−→β −→γ −→γ )

Figure 8.5 – Configuration représentant la formule ϕ = ∃x1∀x2∀x3 (x1 ∧ ¬x2) ∨ x3.

formules indirectes. Les signaux −→γ permettent donc à un signal booléen résultat de l’évaluationd’une sous-formule de traverser le reste du faisceau jusqu’au connecteur parent direct de cettesous-formule. Le principe général est illustré par la Figure 8.6, qui montre le calcul de ψ(t, t, t)où ψ est la formule des exemples précédents : ceci correspond à l’évaluation de la formule ψ dansle cas x1 = x2 = x3 = t.

Comme pour l’évaluation spécifique du Chap. 7, lorsque le résultat de l’évaluation d’une sous-formule rencontre le signal stationnaire a au niveau n+1, les signaux booléens sont transformés enversion activée (notées en majuscules) : =⇒t devient

←−T et

=⇒f devient

←−F . Une version activée peut

alors interagir avec le premier signal de connecteur rencontré afin de calculer la valeur de vérité dela formule en suivant les règles données dans le Tab. 8.4. Celles-ci suivent les règles booléennesclassiques, et utilisent comme au Chap. 7 des signaux représentant des fonctions booléennesunaires : ce sont les signaux ∧+, f+ t+ (et ∨+ qui est, comme ∧+, une fonction identité), quijouent les rôles respectifs des fonctions id(), f() et t() de la Sous-sec. 7.3.2. Elles correspondentaux connecteurs binaires ayant déjà reçu leur premier argument, dont la valeur conditionne déjà lerésultat. Par exemple, une disjonction ayant reçu un premier argument vrai sera évaluée commevrai, indépendamment de la valeur du second argument : c’est le rôle du signal t+. D’autre part,comme nous l’avons déjà expliqué en Sous-sec. 8.2.2, des signaux inhibiteurs sont nécessairespour procéder à une évaluation générique. Ceux-ci permettent de désactivé certains connecteursafin qu’ils n’interagissent pas avec le prochain signal booléen les rencontrant.

La correction de l’évaluation est assurée par l’ordre des signaux générés par le schéma decompilation de la figure Fig. 8.4 et se montre par induction. Le cas de base d’une formule réduiteà une variable est immédiat. Prenons le cas d’une conjonction : soit une formule ψ = ψ1∧ψ2. Lacompilation produit dans ce cas la configuration C[[ψ1 ∧ ψ2]]k =

−→∧ −→γ k C[[ψ1]]0 C[[ψ2]]‖ψ1‖, où ‖ ψ1 ‖désigne le nombre d’occurrence de symboles de connecteur dans la formule ψ1. Par hypothèsed’induction, les formules ψ1 et ψ2 ont été évaluées correctement et les valeurs de vérité de cesévaluations se présentent sous forme de signaux booléens activés

←−B1 et

←−B2 se propageant depuis

le signal stationnaire a vers le faisceau de signaux −→∧ −→γ k. Le résultat←−B2 de l’évaluation de ψ2 est

accompagné d’un faisceau de ‖ ψ1 ‖ signaux inhibiteurs←−γ , qui se trouvent sous le signal booléend’après les schémas de la Fig. 8.4 : ces derniers traversent donc le faisceau de la formule ψ1 avantle signal

←−B2. Chaque signal inhibiteur ←−γ est désactive alors exactement un signal de connecteur

de ψ1, qui l’annihile. Le signal←−b traverse ainsi le faisceau de la formule ψ1 sans interagir avec

les connecteurs, et atteint ensuite le signal −→∧ (après avoir traversé le faisceau −→γ k avec lequelles signaux booléens n’interagissent pas). Le résultat de l’évaluation de ψ1 atteint quant à lui

Page 177: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

160 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

=⇒γ a

=⇒γ

←−γ+

=⇒γ

a

=⇒t←−γ+

=⇒t

←−γ+

=⇒ta

=⇒t ←−γ+

=⇒t←−γ+

=⇒¬ ←−γ+

=⇒¬◦ ←−γ+

=⇒t ←−T

=⇒t

a

=⇒t ←−γ+ =⇒¬◦←−T

=⇒¬ ←−T=⇒∧ ←−γ

+=⇒t

←−T=⇒f

a

=⇒∧◦

←−T =⇒t

←−F

=⇒t

a

=⇒∨

←−T =⇒∧←−F

=⇒f+ ←−T

=⇒f

a

=⇒t+

←−F=⇒t

a

=⇒s

←−T=⇒T

a

=⇒c

t

←−t

Figure 8.6 – Évaluation de la formule ∃x1∀x2∀x3 (x1 ∧¬x2)∨ x3 dans le cas x1 = x2 = x3 = t.

directement le connecteur −→∧ : celui-ci reçoit alors bien les deux signaux←−B1 et

←−B2, résultats de

l’évaluation des sous-formules ψ1 et ψ2. L’évaluation de B1 ∧B2 est alors effectuée en suivant lesrègles du Tab. 8.4(b). Le résultat est ensuite activé en rebondissant sur a, et se propage ensuiteprécédé du faisceau d’inhibiteurs ←−γ k, à la rencontre des faisceaux de sous-formules non encoreévaluées.

Sauvegarde et mise en place des résultats Afin de rendre les résultats des évaluationsfacilement exploitables lors de l’étape suivante — la phase de collecte — le résultat de l’évaluationest stocké sous forme d’un signal booléen stationnaire à la sortie du niveau n + 1 : il remplacele signal a, qui devient t ou f. Cette opération est effectuée en rajoutant le bloc [store] dansla configuration initiale, où [store] = −→s . Les règles de collisions correspondantes sont donnéespar le Tab. 8.5 : elles permettent de projeter une version activée (en majuscule) des booléens surle signal stationnaire. Le fait que le booléen projeté soit une version activée (et non une versionnon-activée, notée en minuscule, comme c’était le cas lors de l’évaluation) signifie qu’il constituele résultat final de l’évaluation : celui remplace alors le signal stationnaire.

Page 178: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.2. RÉSOLUTION DE Q-SAT PAR UNE UNIQUE MACHINE 161

(a) Rebonds et activations.

{ =⇒t , a } → {←−T , a }

{=⇒f , a } → {

←−F , a }

{ =⇒γ , a } → { ←−γ+, a }

(b) Conjonction.

{ =⇒∧ ,←−T } → { =⇒∧+ }

{=⇒f+,←−T } → {

=⇒f }

{ =⇒∧+,←−T } → { =⇒t }

{ =⇒∧ ,←−F } → {

=⇒f+ }

{=⇒f+,←−F } → {

=⇒f }

{ =⇒∧+,←−F } → {

=⇒f }

(c) Disjonction.

{ =⇒∨ ,←−T } → { =⇒t+ }

{ =⇒t+,←−T } → { =⇒t }

{ =⇒∨+,←−T } → { =⇒t }

{ =⇒∨ ,←−F } → { =⇒∨+ }

{ =⇒t+,←−F } → { =⇒t }

{ =⇒∨+,←−F } → {

=⇒f }

(d) Négation.

{ =⇒¬ ,←−T } → {

=⇒f }

{ =⇒¬ ,←−F } → { =⇒t }

(e) Inhibition.

{ =⇒∧ , ←−γ+ } → {=⇒∧◦ }

{ =⇒∨ , ←−γ+ } → {=⇒∨◦ }

{ =⇒¬ , ←−γ+ } → { =⇒¬◦ }

(f) Désinhibition.

{ =⇒∧◦,←−T } → {

←−T , =⇒∧ }

{ =⇒∨◦,←−T } → {

←−T , =⇒∨ }

{ =⇒¬◦,←−T } → {

←−T , =⇒¬ }

{ =⇒∧◦,←−F } → {

←−F , =⇒∧ }

{ =⇒∨◦,←−F } → {

←−F , =⇒∨ }

{ =⇒¬◦,←−F } → {

←−F , =⇒¬ }

Tableau 8.4 – Évaluer de manière générique une formule.

{ =⇒s ,←−T } → {

=⇒T } { =⇒s ,

←−F } → {

=⇒F } {

=⇒T , a } → { t } {

=⇒F , a } → { f }

Tableau 8.5 – Sauvegarder le résultat.

8.2.4 Collecte et résultat final

Comme expliqué précédemment, les résultats de l’évaluation de chaque cas doivent être re-groupés en respectant les quantificateurs. Chaque variable correspondant à un niveau, les résul-tats seront regroupés deux par deux et pour une variable liée par un quantificateur existentiel(respectivement universel), les résultats des sous-cas correspondant à cette variable seront com-binés en utilisant un ∨ (respectivement un ∧).

L’étape de collecte est préparée à chaque niveau de l’arbre binaire de décision en transformantà la fin du passage et du dédoublement du faisceau les signaux stationnaires en version quantifi-cateurs. Ces signaux stationnaires codant les quantificateurs doivent également coder la directiondans laquelle envoyer la combinaison logique (∨ ou ∧) des résultats de deux sous-cas. Ainsi, lesignal ∃L représente un ∨ — un quantificateur existentiel — dont le résultat sera envoyé vers lagauche (mémorisé par l’indice L). Les règles pour mettre en place les signaux stationnaires desquantificateurs sont données par le Tab. 8.6, et sont les mêmes que celles définies pour appliquerla lentille au cas des quantificateurs. Le bloc de la configuration initiale correspondant à cetteétape est donné par [quantif(Q1x1 · · ·Qnxn)] =

−→Qn . . .

−→Q1.

{ x,⇐=∃ } → { ∃R } {

=⇒∃ , x} → { ∃L } { x,

⇐=∀ } → { ∀R } {

=⇒∀ , x} → { ∀L }

Tableau 8.6 – Mettre en place les quantificateurs pour la collecte.

La collecte des résultats est déclenchée par le signal −→c et est ensuite réalisée en suivant lesrègles données dans le Tab. 8.7. Les résultats booléens arrivant de gauche et droite sont alorscombinés deux par deux, résultant en un signal booléen correspondant à une disjonction ou uneconjonction des deux signaux booléens entrants. Ceci est possible grâce à un signal stationnaire

Page 179: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

162 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

indiquant le type d’opération à effectuer (une conjonction pour ∀ et une disjonction pour ∃) etla direction du signal résultant (L pour gauche et R pour droite).

Le processus complet de collecte est illustré en Fig. 8.7 et son déclenchement est codé par lebloc suivant de la configuration initial : [collect] = −→c .

(a) Initier la collecte.

{ =⇒c , t } → { ←−t }

{ =⇒c , f } → {←−f }

(b) Réaliser une disjonction.

{ −→t , ∃L,←−t } → { ←−t }

{ −→t , ∃L,←−f } → { ←−t }

{−→f , ∃L,

←−t } → { ←−t }

{−→f , ∃L,

←−f } → {

←−f }

{ −→t , ∃R,←−t } → { −→t }

{ −→t , ∃R,←−f } → { −→t }

{−→f , ∃R,

←−t } → { −→t }

{−→f , ∃R,

←−f } → {

−→f }

(c) Réaliser une conjonction.

{ −→t , ∀L,←−t } → { ←−t }

{ −→t , ∀L,←−f } → {

←−f }

{−→f , ∀L,

←−t } → {←−f }

{−→f , ∀L,

←−f } → {

←−f }

{ −→t , ∀R,−→t } → { −→t }

{ −→t , ∀R,−→f } → {

−→f }

{−→f , ∀R,

−→t } → {−→f }

{−→f , ∀R,

−→f } → {

−→f }

Tableau 8.7 – Collecter de manière générique les résultats en respectant les quantificateurs.

−→f

∀ R

←−t −→f ∀ L

←−t −→t

∀ R

←−t −→f ∀ L

←−t

−→f

∀ R

←−f −→t

∀ L

←−f

−→f

∃ L

←−f

←−f

Figure 8.7 – Collecte des résultats.

Diagramme global. Toutes les étapes précédentes mises ensemble constituent le diagrammede la Fig. 8.8 : il représente une exécution de la machine sur la configuration initiale correspon-dant à la formule ∃x1∀x2∀x3 (x1∧¬x2)∨x3. Cette formule est une instance négative au problèmeQ-SAT, et la réponse finale obtenue se lit sur le diagramme par le signal de type booléen touten haut de la construction et qui se dirige à gauche : ici, le signal est donc de type faux.

La Figure 8.9 propose un zoom sur la configuration initiale du diagramme. Celle-ci s’obtienten concaténant tous les blocs détaillés au cours des sections précédentes. Ainsi,la configuration ob-tenue s’écrit sous forme de la séquence (−→c

−→Qn . . .

−→Q1−→s C[[ψ]]−→α n−→z

−→ζnw −→a =⇒a w) i.e. sous forme de

blocs : ([collect][quantif(Q1x1 · · ·Qnxn)][store]C[[ψ]][decide(n)][until(n+1)][tree]).Concernant la position des signaux : comme nous avons vu en Sous-sec. 8.1.1, pour garantir

la bonne propagation du faisceau, la partie du faisceau générant l’arbre devait être incluse dansl’intervalle ] − 1

3 ; 0]. La validité globale sera donc assurée en insérant la configuration ci-dessus

Page 180: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.2. RÉSOLUTION DE Q-SAT PAR UNE UNIQUE MACHINE 163

Figure 8.8 – Diagramme global de résolution générique de la formule ∃x1∀x2∀x3 (x1∧¬x2)∨x3.

(−→c−→∀−→∀−→∃−→s −→∨−→∧−→x −→¬−→x

−→β −→x−→β−→β −→γ −→γ −→α−→α−→α−→z

−→ζ−→ζ−→ζ w−→a =⇒a )

Figure 8.9 – Configuration initiale correspondant à la formule ϕ = ∃x1∀x2∀x3 (x1 ∧ ¬x2) ∨ x3

(le signal w présent tout à droite n’est pas représenté ici).

(excepté le dernier signal w qui sera en position 1) dans l’intervalle ]− 13 ; 0]. À partir de la taille

s de la configuration initiale générée, on en déduit qu’en mettant tous les signaux dans l’ordredepuis la gauche aux positions −1

3 + i3s (1 ≤ i ≤ s). On sait également que s est borné par

t2 + 3t+ 3, où t désigne la taille de la formule (le terme quadratique provient de la configurationC[[ψ]], les autres blocs n’ayant qu’un apport linéaire).

Il est également possible de ne pas disposer les signaux du faisceau à intervalles réguliers, dumoment que le faisceau est entièrement contenu dans l’intervalle de départ ]− 1

3 ; 0] (en fait, unintervalle plus large convient encore, du moment que le bloc [until(n)] reste entre −1

3 et 0).C’est ce qui a été fait pour générer un diagramme plus lisible et avoir un faisceau plus espacéen configuration initiale : les signaux deviennent de plus en plus rapprochés vers la gauche dufaisceau (chaque signal est à une distance du signal qui le précède à droite, égale à un dixièmede la distance totale restant à disposition pour être contenue dans l’intervalle ]1

2 ; 0[).

Page 181: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

164 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

8.3 Correction et complexités de la construction

Comme nous l’avons déjà mentionné, la construction se décompose en de nombreux modules,qui ont tous déjà été mentionnés au Chap. 6. Le diagramme précédent peut ainsi s’écrire commeune séquence de compositions parallèles et séquentielles de modules. On en déduit que le calculcorrespondant au diagramme est bien celui attendu, en nous basant largement sur les notions etl’étude des exemples faite dans le Chap. 6.

8.3.1 Preuve de correction

La machine générique résolvant Q-SAT est composée de tous les méta-signaux et règlesdonnés dans les tables de ce chapitre. Elle s’obtient également par union des machines sous-jacentes aux modules correspondant aux différentes étapes : la machine d’approximation géné-rique de l’arbre avec lentille-duplicatrice, la machine de représentation-évaluation de la formuleet la machine de jonction de booléens. Les principaux modules sont les modules d’initiation, depropagation, de duplication-concentration du faisceau, d’évaluation et de jonction des résultats.Tous ces modules, mis à part le module d’initiation, sont des R-modules (le module d’initiationétant défini comme un T -module). Ces modules ont été choisis et définis de telle sorte que leurcomposition parallèle et séquentielle soit naturelle. Chaque étage de la construction est constituéepar une composition parallèle de plusieurs modules du même type (c’est en fait même une paral-lélisation de modules). Les étages sont ensuite empilés suivant des compositions séquentielles. LaFigure 8.10 est une décomposition en modules du diagramme espace-temps précédent 1 , quenous allons maintenant commenter.

Le module d’initiation consiste juste en la propagation du faisceau de la configuration initialejusqu’à ce qu’il se retrouve entièrement entre les deux murs w, qui délimitent l’espace qui serautilisé par l’arbre. Les configurations entrantes et sortantes de ce module sont quasiment lesmêmes (à translations près) : seul le signal rapide de construction de l’arbre peut éventuellementêtre devenu sa version symétrique après le rebond contre le mur de droite. Cela dépend en faitde la largeur initiale du faisceau et donc du temps mis par le faisceau initial pour pénétrerentièrement l’espace entre les deux murs.

Les modules de propagation impliquent deux processus : le faisceau codant la formule sepropage suivant l’arbre, et dans un même temps les signaux de construction de l’arbre — plusrapides que le faisceau — se propagent vers les murs puis rebondissent pour revenir vers lefaisceau. Ces modules produisent des configurations de sortie contenant le même faisceau qu’enentrée. La fin de fonctionnement de ce module est marquée par la collision entre les signaux deconstruction de l’arbre (le signal rapide et le signal lent de la base du faisceau). Cette collisionproduit les signaux et la configuration requise pour l’application de la lentille-duplicatrice.

La version de la lentille-duplicatrice utilisée ici est une version non-nettoyante : les signauxd’accélération et de décélération (également signal de duplication/assignation), continuent de sepropager après l’application de la lentille. Cette étape produit ainsi deux configurations symé-triques, de même structure que les configurations entrantes : un faisceau et le signal rapide deconstruction de l’arbre se propageant entre deux signaux w. Le faisceau est cependant légèrementmodifié : les piles de signaux compteurs se décrémentent et les signaux de variables correspon-dant aux niveaux sont assignés en valeurs booléennes. La configuration de sortie du module deconcentration permet d’appliquer un module de propagation de manière parallèle et symétriquesur les deux configurations ainsi obtenues.

Après une application alternée de modules de propagation et duplication-concentration etaprès que les signaux compteurs utilisés pour couper l’arbre fractale au niveau voulu (n niveaux

1. Pour plus de clarté, les proportions du diagramme de la Fig. 8.10 ne sont pas respectées sur le schémade décomposition (notamment, les modules de propagation ont dans le schéma une durée beaucoup plus grandequ’ils ne l’ont dans le diagramme).

Page 182: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.3. CORRECTION ET COMPLEXITÉS DE LA CONSTRUCTION 165

initiation

propagation

duplication

propagation propagation

duplication duplicationprop. prop. prop. prop.

éval. éval. éval. éval. éval. éval. éval. éval.

jonction jonction jonction jonction

jonction jonction

jonction

résultat final

propagation dans l’arbre

évaluations

collecte des résultats

réponse finale

Figure 8.10 – Décomposition en modules du diagramme de la Fig. 8.8.

pour n variables) ont tous été épuisés, la construction de l’arbre stoppe, et le processus de lentille-duplication s’arrête. Le processus d’évaluation des formules booléennes s’opère alors. Constatonsd’abord qu’aucun des faisceaux présents au dernier niveau de l’arbre ne contient de signauxde variables : seuls persistent dans les signaux de connecteurs logiques, les signaux booléens,les signaux inhibiteurs et les signaux déclencheurs de la collecte. En effet, les variables sontreprésentées par des piles contenant un signal de type x et au plus n − 1 signaux β, et commeun signal β disparaît à chaque niveau et que le signal x est assigné en signal booléen quand il nereste plus que lui dans la pile, il s’ensuit que ces signaux ont tous disparus après n niveaux, nelaissant à leur place que des signaux de type t ou f.

Les modules d’évaluations sont composés parallèlement comme vu dans l’Ex. 8. Chacunde ces modules produit un seul signal booléen correspondant au résultat de l’évaluation pourune assignation des variables. La configuration-jonction de tous les signaux booléens fournit une

Page 183: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

166 CHAPITRE 8. RÉSOLUTION GÉNÉRIQUE DE Q-SAT

configuration permettant d’appliquer des modules de jonction de booléens deux-à-deux comme vuen Ex. 10. En composant ainsi successivement de tels modules de jonctions de manière parallèle,puis séquentielle, on obtient une configuration finale ne contenant qu’un seul signal booléen entreles deux signaux murs : ce signal représente le résultat final.

Soient distrib et collect les modules respectivement définis par :

collect = answer ◦ (jonc ◦ (‖2jonc. . . ((‖2n−2jonc) ◦ (‖2n−1

jonc)) . . .)) et

distrib = (‖2n(prop ◦ dup)) ◦ (. . . ◦ (‖2(prop ◦ dup) ◦ (prop ◦ dup)))où ◦ et ‖k désignent respectivement la composition séquentielle de deux modules et la paralléli-sation de k fois le même module. Le diagramme se décompose alors de la façon suivante :

collect ◦ (‖2neval ◦ (distrib ◦ (prop ◦ init))) .

Il est fastidieux mais aisé de vérifier que chaque configuration de sortie d’un module corres-pond bien à une configuration d’entrée valide pour le module suivant avec lequel il est composéséquentiellement (le cas des compositions parallèles étant immédiat). En respectant les interpré-tations de modules ainsi que les interprétations des compositions, on obtient ainsi que la fonctioncalculée par le module global résultant est la fonction Eval : {ϕ formule booléenne quantifiée} 7→{vrai, faux}, qui fournit la valeur de vérité d’une formule booléenne quantifiée.

8.3.2 Analyse des complexités

Soit t la taille de la formule et n le nombre de variables. La largeur de collisions — complexitéen espace — est alors exponentielle. En effet, au moment de l’évaluation, 2n calculs indépendantssont exécutés en parallèle, chacun impliquant au plus t2 signaux. Le nombre de signaux existantsimultanément est donc en O(t2 · 2n).

Concernant la profondeur de collisions — complexité en temps — il faut tout d’abord remar-quer que le processus de compilation génère une configuration initiale contenant au plus O(t2)signaux. En effet, pour chaque sous-formule, un nombre de signaux au plus linéaire en t estajouté, et t étant la taille de la formule, on obtient que le module codant la formule contientau plus O(t2) signaux. Les autres modules contenant au plus un nombre linéaire de signaux, lataille de la configuration initiale est donc bien en O(t2).

La première contribution au nombre de collisions suivant un chemin ascendant provient ducroisement entre les faisceaux dupliqué et incident au moment de la duplication. Un signal croiseradonc l’intégralité du faisceau réfléchi, donnant lieu à O(t2) collisions blanches. Comme il y a nniveaux, le nombre total de collisions jusqu’à l’étape d’évaluation sera de O(n · t2), c’est-à-direcubique en la taille de la formule. Les étapes suivantes (évaluation et collecte) n’apporte qu’unnombre au plus quadratique de collisions. On obtient finalement une profondeur de collisions quiest cubique en la taille de la formule.

Ces faits découlent directement des résultats de Sous-sec. 6.4 : le Lem. 28 affirme en effet quela profondeur (resp. largeur) de collision d’une composition parallèle est donnée par le maximum(resp. par la somme) des profondeurs des modules composés ; le Lem. 29 énonce que dans le casd’une composition séquentielle, la somme des profondeurs (resp. largeurs) borne la profondeur(resp. la largeur) du module global.

Ici, la largueur de collision est donnée par la composition parallèle des 2n modules d’évalua-tions, chacun ayant une largeur de collision en O(t2) : on retrouve bien le résultat O(t2 · 2n).

En appliquant le lemme à la profondeur de collisions des compositions séquentielles successivesdes modules de propagation et duplication, on retrouve bien une profondeur de collision en O(t3).En effet, le faisceau ayant un nombre de signaux quadratique en la taille de la formule, et laduplication des faisceaux ajoutant à la profondeur de collision un nombre linéaire en la taille dufaisceau, on obtient en sommant sur les n niveaux une profondeur de collision globale en O(n · t2)i.e. en O(t3).

Page 184: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

8.3. CORRECTION ET COMPLEXITÉS DE LA CONSTRUCTION 167

8.3.3 Différences entre les versions spécifique et générique

La machine générique présentée ici résout uniquement le problème Q-SAT, mais elle permetaussi de résoudre facilement le problème SAT de manière générique. En effet, une instance duproblème SAT est une formule propositionnelle sans quantificateur dont on veut décider si elleest satisfaisable ou non. Une telle instance peut être vue comme une instance particulière duproblème Q-SAT, dont tous les quantificateurs sont existentiels.

Diagrammes commutatifs de résolution. Pour conclure la présentation des résolutionsgéométriques du problème Q-SAT, nous résumons les deux approches — spécifique et géné-rique — par les diagrammes commutatifs correspondant. On note S et G les algorithmes decompilation d’une formule ϕ respectivement une machine spécifique M

spe(ϕ)Q-SAT (avec la confi-

guration associée c0, qui ne dépend pas de ϕ, comme vu au Chap. 7) et une configurationgénérique cϕ0 . C’est-à-dire que l’on a S(ϕ) = (M

spe(ϕ)Q-SAT, Config[0]) et G(ϕ) = cϕ0 . L’algorithme

S s’obtient par une composition séquentielle des algorithmes présentés au Chap. 7, et l’algo-rithme G se déduit surtout du schéma de compilation de la Fig. 8.4 (les autres blocs contribuantà la configuration étant simples). D’après les chapitres précédents, on a bien pour toute for-mule booléenne quantifiée (f.b.q.) ϕ Q-SAT(ϕ) = interpretation(M

spe(ϕ)Q-SAT(c)) et Q-SAT(ϕ) =

interpretation(MgenQ-SAT(cϕ0 )). Les diagrammes commutatifs donnés par la Fig. 8.11, illustrent le

fait que les méthodes présentées ici constituent bien des résolution géométriques au sens desDéf. 24 et 25. Les fonctions de représentation des entrées étant fournies par les algorithmes S etG, celles-ci sont calculables. Elles sont de plus injectives. De même, les fonctions d’interprétationsont calculables (ils suffit de calculer la valeur du signal booléen dans la configuration finale, quiest rationnelle) et surjectives.

{ϕ f.b.q.} Q-SAT//� _

S��

{vrai, faux}

{(Mspe(ϕ)Q-SAT, c0)}

Mspe(ϕ)Q-SAT

// {Dϕ}

interpretation

OOOO

(a) Résolution spécifique.

{ϕ f.b.q.} Q-SAT//� _

G��

{vrai, faux}

{cϕ0 } MgenQ-SAT

// {Dϕ}

interpretation

OOOO

(b) Résolution générique.

Figure 8.11 – Les deux résolution du problème Q-SAT sur machines à signaux.

Tailles des machines et complexités. Alors que pour la résolution spécifique, la taille de lamachine dépendait de manière quadratique de la taille de la formule, la machine générique a quantà elle une taille fixe par définition. La machine présentée dans ce chapitre a été implémentée parexactement 121 méta-signaux et 196 règles de collisions (non blanches). Cette implémentationn’est pas optimale : certains méta-signaux peuvent être utilisés pour plusieurs rôles différents,mais cela se ferait au détriment d’une séparation nette entre les différents modules.

Les configurations initiale différent également très nettement : alors que dans le cas spécifique,la configuration est fixe (5 signaux initiaux pour la résolution spécifique avec calibrage du faisceaupar la première méthode), celle de la machine générique dépend de la formule et sa taille est auplus quadratique en la taille de l’instance d’entrée.

La profondeur de collision prend un degré polynomial (de quadratique à cubique) lorsqu’onpasse de la version non-générique à la version générique. La configuration initiale générique estplus complexe que dans le cas spécifique, mais elle est robuste et sa compilation reste simple.

Concernant ce problème sur machines à signaux, le prix de la généricité peut donc être évaluéà un degré polynomial.

Page 185: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 186: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Chapitre 9Variantes autour du problème SAT

La machine à signaux générique présentée au Chap. 8 résolvant le problème Q-SAT per-met également de résoudre facilement le problème SAT de manière générique : une instancedu problème SAT peut être vue comme une instance particulière du problème Q-SAT donttous les quantificateurs sont existentiels. Nous présentons ici comment cette machine peut êtremodifiée afin de résoudre, toujours de manière générique, d’autres types de problèmes de satis-faisabilité booléenne : #SAT, All-SAT et Max-SAT. Ces problèmes sont respectivementdes problèmes de comptage, énumération et optimisation. Les constructions présentées dans cechapitre illustrent la capacité des machines à signaux à résoudre efficacement des problèmesautres que les problèmes de décisions, souvent les seuls considérés sur la plupart des modèlesnon-conventionnels de calculs.

Comme les constructions présentées dans ce chapitre sont des variantes de la construction duChap. 7, elles sont toutes basées sur l’arbre binaire fractale, utilisé pour décider les variables etopérer les évaluations d’une formule booléenne pour toutes les assignations de variables possibles.Grâce à l’approche modulaire, nous pouvons facilement modifier la machine résolvant Q-SATpour obtenir les machines résolvant les problèmes considérés ici. L’intuition est d’ajouter aprèsl’étape d’évaluation de nouveaux modules, correspondant aux diverses fonctions requises pourrésoudre les problèmes considérés. La facilité avec laquelle ces nouvelles machines sont obtenuesà partir de celle donnée au Chap. 8 illustre la puissance de l’approche modulaire.

Nous commencerons par traiter le cas de #SAT, connu pour être un problème difficile decomptage. Nous proposerons ensuite des solutions géométriques aux problèmes One-SAT etAll-SAT, qui sont des problèmes respectivement de recherche de certificat et d’énumération.Enfin, nous finirons en discutant du problème d’optimisation Max-SAT sur machines à signaux.

9.1 Le problème #SAT

Le problème #SAT est défini comme le problème de comptage du nombre de solutions duproblème SAT c’est-à-dire qu’étant donnée une formule propositionnelle ϕ, on souhaite calculerle nombre d’assignations de variables satisfaisant ϕ :

Problème #SATentrée : une formule propositionnelle ϕ(x1, . . . , xn).sortie : le nombre d’assignations de (x1, . . . , xn) satisfaisant ϕ.

On rappelle que ce problème est complet pour la classe de complexité #P, définie comme laclasse des problèmes NP dont les solutions peuvent être comptées en temps polynomial par unemachine de Turing déterministe. On renvoie à [Papadimitriou 1994, Th. 18.1, p. 442] pour unepreuve de #P-complétude et pour plus de détails et résultats sur la classe #P.

169

Page 187: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

170 CHAPITRE 9. VARIANTES AUTOUR DU PROBLÈME SAT

Pour résoudre #SAT sur machine à signaux, le principe est de réutiliser la machine génériquepermettant de résoudre SAT, que l’on modifie en ajoutant un module qui compte le nombre designaux t (i.e. les booléens vrai) au moment de la collecte des résultats. Comme chaque évaluationqui produit un signal t correspond à une assignation des variables qui satisfait la formule, cettesomme est la valeur recherchée.

L’additionneur binaire modifié. Le décompte des solutions est réalisé grâce à une variantedu module additionneur binaire formalisé dans l’Ex. 5. Nous préférons utiliser ici une variante dece module dans laquelle l’addition de deux bits s’effectue en une seule collision, comme illustré parla Fig. 9.1 qui donne le diagramme du calcul binaire de 3 et 5 par cette version de l’additionneur.Nous définissons pour cela des règles de triples collisions, données par le Tab. 9.1. Les règles sontdonnées seulement pour la version envoyant le résultat à droite. La direction du résultat estindiquée par l’exposant R dans le nom des méta-signaux concernés, et les règles pour l’exposantL (résultat envoyé à gauche) sont similaires mais avec un signal sortant de vitesse −1. Lesprincipales différences avec l’additionneur donné au Chap. 3 est l’utilisation de signaux verticauxpour reporter la retenue, et l’utilisation d’un signal end pour décaler le signal

−→end afin d’ajouter

un signal supplémentaire au faisceau dans le cas de la création d’un nouveau bit, comme pourl’exemple de la Fig. 9.1.

−→0←−0

+R0

−→1+R

0 ←−1−→end

+R1

←−1

+R1

←−end

e nd

←−sup−→sup

+R0

−→end−→sup −→1 −→0 −→0 −→0

Figure 9.1 – Calcul de 2 + 6 avec l’additionneur binaire modifié.

L’additionneur binaire ainsi obtenu n’est pas robuste car les deux faisceaux doivent être enpartie symétrique au niveau des positions, de telle sorte que les collisions triples se réalisent etavec deux signaux correspondant au même rang de bits. Néanmoins, cet additionneur est adaptéà la construction considérée ici, dans laquelle la propagation assure la symétrie de positionsdes faisceaux dupliqués. Il permet notamment d’assurer une meilleure synchronisation de toutesles additions effectuées en parallèles, les triples collisions de chaque niveau de la collecte étantsimultanées.

Dénombrement des assignations. L’étape de collecte des résultats nécessite la mise en placedes signaux verticaux +R

0 et +L0 déclencheurs des additions à chaque étage de la collecte. Ces

signaux sont créés à chaque niveau de l’arbre, au moment de la duplication du faisceau, grâceaux règles {−→+ , x} → {+L

0 } et {x,←−+} → {+R

0 } (où le méta-signal x est le même que celui utiliséau Chap. 8). Une pile de n signaux −→+ (un par niveau) doit alors être ajoutée au faisceau initial,contribuant ainsi à la configuration initiale par la sous-configuration (

−→+n).

Page 188: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

9.1. LE PROBLÈME #SAT 171

(a) Méta-signaux et vitesses.

−→0 ,−→1 ,−→end, −→sup 1

←−0 ,←−1 ,←−end, ←−sup −1

+R0 , +R

1 0

end 1/3

(b) Addition simultanée de bits.

{−→0 ,+R

0 ,←−0 } → { +R

0 ,−→0 }

{−→0 ,+R

1 ,←−0 } → { +R

0 ,−→1 }

{−→1 ,+R

0 ,←−0 } → { +R

0 ,−→1 }

{−→1 ,+R

1 ,←−0 } → { +R

1 ,−→0 }

{−→0 ,+R

0 ,←−1 } → { +R

0 ,−→1 }

{−→0 ,+R

1 ,←−1 } → { +R

1 ,−→0 }

{−→1 ,+R

0 ,←−1 } → { +R

1 ,−→0 }

{−→1 ,+R

1 ,←−1 } → { +R

1 ,−→1 }

(c) Fin d’un faisceau binaire.

{−→0 ,+R

0 ,←−end } → { +R

0 ,−→0 }

{−→0 ,+R

1 ,←−end } → { +R

0 ,−→1 }

{−→1 ,+R

0 ,←−end } → { +R

0 ,−→1 }

{−→1 ,+R

1 ,←−end } → { +R

1 ,−→0 }

(d) Gestion des bitssupplémentaires seuls.

{−→0 ,+R

0 } → { +R0 ,−→0 }

{−→0 ,+R

1 } → { +R0 ,−→1 }

{−→1 ,+R

0 } → { +R0 ,−→1 }

{−→1 ,+R

1 } → { +R1 ,−→0 }

(e) Gestion du dernier bit.

{−→end,+R

0 ,←−end } → { +R

0 ,−→end }

{−→end,+R

1 ,←−end } → { +R

0 ,−→1 ,end }

{−→end,+R

0 } → { +R0 ,−→end }

{−→end,+R

1 } → { +R0 ,−→1 ,end }

(f) Fin de fusion des faisceaux.

{ end,←−sup } → { ←−sup,−→end }

{ −→sup,+R0 ,←−sup } → { −→sup }

Tableau 9.1 – La machine Mmodifadd : méta-signaux et règles.

L’étape de collecte est déclenchée par les signaux stationnaires +R0 et +L

0 , mais les faisceauxbinaires doivent auparavant être initialisés. Juste après l’évaluation des formules, les seules in-terprétations possibles des faisceaux binaires sont 0 et 1 (selon si l’assignation satisfait ou non laformule). La mise en place de ces faisceaux binaires se fait grâce à l’ajout de la sous-configuration(−→sup−→end−→0 ) à la fin du faisceau initial, et aux règles du Tab. 9.2, qui permettent d’incrémenter

le faisceau binaire (de valeur initiale 0) de 1 si la valeur obtenue dans le cas d’une évaluationest t. La Figure 9.2 illustre les deux cas possibles. L’étape de collecte est ensuite réalisée grâceaux additions binaires (par la machine Mmodif

add ) en parallèle, puis niveau par niveau, de tous lesfaisceaux ainsi produits.

{=⇒end, t } → {

←−end } { =⇒sup, t } → { ←−sup } { =⇒

0 , t } → { ←−1 }

{=⇒end, f } → {

←−end } { =⇒sup, f } → { ←−sup } { =⇒

0 , f } → { ←−0 }

Tableau 9.2 – Déclencher le dénombrement des solutions.

=⇒0f

f=⇒end

f=⇒sup

←−sup←−end←−0

(a) Cas d’une assignation ne satisfaisant pas la formule.

=⇒0 t

t=⇒end

t=⇒sup

←−sup←−end←−1

(b) Cas d’une assignation satisfaisant la formule.

Figure 9.2 – Initier le décompte des assignations satisfaisant la formule.

Nous ne détaillons pas les autres versions symétriques et les versions rapides de tous les

Page 189: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

172 CHAPITRE 9. VARIANTES AUTOUR DU PROBLÈME SAT

méta-signaux supplémentaires utilisés ici (qui sont de type +, +R0 , +L

0 , 0, 1, end et sup), ainsique les règles de collisions nécessaires à leur propagation dans l’arbre (notamment au niveau dela lentille) : ces dernières respectent en effet le schéma de règles de la lentille-duplicatrice donnéen Sous-sec. 8.1.2.

Diagramme global. Les diagrammes globaux de résolution géométrique de #SAT sont simi-laires aux diagrammes de résolution de Q-SAT, la seule différence étant que l’étape de collectedes résultats nécessite des faisceaux et non plus de simples signaux seuls. Un exemple de teldiagramme est donné par la Fig. 9.3(a), qui fournit le diagramme global d’une résolution de#SAT pour l’instance ϕ = x1 ∧ (¬x2 ∨ x3). La Figure 9.3(b) présente un zoom sur le résultatobtenu, constitué par le faisceau qui traverse le mur tout en haut à gauche. Après la suppressiondu signal ←−sup, on obtient comme sortie un faisceau binaire qui représente la valeur 3, correspon-dant bien au nombre d’assignations de (x1, x2, x3) en booléens de telle sorte que ϕ(x1, x2, x3)soit satisfaite.

Notons que par rapport à la machine résolvant Q-SAT, seuls dix méta-signaux supplémen-taires sont nécessaires pour résoudre #SAT (soit 131 méta-signaux au total). Il faut en revanchedéfinir une cinquantaine de nouvelles règles de collisions non blanches (soit 245 règles en tout),qui proviennent surtout de l’étape de collecte, plus complexe pour #SAT que pour Q-SAT(notamment à cause de l’additionneur binaire).

(a) Diagramme global.

←−sup

w

←−1

←−1←−end

w

←−1

←−1←−end

(b) Le faisceau résultat.

Figure 9.3 – Résolution de #SAT pour l’instance ϕ = x1 ∧ (¬x2 ∨ x3). Le faisceau sortanten haut à gauche représente le nombre 3 en binaire, qui correspond au nombre d’assignationssatisfaisant ϕ.

Page 190: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

9.2. LES PROBLÈMES ONE-SAT ET ALL-SAT 173

9.2 Les problèmes One-SAT et All-SAT

Après le problème de comptage vu en Sec. 9.1, nous allons maintenant étudier des problèmesd’énumération de solutions à des problèmes de satisfaisabilité. Parmi les variantes qui consistentà énumérer des solutions du problème SAT, nous en distinguons deux, très proches : la premièrequi consiste à ne rendre qu’une seule assignation satisfaisant la formule, et qui fait alors officede certificat ; la seconde consiste à trouver et à énumérer toutes les solutions. Nous nommonsces deux variantes respectivement One-SAT et All-SAT. Comme dans la section précédente,nous allons maintenant détailler les étapes et donner les règles nécessaires à la résolution deces problèmes. Ces étapes et nouvelles règles s’ajoutent à celles de la machine du Chap. 8, etcomme pour la résolution de #SAT, elles remplacent essentiellement l’étape de collecte de Q-SAT. Certaines règles ne seront pas données, car elles se déduisent soit des schémas donnésau chapitre précedent (comme c’est le cas des règles et des méta-signaux rapides utilisés par lalentille-duplicatrice), soit par symétrie.

9.2.1 Le problème One-SAT

On considère ici One-SAT, une variante plus forte du problème SAT consistant à retournerun certificat pour les instances positives. Le problème One-SAT consiste donc à retournerune assignation (quand elle existe) satisfaisant la formule propositionnelle donnée en instanced’entrée de SAT. Un algorithme de résolution de One-SAT permet également de résoudreSAT puisque si une assignation est retournée, alors la formule est satisfaisable (et l’assignationen est un certificat), sinon elle ne l’est pas. Formellement, le problème s’énonce :

Problème One-SATentrée : une formule propositionnelle ϕ(x1, . . . , xn).sortie : une assignation de (x1, . . . , xn) satisfaisant ϕ, s’il en existe.

Trouver et sauvegarder une assignation solution. L’intuition ici est de rajouter un sous-faisceau permettant de sauvegarder les assignations jusqu’au niveau final. Pour cela, on rajouteà la fin du faisceau initial une pile de n signaux de variables, encadrés par deux signaux −→ve et −→vqui marqueront respectivement le début et la fin de l’assignation. La sous-configuration corres-pondante est donc donnée par (−→ve −→x n−→v ). Par une légère modification de module de duplication(précisément, on ajoute deux nouveaux méta-signaux permettant d’affecter en signal booléen lepremier de ces signaux de type x qui arrive sur le signal vertical de duplication), le ième signalx est décidé au niveau i. Au dernier niveau, et après l’évaluation, il ne subsiste pour chaquecas possible d’assignation qu’un faisceau qui représente exactement l’assignation des variablescorrespondant à l’évaluation de ce cas. Si l’évaluation est positive, alors le faisceau-assignationcorrespond à une assignation satisfaisant la formule. Il est alors réfléchi pour ensuite se propa-ger dans la phase de collecte des résultats. Des exemples de cas de réflexion et d’annihilationd’assignations sont respectivement donnés par les Fig. 9.4(a) et Fig. 9.4(b). Les règles corres-pondantes sont données dans le Tab. 9.3 (pour le cas de rebonds à droite), où les signaux v+ etv◦ signifient que l’assignation est respectivement une assignation qui satisfait et ne satisfait pasla formule.

(a) Renvoyer une assignation.

{ =⇒v , t } → { ←−v+, t } { =⇒ve , t } → { ←−ve }

{ =⇒t , t } → { ←−t , t } {=⇒f , t } → {

←−f , t }

(b) Annihiler une assignation.

{ =⇒v , f } → { ←−v◦ , f } { =⇒ve , f } → { ←−ve }

{ =⇒t , f } → { f } {=⇒f , f } → { f }

Tableau 9.3 – Sauvegarder les assignations solutions.

Page 191: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

174 CHAPITRE 9. VARIANTES AUTOUR DU PROBLÈME SAT

⇐=vt

t ⇐=f⇐=f

t ⇐=vet

−→v e−→f−→f−→v+

(a) Cas d’une assignation gagnante.

=⇒vf

f=⇒f=⇒t

f=⇒vef

←−ve

←−v◦

(b) Cas d’une assignation non-satisfaisante.

Figure 9.4 – Sélection des assignations satisfaisant la formule.

Toutes les assignations satisfaisant la formule se propagent ainsi en remontant. Plusieurscas se produisent aux jonctions : soit aucun des sous-cas correspondant à la jonction n’a produitd’assignation ; soit une seule assignation arrive à la jonction, auquel cas elle est automatiquementpropagée au niveau suivant ; soit deux assignations arrivent à la jonction. Dans ce dernier cas,une seule doit être choisie par définition du problème One-SAT : nous avons fixé les règlesarbitrairement de telle sorte à propager l’assignation qui arrive par la gauche. Deux de ces troiscas sont illustrés par la Fig. 9.5 ; les règles sont données par le Tab. 9.4 pour le cas d’un résultatà envoyer vers la droite en sortie de jonction. Dans ces diagrammes, la notation goXY signifie« envoyer dans la direction Y l’assignation arrivant de la direction X ». Les signaux verticauxsendR et sendL, mis en place à chaque duplication, indiquent la direction dans laquelle envoyerle faisceau sortant de la jonction.

{ −→v+, sendR, ←−v+ } → { goRR,−→v+ } { −→v+, sendR, ←−v◦ } → { goRR,

−→v+ }{ −→v◦ , sendR, ←−v+ } → { goLR,

−→v+ } { −→v◦ , sendR, ←−v◦ } → { sendR, −→v◦ }

{−→B1, goLR,

←−B2 } → { goLR,

−→B1 } {

−→B1, goRR,

←−B2 } → { goRR,

−→B2 }

{−→B1, goLR } → { goLR,

−→B1 } { goRR,

←−B1 } → { goRR,

−→B1 }

{ −→ve , goLR,←−ve } → { −→ve } { −→ve , goRR,

←−ve } → { −→ve }{ −→ve , sendR, ←−ve } → { −→ve }

Tableau 9.4 – Règles pour les jonctions des assignations (données pour le faisceau résultantenvoyé vers la droite). Les notations B1 et B2 désignent des booléens i.e. B1, B2 ∈ {t, f}.

−→v+

sendR

←−v◦

−→v egoRR ←−v

e

−→f−→f

−→v e

−→v+

(a) Cas de jonction avec une seule assignation.

−→v+

sendL

←−v+

←−tgoRL

−→t

←−t−→f

goRL ←−ve−→v e

goRL

←−ve←−f←−t←−v

+

(b) Cas de jonction avec deux assignations.

Figure 9.5 – Collecte des assignations solutions.

Diagramme global. Comme les règles ont été définies pour qu’en cas de jonction de deuxassignations, ce soit celle de gauche qui est transmise au niveau suivant, il s’ensuit que si la

Page 192: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

9.2. LES PROBLÈMES ONE-SAT ET ALL-SAT 175

formule donnée en entrée est satisfaisable, le certificat rendu par la machine sera le plus petitcertificat dans l’ordre lexicographique, en considérant que faux précède vrai.

La Figure 9.6(a) fournit le diagramme global correspondant à la formule ϕ = x1∧(¬x2∨x3).Dans cet exemple, il existe plusieurs assignations satisfaisant la formule, mais c’est celle qui leplus à gauche — (x1, x2, x3) = (vrai, faux, faux) — qui est finalement retournée. Cette solutionest renvoyée sous forme de faisceau se propageant vers la gauche, tel qu’illustré par la Fig. 9.6(b).Elle peut ainsi être lue temporellement, en position 0 : les valeurs booléennes des variables sontdonnées par les types des signaux qui arrivent successivement au niveau du mur de gauche de laconstruction. Lorsque la formule n’est pas satisfaisable, seul un signal

←−−−NoSol est retourné (voir

la Fig. 9.6(c)). Avec un peu plus de 130 méta-signaux et 220 règles non blanches, la résolutionde One-SAT nécessite une machine de taille équivalente à la machine résolvant #SAT.

(a) Diagramme global.

←−v+

w

←−ve←−t ←−f←−f

w

←−t←−f←−f

(b) Le faisceau résultat.

←−v◦w

←−ve

w←−−−

NoSol

(c) Cas sans solution.

Figure 9.6 – Résolution de One-SAT pour l’instance ϕ = x1 ∧ (¬x2 ∨ x3). L’assignation(x1, x2, x3) = (vrai, faux, faux) est une solution (la première dans l’ordre lexicographique),donnée sous forme de faisceau sortant en haut à gauche de la construction.

9.2.2 Le problème All-SAT

On peut également considérer All-SAT, une version d’énumération du problème SAT. Leproblème All-SAT est une variante « plus forte » du problème One-SAT, puisqu’il consisteà retourner toutes les assignations satisfaisant une instance du problème SAT :

Problème All-SAT

Page 193: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

176 CHAPITRE 9. VARIANTES AUTOUR DU PROBLÈME SAT

entrée : une formule propositionnelle ϕ(x1, . . . , xn).sortie : toutes les assignations de (x1, . . . , xn) satisfaisant ϕ.

Retourner toutes les assignations de variables satisfaisant une formule ψ peut être effectuéde manière simple sur machine à signaux à partir de la machine résolvant One-SAT modifiéeafin de stocker les assignations de variables sous forme de faisceaux de signaux stationnaires.Ici, le principe est même plus simple que pour One-SAT puisque les étapes de jonctions defaisceaux-assignation ne sont plus nécessaires.

Sauvegarder toutes les assignations solutions. Les signaux et règles supplémentaires pourpouvoir sauvegarder et propager les assignations dans l’arbre sont les mêmes que pour le problèmeOne-SAT, ainsi que la contribution à la configuration initiale. La différence se situe au niveaudu traitement des assignations après l’évaluation. Alors que pour One-SAT, les assignationssatisfaisantes étaient réfléchies, elles sont ici « verticalisées » (i.e. immobilisées) par les signauxv+, les assignations qui ne satisfont pas la formule étant quant à elles annihilées par les signauxv◦. Les règles correspondantes à ces deux cas sont données par le Tab. 9.5, pour des faisceauxarrivant de gauche (les règles pour le cas de droite s’en déduisant facilement par symétrie). Lesdeux cas — annihilation et sauvegarde d’une assignation — sont illustrés par la Fig. 9.7.

(a) Annihiler une assignation.

{ =⇒v , f } → { ←−v◦ } { =⇒ve , ←−v◦ } → ∅

{ t, ←−v◦ } → { ←−v◦ } {=⇒f , ←−v◦ } → { ←−v◦ }

(b) Verticaliser une assignation.

{ =⇒v , t } → { ←−v+, v } { =⇒ve , ←−v+ } → { ve }

{ =⇒t , ←−v+ } → { ←−v+, t } {=⇒f , ←−v+ } → { ←−v+, f }

Tableau 9.5 – Verticaliser les assignations solutions.

⇐=vf

⇐=t−→v ◦ ⇐=t−→v ◦ ⇐=

f

−→v ◦ ⇐=ve

−→v ◦

(a) Annihiler une assignation perdante.

t=⇒v

←−v+

=⇒t

←−v+

=⇒t

←−v+

=⇒t

←−v+

=⇒ve

ve t t t v

(b) Verticaliser une assignation gagnante.

Figure 9.7 – Énumération des résultats sous forme de faisceaux stationnaires.

Diagramme global. Comme les assignations sont stockées sous forme de faisceaux station-naires, le diagramme global de résolution du problème All-SAT est légèrement différent desdiagrammes correspondant aux résolutions des autres variantes de SAT : la phase de collecte estinexistante, puisqu’ici tous les résultats sont sauvegardés directement après les évaluations. Lesassignations résultantes se présentent sous forme de faisceaux dont les deux signaux extrêmes (vet ve) indiquent l’ordre de lecture des variables c’est-à-dire qu’à partir de v vers ve, les signauxverticaux booléens correspondent aux valeurs successives des variables x1, x2, . . . , xn. La Fi-gure 9.8 donne le diagramme de résolution de All-SAT pour l’instance ϕ = x1∧(¬x2∨x3), etla Fig. 9.7(b) donnée ci-dessus, fournit un zoom sur un des faisceaux sortants. Celui-ci correspondà l’assignation (vrai, vrai, vrai), représentée par le faisceau stationnaire (ve t t t v).

Contrairement à la résolution de One-SAT, les assignations satisfaisantes sont sauvegardéessous forme de faisceaux stationnaires. De ce fait, il ne reste à la fin que des signaux verticaux,

Page 194: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

9.3. LE PROBLÈME MAX-SAT 177

Figure 9.8 – Résolution de All-SAT pour l’instance ϕ = x1 ∧ (¬x2 ∨ x3). Les trois faisceauxstationnaires résultants correspondent aux trois seules assignations qui satisfont la formule c’est-à-dire aux assignations (vrai, faux, faux), (vrai, faux, vrai) et (vrai, vrai, vrai).

et plus aucune dynamique n’est possible. Les solutions sont stockées ici de manière statique, etsont lues spatialement.

Notons également que, parmi les machines présentées dans ce manuscrit pour résoudre desproblèmes de satisfaisabilité, cette machine est la plus petite en taille : 127 méta-signaux et186 règles non blanches. Contrairement aux autres machines, il n’y a pas ici d’étape de collecte,faisant ainsi l’économie de nombreuses règles de collisions.

9.3 Le problème Max-SAT

Nous donnons ici l’intuition et les grandes lignes d’une machine générique permettant derésoudre le problème Max-SAT. Il s’agit d’un problème d’optimisation qui consiste à trouverle maximum de clauses parmi k clauses données en entrée pouvant être satisfaites par une mêmeassignation de variables :

Problème Max-SATentrée : k clauses C1(x1, . . . , xn), . . . , Ck(x1, . . . , xn).sortie : le nombre maximum de clauses qu’une assignation de (x1, . . . , xn) satisfait.

Pour résoudre Max-SAT, il faut donc compter le nombre de clauses satisfaites plutôt que lenombre d’assignations comme c’est le cas pour résoudre #SAT. Le problème Max-SAT peutêtre étendu afin de retourner en plus l’assignation satisfaisant le plus grand nombre de clausespossibles parmi les k clauses données en entrée.

Ramené à un problème de décision, ce problème est NP-dur et le problème tel qu’énoncéci-dessus est complet pour la classe APX, la classe des problèmes d’optimisation qui admettentdes algorithmes d’approximation en temps polynomial et à facteur d’approximation constant

Page 195: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

178 CHAPITRE 9. VARIANTES AUTOUR DU PROBLÈME SAT

(voir [Papadimitriou 1994, pp. 301–302] pour plus de détails sur Max-SAT).

Principe d’une résolution géométrique de Max-SAT. Nous décrivons ici informellementune machine à signaux pour résoudre une version plus générale de Max-SAT : nous ne restrei-gnons pas les instances de Max-SAT à un ensemble de clauses mais considérons un ensemblequelconque (mais fini) de formules propositionnelles. La machine est basée sur la machine pré-cédente résolvant Q-SAT de manière générique à laquelle nous ajoutons le module d’additionbinaire déjà utilisé pour résoudre #SAT. Il suffit ensuite de rajouter un module supplémentairepermettant de calculer le maximum de deux nombres codés en binaire.

Chaque formule parmi les k formules données en entrée est compilée par le même schéma quecelui utilisé pour Q-SAT, résultant en un faisceau de signaux parallèles codant la formule. Les kfaisceaux correspondant aux k formules sont alors placés bout à bout constituant ainsi la partiede la configuration initiale codant l’ensemble des k formules, une formule étant représentée parun sous-faisceau.

Chaque formule est ensuite évaluée exactement de la même façon que pour Q-SAT et pourchaque assignation possible, les évaluations sont réalisées de manière indépendante pour chaquesous-faisceau, c’est-à-dire pour chaque formule.

Dans chaque cas d’assignation possible, le résultat de l’évaluation d’une formule est ajoutégrâce à l’additionneur binaire à un faisceau codant le nombre de formules déjà satisfaites. Cecompteur binaire est d’abord initialisé par la première valeur vrai reçue, selon le même principeque celui de la machine pour #SAT. Il est ensuite incrémenté de un par chaque nouvelle vrai,grâce à l’additionneur binaire.

À la fin de l’étape globale d’évaluation, on obtient ainsi pour chaque cas possible un faisceaucodant en binaire le nombre de formules satisfaites dans le cas de l’assignation considérée. L’étapede collecte s’opère alors sur le même principe que les variantes précédentes mais prend en compteen plus la comparaison des nombres obtenus précédemment : à chaque jonction des résultats pro-venant de deux cas possibles, les nombres de formules satisfaites dans chaque cas sont comparésgrâce au module calculant le maximum en binaire, et le plus grand nombre est transmis au niveausupérieur pour les comparaisons suivantes. Enfin, au sommet de la construction, après que toutesles comparaisons ont été effectuées, le nombre maximal de formules pouvant être satisfaites parune même assignation est donné par un faisceau binaire.

L’assignation qui satisfait le plus grand nombre de formules peut également être retournée encombinant la construction résolvant Max-SAT avec le module utilisé en Sec. 9.2 permettantde sauvegarder et de renvoyer une assignation qui satisfait la formule.

Calculer le maximum de deux nombres binaires. Nous décrivons ici brièvement le fonc-tionnement d’un module de calcul du maximum de deux nombres binaires c’est-à-dire d’un com-parateur binaire. Comme pour l’additionneur binaire, les deux entiers à comparer sont représentéspar des faisceaux binaires de directions opposées et suivant le codage proposé en Sous-sec. 3.2.1(pour un faisceau se propageant vers la droite, les signaux les plus à droite désignent les bitsde poids les plus faibles). Chaque faisceau contient deux copies de l’entier qu’il représente : lapremière pour la comparaison proprement dite, la deuxième étant transmise en sortie de moduledans le cas échéant. Ainsi, pour un entier n d’écriture binaire bk . . . b1b0, le faisceau de gaucheutilisé pour représenté n dans le module de comparateur binaire est donné par (−→sup

−→end−→bk . . .

−→b0

−−−→comp−→end−→bk . . .

−→b0) = (−→sup [

−→bin(n)] −−−→comp [

−→bin(n)]). La configuration d’entrée pour comparer deux

nombres n et m est donc donnée par : (−→sup [−→bin(n)] −−−→comp [

−→bin(n)] =t [

←−bin(m)] ←−−−comp [

←−bin(m)]

←−sup), où =t est le signal qui déclenche la comparaison lors de la première triple collision entre lesdeux bits de poids faible.

Les règles de collisions implémentent le fait que le maximum de deux nombres binaires estcelui soit qui possède le plus grand nombre de bits, soit qui possède le plus grand bit dont

Page 196: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

9.3. LE PROBLÈME MAX-SAT 179

la position est telle que pour les bits de positions supérieures sont égaux. Les bits sont doncsuccesivement comparés deux-à-deux. Les signaux verticaux =t, t et �t (l’indice t signifiant« temporaire ») permettent de sauvegarder le côté du nombre qui est le plus grand à ce momentde la comparaison. Si les bits comparés sont égaux, alors le maximum temporaire ne changepas. Sinon, le maximum devient le nombre dont le bit était le plus grand. Après comparaison detous les bits, le résultat final est donné par la valeur du dernier signal vertical de comparaisontemporaire : le résultat de la comparaison est ainsi sauvegardé par un signal vertical =, ou �,signifiant respectivement que les nombres sont égaux, que le nombre de gauche est le maximumet que celui de droite est le maximum. Suivant les cas, le signal vertical laisse passer le faisceaucorrespondant au maximum et annihile l’autre faisceau (si les deux nombres sont égaux, on laissepassé le faisceau par gauche par convention).

La Figure 9.9 illustre une telle comparaison géométriques de deux nombres binaires avecl’exemple du calcul de max(3, 5).

−→1

←−1

=t−→1

←−0

=t

−→end ←−1

t

←−end

�t

−−−→

comp

←−−−comp

−→1

←−1

−→1

←−0

−→end ←−1

←−end

−→sup←−sup

−→sup −→en

d−→1−→0 −→1

Figure 9.9 – Calcul de max(3, 5) avec un comparateur géométrique.

Page 197: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 198: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Conclusion

Nous concluons ce manuscrit en synthétisant les contributions apportées et en rappelantleur contenu ; puis en évoquant leurs futurs prolongements directs, ainsi que d’autres pistes derecherches qui nous semblent pertinentes.

Bilan

Nous avons proposé dans ce manuscrit une étude de certaines propriétés des machines àsignaux, portant essentiellement sur l’utilisation de l’espace à des fins d’algorithmique géomé-trique.

Cette investigation s’est faite dans un premier temps au travers des phénomènes inhérents àl’espace continu — les accumulations — et à un type particulier de tels phénomènes — les struc-tures fractales. Dans un second temps, les notions nécessaires pour pouvoir parler d’algorithmesgéométriques ont été définies, ainsi qu’une approche modulaire pour concevoir de tels algorithmes.Enfin, à partir des constructions obtenues sur les fractales et des méthodes dégagées par l’ap-proche modulaire, ont été proposées diverses résolutions géométriques efficaces de problèmesdifficiles à résoudre sur des modèles classiques.

Nous pouvons donc résumer l’apport de ce manuscrit à trois contributions principales, por-tant sur les structures d’accumulations et de fractales ; sur les algorithmes géométriques ; etsur l’utilisation massivement parallèle de l’espace pour résoudre efficacement certains problèmesdifficiles.

Accumulations et fractales. Les accumulations sur machines à signaux avaient déjà étéconsidérées auparavant. Néanmoins, aucun critère n’avait été proposé pour caractériser les accu-mulations ou caractériser les machines pouvant les produire. Nous avons palié en partie à cela,en montrant que certains paramètres des machines à signaux — leur rationalité, leur nombrede vitesses distinctes — permet de formuler une condition nécessaire pour qu’une machine àsignaux puisse générer des accumulations. Cette condition est le résultat principal du Chap. 4et se résume par l’énoncé suivant : une accumulation nécessite l’utilisation d’au moins 3 vitessesdistinctes dans le cas général et 4 dans le cas de machines rationnelles. En particulier, cettecondition définit une frontière au sein des petites machines à signaux c’est-à-dire les machinesayant un faible nombre de vitesses distinctes. Outre le nombre de vitesses, la rationalité s’avèreêtre un critère important. Cette étude a également permis de dégager plusieurs notions telles quel’inclusion de diagrammes, les supports de machines et de diagrammes ou encore les multi-bandes.

En tant que type particulièrement simple et régulier d’accumulations, les fractales appa-raissent facilement dans le monde des machines à signaux. C’est donc de manière naturelle quenous nous sommes intéressés à leur construction sur des machines à signaux : le Chap. 5 enfournit de nombreux exemples, ainsi que des moyens d’approximer certaines structures fractales.L’étude des accumulations avec des petites machines s’est également faite de manière implicite au

181

Page 199: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

182 CONCLUSION

Chap. 5 : en effet, toutes constructions de fractales proposées utilisent peu de vitesses (e.g. 4 pourl’arbre binaire simple, 9 pour les ensembles de Cantor). Du Théorème 25 découle même quepour tout réel d ∈]0; 1[, il est possible de générer une fractale de dimension d avec une machineà signaux n’utilisant que 9 vitesses.

Algorithmique géométrique. La formalisation d’algorithmes et de programmation géomé-trique s’est faite à la fois dans le Chap. 3 et le Chap. 6. Des exemples d’algorithmes géométriquesont d’abord été proposés dans le Chap. 3, et ont permis d’introduire les notions de codages, dereprésentations, d’entrées/sorties, de résolutions de problèmes, de complexités de calculs. . . surmachines à signaux. Ces notions ont ensuite fait l’objet de définitions formelles, fournissant uncadre pour une étude théorique des algorithmes géométriques.

C’est dans ce cadre qu’a été développée dans le Chap. 6 une méthode de programmationgéométrique modulaire. Les algorithmes géométriques y sont pensés comme des « boîtes géo-métriques » ayant certaines fonctionnalités. Suivant l’aire géométrique « minimale » nécessaireau calcul (hexagone, trapèze ou rectangle), différentes notions de modules ont été décrites (H-module, T -module et R-module). À partir de ces modules et de leurs interprétations en termesde fonctions calculées, nous avons reformulé de manière modulaire et géométrique les notionsclassiques d’exécutions séquentielle et parallèle d’algorithmes. Ces compositions parallèles et sé-quentielles de modules géométriques permettent de construire à partir de modules donnés, denouveaux modules plus complexes, et définissent ainsi une puissante méthode de programmationgéométrique par modules. Néanmoins, ces opérations de compositions n’ont pas été définies dela manière la plus générale possible (nous avons défini des compositions uniquement pour lesT -modules).

Utilisation massivement parallèle de l’espace et algorithmes efficaces. Comme sug-géré par l’étude des fractales faite au Chap. 5, les machines à signaux permettent de découperl’espace de manière systématique et régulière. Combiné à l’approche modulaire développée auChap. 6, ce découpage automatique de l’espace par des fractales peut être utilisé par des pro-cessus s’exécutant en parallèle. Ceci est illustré par les Chap. 7, 8 et 9. Dans ces chapitres sontproposées des machines à signaux permettant de résoudre les variantes classiques des problèmesde satisfaisabilité booléenne, dont les plus connues sont SAT et Q-SAT, respectivement NP-complet et PSPACE-complet. Ces solutions sont de deux types : résolution d’un problème parune famille de machines ou résolution spécifique (voir Chap. 7) et résolution par une uniquemachine à signaux ou résolution générique (voir Chap. 8).

Grâce à la programmation modulaire, adaptée aux constructions parallèles, et grâce à l’ap-proximation de l’arbre binaire, des machines à signaux résolvant les problèmes de satisfaisabilitéont été construites. Pour cela, la structure de l’arbre binaire a été utilisée pour définir une sortede grille de calcul, dans laquelle ont été insérés en parallèle les calculs nécessaires à la résolutiondes problèmes considérés. Cette construction se comprend au travers des différents modules géo-métriques utilisés, dont les compositions permettent d’assurer, en vertu des résultats du Chap. 6,la correction de la construction globale ainsi que sa complexité en collisions. Les constructionsdes Chap. 7 et 8 démontrent qu’ il existe des machines à signaux qui résolvent respectivementles problèmes SAT et Q-SAT avec des profondeurs de collisions polynomiales.

Ces constructions sont une parfaite illustration du pouvoir de calcul fortement parallèle desmachines à signaux. En effet, l’efficacité de ce parallélisme est montré à travers les résolutionsgéométriques efficaces des problèmes de décision réputés difficiles que sont SAT et Q-SAT.De plus, ces solutions ont permis de facilement dériver au Chap. 9 des solutions pour les pro-blèmes #SAT, All-SAT et Max-SAT. Cela montre qu’en plus des problèmes de décision,

Page 200: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

CONCLUSION 183

les machines à signaux peuvent également résoudre de manière parallèle et efficace des problèmesrespectivement de comptage, d’énumération et d’optimisation.

Perspectives

Évoquons maintenant les perspectives entrouvertes (directement ou non) durant la thèse.Nous avons regroupé ces pistes de recherche principalement en trois catégories qui correspondentaux thématiques des contributions du manuscrit : accumulations, algorithmique géométriqueet complexités. Nous finirons en donnant quelques idées sur certaines variantes et extensionspossibles du modèle.

Fractales, accumulations et minimalité. Il existe de nombreuses directions de recherchesur l’études des fractales et des accumulations. Nous en dégageons ici trois qui sont en continuitédirecte avec les résultats du manuscrit.

La première consiste à continuer l’étude des fractales engendrables par machines à signaux,et à caractériser de manière exacte de telles fractales. Il semble a priori que les fractales dedimension inférieure à 1 et définies par IFS peuvent être générées par des machines à signaux àune dimension.

Dans un second temps, nous souhaiterions compléter et généraliser l’étude menée au Chap. 4.Celle-ci a mis en évidence l’existence d’un effet de seuil sur le nombre de vitesses requises pourpouvoir construire une accumulation. De tels seuils (sur les vitesses ou sur le nombre de méta-signaux) existent-ils aussi pour d’autres propriétés des accumulations, comme le fait d’être isoléeou non ? Plus particulièrement, nous nous posons la question d’obtenir une version très généraledu critère obtenu en Chap. 4 : est-il possible de construire des accumulations avec n+ 1 vitessesdistinctes qu’il n’est pas possible de construire avec n vitesses ?

Il faut pour cela formaliser une notion d’« accumulations distinctes »: cela constitue unetroisième direction de recherche. En effet, les accumulations sont bien définies ainsi que leursprincipaux types (dynamique, statique, isolé ou non-isolé), mais de nombreuses propriétés noussont encore inconnues. Afin de mener l’étude de ces propriétés, des concepts sont encore à définiret les différents types d’accumulations peuvent certainement être affinés et enrichis. Par exemple,il semblerait que l’accumulation simple de type Zénon à 4 vitesses consistant en un simple zig-zag (voir la Fig. 4.1(a)) soit une sorte d’« accumulation basique » dont la structure se retrouvedans les autres accumulations dynamiques, comme le triadique de Cantor qui peut être perçucomme une superposition d’accumulations simples. Cette idée d’accumulation élémentaire est-elleformalisable ?

Algorithmique géométrique. Nous avons proposé au Chap. 6 une approche modulaire etdéfini plusieurs types de compositions de modules. L’approche définie ici admet plusieurs conti-nuations naturelles, dont nous en donnons ci-dessous deux qui sont immédiates et une troisièmeplus générale.

La première concerne une définition des modules qui soit la plus générale possible. En ef-fet, bien que suffisamment puissantes pour construire les algorithmes géométriques présentés,les différentes compositions définies sur les modules ne concernent que des types particuliers demodules (les T -modules ou les R-modules) et ne s’appliquent pas aux modules de manière gé-nérale (i.e. aux H-modules). Des opérations de compositions parallèles et séquentielles définiespour n’importe quels modules pourraient permettre d’exprimer n’importe quel algorithme géo-métrique en termes de modules. La définition de telles compositions n’apparaît cependant passimple, étant donnée la multitude de paramètres d’un H-module à prendre en compte.

Page 201: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

184 CONCLUSION

Le second prolongement consiste à définir le même type de cadre que celui proposé auChap. 6,mais avec une approche top-down c’est-à-dire une approche permettant de décomposer automati-quement un diagramme en modules. En effet, la méthode de programmation modulaire définie iciest de type bottom-up : de nouvelles machines et modules sont construits à partir de composantsde base. L’approche duale serait donc de déduire les modules constituant un diagramme. Pourcela, des notions de sous-machines et sous-modules sont nécessaires.

Une troisième piste consiste à préciser le lien entre les notions de calculs géométriques et lanotion de diagrammes équivalents donnée dans le Chap. 2, qui formalise l’intuition de « mêmecalcul ». De cette définition peuvent être dérivées des notions formelles de simulations entre ma-chines à signaux, reflétant de manière plus profonde les différents liens possibles entre diagrammesespace-temps. L’un de nos objectifs serait de définir des notions de « sous-calculs géométriques »,ainsi que diverses notions de simulations entre machines à signaux. L’approche modulaire semblepouvoir fournir des outils adaptés pour construire des simulations entre machines.

Complexités. Les chapitres traitant des solutions géométriques des problèmes de satisfaisa-bilité qui caractérisent les grandes classes de complexité classique, soulèvent plusieurs questionssur le lien entre complexité de problèmes et machines à signaux.

Nous souhaiterions d’abord résoudre de manière directe d’autres problèmes NP-complets(sans utiliser de réduction à SAT). Par exemple, trouver une approche par signaux qui permetde représenter et étudier de manière simple des graphes permettrait de résoudre de nombreuxproblèmes de graphes qui sont NP-complets. Cela passerait par une formulation intuitive duconcept de graphe sur machines à signaux, de la même façon que l’arbre binaire utilisé de ma-nière canonique en tant qu’arbre de décision pour des problèmes booléens. Nous souhaiterionségalement éclaircir le statut, encore inconnu, d’autres problèmes plus difficiles comme des pro-blèmes EXPTIME-complets ou EXPSPACE-complets.

Après avoir constaté que les constructions des Chap. 7, 8 et 9 sont toutes de profondeur decollisions polynomiales, indépendamment de la difficulté classique du problème considéré, il estnaturel de se poser la question de savoir s’il existe des problèmes non résolubles par des machines àsignaux rationnelles avec une profondeur de collisions polynomiale. Formulé autrement : cela a-t-il un sens de définir l’équivalent des classes de complexité classiques pour les machines à signaux ?Nous le pensons, et nous souhaitons à l’avenir définir formellement et étudier les propriétés etrelations de classes de complexité intrinsèques aux machines à signaux, comme par exemplela classe POLY-DEPTH, définie comme la classe des problèmes résolubles par machines àsignaux en profondeur de collisions polynomiale.

Enfin, nous souhaiterions caractériser de manière exacte l’efficacité des machines à signaux ra-tionnelles à profondeur de collisions polynomiale. Nous avons en effet montré ici de manière infor-melle dans leChap. 8 quePSPACE ⊆ POLY-DEPTH. L’inclusion réciproque est-elle vraie ?Cette question est équivalente à celle de savoir si les machines à signaux vérifient l’hypothèse ducalcul parallèle (la Parallel Computation Thesis ou PCT ) définie dans [van Emde Boas 1990]. Unmodèle de calcul parallèle vérifie la PCT si la classe des problèmes décidables en temps parallèlepolynomial (pour la mesure de complexité en temps définie sur le modèle) est égale à la classe desproblèmes décidables en espace polynomial classique. Cette thèse peut être formulée de manièreintuitive par « le temps parallèle est-il équivalent à l’espace séquentiel ? »

Autour du modèle. Le modèle des machines à signaux présenté dans le manuscrit peut êtreétendu de multiples façons, et de nombreuses variantes du modèle semblent pouvoir être définies.Nous évoquons ici une généralisation possible, ainsi qu’une perspective de rapprochement entreles machines à signaux et les automates cellulaires.

Page 202: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

CONCLUSION 185

La généralisation la plus naturelle du modèle est celle des machines à signaux en dimensionn quelconque. S’il paraît simple de définir un tel modèle, ses capacités en termes de calculabilitéet de complexité ne s’en déduisent pas immédiatement. Par exemple, une seconde dimensionspatiale permet-elle un gain sur la complexité en collisions pour la résolution Q-SAT ? Dansce cas, nous conjecturons que Q-SAT peut être résolu par une machine à signaux générique àdeux dimensions spatiales en profondeur quadratique (l’intuition est de réaliser la constructiondu Chap. 8 dans un plan et de passer dans un autre plan pour éviter les croisements de faisceauxlors des duplications) De manière plus générale, nous souhaiterions établir une distinction entrel’efficacité de machines de différentes dimensions, et établir si possible une caractérisation exactede cette efficacité en fonction de la dimension, à la manière de ce qui a été fait dans [Bournez1999] pour les systèmes PCD.

Comme nous l’avons mentionné en Sous-sec. 1.3.2, nous mettons à part toutes les questionsdirectes concernant la construction de machines à signaux concrètes. De même, nous éludonsles principales problématiques soulevées par ces questions, telles que la formulation d’un mo-dèle physique des machines à signaux (prise en compte des phénomènes quantiques, machinesavec vitesses non constantes, signaux avec épaisseur. . . ). Néanmoins, nous pouvons chercher ànous rapprocher, d’un point de vue théorique, d’un modèle physiquement crédible. C’est dansce contexte que nous pouvons situer la problématique importante de la discrétisation des dia-grammes espace-temps continus. Nous ne parlons pas ici d’un découpage automatique de l’espacecomme celui qui a été réalisé grâce aux structures fractales, mais d’une méthode qui permet-trait de passer automatiquement du modèle des machines à signaux au modèle dont elles tirentleurs origines, à savoir les automates cellulaires. Une piste, non aboutie, a déjà été initiée dans[Levorato et Senot 2010]. Cette question de la discrétisation nous apparaît importante car, enplus de rapprocher les machines à signaux d’un modèle de calcul physiquement crédible, uneméthode de discrétisation fournirait surtout un nouveau point de vue pour l’étude théorique àla fois des machines à signaux et des automates cellulaires, ainsi qu’un nouvel outil pour leurconception.

Comme nous l’avons vu, tant à travers les contributions que les perspectives proposées, lesmachines à signaux constituent un sujet très riche, offrant des connexions avec de nombreuxdomaines de l’informatique fondamentale. Bien que récentes, plusieurs de leurs propriétés im-portantes étaient déjà connues. Nous en avons démontré ici de nouvelles, élargissant ainsi lesconnaissances actuelles sur le modèle des machines à signaux. Les directions de recherche cor-respondant aux contributions ont été choisies parmi les nombreuses directions existantes pourleur importance au niveau de la compréhension du modèle. Leur étude nous a permis en plusde dégager des outils originaux pour l’étude du calcul géométrique par signaux, et d’explorer denouvelles pistes de recherche, dont nous proposons également des prolongements.

Page 203: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 204: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Références bibliographiques

Aaronson, S. (2005). NP-complete problems and physical reality (guest column). ACM SI-GACT Newsletter, 36(1):30–52.

Aaronson, S. et Watrous, J. (2009). Closed timelike curves make quantum and classicalcomputing equivalent. Proceedings of the Royal Society A, 465(2102):631–647.

Abrams, D. S. et Lloyd, S. (1998). Computational complexity and physical law. DansWilliams, C. P., éditeur : 1st NASA International Conference on Quantum Computing andQuantum Communications (QCQC ’98), numéro 1509 de LNCS, pages 167–173. Springer.

ACRI (2012). Sirakoulis, G.C. et Bandini, S., éditeurs : Proceedings of the 10th InternationalConference on Cellular Automata for Research and Industry, numéro 7495 de LNCS. Springer.

Adamatzky, A., éditeur (2002). Collision-Based Computing. Springer.

Adamatzky, A. et Durand-Lose, J. (2012). Collision-based computing. Dans[Handbook of Nat. Comp. 2012], chapitre 58, pages 1949–1978.

Adleman, L. M. (1994). Molecular computation of solutions to combinatorial problems. Science,266(5187):1021–1024.

Alhazov, A. et Pérez-Jiménez, M. J. (2007). Uniform solution of Q-SAT using polarizationlessactive membranes. Dans Durand-Lose, J. etMargenstern, M., éditeurs : 5th InternationalConference on Machines, Computations and Universality (MCU ’07), numéro 4664 de LNCS,pages 122–133. Springer.

Amos, M. (1997). DNA computation. Thèse de doctorat, University of Warwick.

Arulanandham, J. (2005). Natural algorithms. Thèse de doctorat, University of Auckland.

Asarin, E. et Maler, O. (1995). Achilles and the Tortoise climbing up the arithmetical hie-rarchy. Dans Thiagarajan, P., éditeur : 15th International Conference on Foundations ofSoftware Technology and Theoretical Computer Science (FSTTCS ’95), numéro 1026 de LNCS,pages 471–483. Springer.

Barnsley, M. F. et Demko, S. (1985). Iterated Function Systems and the global constructionof fractals. Proceedings of the Royal Society A, 399:243–275.

Becker, F. (2008). Géométrie pour l’auto-assemblage. Thèse de doctorat, École Normale Su-périeure de Lyon. En français.

Becker, F. (2009). Pictures worth a thousand tiles, a geometrical programming language forself-assembly. Theoret. Comput. Sci., 410(16):1495–1515.

187

Page 205: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

188 RÉFÉRENCES BIBLIOGRAPHIQUES

Beigel, R. et Fu, B. (1998). Solving intractable problems with DNA computing. Dans 13th In-ternational IEEE Conference on Computational Complexity (CCC ’98), pages 154–169. IEEEComputer Society.

Berger, R. (1966). The undecidability of the domino problem. Memoirs of the AmericanMathematical Society, 66.

Blake, R. M. (1926). The paradox of temporal process. Journal of Philosophy, 23:645–654.

Blakey, E. (2011a). Computational complexity in non-Turing models of computation—thewhat, the why and the how. Electronic Notes in Theoret. Comput. Sci., 270(1):17–28.

Blakey, E. (2011b). Unconventional complexity measures for unconventional computers. Na-tural Computing, 10(4):1245–1259.

Blum, L., Cucker, F., Shub, M. et Smale, S. (1998). Complexity and Real Computation.Springer New-York.

Blum, L., Shub, M. et Smale, S. (1989). On a theory of computation and complexity over thereal numbers: NP-completeness, recursive functions and universal machines. Bulletin of theAmerican Mathematical Society, 21(1):1–46.

Boccara, N., Nasser, J. et Roger, M. (1991). Particle-like structures and interactions inspatio-temporal patterns generated by one-dimensional deterministic cellular automaton rules.Physical Review A, 44(2):866–875.

Boolos, G. et Jeffrey, R. C. (1980). Computability and logic. Cambridge University Press.

Bournez, O. (1997). Some bounds on the computational power of piecewise constant derivativesystems. Dans Degano, P., Gorrieri, R. et Marchetti-Spaccamela, A., éditeurs : 24thInternational Colloquium on Automata, Langages and Programming (ICALP ’97), numéro1256 de LNCS, pages 143–153. Springer.

Bournez, O. (1999). Achilles and the Tortoise climbing up the hyper-arithmetical hierarchy.Theoret. Comput. Sci., 210(1):21–71.

Bournez, O. et Campagnolo, M. L. (2009). A survey on continuous time computations. ArXivpreprints, 0907.3117. Available at http://arxiv.org/abs/0907.3117.

Brun, T. A. (2003). Computers with closed timelike curves can solve hard problems efficiently.Foundations of Physics Letters, 16:245–253.

Brun, Y. (2008). Solving NP-complete problems in the tile assembly model. Theoret. Comput.Sci., 395(1):31–46.

Brun, Y. (2012). Efficient 3-SAT algorithms in the tile assembly model. Natural Computing,11(2):209–229.

Cantor, G. (1884). De la puissance des ensembles parfaits de points (On cardinality of perfectpoints sets). Acta Mathematica, 4:381–392. Traduit et réédité dans [Edgar 1993], pages 11–23.

Church, A. (1933). A set of postulates for the foundation of logic. Annals of Mathematics,34:839–864. Réédité dans [Davis 2004].

Cook, M. (2004). Universality in elementary cellular automata. Complex Systems, 15(1):1–40.

Page 206: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

RÉFÉRENCES BIBLIOGRAPHIQUES 189

Cook, S. A. (1971). The complexity of theorem proving procedures. Dans Harrison, M. A.,Banerji, R. B. et Ullman, J. D., éditeurs : 3rd ACM Symposium on Theory of Computing(STOC ’71), pages 151–158. ACM.

Copeland, J. B. (2002). Accelerating Turing machines. Minds and Machines, 12:281–301.

Čulik II, K. et Dube, S. (1989). Fractal and recurrent behavior of cellular automata. ComplexSystems, 3:253–267.

Čulik II, K., Hurd, L. P. et Yu, S. (1990). Computation theoretic aspects of cellular automata.Physica D, 45:357–378.

Das, R., Crutchfield, J. P. et Mitchell, M. (1994). A genetic algorithm discovers particle-based computation in cellular automata. Dans Davidor, Y., Schwefel, H.-P. et Männer,R., éditeurs : 3rd International Conference on Parallel Problem Solving from Nature (PPSNIII), numéro 866 de LNCS, pages 344–353. Springer.

Das, R., Crutchfield, J. P., Mitchell, M. et Hanson, J. E. (1995). Evolving globallysynchronized cellular automata. Dans Eshelman, L. J., éditeur : 6th International Conferenceon Genetic Algorithms (ICGA ’95), pages 336–343. Morgan Kaufmann Publishing.

Davis, M. (2004). The Undecidable: Basic Papers on Undecidable Propositions, Unsolvable Pro-blems and Computable Functions. Dover Publication.

Delorme, M. et Mazoyer, J. (1999). Cellular Automata: a Parallel Model. Series on Mathe-matics and its Applications. Kluwer Academic Publishers.

Delorme, M. et Mazoyer, J. (2002). Signals on cellular automata. Dans [Adamatzky 2002],chapitre 9, pages 231–275.

Deutsch, D. (1985). Quantum theory, the Church-Turing principle and the universal quantumcomputer. Proceedings of the Royal Society of London. Series A, Mathematical and PhysicalSciences, 400(1818):97–117.

Dindoš, M. (2001). Generalized Cantor sets and sets of sums of convergent alternating series.Journal of Applied Analysis, 7(1):131–150.

Duchier, D., Durand-Lose, J. et Senot, M. (2010a). Fractal parallelism: solving SAT inbounded space and time. Dans Cheong, O., Chwa, K.-Y. et Park, K., éditeurs : 21st In-ternational Symposium on Algorithms and Computation (ISAAC ’10), numéro 6506 de LNCS,pages 279–290. Springer.

Duchier, D., Durand-Lose, J. et Senot, M. (2010b). Massively parallel automata in Eu-clidean space-time. Dans 4th IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW ’10), Spatial Computing Workshop (SCW ’10), pages104–109. IEEE Computer Society.

Duchier, D., Durand-Lose, J. et Senot, M. (2011). Solving Q-SAT in bounded space andtime by geometrical computation. Dans Ganchev, H., Löwe, B., Normann, D., Soskov, I.et Soskova, M., éditeurs : Models of Computation in Context, 7th International Conferenceon Computability in Europe (CiE ’11) (abstract and handout booklet), pages 76–86. St. KlimentOhridski University Press, Sofia University.

Duchier, D., Durand-Lose, J. et Senot, M. (2012). Computing in the fractal cloud: modulargeneric solvers for SAT and Q-SAT variants. Dans Agrawal, M., Cooper, S. B. et Li, A.,éditeurs : 9th International Conference on Theory and Applications of Models of Computation(TAMC ’12), numéro 7287 de LNCS, pages 435–447. Springer.

Page 207: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

190 RÉFÉRENCES BIBLIOGRAPHIQUES

Durand, B. (1996). Self-similarity viewed as a local property via tile sets. Dans Penczek,W. et Szalas, A., éditeurs : 21st international symposium on Mathematical Foundations ofComputer Science (MFCS ’96), numéro 1113 de LNCS, pages 312–323. Springer.

Durand-Lose, J. (1997). Intrinsic universality of a one-dimensional reversible cellular automa-ton. Dans 14th Annual Symposium on Theoretical Aspects of Computer Science (STACS ’97),numéro 1200 de LNCS, pages 439–450. Springer.

Durand-Lose, J. (2002). Computing inside the billiard ball model. Dans [Adamatzky 2002],pages 135–160.

Durand-Lose, J. (2003). Calculer géométriquement sur le plan — machines à signaux. Habi-litation à Diriger des Recherches, École Doctorale STIC, Université de Nice-Sophia Antipolis.En français.

Durand-Lose, J. (2004). Abstract geometrical computation for black hole computation (exten-ded abstract). Dans Margenstern, M., éditeur : 4th International Conference on Machines,Computations and Universality (MCU ’04), numéro 3354 de LNCS, pages 176–187. Springer.

Durand-Lose, J. (2006a). Abstract geometrical computation 1: embedding black hole compu-tations with rational numbers. Fundamenta Informaticae, 74(4):491–510.

Durand-Lose, J. (2006b). Reversible conservative rational abstract geometrical computationis Turing-universal. Dans Beckmann, A. et Tucker, J. V., éditeurs : Logical Approaches toComputational Barriers, 2nd International Conference on Computability in Europe (CiE ’06),numéro 3988 de LNCS, pages 163–172. Springer.

Durand-Lose, J. (2007). Abstract geometrical computation and the linear Blum, Shub andSmale model. Dans Cooper, S. B., Löwe, B. et Sorbi, A., éditeurs : Computation andLogic in the Real World, 3rd International Conference on Computability in Europe (CiE ’07),numéro 4497 de LNCS, pages 238–247. Springer.

Durand-Lose, J. (2008). Abstract geometrical computation with accumulations: beyond theBlum, Shub and Smale model. Dans Beckmann, A., Dimitracopoulos, C. et Löwe, B.,éditeurs : Logic and Theory of Algorithms, 4th International Conference on Computability inEurope (CiE ’08), pages 107–116. University of Athens.

Durand-Lose, J. (2011a). Abstract geometrical computation 4: small Turing universal signalmachines. Theoret. Comput. Sci., 412(1-2):57–67.

Durand-Lose, J. (2011b). Abstract geometrical computation 5: embedding computable ana-lysis. Natural Computing, 10(4):1261–1273. Special Issue on 8th International Conference onUnconventional Computation (UC ’09).

Durand-Lose, J. (2012a). Abstract geometrical computation 6: a reversible, conservative andrational based model for black hole computation. International Journal of UnconventionalComputing, 8(1):33–46.

Durand-Lose, J. (2012b). Abstract geometrical computation 7: geometrical accumulations andcomputably enumerable real numbers. Natural Computing, 11(4):609–622. Special Issue on10th International Conference on Unconventional Computation (UC ’11).

Durand-Lose, J. (2013). Irrationality is needed to compute with signal machines with onlythree speeds. Dans Bonizzoni, P., Brattka, V. et Löwe, B., éditeurs : The Nature ofComputation, 9th International Conference on Computability in Europe (CiE ’13), LNCS.Springer. To appear.

Page 208: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

RÉFÉRENCES BIBLIOGRAPHIQUES 191

Edgar, G. A. (1993). Classic on Fractals. Addison-Wesley.

Edgar, G. A. (2008). Measure, Topology, and Fractal Geometry. Springer, New-York.

Etesi, G. et Németi, I. (2002). Non-Turing computations via Malament–Hogarth space-time.International Journal of Theoretical Physics, 41(2):341–370.

Feynman, R. P. (1986). Quantum mechanical computers. Foundations of Physics (HistoricalArchives), 16(6):507–531.

Fischer, P. C. (1965). Generation of primes by a one-dimensional real-time iterative array.Journal of the Association for Computing Machinery, 12(3):388–394.

Fredkin, E. et Toffoli, T. (1982). Conservative logic. International Journal of TheoreticalPhysics, 21(3):219–253.

Gandy, R. (1980). Church’s thesis and principles for mechanisms. Dans Barwise, J., Keisler,J. H. et Kunen, K., éditeurs : The Kleene Symposium, volume 101 de Studies in Logic and theFoundations of Mathematics, pages 123–148. North-Holland Publishing Company, Amsterdam.

Gödel, K. (1931). On formally undecidable propositions of Principia Mathematica and relatedsystems I. Dans Feferman, S., éditeur : Kurt Gödel Collected works (1986), volume 1, pages144–195. Oxford University Press. Également réédité dans [Davis 2004].

Goliaei, S. et Foroughmand-Araabi, M. H. (2012). Lower bounds on the complexity of thewavelength-based machine. Dans [UCNC 2012], pages 94–105.

Goliaei, S. et Jalili, S. (2011). Optical graph 3-colorability. Dans Dolev, S. et Oltean, M.,éditeurs : International Workshop on Optical Super Computing (OSC ’10), numéro 6748 deLNCS, pages 16–22. Springer.

Goliaei, S. et Jalili, S. (2012). An optical solution to the 3-SAT problem using wavelengthbased selectors. The Journal of Supercomputing, 62(2):663–672.

Goto, E. (1966). Puzzles on automata. Dans Kitagawa, T., éditeur : The Road to InformationScience, pages 67–92. Kyoristu Shuppan Publishing.

Gramß, T., Bornholdt, S., Groß, M., Mitchell, M. et Pellizzari, T. (1998). Non-Standard Computation. Wiley-VCH.

Haeseler, F., Peitgen, H.-O. et Skordev, G. (1995). Global analysis of self-similarity featuresof cellular automata: selected examples. Physica D, 86:64–80.

Hagiya, M. (2005). Discrete state transition systems on continuous space-time: a theoreticalmodel for amorphous computing. Dans Calude, C. S., Dinneen, M. J., Paun, G., Pérez-Jiménez, M. et Rozenberg, G., éditeurs : 4th International Conference on UnconventionalComputation (UC ’05), numéro 3699 de LNCS, pages 117–129. Springer.

Hamkins, J. D. et Lewis, A. (2000). Infinite time Turing machines. Journal of Symbolic Logic,65(2):567–604.

Handbook of Nat. Comp. (2012). Rozenberg, G. et Bäck, T. et Kok, J.N., édi-teurs : Handbook of Natural Computing (4 volumes). Springer-Verlag.

Hardy, G. H. etWright, E. M. (1960). An Introduction to the Theory of Numbers (4th edition).Oxford University Press.

Page 209: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

192 RÉFÉRENCES BIBLIOGRAPHIQUES

Hedlund, G. A. (1969). Endomorphisms and automorphisms of the shift dynamical systems.Mathematical Systems Theory, 3(4):320–375.

Hogarth, M. (1994). Non-Turing computers and non-Turing computability. Dans Hull, D.,Forbes, M. et Burian, R., éditeurs : Proceedings of the Biennial Meeting of the Philosophyof Science Association (PSA ’94), volume 1, pages 126–138. JSTOR.

Huckenbeck, U. (1989). Euclidian geometry in terms of automata theory. Theoret. Comput.Sci., 68(1):71–87.

Huckenbeck, U. (1991). A result about the power of geometric oracle machines. Theoret.Comput. Sci., 88(2):231–251.

Ito, T., Inokuchi, S. et Mizoguchi, Y. (2008). An abstract collision system. DansAdamatzky, A., Alonso-Sanz, R., Lawniczak, A. T., Martínez, G. J., Morita, K.et Worsch, T., éditeurs : International Workshop on Theory and Applications of Cellu-lar Automata (AUTOMATA ’08), pages 339–355. Luniver Press, UK. Available at http://uncomp.uwe.ac.uk/free-books/automata2008reducedsize.pdf.

Jacopini, G. et Sontacchi, G. (1990). Reversible parallel computation: an evolving space-model. Theoret. Comput. Sci., 73(1):1–46.

Kleene, S. C. (1936). General recursive functions on natural numbers. Mathematische Annalen,112:727–742. Réédité dans [Davis 2004].

Ko, K.-I. (2003). Computational complexity of fractals. Dans Downey, R., Decheng, D.,Tung, S. P.,Qiu, Y. H. etYasugi, M., éditeurs : Proceedings of the 8th Asian Logic Conference(ALC ’02), pages 252–269. World Scientific Singapore.

Lafitte, G. (2001). How powerful are infinite time machines? Dans Freivalds, R., éditeur :13th International Symposium on Fundamentals of Computation Theory (FCT ’01), numéro2138 de LNCS, pages 252–263. Springer.

Lathrop, J., Lutz, J. H. et Summers, S. M. (2009). Strict self-assembly of discrete Sierpinskitriangles. Theoret. Comput. Sci., 410(4-5):384–405.

Lathrop, J. I., Lutz, J. H., Patitz, M. J. et Summers, S. M. (2011). Computability andcomplexity in self-assembly. Theory of Computing Systems, 48(3):617–647.

Levin, L. (1973). Universal’nye perebornye zadachi (Universal search problems). Problems ofInformation Transmission, 9(3):265–266.

Levorato, V. et Senot, M. (2010). Discrete signal machines via pretopology—one step fromsignal machines to cellular automata. Dans Bordhin, H., Freund, R., Hinze, T., Holzer,M., Kutrib, M. et Otto, F., éditeurs : 2nd International Workshop on Non-Classical Mo-dels of Automata and Applications (NCMA ’10), numéro 263 de OCG Books, pages 127–140.Austrian Computer Society.

Lindgren, K. et Nordahl, M. G. (1990). Universal computation in simple one-dimensionalcellular automata. Complex Systems, 4:299–318.

Mandelbrot, B. B. (1967). How long is the coast of Britain? Statistical self-similarity andfractional dimension. Science, 156:636–638.

Mandelbrot, B. B. (1982). Fractal Geometry of Nature. Freeman, Wilfried H., New-York.

Page 210: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

RÉFÉRENCES BIBLIOGRAPHIQUES 193

Margenstern, M. et Morita, K. (2001). NP-problems are tractable in the space of cellularautomata in the hyperbolic plane. Theoret. Comput. Sci., 259(1–2):99–128.

Mazoyer, J. (1987). A six-state minimal time solution to the Firing Squad SynchronizationProblem. Theoret. Comput. Sci., 50(2):183–238.

Mazoyer, J. (1996). Computations on one-dimensional cellular automata. Annals of Mathe-matics and Artificial Intelligence, 16:285–309.

Mazoyer, J. et Terrier, V. (1999). Signals in one-dimensional cellular automata. Theoret.Comput. Sci., 217(1):53–80.

Mazoyer, J. et Yunès, J.-B. (2012). Computations on cellular automata. Dans[Handbook of Nat. Comp. 2012], chapitre 5, pages 159–188.

Minsky, M. (1967). Computation: Finite and Infinite Machines (1st edition). Prentice-HallInternational, New Jersey.

Moore, C. (1996). Recursion theory on the reals and continuous-time computation. Theoret.Comput. Sci., 162(1):23–44.

Mycka, J., Coelho, F. et Costa, J. F. (2006). The Euclid Abstract Machine: trisection of theangle and the Halting problem. Dans Calude, C. S.,Dinneen, M. J., Păun, G.,Rozenberg,G. et Stepney, S., éditeurs : 5th International Conference on Unconventional Computation(UC ’06), numéro 4135 de LNCS, pages 195–206. Springer.

Naughton, T. J. et Woods, D. (2005). An optical model of computation. Theoret. Comput.Sci., 334(1-3):227–258.

Németi, I. et Dávid, G. (2006). Relativistic computers and the Turing barrier. Applied Mathe-matics and Computation, 178(1):118–142.

Ollinger, N. etRichard, G. (2009). Automata on the plane vs particles and collisions. Theoret.Comput. Sci., 410(27-29):2767–2773.

Ollinger, N. et Richard, G. (2011). Four states are enough! Theoret. Comput. Sci., 412(1-2):22–32.

Papadimitriou, C. (1994). Computational Complexity. Addison-Wesley.

Patitz, M. J. et Summers, S. M. (2010). Self-assembly of discrete self-similar fractals. NaturalComputing, 9(1):135–172.

Păun, G. (2000). Computing with membranes. Journal of Computer and System Sciences,61(1):108–143.

Păun, G. (2001). P-systems with active membranes: attacking NP-Complete problems. Journalof Automata, Languages and Combinatorics, 6(1):75–90.

Păun, G. et Rozenberg, G. (2002). A guide to membrane computing. Theoret. Comput. Sci.,287(1):73–100.

Păun, G., Rozenberg, G. et Salomaa, A. (1998). DNA Computing, New Computing Para-digms, volume 287 de EATCS Series. Springer-Verlag.

Post, E. (1943). Formal reductions of the combinatorial decision problem. American Journalof Mathematics, 65(2):197–215. Réédité dans [Davis 2004].

Page 211: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

194 RÉFÉRENCES BIBLIOGRAPHIQUES

Potgieter, P. H. (2006). Zeno machines and hypercomputation. Theoret. Comput. Sci., 358(1):23–33.

Reif, J. H., Tygar, J. D. et Yoshida, A. (1990). The computability and complexity of opticalbeam tracing. Dans 31st Annual Symposium on Foundations of Computer Science (FOCS ’90),pages 106–114. IEEE Computer Society.

Richard, G. (2008). Systèmes de particules et collisions discrètes dans les automtates cellulaires.Thèse de doctorat, École Normale Supérieure de Lyon. En français.

Rothemund, P. W. K. et Winfree, E. (2000). The program-size complexity of self-assembledsquares (extended abstract). Dans Yao, F. F. et Luks, E. M., éditeurs : 32nd Annual ACMSymposium on Theory of Computing (STOC ’00)), pages 459–468. ACM.

Russell, B. A. (1936). The limits of empiricism. Proceedings of the Aristotelian Society, 36:131–150.

Schaller, M. et Svozil, K. (2010). Zeno squeezing of cellular automata. International Journalof Unconventional Computing, 6(5):399–416.

Shannon, C. E. (1941). Mathematical theory of the differential analyzer. Journal of Mathematicsand Physics of MIT, 20:337–354.

Shor, P. W. (1994). Algorithms for quantum computation: discrete logarithms and factoring.Dans 35th Annual Symposium on Foundations of Computer Science (FOCS ’94), pages 124–134. IEEE Computer Society.

Siegelmann, H. T. et Sontag, E. D. (1995). On the computational power of neural nets.Journal of Computer and Systems Science, 50(1):132–150.

Sierpiński, W. (1915). Sur une courbe dont tout point est un point de ramification. ComptesRendus de l’Académie des Sciences de Paris, 160:302–305.

Sosík, P. (2003). Solving a PSPACE-Complete problem by P-systems with active membranes.Dans Cavaliere, M., Martín-Vide, C. et Păun, G., éditeurs : Brainstorming Week onMembrane Computing, pages 305–312. Tarragona: Universidad Rovira i Virgili.

Stannett, M. (2006). The case for hypercomputation. Applied Mathematics and Computation,178(1):8–24.

Stannett, M. (2013). Computation and spacetime structure. International Journal of Uncon-ventional Computing, 9(1-2):173–184.

Stevens, W. M. (2011). Computing with planar toppling domino arrangements. Dans Calude,C. S., Kari, J., Petre, I. et Rozenberg, G., éditeurs : 10th International Conference onUnconventional Computation (UC ’11), numéro 6714 de LNCS, pages 224–233. Springer.

Stockmeyer, L. J. et Meyer, A. R. (1973). Word problems requiring exponential time: pre-liminary report. Dans Aho, A. V., Borodin, A., Constable, R. L., Floyd, R. W., Har-rison, M. A., Karp, R. M. et Strong, H. R., éditeurs : 5th ACM Symposium on Theory ofComputing (STOC ’73), pages 1–9. ACM.

Takeuti, I. (2005). Transition systems over continuous time-space. Electronic Notes in Theoret.Comput. Sci., 120:173–186.

Page 212: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

RÉFÉRENCES BIBLIOGRAPHIQUES 195

Turing, A. M. (1936). On computable numbers, with an application to the Entscheidungspro-blem. Proceedings of the London Mathematical Society, 42(2):230–265. Réédité dans [Davis2004].

Turing, A. M. (1939). Systems of logic based on ordinals. Proceedings of London MathematicalSociety, 45(2):161–228.

UCNC (2012). Durand-Lose, J. et Jonoska, N., éditeurs : Proceedings of the 11th Interna-tional Conference on Unconventional Computation and Natural Computation, numéro 7445 deLNCS. Springer.

van Emde Boas, P. (1990). Machine Models and Simulation. Dans van Leeuwen, J., éditeur :Handbook of Theoretical Computer Science, Algorithms and Complexity, volume A, chapitre I,pages 1–66. Elsevier North-Holland and MIT Press.

Vollmer, H. (1999). Introduction to circuit complexity—a uniform approach. Texts in Theore-tical Computer Science. Springer.

von Koch, H. (1904). On a continuous curve without tangents, constructible from elementarygeometry. Dans [Edgar 1993], pages 25–45.

von Neumann, J. (1966). Theory of self-reproducing automata. Dans Burks, A. W., éditeur :Theory of Self-Reproducing Automata. University of Illinois Press.

Wang, H. (1960). Proving theorems by pattern recognition I. Communications of the ACM,3(4):220–234.

Weihrauch, K. (2000). Computable Analysis: an introduction. Springer-Verlag.

Weyl, H. H. (1927). Philosophie der Mathematik und Naturwissenschaft (Philosophy of Ma-thematics and Natural Science). R. Oldenbourg, Munich. Traduit et réédité par PrincetonUniversity Press, 1949.

Willson, S. J. (1984). Growth rates and fractal dimensions in cellular automata. Physica D,10:69–74.

Winfree, E. (1998). Algorithmic self-assembly of DNA. Thèse de doctorat, California Instituteof Technology.

Wolfram, S. (1984). Computation theory of cellular automata. Communications in Mathema-tical Physics, 96(1):15–57.

Wolfram, S. (2002). A New Kind of Science. Wolfram Media.

Yunès, J.-B. (1994). Seven-state solutions to the Firing Squad Synchronization Problem. Theo-ret. Comput. Sci., 127(2):313–332.

Yunès, J.-B. (2007). Simple new algorithms which solve the Firing Squad SynchronizationProblem: a 7-states 4n-steps solution. Dans Durand-Lose, J. et Margenstern, M., édi-teurs : 5th International Conference on Machines, Computations and Universality (MCU ’07),numéro 4664 de LNCS, pages 316–324. Springer.

Yunès, J.-B. (2008). Goto’s construction and Pascal’s triangle: new insights into cellular au-tomata synchronization. Dans Durand, B., éditeur : 1st Symposium on Cellular Automata« Journées Automates Cellulaires » (JAC ’08), pages 195–203. MCCME Publishing House,Moscow.

Page 213: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

196 RÉFÉRENCES BIBLIOGRAPHIQUES

Yunès, J.-B. (2012). Grids and universal computations on one-dimensional cellular automata.Natural Computing, 11(2):303–309.

Zerjatke, T. et Sturm, M. (2011). Solving a PSPACE-complete problem by gene assembly.Journal of Logic and Computation, pages 1–12. Available at http://logcom.oxfordjournals.org/content/early/2011/12/20/logcom.exr052.

Ziegler, M. (2009). Physically-relativized Church-Turing hypotheses: physical foundations ofcomputing and complexity theory of computational physics. Applied Mathematics and Com-putation, 215(4):1431–1447.

Page 214: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans
Page 215: Modèle géométrique de calcul: fractales et barrières …...fractales et barrières de complexité thèse dirigée par : JérômeDurand-Lose ProfesseurdesUniversités,Universitéd’Orléans

Maxime Senot

Modèle géométrique de calcul : fractales et barrières de complexité

Résumé. Les modèles géométriques de calcul permettent d’effectuer des calculs à l’aide deprimitives géométriques. Parmi eux, le modèle des machines à signaux se distingue par sasimplicité, ainsi que par sa puissance à réaliser efficacement de nombreux calculs. Nous nousproposons ici d’illustrer et de démontrer cette aptitude, en particulier dans le cas de processusmassivement parallèles.Nous montrons d’abord à travers l’étude de fractales que les machines à signaux sont capablesd’une utilisation massive et parallèle de l’espace.Une méthode de programmation géométrique modulaire est ensuite proposée pour construiredes machines à partir de composants géométriques de base — lesmodules —munis de certainesfonctionnalités. Cette méthode est particulièrement adaptée pour la conception de calculsgéométriques parallèles.Enfin, l’application de cette méthode et l’utilisation de certaines des structures fractales ré-sultent en une résolution géométrique de problèmes difficiles comme les problèmes de satis-faisabilité booléenne SAT et Q-SAT. Ceux-ci, ainsi que plusieurs de leurs variantes, sontrésolus par machines à signaux avec une complexité en temps intrinsèque au modèle, appeléeprofondeur de collisions, qui est polynomiale, illustrant ainsi l’efficacité et le pouvoir de calculparallèle des machines à signaux.

Mots clés. Modèle de calcul, calcul non-conventionnel, calcul géométrique, machines à si-gnaux, fractales, complexité de problèmes.

Geometrical model of computation: fractals and complexity gaps

Abstract. Geometrical models of computation allow to compute by using geometrical ele-mentary operations. Among them, the signal machines model distinguishes itself by its sim-plicity, along with its power to realize efficiently various computations. We propose here anillustration and a study of this ability, especially in the case of massively parallel processes.We show first, throught a study of fractals, that signal machines are able to make a massiveand parallel use of space.Then, a framework of geometrical modular programmation is proposed for designing machinesfrom basic geometrical components —called modules— supplied with given functionnalities.This method fits particulary with the conception of geometrical parallel computations.Finally, the joint use of this method and of fractal structures provides a geometrical resolutionof difficult problems such as the boolean satisfiability problems SAT and Q-SAT. Theseones, as well as several variants, are solved by signal machines with a model-specific timecomplexity, called collisions depth, which is polynomial, illustrating thus the efficiency andthe parallel computational abilities of signal machines.

Keywords. Model of computation, unconventional computing, geometrical computation,signal machines, fractals, computational complexity.

Laboratoire d’Informatique Fondamentale d’OrléansBâtiment 3IA, rue Léonard de Vinci, B.P. 6759

45067 ORLEANS cedex 2, FRANCE