— Sujet de stage recherche L3 ´
ENS Lyon 2014 —
Langage pour les machines `a signaux
Encadrant : J´erˆome Durand-Lose, LIFO, Orl´eans
R´esum´e
Les machines `a signaux consid`erent l’´evolution de signaux (points sans dimension) sur
une ligne (R). Ils avancent de mani`ere uniforme et sont remplac´es par d’autres quand ils
se rencontrent. Les diagrammes espace-temps engendr´es sont form´es de segments de droite.
Une machine `a signaux est d´efinie par l’ensemble (fini) des m´eta-signaux et des r`egles de
collision. Une configuration se d´efinit par les positions des signaux pr´esents et leurs m´eta-
signaux associ´es.
Elles forment un mod`ele de calcul `a temps et espace continus o`u l’on peut simuler une
machine de Turing mais ´egalement y faire du calcul analogique exact. Ce mod`ele poss`ede
´egalement ses propres primitives et sch´emas pour construire des machines `a signaux `a partir
d’autres. Par exemple, on peut construire des versions infiniment acc´el´er´ees.
Nous disposons d’une biblioth`eque Java compl`ete pour la manipulation des machines
`a signaux et la plupart des algorithmes y ont ´et´e implant´es. Actuellement, une machine se
d´efinit en Java ou en xml (ou avec une interface graphique) et les algorithmes de modification
sont ´ecrits en Java. Ces solutions sont malheureusement lourdes et peu lisibles.
Le but du stage est de d´efinir un langage et un interpr´eteur (ANTLR et Java) pour
d´efinir des machines `a signaux puis des r`egles de modifications.
Mots-cl´es : ANTLR ; Algorithmique g´eom´etrique ; Java ; Machines `a signaux ; Syst`emes
complexes.
Machines `a signaux
Dans un espace euclidien unidimensionnel (R), on place un certain nombre de signaux :
points sans dimension se d´epla¸cant `a vitesse constante. `
A chaque signal, est associ´e un m´eta-
signal, celui-ci d´efinit enti`erement la dynamique du signal. Quand des signaux se rencontrent,
ils sont enlev´es et d’autres signaux apparaissent suivant des r`egles de collision. La Figure 1
contient un diagramme espace-temps d’une machine `a signaux avec `a gauche les m´eta-signaux
et les r`egles de collision qui d´efinissent la machine `a signaux.
M´eta-signal Vitesse
a1
b-1
c0
R`egles de collision
{a, b} → {c, a}
{a, c} → {}
{b, c} → {}
{a, b, c} → {c, b}
a
a
a
a
bb
b
c
c
c
c
temps (N)
espace (Z)
Figure 1 – M´eta-signaux, r`egles et diagramme espace-temps.
Le comportement des machines `a signaux est complexe et tr`es riche comme le montre la
Fig. 2. En effet, on peut calculer au sens des machines de Turing, mais on peut ´egalement
r´esoudre le probl`eme de la halte [Durand-Lose, 2012], calculer sur des valeurs continues avec
exactitude [Durand-Lose, 2009] et engendrer des fractales et y mener des calculs [Duchier et al.,
2012].
Une courte introduction visuelle aux machines `a signaux est accessible sur internet 1.
Nous disposons d’une biblioth`eque Java pour manipuler des machines `a signaux. Pour d´efinir
une machine, il faut soit utiliser un fichier xml soit la coder en dur en Java (soit passer par une
interface graphique). Tout cela est trop lourd si l’on veut juste faire quelques essais.
1. http://www.univ-orleans.fr/lifo/Members/Jerome.Durand-Lose/Recherche/AGC/intro AGC.html
1