Fix a big couple of issues in the presentation of my research.

This commit is contained in:
Sergiu Ivanov 2015-05-28 15:09:09 +02:00
parent c244d00f77
commit 68158f1f35
2 changed files with 31 additions and 30 deletions

View file

@ -16,12 +16,12 @@ howpublished = {\url{https://github.com/scolobb/nsmux}}
}
@misc{sympy,
title = {SymPy homepage},
title = {{S}ym{P}y homepage},
howpublished = {\url{http://www.sympy.org}}
}
@misc{categories,
title = {A category theory module for SymPy},
title = {A category theory module for {S}ym{P}y},
author = {Sergiu Ivanov},
howpublished = {\url{https://github.com/scolobb/sympy}}
}

View file

@ -51,15 +51,16 @@ longtemps dans la théorie des langages formels, surtout la variante
sans contexte qui généralise les opérations de concaténation et
quotient, deux opérations
fondamentales~\cite{Haussler82,KariPhD}. L'inspiration qui a motivé
l'introduction de ces opérations vient de la linguistique, car elles
semblent modéliser assez précisément les procédés de construction des
phrases dans une langue vivante~\cite{Marcus69,PaunKluwer97}. Il a été
montré récemment que l'insertion et l'effacement possèdent une
inspiration biologique et qu'ils formalisent l'hybridation erronée des
brins d'ADN ({\em mismatched DNA annealing})~\cite{PRSbook}. De plus,
il a été découvert que même l'édition de l'ARN ({\em RNA editing})
réalisé par certains protozoaires consiste généralement en des ajouts
et des suppressions dans des brins d'ARN.
l'introduction de l'insertion et l'effacement vient de la
linguistique, car elles semblent modéliser assez précisément les
procédés de construction des phrases dans une langue
vivante~\cite{Marcus69,PaunKluwer97}. Il a été montré récemment que
l'étude de l'insertion de l'effacement est intéressante du point de
vue biologique, car ses opérations formalisent l'hybridation erronée
des brins d'ADN ({\em mismatched DNA annealing})~\cite{PRSbook}. De
plus, il a été découvert que même l'édition de l'ARN ({\em RNA
editing}) réalisée par certains protozoaires consiste généralement
en des ajouts et des suppressions dans des brins d'ARN.
De manière intuitive, une règle d'insertion rajoute une sous-chaîne à
une chaîne de caractères dans un contexte donné. Une règle
@ -70,23 +71,23 @@ un ensemble fini de règles d'insertion
et d'effacement ; il engendre un langage en appliquant ces règles
séquentiellement à un ensemble fini de mots dits axiomes. La
complexité d'un système d'insertion/effacement est décrite par le
6-uplet $(n,m,m'; p,q,q')$ dit taille, où les premiers trois composant
6-uplet $(n,m,m'; p,q,q')$ dit taille, où les premiers trois composants
représentent la longueur maximale de la sous-chaîne insérée et la
taille maximale des contextes à gauche et à droite, alors que les
trois derniers composants décrivent les mêmes paramètres pour les
règles d'effacement.
Dans le cadre de ma thèse nous nous sommes intéressés tout d'abord à
des systèmes d'insertion/sup\-pres\-sion de taille $(1,m,0; 1,q,0)$,
des systèmes d'insertion/ef\-face\-ment de taille $(1,m,0; 1,q,0)$,
c'est-à-dire aux systèmes dans lesquels toutes les règles n'ont pas de
contexte à droite et insèrent ou suppriment un caractère. Nous avons
montré que ces systèmes engendrent tous les langages rationnels, et
même certains langages algébriques. D'un autre côté, nous avons prouvé
que pour tout système de taille $(1,m,0;1,q,0)$ avec $m\geq 2$ ou
$n\geq 2$ il existe un système de taille $(1,2,0; 1,1,0)$ et un autre
de taille $(1,1,0; 1,2,0)$ qui le simulent. Nous nous sommes aussi
$q\geq 2$ il existe un système de taille $(1,2,0; 1,1,0)$ et un autre
de taille $(1,1,0; 1,2,0)$ qui le simule. Nous nous sommes
intéressés aussi aux systèmes de taille $(1,1,0;1,1,0)$ qui, malgré
leur simplicité apparente, peuvent eux aussi engendrer des langages
leur simplicité apparente, peuvent engendrer des langages
non algébriques. Afin de mieux analyser le comportement dynamique de
ces systèmes, nous avons introduit un outil de représentation
graphique de leurs dérivations.
@ -96,9 +97,9 @@ trois mécanismes de contrôle : contrôle par graphe ({\em graph
control}), contrôle semi-conditionnel ({\em semi-conditional
control}) et contextes aléatoires ({\em random context
control}). Nous avons prouvé que les systèmes équipés de ces
mécanismes étaient Turing complets avec de très petites
mécanismes sont Turing complets avec de très petites
règles. Notamment, nous avons prouvé que le contrôle semi-conditionnel
augmentait la puissance d'expression des systèmes
augmente la puissance d'expression des systèmes
d'insertion/effacement de taille $(1,0,0;1,0,0)$, c'est-à-dire des
systèmes avec des règles sans contexte, est les rend Turing complets.
@ -119,8 +120,8 @@ La complétude computationnelle des réseaux de processeurs
introduction~\cite{CMVMS2001,CVS97}. Des variations au modèle ont été
proposées plus tard et prouvées Turing complètes elles
aussi~\cite{AMVR2006,CMVMS2003}. Nous nous sommes intéressés plutôt à
l'universalité et à la minimisation du nombre de règles d'insertion,
d'effacement et de substitution dans les réseaux universels. Nous
l'universalité et à la minimisation du nombre de règles
dans les réseaux universels. Nous
avons ainsi construit des réseaux universels à 4, 5 et 7 règles
seulement, avec des fonctions de codage différentes.
@ -131,8 +132,8 @@ telle machine possède un nombre fini de registres, qui peuvent
contenir des entiers non négatifs. Le programme d'une machine à
registres est une liste étiquetée d'instructions élémentaires :
l'incrément d'un registre, le décrément d'un registre et le teste si
un registre est vide. Les machines à registres sont ainsi un modèle
très proche de l'organisation des ordinateurs digitaux habituels.
un registre est vide. Les machines à registres sont ainsi
très proches de l'organisation des ordinateurs digitaux habituels.
Il a été montré que les machines à registres sont Turing complets, et
qu'en plus n'importe quelle fonction calculable sur les entiers non
@ -174,7 +175,7 @@ La dernière partie de ma thèse porte sur l'universalité des systèmes
de réécriture de multiensembles avec des inhibiteurs et aussi des
réseaux de Petri avec des arcs inhibiteurs --- deux modèles qui sont
fondamentalement similaires. En effet, un état (marquage) d'un réseau
de Petri est décrit comme une fonction qui associe à chaque place le
de Petri est décrit par une fonction qui associe à chaque place le
nombre de jetons qu'elle contient ; or le marquage est un
multiensemble sur l'alphabet des symboles qui désignent les
places. Les transitions de réseaux de Petri correspondent ainsi aux
@ -188,7 +189,7 @@ d'étendre le pouvoir d'expression de ces modèles, dont l'idée des
inhibiteurs. Dans les réseaux de Petri, un arc inhibiteur entre une
place et une transition empêche celle-ci de se déclencher si la place
n'est pas vide. De la même manière, on peut munir une règle de
réécriture de multiensembles avec un ensemble de symboles qui ne
réécriture de multiensembles avec une collection de symboles qui ne
doivent pas être présents pour que la règle soit applicable. Il a été
prouvé que les réseaux de Petri avec des arcs inhibiteurs et les
systèmes de réécriture de multiensembles avec des inhibiteurs sont
@ -210,7 +211,7 @@ nécessaires pour atteindre la complétude computationnelle : les
réseaux de Petri avec un seul arc inhibiteur ne sont pas Turing
complets~\cite{Reinhardt08}.
Même si les résultats d'universalité présentés dans la dernière partie
Même si les résultats portant sur l'universalité présentés dans la dernière partie
de ma thèse apparaissent sous la forme de réseaux de Petri, la
correspondance directe avec les systèmes de réécriture de
multiensembles permet de formuler immédiatement les mêmes résultats
@ -264,7 +265,7 @@ comportement désiré. J'ai participé à ce travail en développant un
simulateur avec des moteurs des simulations échangeables pouvant être
réalisés en des langages différents. J'ai notamment fourni un moteur
de simulation utilisant la technologie OpenCL de programmation
parallèle sur les cartes graphiques et un autre, plus flexible mais
pour des architectures parallèles et un autre, plus flexible mais
moins performant, implémenté en Haskell.
En ce qui concerne le développement des algorithmes distribués, je me
@ -275,7 +276,7 @@ de l'horloge globale rapproche le modèle des systèmes parallèles
composés d'un certain nombre de processus qui interagissent. Dans mon
travail, j'ai exprimé les mécanismes de synchronisation en termes de
règles de réécriture de multiensembles et j'ai montré comment ces
mécanismes pouvaient être utilisés pour la résolution des problèmes de
mécanismes pouvaient être utilisés pour la résolution de problèmes de
concurrence classiques.
Nous avons continué l'exploration des algorithmes distribués en
@ -286,7 +287,7 @@ avant est une méthode de déduction qui applique des implications
logiques en partant des prémisses pour en déduire de nouvelles
conclusions. Le chaînage avant consiste donc à construire toutes les
conclusions déductibles à partir des axiomes jusqu'à ce que la
proposition cible est obtenue. Par opposition, le chaînage arrière
proposition cible soit obtenue. Par opposition, le chaînage arrière
part des conclusions pour essayer de remonter aux axiomes. Le chaînage
arrière a souvent tendance à explorer moins de possibilités et est
préféré dans les cas d'utilisation pratiques. Il est remarquable que
@ -369,7 +370,7 @@ tableau dans l'espace cartésien à deux dimensions peut contenir un
nombre fini de cellules non vides disposées dans une configuration
particulière, les autres cellules étant vides. Une règle de réécriture
de tableaux qui rajoute une nouvelle cellule peut s'appliquer à un
motif seulement si cette nouvelle cellule ne correspond pas à un
motif seulement si cette nouvelle cellule correspond à un
endroit vide dans le tableau d'origine.
Ma contribution à l'étude des grammaires de tableaux a consisté à
@ -433,7 +434,7 @@ et seront disponibles au public dès leur finalisation.
Finalement, afin de faciliter la conception et la vérification de
systèmes à réactions, j'ai implémenté un simulateur de ce modèle. Le
code source du simulateur, ainsi qu'une documentation, est disponible
code source du simulateur, ainsi que la documentation, est disponible
en ligne~\cite{brsim}. J'ai aussi réalisé une interface
Web~\cite{brsimweb} qui permet d'utiliser mon simulateur sans à avoir
à télécharger et compiler le code.