Reorder my research works in chronological order.

This commit is contained in:
Sergiu Ivanov 2020-05-31 19:16:00 +02:00
parent 24033733e9
commit c2cae98fc1

View file

@ -26,240 +26,173 @@ travaille sur les méthodes formelles pour la médecine de précision et
pour les systèmes complexes.
Mes travaux de recherche ont donné lieu à de nombreuses collaborations
nationales et internationales, notamment avec Rudolf \textsc{Freund}
et Ion \textsc{Petre}.
nationales et internationales, notamment avec Nicolas \textsc{Glade},
Rudolf \textsc{Freund} et Ion \textsc{Petre}.
Dans cette section, je résume d'abord ma thèse, puis d'autres
résultats obtenus pendant mon doctorat et par la suite de ma carrière
scientifique.
Dans cette section, je résume les résultats obtenus pendant mon
doctorat et par la suite de ma carrière scientifique, dans l'ordre
chronologique inverse.
\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.
\subsection{Travaux au laboratoire IBISC}
Avec mon intégration au sein de l'équipe COSMO du laboratoire IBISC,
ma recherche a connu une plus grande ouverture sur l'étude des
systèmes complexes, notamment dans le contexte de la médecine de
précision. Cette ouverture correspond à la vision que j'avais au
démarrage de mes travaux de thèse et suit naturellement aux travaux
formels que j'ai réalisés.
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{Thérapies séquentielles pour la médecine de précision}
La {\em médecine personnalisée} est un domaine scientifique émergeant
ayant pour objet de définir de nouveaux paradigmes en {\em médecine}
afin de {\em personnaliser} le traitement au
patient~\cite{BianeD17,BianeDK16,Caraguel2016}. Elle fonde cet
objectif dans l'analyse des données omiques (génomiques,
intéractomiques, etc.) dans la perspective d'étudier les pathologies à
l'échelle moléculaire. L'un des enjeux majeur dans ce domaine est
d'assister à la prise de décision clinique afin de guider le suivi
thérapeutique.
\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 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.
La médecine des réseaux cherche à atteindre les objectifs de la
médecine personnalisée en intégrant les données disponibles pour un
patient dans des modèles formels de systèmes dynamiques à base de
graphes~\cite{BianeD17,BianeDK16}. L'un de ces modèles sont les
réseaux booléens : des ensembles de fonctions booléennes agissant sur
un ensemble fini de variables booléennes. Ces réseaux commencent leur
évolution à partir d'un état initial et ensuite mettent à jour les
valeurs de certaines des variables selon les valeurs des fonctions
booléennes associées. Souvent, une seule variable est modifiée à la
fois (mode de mise à jour asynchrone), ce qui correspond bien aux
dynamiques observées des réseaux biologiques.
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 ({\em insertion-deletion system}) 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 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.
Les réseaux booléens pouvant représenter assez naturellement divers
réseaux biologiques, et particulièrement les réseaux de signalisation,
l'étude des propriétés dynamiques de ce modèle permet de faire des
conclusions non triviales sur les propriétés du système biologique
représenté. Notamment, l'étude~\cite{BianeD17} montre une application
de cette approche à l'inférence des causes du cancer du sein. Plus
concrètement, des réseaux booléens avec des variables de contrôle sont
introduits ; la thérapie devient alors une modification des ces
variables de contrôle qui dévie les trajectoires du réseau booléen
vers les états stables désirés (sains).
Dans le cadre de ma thèse nous nous sommes intéressés tout d'abord à
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
$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 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.
Au sein de l'équipe COSMO, je me penche davantage sur les extensions
possibles de ces techniques. En effet, dans~\cite{BianeD17}, les
valeurs des variables de contrôle sont fixées une fois : au début de
l'évolution du réseau. Or, des thérapies séquentielles semblent être
plus efficaces, car celles-ci permettent de piloter plus finement les
trajectoires du réseau contrôlé (par
exemple,~\cite{mandon2017}). Actuellement, nous nous penchons sur le
problème de définition de contrôle séquentiel d'un réseau, tout en
gardant des temps raisonnables d'analyse par ordinateur.
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 sont Turing complets avec de très petites
règles. Notamment, nous avons prouvé que le contrôle semi-conditionnel
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, et les rend Turing complets.
\subsubsection{Méthodes formelles pour le véhicule autonome}
La conception de l'automobile autonome est l'un des objectifs
magistraux de l'industrie et la science modernes ; en effet, un
véhicule capable de se conduire lui-même en respectant le code de la
route et la sécurité des acteurs du trafic permettra de lever de
nombreux verrous dans les domaines de la logistique, du transport de
personnes et de marchandises, etc. La conception d'un tel véhicule
pose des défis importants dont l'affrontement nécessite une véritable
synergie interdisciplinaire.
Les résultats concernant les systèmes d'insertion/effacement avec des
mécanismes de contrôle ont été publiés
dans~\cite{DBLP:conf/membrane/IvanovV13,DBLP:journals/fuin/0001V15}.
Dans cette optique d'interdisciplinarité, je participe au travaux de
l'équipe COSMO qui étudient le véhicule autonome non pas comme un
objet physique suivant des trajectoires sur une route réelle, mais
comme un agent interagissant avec d'autres dans un espace virtuel
linéaire. Cette représentation éloigne le modèle de la réalité
physique, certes, mais elle nous permet d'aller au-delà de la sécurité
routière et d'étudier le {\em confort} additionnel que des protocoles
de {\em communication} pourrait procurer aux usagers de la route.
Nous avons continué l'étude de la puissance d'expresison des systèmes
d'insertion/effacement de tailles $(1,2,0;1,1,0)$ et $(1,1,0;1,2,0)$
avec contrôle par graphe et nous avons montré que deux états dans le
graphe de contrôle suffisaient pour rendre ces systèmes Turing
complets~\cite{DBLP:conf/mcu/0001V15}. Cela améliore la construction
utilisant trois états présentée dans ma thèse. Afin de faire cette
construction améliorée nous avons introduit les règles d'insertion et
d'effacement étendues ; dans ces règles les contextes ne sont plus des
chaînes de caractères prédéfinies, mais peuvent être des langages
rationnels.
\subsubsection{Réseaux de processeurs évolutionnaires}
Les réseaux de processeurs évolutionnaires ({\em networks of
evolutionary processors}) 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
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.
Ces résultats on été publiés dans~\cite{DBLP:journals/jalc/0001RV14}.
\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
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
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 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
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 la puissance 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 d'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
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)$$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 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
pour ceux-ci.
Les résultats de ma thèse portant sur les réseaux de Petri universels
ont été publiés
dans~\cite{DBLP:conf/dcfs/0001PV14,DBLP:journals/corr/IvanovPV13,DBLP:journals/jalc/Alhazov0PV16}.
Le cadre de cette étude est posé dans les articles bientôt publiés de
Jeremy \textsc{Sobieraj}. Ma contribution se cantonne actuellement à
l'étude du confort des usagers sur une voie d'insertion, mais je
compte élargir mon investissement.
\subsection{Travaux hors thèse et postdoctoraux}
Avant le début de ma thèse et pendant mon doctorat j'ai travaillé sur
des problèmes qui n'étaient pas directement liés à ceux qui sont
exposés dans le manuscrit. Ces travaux se situent également dans le
cadre du calcul naturel et de la théorie des langages formels. En
tant que postdoc, je travaille sur la modélisation biomécanique du
tant que postdoc, j'ai travaillé sur la modélisation biomécanique du
squelette cellulaire.
Dans les sections suivantes, je donne plus détails par rapport aux
travaux de recherche sus-cités.
\subsubsection{Modélisation biomécanique du squelette cellulaire}
Les plaquettes sanguines (thrombocytes) sont des cellules sanguines
responsables pour les premières phases de l'hémostase : l'arrêt de
saignement après la blessure de la paroi d'un vaisseau sanguin. Les
plaquettes transforment le fibrinogène présent dans le plasma sanguin
en structures fibreuses qui bouchent la plaie. Dans son état normal,
la paroi d'un vaisseau secrète de l'oxyde nitrique qui empêche
l'activation des plaquettes. Lorsque la paroi est lésée, le manque de
l'oxyde nitrique induit l'activation des plaquettes.
Lors de l'activation, les plaquettes sanguines subissent une
transformation de forme rapide (à l'échelle de quelques minutes) :
ayant normalement la forme d'un disque, elle rétrécissent et
deviennent des sphères. Il a été montré que ce changement de forme
est dû à l'activité du squelette cellulaire, constitué des fibres
d'actine et de tubuline (figure~\ref{fig:platelets}).
\begin{figure}
\centering
\begin{subfigure}[t]{.4\textwidth}
\centering
\includegraphics[height=30mm]{pics/platelet-round}
\caption{Dans l'état passif, le cytosquelette a la forme d'un
anneau.}
\end{subfigure}
\hspace{5mm}
\begin{subfigure}[t]{.4\textwidth}
\centering
\includegraphics[height=30mm]{pics/platelet-folded}
\caption{Lors de l'activation, le cytosquellette rétrécit et
induit une transition vers la forme sphérique.}
\end{subfigure}
\caption{Le squelette cellulaire régit le changement de la forme des
plaquettes sanguines lors de l'activation.}
\label{fig:platelets}
\end{figure}
Le but de mon projet est de développer un outil de modélisation
biomécanique des fibres de tubuline (microtubules) pour ensuite
analyser leur rôle dans l'activation des plaquettes.
L'outil de modélisation que je suis en train de développer devra
réaliser les trois fonctions suivantes :
\begin{itemize}
\item représentation informatique de la dynamique microtubules à
travers un modèle masse-ressort paramétrable,
\item représentation informatique de l'action des moteurs moléculaires
qui assurent l'adhésion et le déplacement relatif des microtubules,
\item affichage graphique des simulations effectuées.
\end{itemize}
L'outil est développé en C++, un langage qui possède quelques
propriétés clefs :
\begin{itemize}
\item acceptation quasi universelle dans le milieu de la modélisation
biologique;
\item représentation naturelle de concepts abstraits via la syntaxe
pour la programmation objet;
\item contrôle fin sur l'usage de diverses ressources, permettant
l'optimisation ciblée des applications.
\end{itemize}
L'outil logiciel sera intégré dans le framework de modélisation
biologique générique développé par Nicolas \textsc{Glade}. Pour rendre
cela possible, nous employons des techniques de programmation objet
et, en partie, de programmation fonctionnelle. Les outils développés
dans ce cadre ne seront donc pas ad hoc (comme habituel dans la
modélisation biologique), mais pourront être réutilisés dans des
simulations différentes, y compris dans l'étude des systèmes complexes
non-biologiques. Nous consacrons également un effort important à
l'accessibilité des outils aux modélisateurs qui ne possèdent pas
forcement de l'expertise en programmation objet ou en C++ : nous
accompagnons les nouveaux utilisateurs et, à terme, nous mettrons en
œuvre un système graphique de conceptions de modèles.
\subsubsection{Systèmes à membranes}
Le modèle des systèmes à membranes a été introduit par Gheorghe Păun
qui s'est inspiré de la nature et du fonctionnement de la cellule
@ -485,158 +418,221 @@ une définition formelle de la modélisation tire, en parti, son
inspiration des travaux d'Andrée Ehresmann~\cite{Ehresmann12} sur les
processus évolutifs à mémoire.
\subsubsection{Modélisation biomécanique du squelette cellulaire}
Les plaquettes sanguines (thrombocytes) sont des cellules sanguines
responsables pour les premières phases de l'hémostase : l'arrêt de
saignement après la blessure de la paroi d'un vaisseau sanguin. Les
plaquettes transforment le fibrinogène présent dans le plasma sanguin
en structures fibreuses qui bouchent la plaie. Dans son état normal,
la paroi d'un vaisseau secrète de l'oxyde nitrique qui empêche
l'activation des plaquettes. Lorsque la paroi est lésée, le manque de
l'oxyde nitrique induit l'activation des plaquettes.
\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.
Lors de l'activation, les plaquettes sanguines subissent une
transformation de forme rapide (à l'échelle de quelques minutes) :
ayant normalement la forme d'un disque, elle rétrécissent et
deviennent des sphères. Il a été montré que ce changement de forme
est dû à l'activité du squelette cellulaire, constitué des fibres
d'actine et de tubuline (figure~\ref{fig:platelets}).
\begin{figure}
\centering
\begin{subfigure}[t]{.4\textwidth}
\centering
\includegraphics[height=30mm]{pics/platelet-round}
\caption{Dans l'état passif, le cytosquelette a la forme d'un
anneau.}
\end{subfigure}
\hspace{5mm}
\begin{subfigure}[t]{.4\textwidth}
\centering
\includegraphics[height=30mm]{pics/platelet-folded}
\caption{Lors de l'activation, le cytosquellette rétrécit et
induit une transition vers la forme sphérique.}
\end{subfigure}
\caption{Le squelette cellulaire régit le changement de la forme des
plaquettes sanguines lors de l'activation.}
\label{fig:platelets}
\end{figure}
Le but de mon projet est de développer un outil de modélisation
biomécanique des fibres de tubuline (microtubules) pour ensuite
analyser leur rôle dans l'activation des plaquettes.
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.
L'outil de modélisation que je suis en train de développer devra
réaliser les trois fonctions suivantes :
\begin{itemize}
\item représentation informatique de la dynamique microtubules à
travers un modèle masse-ressort paramétrable,
\item représentation informatique de l'action des moteurs moléculaires
qui assurent l'adhésion et le déplacement relatif des microtubules,
\item affichage graphique des simulations effectuées.
\end{itemize}
\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 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.
L'outil est développé en C++, un langage qui possède quelques
propriétés clefs :
\begin{itemize}
\item acceptation quasi universelle dans le milieu de la modélisation
biologique;
\item représentation naturelle de concepts abstraits via la syntaxe
pour la programmation objet;
\item contrôle fin sur l'usage de diverses ressources, permettant
l'optimisation ciblée des applications.
\end{itemize}
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 ({\em insertion-deletion system}) 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 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.
L'outil logiciel sera intégré dans le framework de modélisation
biologique générique développé par Nicolas \textsc{Glade}. Pour rendre
cela possible, nous employons des techniques de programmation objet
et, en partie, de programmation fonctionnelle. Les outils développés
dans ce cadre ne seront donc pas ad hoc (comme habituel dans la
modélisation biologique), mais pourront être réutilisés dans des
simulations différentes, y compris dans l'étude des systèmes complexes
non-biologiques. Nous consacrons également un effort important à
l'accessibilité des outils aux modélisateurs qui ne possèdent pas
forcement de l'expertise en programmation objet ou en C++ : nous
accompagnons les nouveaux utilisateurs et, à terme, nous mettrons en
œuvre un système graphique de conceptions de modèles.
Dans le cadre de ma thèse nous nous sommes intéressés tout d'abord à
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
$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 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 sont Turing complets avec de très petites
règles. Notamment, nous avons prouvé que le contrôle semi-conditionnel
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, et les rend Turing complets.
\subsection{Travaux au laboratoire IBISC}
Les résultats concernant les systèmes d'insertion/effacement avec des
mécanismes de contrôle ont été publiés
dans~\cite{DBLP:conf/membrane/IvanovV13,DBLP:journals/fuin/0001V15}.
Avec mon intégration au sein de l'équipe COSMO du laboratoire IBISC,
ma recherche a connu une plus grande ouverture sur l'étude des
systèmes complexes, notamment dans le contexte de la médecine de
précision. Cette ouverture correspond à la vision que j'avais au
démarrage de mes travaux de thèse et suit naturellement aux travaux
formels que j'ai réalisés.
Nous avons continué l'étude de la puissance d'expresison des systèmes
d'insertion/effacement de tailles $(1,2,0;1,1,0)$ et $(1,1,0;1,2,0)$
avec contrôle par graphe et nous avons montré que deux états dans le
graphe de contrôle suffisaient pour rendre ces systèmes Turing
complets~\cite{DBLP:conf/mcu/0001V15}. Cela améliore la construction
utilisant trois états présentée dans ma thèse. Afin de faire cette
construction améliorée nous avons introduit les règles d'insertion et
d'effacement étendues ; dans ces règles les contextes ne sont plus des
chaînes de caractères prédéfinies, mais peuvent être des langages
rationnels.
\subsubsection{Thérapies séquentielles pour la médecine de précision}
La {\em médecine personnalisée} est un domaine scientifique émergeant
ayant pour objet de définir de nouveaux paradigmes en {\em médecine}
afin de {\em personnaliser} le traitement au
patient~\cite{BianeD17,BianeDK16,Caraguel2016}. Elle fonde cet
objectif dans l'analyse des données omiques (génomiques,
intéractomiques, etc.) dans la perspective d'étudier les pathologies à
l'échelle moléculaire. L'un des enjeux majeur dans ce domaine est
d'assister à la prise de décision clinique afin de guider le suivi
thérapeutique.
\subsubsection{Réseaux de processeurs évolutionnaires}
Les réseaux de processeurs évolutionnaires ({\em networks of
evolutionary processors}) 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 médecine des réseaux cherche à atteindre les objectifs de la
médecine personnalisée en intégrant les données disponibles pour un
patient dans des modèles formels de systèmes dynamiques à base de
graphes~\cite{BianeD17,BianeDK16}. L'un de ces modèles sont les
réseaux booléens : des ensembles de fonctions booléennes agissant sur
un ensemble fini de variables booléennes. Ces réseaux commencent leur
évolution à partir d'un état initial et ensuite mettent à jour les
valeurs de certaines des variables selon les valeurs des fonctions
booléennes associées. Souvent, une seule variable est modifiée à la
fois (mode de mise à jour asynchrone), ce qui correspond bien aux
dynamiques observées des réseaux biologiques.
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
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.
Ces résultats on été publiés dans~\cite{DBLP:journals/jalc/0001RV14}.
Les réseaux booléens pouvant représenter assez naturellement divers
réseaux biologiques, et particulièrement les réseaux de signalisation,
l'étude des propriétés dynamiques de ce modèle permet de faire des
conclusions non triviales sur les propriétés du système biologique
représenté. Notamment, l'étude~\cite{BianeD17} montre une application
de cette approche à l'inférence des causes du cancer du sein. Plus
concrètement, des réseaux booléens avec des variables de contrôle sont
introduits ; la thérapie devient alors une modification des ces
variables de contrôle qui dévie les trajectoires du réseau booléen
vers les états stables désirés (sains).
\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
très proches de l'organisation des ordinateurs digitaux habituels.
Au sein de l'équipe COSMO, je me penche davantage sur les extensions
possibles de ces techniques. En effet, dans~\cite{BianeD17}, les
valeurs des variables de contrôle sont fixées une fois : au début de
l'évolution du réseau. Or, des thérapies séquentielles semblent être
plus efficaces, car celles-ci permettent de piloter plus finement les
trajectoires du réseau contrôlé (par
exemple,~\cite{mandon2017}). Actuellement, nous nous penchons sur le
problème de définition de contrôle séquentiel d'un réseau, tout en
gardant des temps raisonnables d'analyse par ordinateur.
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.
\subsubsection{Méthodes formelles pour le véhicule autonome}
La conception de l'automobile autonome est l'un des objectifs
magistraux de l'industrie et la science modernes ; en effet, un
véhicule capable de se conduire lui-même en respectant le code de la
route et la sécurité des acteurs du trafic permettra de lever de
nombreux verrous dans les domaines de la logistique, du transport de
personnes et de marchandises, etc. La conception d'un tel véhicule
pose des défis importants dont l'affrontement nécessite une véritable
synergie interdisciplinaire.
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}.
Dans cette optique d'interdisciplinarité, je participe au travaux de
l'équipe COSMO qui étudient le véhicule autonome non pas comme un
objet physique suivant des trajectoires sur une route réelle, mais
comme un agent interagissant avec d'autres dans un espace virtuel
linéaire. Cette représentation éloigne le modèle de la réalité
physique, certes, mais elle nous permet d'aller au-delà de la sécurité
routière et d'étudier le {\em confort} additionnel que des protocoles
de {\em communication} pourrait procurer aux usagers de la route.
\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 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
règles de réécriture de multiensembles.
Le cadre de cette étude est posé dans les articles bientôt publiés de
Jeremy \textsc{Sobieraj}. Ma contribution se cantonne actuellement à
l'étude du confort des usagers sur une voie d'insertion, mais je
compte élargir mon investissement.
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 la puissance 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 d'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
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)$$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 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
pour ceux-ci.
Les résultats de ma thèse portant sur les réseaux de Petri universels
ont été publiés
dans~\cite{DBLP:conf/dcfs/0001PV14,DBLP:journals/corr/IvanovPV13,DBLP:journals/jalc/Alhazov0PV16}.
\subsection{Projets de programmation}
Lors de mon parcours, j'ai réalisé plusieurs