diff --git a/candidature.tex b/candidature.tex index 2e9a1ee..ddabe8b 100644 --- a/candidature.tex +++ b/candidature.tex @@ -52,4 +52,8 @@ \input{enseignement.tex} +\clearpage + +\input{recherche.tex} + \end{document} diff --git a/recherche.tex b/recherche.tex new file mode 100644 index 0000000..6f343ab --- /dev/null +++ b/recherche.tex @@ -0,0 +1,230 @@ +\section{Activités de recherche} +\begin{refsection} + +J'ai commencé mes travaux de recherche en 2009 au sein de l'Institut +de Mathématiques et d'Informatique de Moldavie sous la direction de +Yurii \textsc{Rogozhin}, et j'ai continué en 2012 par entreprendre une +thèse sous la direction de Serghei \textsc{Verlan} au Laboratoire +d'Algorithmique, Complexité et Logique de l'Université Paris Est +Créteil. J'ai également eu de nombreuses collaborations +internationales, notamment avec Rudolf~\textsc{Freund}, +Artiom~\textsc{Alhazov} et Ion~\textsc{Petre}. Afin de collaborer avec +Ion \textsc{Petre}, j'ai effectué de multiples visites au laboratoire +Combio à l'université Åbo Akademi à Turku, Finlande. + +Les sujets de recherche que j'ai abordés jusqu'à maintenant se situent +dans les domaines du calcul inspiré par la biologie et des langages +formels. Lors de mon doctorat, j'ai travaillé également sur des +problèmes non reliés directement au sujet de ma thèse. Dans la suite +de cette section, je résume ma thèse, puis les résultats obtenus qen +dehors de son cadre. + +\subsection{Travaux de thèse} +Ma thèse porte sur la puissance d'expression et l'universalité de +modèles de calcul inspirés par la biologie. Les travaux présentés se +structurent en quatre parties. Dans la première il s'agit de la +puissance d'expression des systèmes d'insertion/effacement ({\em + insertion-deletion systems}), un modèle de réécriture de chaînes de +symboles formels par les opérations d'insertion et d'effacement. La +deuxième partie du manuscrit se focalise sur l'universalité des +réseaux de processeurs évolutionnaires ({\em networks of evolutionary + processors}), qui est une formalisation d'un ensemble des unités de +traitement de chaînes de caractères reliés en réseau. La troisième +partie considère les machines à registres universelles à deux et à +trois registres, ainsi qu'une généralisation de ce modèle. La dernière +partie porte sur l'universalité des réseaux de Petri avec des arcs +inhibiteurs. + +Nous rappelons que l'universalité est la propriété d'une classe de +modèles de calcul d'avoir un objet, dit universel, qui peut répliquer +les résultats de n'importe quel autre objet de cette classe, la +simulation pouvant éventuellement se faire à un codage près. D'autre +part, la complétude computationnelle est la propriété d'une classe de +contenir, pour tout langage récursivement énumérable, un objet qui +l'engendre. + +\subsubsection{Systèmes d'insertion/effacement} +Les opérations d'insertion et d'effacement sont connues depuis +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. + +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 +d'effacement agit de la façon duale : elle supprime une sous-chaîne +d'une chaîne de caractères, dans un contexte donné. Un système +d'insertion/effacement possède 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 +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)$, +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 +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 +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. + +Nous avons ensuite considéré les systèmes d'insertion/effacement avec +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 +règles. Notamment, nous avons prouvé que le contrôle semi-conditionnel +augmentait 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. + +\subsubsection{Réseaux de processeurs évolutionnaires} +Les réseaux de processeurs évolutionnaires sont un modèle de calcul +inspiré par l'activité des organites d'une cellule biologique ou par +la collaboration des cellules d'un tissu~\cite{CMVMS2001,CVS97}. Un +processeur évolutionnaire peut effectuer en parallèle des opérations +élémentaires (insertion, effacement, substitution d'un symbole) sur +toutes les chaînes de caractères qu'il contient. Les processeurs sont +connectés en réseau et échangent les chaînes de caractères qu'ils +produisent. Ils disposent de filtres à l'entrée et à la sortie, ce qui +leur permet de ne pas prendre en compte certaines chaînes. + +La complétude computationnelle des réseaux de processeurs +évolutionnaires a été montrée dès leur +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 +avons ainsi construit des réseaux universels à 4, 5 et 7 règles +seulement, avec des fonctions de codage différentes. + +\subsubsection{Machines à registres} +Les machines à registres sont un modèle de calcul classique, dérivé +directement de la machine de Turing~\cite{Minsky1961,Wang:1957}. Une +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. + +Il a été montré que les machines à registres sont Turing complets, et +qu'en plus n'importe quelle fonction calculable sur les entiers non +négatifs peut être calculée par une machine à deux registres si les +entrées de la fonction sont déjà encodées, ou à trois registres si la +machine doit faire l'encodage par elle-même~\cite{minsky67}. Cela +implique l'existence de machines à deux registres et à trois registres +universelles. Néanmoins, aucun programme d'une telle machine n'a été +présenté dans la littérature, or une telle construction concrète +permet d'estimer la taille de structures universelles dérivées et de +les optimiser ensuite. Dans ma thèse nous avons donc appliqué la +procédure décrite dans~\cite{minsky67} pour construire des machines à +deux et à trois registres universelles en simulant les machines +universelles présentées en~\cite{Korec}. + +Nous nous sommes aussi intéressés à la façon dont les machines à +registres sont simulées par d'autres modèles de calcul tels que +systèmes de réécriture de multiensembles, réseaux de Petri, ou réseaux +de processeurs évolutionnaires. Nous avons remarqué que tous ces +modèles peuvent simuler plusieurs instructions d'une machine à +registres en un seul pas. Autrement dit, ces instructions sont souvent +trop élémentaires. Dans le but de définir un modèle proche aux +machines à registres, mais qui utiliserait des instructions plus +expressives, nous avons proposé les machines à registres généralisées +({\em generalised register machines}). Une telle machine peut +effectuer plusieurs incréments, décréments, ou tests si un registre +est à zéro en une seule transition. + +Les machines à registres habituelles peuvent être vues comme des +machines à registres généralisées qui n'exécutent qu'une seule +opération par transition. Dans une telle machine il est possible de +réduire le nombre d'états en utilisant des transitions plus +complexes. Dans ma thèse nous avons appliqué cette réduction pour +construire des machines à registres universelles à 7 états seulement, +cela en simulant les constructions présentées dans~\cite{Korec}. + +\subsubsection{Systèmes de réécriture de multiensembles et réseaux de Petri} +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 +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 +règles de réécriture de multiensembles. + +Il a été montré que savoir si un marquage peut être atteint par un +réseau de Petri donné est décidable~\cite{Mayr:1981}. La même +affirmation est donc valable dans le cas des systèmes de réécriture de +multiensembles simples. Plusieurs variations ont été proposées afin +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 +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 +Turing complets~\cite{BMVPR2002,Reinhardt08}, car ils peuvent simuler +assez directement les machines à registres. + +Dans ma thèse nous avons construit plusieurs réseaux de Petri avec des +arcs inhibiteurs universels. Nous avons défini la taille d'un réseau +comme étant le 4-uplet $(p,t,i,d)$ où $p$ est le nombre de places, $t$ +est le nombre de transitions, $i$ est le nombre d'arcs inhibiteur et +$d$ et le nombre maximal d'arcs incidents à une transitions (le degré +maximal). Nous nous sommes proposé de construire des réseaux de Petri +universels tout en minimisant chacun de ces paramètres. Nous avons +notamment décrit des réseaux universels avec quatre et cinq places +uniquement et d'autres avec deux et trois arcs inhibiteurs (les +chiffres varient selon l'encodage des entrées et des sorties). Il est +remarquable que deux est le nombre minimal d'arcs inhibiteurs +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 +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 +pour ceux-ci. + +\begin{itemize} +\item systèmes à membranes, +\item systèmes à réactions, +\item grammaires de tableaux. +\end{itemize} + +Les sujets de recherche que j'ai abordé sont le + +travaux de thèse + +travaux hors thèse + +programmation + +\printbibliography +\end{refsection}