— Sujet de stage recherche L3 ´
ENS Lyon 2014 —
Langage pour les machines `a signaux
Encadrant : J´erˆome Durand-Lose, LIFO, Orl´eans
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 scemas 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
Figure 2 – Diagrammes espace-temps de machines `a signaux.
Notre biblioth`eque contient de nombreuses transformations comme le fait d’encasser dans
une structure acc´el´erant infiniment (Fig. 3). Cette transformation est d´efinie en Java ce qui
impose de rentrer dans le cadre de la programmation Java — peu adapt´ee — alors que l’on
voudrait se concentrer sur la modification de machines que l’on implante.
Figure 3 – Diagramme initial, un pas d’acc´el´eration, et une infinit´e de tels pas.
Sujet
Tout d’abord, il s’agira de d´efinir un langage pour les machines `a signaux (syntaxe et
s´emantique) au travers d’exemples (sans chercher `a faire un langage complet de haut niveau)
puis passer la syntaxe sous ANTLR. Ce sera l’occasion de r´e-´ecrire de vieux algorithmes comme
d’en proposer de nouveaux. Ensuite, il faudra ´ecrire un interpr´eteur pour la partie d´eclaration
de machine, puis, si le temps le permet, pour la partie modification de machines.
Laboratoire et encadrant
Le stage aura lieu au LIFO (Laboratoire d’Informatique Fondamentale d’Orl´eans 2) sur le
site d’Orl´eans-la Source dans les conditions usuelles d’accueil. Le LIFO compte quatre vingtaines
de membres dont une moiti´e d’enseignants-chercheurs permanents. J´erˆome Durand-Lose est
professeur d’Informatique `a l’Universit´e d’Orl´eans. Il poursuit ses recherches au sein de l’´equipe
GAMoC (Graphe, Algorithmes et Mod`eles du Calcul) du LIFO.
R´ef´erences
D. Duchier, J. Durand-Lose, and M. Senot. Computing in the fractal cloud: modular generic solvers for
SAT and Q-SAT variants. In M. Agrawal, B. S. Cooper, and A. Li, editors, Theory and Applications
of Models of Computations (TAMC ’12), number 7287 in LNCS, pages 435–447. Springer, 2012. doi:
10.1007/978-3-642-29952-0 42. URL http://arxiv.org/abs/1105.3454.
J. Durand-Lose. Abstract geometrical computation 3: Black holes for classical and analog computing.
Nat. Comput., 8(3):455–472, 2009. doi: 10.1007/s11047-009-9117-0.
J. Durand-Lose. Abstract geometrical computation 6: a reversible, conservative and rational based model
for black hole computation. Int. J. Unconventional Computing, 8(1):33–46, 2012.
Les articles de J. Durand-Lose sont accessibles sur cette page web 3.
2. http://www.univ-orleans.fr/lifo/
3. http://www.univ-orleans.fr/lifo/Members/Jerome.Durand-Lose/Recherche/publications.html
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !