1035 lines
55 KiB
TeX
1035 lines
55 KiB
TeX
\begin{refsection}[
|
||
bib/hdr_noverlan.bib,
|
||
bib/hdr_verlan.bib,
|
||
bib/insdel.bib,
|
||
bib/pn.bib,
|
||
bib/psystems.bib,
|
||
bib/mcrs.bib,
|
||
bib/arrays.bib,
|
||
bib/programming.bib,
|
||
bib/algebra.bib,
|
||
bib/complex-sys.bib,
|
||
bib/sivanov.bib,
|
||
bib/sivanov-extra.bib,
|
||
bib/evry.bib
|
||
]
|
||
|
||
\section{Activités de recherche}
|
||
Les sujets de recherche que j'ai abordés jusqu'à maintenant se situent
|
||
dans les domaines du calcul inspiré par la biologie, des langages
|
||
formels, et de la médecine de précision et des systèmes complexes plus
|
||
généralement. Pour ma thèse de doctorat, j'ai principalement travaillé
|
||
sur des systèmes de réécriture de chaînes de caractères et de
|
||
multiensembles. Le sujet de mon postdoc porte sur la modélisation
|
||
biomécanique du squelette cellulaire. Au sein du laboratoire IBISC, je
|
||
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 Nicolas \textsc{Glade},
|
||
Rudolf \textsc{Freund} et Ion \textsc{Petre}.
|
||
|
||
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 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.
|
||
|
||
\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.
|
||
|
||
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.
|
||
|
||
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).
|
||
|
||
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.
|
||
|
||
\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, 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
|
||
vivante~\cite{Paun98computingwith,paun2002membrane,Paun:2010:OHM:1738939}. Un
|
||
système à membranes est un ensemble de compartiments imbriqués les uns
|
||
dans les autres et délimités par des membranes ; une membrane contient
|
||
un multiensemble d'objets dont chacun représente une molécule
|
||
biochimique. Les interactions entre les molécules sont modélisées par
|
||
l'action des règles de réécriture de multiensembles. Les
|
||
systèmes à membranes sont essentiellement des systèmes de réécriture
|
||
parallèle de multiensembles~\cite{FLGPVZ2014} ; ils représentent la
|
||
cellule vivante de façon naturelle, constituant ainsi un outil clair et
|
||
puissant pour la modélisation des processus biologiques et plus
|
||
généralement de systèmes dynamiques complexes.
|
||
|
||
Les thématiques que j'ai abordées dans ma recherche sur des systèmes à
|
||
membranes se divisent principalement en trois groupes :
|
||
\begin{itemize}
|
||
\item la création des outils performants et flexibles de simulation
|
||
des systèmes à membranes,
|
||
\item développement des algorithmes distribués qui peuvent être
|
||
ensuite implémentés dans des systèmes biologiques,
|
||
\item étude de la puissance de calcul de différentes variantes
|
||
étendues du modèle de base.
|
||
\end{itemize}
|
||
|
||
La création d'un simulateur de systèmes à membranes a toujours été une
|
||
question très pertinente qui a attiré beaucoup d'efforts de la part
|
||
des chercheurs dans le domaine. Un tel simulateur est un outil
|
||
essentiel qui permet de tester si une construction concrète réalise le
|
||
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
|
||
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
|
||
suis tout d'abord focalisé sur les modèles de systèmes à membranes
|
||
sans horloge ({\em clock-free membrane systems}), dans lesquels une
|
||
application de règle peut durer un temps réel arbitraire. L'absence
|
||
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 de quelques problèmes de
|
||
concurrence classiques.
|
||
Les résultats concernant les systèmes à membranes sans horloge ont été
|
||
publiés
|
||
dans~\cite{DBLP:journals/ijcm/Ivanov13,DBLP:conf/membrane/Ivanov11}.
|
||
|
||
Nous avons continué l'exploration des algorithmes distribués en
|
||
implémentant les chaînages avant et arrière ({\em forward and backward
|
||
chaining}) dans les systèmes à membranes actives, c'est-à-dire les
|
||
systèmes dans lesquels les membranes peuvent se diviser. Le chaînage
|
||
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 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
|
||
les implications logiques se prêtent à une représentation naturelle en
|
||
termes de règles de réécriture de multiensembles ; or c'est de cette
|
||
similarité que nos constructions profitent. De plus, nos
|
||
implémentations bénéficient du parallélisme intrinsèque aux systèmes à
|
||
membranes.
|
||
Ce résultat a été publié dans~\cite{DBLP:journals/ijncr/IvanovARG11}.
|
||
|
||
Concernant les variations du modèle de base, nous avons proposé une
|
||
extension assez naturelle qui permet aux systèmes à membranes de se
|
||
modifier eux-mêmes. Dans le cadre de ce genre de système, les règles
|
||
de réécriture sont données par le contenu de certaines paires de
|
||
membranes. Il est ainsi possible de modifier les règles au cours de
|
||
l'évolution du système en rajoutant ou en supprimant des objets dans les
|
||
membranes qui définissent ces règles. Nous avons donné à ces systèmes
|
||
l'appellation de systèmes polymorphes ({\em polymorphic membrane
|
||
systems}) et nous avons montré que le polymorphisme permettait de
|
||
calculer des fonctions exponentielles avec des règles relativement
|
||
simples. Je me suis ensuite intéressé à la puissance de calcul de
|
||
systèmes polymorphes dans leur version la plus élémentaire et j'ai
|
||
démontré quelques résultats concernant les bornes inférieures et
|
||
supérieures de la famille des langages qu'ils peuvent engendrer. J'ai
|
||
prouvé également l'existence d'une hiérarchie infinie dans cette
|
||
famille des langages.
|
||
|
||
Les résultats concernant les systèmes à membranes polymorphes ont été
|
||
publiés
|
||
dans~\cite{DBLP:conf/membrane/AlhazovIR10,DBLP:conf/membrane/Ivanov14}.
|
||
|
||
\subsubsection{Systèmes à réactions}
|
||
Les systèmes à réactions ({\em reaction systems}) sont un autre modèle
|
||
formel inspiré par la cellule biologique, et surtout par les réactions
|
||
chimiques qui y ont
|
||
lieu~\cite{brij-atofrs,ehrenfeucht2007reaction}. Les systèmes à
|
||
réactions se fondent sur deux principes. Le premier est le principe de
|
||
non permanence : une ressource qui ne participe pas à une interaction
|
||
disparaît du système. Le deuxième principe est que si une ressource
|
||
est présente dans le système, alors elle y est en quantité
|
||
illimitée. Cela fait des systèmes à réactions un modèle intrinsèquement
|
||
qualitatif qui manipule des ensembles de symboles.
|
||
|
||
Les interactions entre les symboles dans les systèmes à réactions sont
|
||
régies par les réactions. Une réaction contient trois ensembles: les
|
||
réactifs, les inhibiteurs et les produits. Pour qu'une réaction soit
|
||
applicable à un ensemble, celui-ci doit contenir tous les réactifs de
|
||
la réaction et ne contenir aucun de ses inhibiteurs. Le résultat de
|
||
cette application est l'ensemble des produits ; les symboles qui n'ont
|
||
pas été consommés par la réaction disparaissent. Le résultat
|
||
d'application concomitante de plusieurs réactions est l'union de leurs
|
||
produits.
|
||
|
||
Les systèmes à réactions étant un modèle de calcul assez particulier,
|
||
beaucoup de chercheurs se sont intéressés à leurs propriétés
|
||
formelles. Dans notre travail nous sommes revenus à la motivation
|
||
d'origine et nous nous sommes proposé d'utiliser les systèmes à
|
||
réactions pour modéliser les voies métaboliques d'une cellule. Une
|
||
partie essentielle d'une telle modélisation serait la vérification
|
||
formelle qu'un système concret correspond suffisamment bien au
|
||
phénomène qu'il modélise. Dans ce but, nous avons adapté plusieurs concepts
|
||
utilisés dans la modélisation biologique habituelle, dont la
|
||
conservation de la masse, et nous avons prouvé que décider la plupart
|
||
des propriétés qu'un système à réactions peut avoir vis-à-vis de ces
|
||
concepts est un problème $\NP$-, $\coNP$-, ou même
|
||
$\PSPACE$-complet. Nous nous sommes ensuite focalisés sur la
|
||
conservation de la masse et nous avons montré que cette notion donne
|
||
naissance à une structure formelle qui facilite la réponse à certaines
|
||
questions concernant les propriétés de conservation d'un système à
|
||
réactions.
|
||
|
||
Ces résultats concernant les systèmes à réactions ont été publiés sous
|
||
la forme d'articles de revue et de rapports techniques
|
||
dans~\cite{AGIMPP2014,AGIP2014,DBLP:journals/tcs/AzimiGIP15}.
|
||
|
||
\subsubsection{Grammaires de tableaux}
|
||
Les grammaires de tableaux représentent un système de réécriture des
|
||
tableaux --- des structures régulières dont les nœuds sont étiquettes
|
||
avec des symboles~\cite{FreundO14}. Tout comme les règles de
|
||
réécriture de chaînes de caractères, une règle de réécriture de
|
||
tableaux remplace un motif par un autre. Les grammaires de tableaux
|
||
sont ainsi un modèle similaire aux automates cellulaires qui eux aussi
|
||
sont plongés dans une structure régulière. Une différence importante
|
||
intervient au niveau de la sémantique : les règles de grammaires de
|
||
tableaux s'appliquent séquentiellement, ce qui ne fait évoluer qu'un
|
||
seul motif du tableau à la fois. De plus, un tableau peut ne pas
|
||
couvrir complètement la structure sous-jacente ; par exemple, un
|
||
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 correspond à un
|
||
endroit vide dans le tableau d'origine.
|
||
|
||
Ma contribution à l'étude des grammaires de tableaux a consisté à
|
||
fournir une construction qui a permis de prouver la complétude
|
||
computationnelle d'une variante restreinte de ce modèle~\cite{DBLP:conf/uc/FernauFISS13}. Nous nous
|
||
sommes également intéressés à la combinaison de réécriture de tableaux
|
||
avec les structures à membranes ; nous avons montré que ce genre de
|
||
systèmes atteignent la complétude computationnelle avec des règles
|
||
restreintes et avec deux membranes seulement.
|
||
|
||
\subsubsection{Algèbre de modèles}
|
||
L'un des problèmes centraux dans l'étude de systèmes complexes et
|
||
celui de composition de
|
||
modèles~\cite{Chilton2014146,rozenbergzoom2014}. Un système complexe
|
||
en tant qu'entité du monde réel est représenté par son modèle qui doit
|
||
souvent refléter certains aspects de sa complexité. Une approche à sa
|
||
modélisation consiste en l'imitation directe de toutes les
|
||
caractéristiques pertinentes du système ; le modèle construit pourra
|
||
dans ce cas répliquer le comportement du système modélisé, mais ne
|
||
sera pas forcement facile à comprendre. C'est notamment le cas de
|
||
projets récents qui visent à prédire le phénotype d'une cellule
|
||
biologique à partir de son génotype~\cite{wholecell} : les modèles de
|
||
la cellule fournis par ces projets combinent de manière ad hoc
|
||
plusieurs modèles existants dans le but d'assurer une modélisation
|
||
fidèle ; cependant les raisons derrière la plupart de comportements
|
||
restent inexpliquées. L'un des buts d'une telle approche serait de
|
||
créer un moule de la cellule biologique qui pourrait être ensuite
|
||
utilisé pour tourner des simulations et pour éviter ainsi une partie
|
||
d'expériences in vitro qui sont coûteuses en temps et en ressources.
|
||
|
||
Étant données les difficultés qui surgissent au moment où l'on
|
||
voudrait utiliser plusieurs modèles pour analyser un système et la
|
||
non-transparence des modèles composés, il est très naturel de se
|
||
pencher sur une méthodologie générale de combinaison de
|
||
formalismes. Cette méthodologie est souvent appelée « algébre de
|
||
modèles ». L'article~\cite{Chilton2014146} en est un exemple
|
||
illustratif : les auteurs utilisent les {\em automates d'interface}
|
||
(interface automata) pour représenter un composant d'un modèle. Les
|
||
automates d'interface décrivent les traces d'évènements qui ont lieu
|
||
dans un système donné. Cette représentation axée sur le comportement
|
||
permet de définir des opérations de composition et de raffinement qui
|
||
préservent certaines propriétés dynamiques.
|
||
|
||
Dans nos travaux avec Antoine \textsc{Spicher} et Martin
|
||
\textsc{Potier}, nous avons appliqué les outils de la théorie des
|
||
catégories pour aller vers une algèbre (ou des algèbres) de
|
||
modèles. Cette approche généralise celle proposée
|
||
en~\cite{Chilton2014146} parce qu'elle ne se limite pas à une
|
||
description du comportement dynamique des systèmes modélisés et laisse
|
||
à l'utilisateur la liberté du choix de la description. Ainsi, nous
|
||
considérons une catégorie de descriptions de systèmes, avec comme
|
||
flèches les relations de validation. De manière informelle, une
|
||
description $a$ peut être validée par une autre $b$ si on arrive à «
|
||
retrouver » les détails de « a » dans « b ». Pour parler de la
|
||
modélisation, on fixera dans cette catégorie de descriptions et de
|
||
validations un objet de repère qui décrit le mieux possible le système
|
||
à modéliser et on définira ensuite une autre catégorie (une slice
|
||
catégorie) de descriptions munies de flèches de validation par l'objet
|
||
de repère. Cette catégorie sera donc la catégorie des {\em modèles}
|
||
du système que décrit l'objet de repère. Les flèches de cette
|
||
catégorie seront les flèches d'abstraction entre les modèles. Dans la
|
||
catégorie des modèles on pourra ensuite utiliser les limites et les
|
||
colimites pour définir des opérations concrètes.
|
||
|
||
Nos travaux sur l'approche catégorielle à la définition d'une algèbre
|
||
de modèle seront intégrés dans le manuscrit de thèse de Martin
|
||
\textsc{Potier} et publiés ensuite dans un article séparé.
|
||
|
||
Nous notons que l'usage des catégories et des slice catégories pour
|
||
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.
|
||
|
||
\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 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
|
||
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.
|
||
|
||
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.
|
||
|
||
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}.
|
||
|
||
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)$ 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 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
|
||
projets de programmation aussi bien accessoires à mon activité de
|
||
recherche qu'indépendants. J'ai notamment contribué au système
|
||
d'exploitation libre à micro-noyau GNU/Hurd~\cite{Hurd}, qui est fondé
|
||
sur le principe des translateurs ({\em translator}) --- des
|
||
applications spéciales qui peuvent être installés par dessus certains
|
||
fichiers pour offrir une vue modifiée du contenu. J'ai développe un
|
||
translateur capable de monter plusieurs systèmes de fichiers sous un
|
||
seul dossier (montage union)~\cite{unionmount} et j'ai aussi travaillé
|
||
sur une extension du gestionnaire du système de fichiers qui
|
||
permettrait d'installer des translateurs en utilisant une syntaxe
|
||
étendue de chemins d'accès~\cite{nsmux}. Ce travail a été effectué
|
||
lors de l'édition 2009 de «~Google Summer of Code~».
|
||
|
||
Je me suis aussi intéressé aux modèles d'interaction asynchrone en
|
||
réseaux et je me suis proposé d'implémenter le modèle acteur ({\em
|
||
actor model}). Les entités centrales de ce modèle sont les acteurs
|
||
--- les processus qui s'exécutent en parallèle et qui possèdent des
|
||
boîtes à messages. Les acteurs peuvent s'envoyer des messages de façon
|
||
asynchrone, c'est-à-dire l'expéditeur n'attend pas que le message soit
|
||
reçu. Afin de rendre mon implémentation plus succincte et flexible, je
|
||
l'ai réalisée en le langage fonctionnel strictement typé Haskell.
|
||
|
||
Un autre projet de programmation non relié directement à mes pistes de
|
||
recherche principales était ma contribution au système de calcul
|
||
formel SymPy~\cite{sympy} qui à consisté à initier un module de
|
||
théorie des catégories~\cite{categories}. Je me suis concentré sur la
|
||
présentation informatique des diagrammes commutatifs --- un outil de
|
||
base en algèbre abstraite --- et j'ai programmé la mise en page
|
||
automatique d'un tel diagramme. J'ai travaillé ensuite sur un
|
||
algorithme de déduction automatique de la commutativité d'un diagramme
|
||
à partir d'un ensemble de diagrammes dits axiomes. Cette contribution
|
||
a été faite lors de l'édition 2012 de «~Google Summer of Code~».
|
||
|
||
Un de mes premiers projets afférents aux domaines de recherche dans
|
||
lesquels j'ai travaillé était le développement d'un simulateur de
|
||
systèmes à membranes capable de représenter la plupart des variation
|
||
du modèle en utilisant plusieurs moteurs de simulation. J'ai
|
||
implémenté un moteur OpenCL qui s'exécutait sur la carte graphique et
|
||
un autre, en Haskell, qui était moins performant mais offrait la
|
||
possibilité de faire tourner le système simulé pas à pas.
|
||
|
||
Un autre projet était d'automatiser la construction des réseaux de
|
||
Petri universels, ce qui m'a amené à la réalisation d'un ensemble
|
||
d'outils pour la gestion informatique de ces objets, ainsi que de
|
||
quelques autres objets connus de la théorie de la calculabité,
|
||
notamment les machines à registres. Une partie de ces outils est déjà
|
||
disponible en ligne~\cite{compdev} ; d'autres sont en état d'ébauche
|
||
et seront disponibles au public dès leur finalisation.
|
||
|
||
Lors de ma visite en Finlande au printemps 2014, j'ai implémenté un
|
||
simulateur des systèmes à réactions afin de faciliter leur conception
|
||
et leur vérification. Le 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.
|
||
|
||
Finalement, ma mission en tant que chercheur postdoctoral comprend une
|
||
partie considérable de programmation. Ils s'agit du développement
|
||
d'une solution logicielle pour la modélisation biomécanique du
|
||
squelette cellulaire, avec intégration ultérieure dans un framework de
|
||
modélisation biologique générique. Ce projet se réalise en C++ parce
|
||
que le public visé (le modélisateurs de systèmes biologiques) est
|
||
confortable avec le langage C et parce que C++ offre un grand éventail
|
||
de techniques de représentation optimisée de concepts abstraits.
|
||
|
||
\subsection{Relecture d'articles scientifiques}
|
||
J'ai été de nombreuses fois rapporteur pour les revues suivantes :
|
||
{\em Theoretical Computer Science} (Elsevier), {\em Fundamenta
|
||
Informaticae} (IOS Press), {\em Lecture Notes for Computer Science}
|
||
(Springer), {\em Journal of Cellular Automata} (Old City Publishing),
|
||
\emph{Journal of Automata, Languages, and Combinatorics} (Institut für
|
||
Informatik, Justus-Liebig-Universität Giessen), \emph{Journal of
|
||
Membrane Computer} (Springer), \emph{International Journal of
|
||
Foundations of Computer Science} (World Scientific),
|
||
\emph{Socio-Ecological Practice Research} (Springer). J'ai également
|
||
rapporté des articles pour les actes de colloques suivants : {\em
|
||
Conference on Membrane Computing} (CMC), {\em Unconventional and
|
||
Natural Computation} (UCNC), {\em Machines, Computations, and
|
||
Universality} (MCU), \emph{Developments in Language Theory} (DLT).
|
||
|
||
\subsection{Participation aux projets scientifiques}
|
||
\noindent
|
||
\begin{tabularx}{\textwidth}{r l X l}
|
||
\textbf{Période} & \textbf{Type et financement} & \textbf{Intitulé du projet} & \textbf{Porteur} \\
|
||
\hline
|
||
2018--2019 & DIM RFSI, 11 k€ & Modèles Informatiques pour la Reprogrammation Cellulaire & Sergiu Ivanov
|
||
\end{tabularx}
|
||
|
||
\subsection{Encadrement de thèses de doctorat}
|
||
|
||
\subsubsection{Jérémie \textsc{Pardo}}
|
||
\noindent
|
||
\hspace{2.7mm}
|
||
{\renewcommand{\arraystretch}{1.3}%
|
||
\begin{tabularx}{\textwidth}{l X}
|
||
Titre : & \emph{Approche abductive de l'inférence de cibles thérapeutiques et de séquences de traitement} \\
|
||
Durée : & 2018--2021
|
||
\end{tabularx}
|
||
}
|
||
|
||
L'un des enjeux principaux de la médecine de précision est la
|
||
recherche des thérapies spécifiques, adaptées au patient. Cette
|
||
recherche nécessite une analyse approfondie des interactions entre
|
||
différentes entités participant au déroulement de la maladie : gènes,
|
||
protéines, etc. L'actuel outil de préférence pour cette analyse sont
|
||
les réseaux, l'objet fondamental donnant lieu à un domaine entier : la
|
||
médecine des réseaux.
|
||
|
||
Dans cette thèse, nous travaillons sur les réseaux booléens : un
|
||
concept informatique abstrait consistant en un ensemble de variables
|
||
booléennes mises à jour selon des fonctions de mise à jour
|
||
correspondantes. Ces fonctions induisent un ensemble d'interactions
|
||
entre les variables. Les réseaux booléens sont particulièrement bien
|
||
adaptés à l'analyse des réseaux de signalisation ou des réseaux de
|
||
régulation génétiques, car dans ces systèmes les signaux se propagent
|
||
par absence ou présence d'une protéine, ou par activation ou
|
||
inhibition d'un gène.
|
||
|
||
L'objectif de cette thèse est d'appliquer les réseaux booléens au
|
||
problème de recherche des thérapies : en partant des modèles booléens
|
||
des réseaux essentiels pour la genèse de la maladie, nous ambitionnons
|
||
de trouver les façons de reprogrammer ces réseaux de sorte à corriger
|
||
leur comportement ou même d'éviter qu'il diverge du sain. Nous nous
|
||
intéressons particulièrement aux perturbations séquentielles : nous
|
||
cherchons donc à étaler les actions de reprogrammation dans le temps
|
||
de sorte à augmenter l'efficacité du traitement.
|
||
|
||
\subsection{Encadrement de stages de recherche et développement}
|
||
|
||
\subsubsection{Millefeuille évolutionnaire : une nouvelle formalisation de l'évolution}
|
||
\noindent
|
||
\hspace{2.7mm}
|
||
{\renewcommand{\arraystretch}{1.3}%
|
||
\begin{tabularx}{\textwidth}{l X}
|
||
Stagiaires : & \emph{Rémy \textsc{Défossez}, ENS Paris} \\
|
||
Type : & stage de L3 d'initiation à la recherche \\
|
||
Durée : & 15 juin--15 août 2021
|
||
\end{tabularx}
|
||
}
|
||
|
||
La pression évolutionnaire rend certaines fonctions plus ou moins
|
||
pertinentes, et la plasticité des organismes suit en augmentant ou en
|
||
réduisant l'ensemble de différentes réalisations. Pour une espèce
|
||
donnée et à chaque moment de temps donné, nous pouvons établir une
|
||
image arrêtée de fonctions et de différents réseaux qui les
|
||
réalisent. Cette image évolue dans le temps, donnant lieu à un
|
||
\emph{millefeuille évolutionnaire} d'espaces de réseaux et de
|
||
fonctions associées. Il est possible de retrouver des fonctions très
|
||
similaires dans les couches adjacentes et de comparer les sous-espaces
|
||
des réseaux correspondants. Ces sous-espaces s'alignent dans des tubes
|
||
évolutionnaires, dont la topologie représente la trace d'une fonction
|
||
donnée et des réseaux d'interactions associés dans l'historique d'une
|
||
espèce. Le millefeuille évolutionnaire est ainsi une construction
|
||
similaire aux paysages épigénétiques de Waddington.
|
||
|
||
Ce travail de stage pourra s'organiser dans les trois grandes étapes
|
||
suivantes :
|
||
\begin{enumerate}
|
||
\item Définir formellement le \emph{millefeuille évolutionnaire} comme
|
||
une suite infinie de réseaux booléens reliés par des
|
||
liens évolutionnaires.
|
||
\item Définir formellement les \emph{tubes évolutionnaires} comme des suites
|
||
infinies de fonctions identifiables dans les couches adjacentes du
|
||
millefeuille évolutionnaire, et bénéficiant d'un degré de
|
||
similarité élevé.
|
||
\item Commencer l'exploration de la \emph{complexité} des tubes
|
||
évolutionnaires en se fondant sur les travaux précédents.
|
||
\end{enumerate}
|
||
|
||
\subsubsection{Évolution artificielle des réseaux booléens à signe}
|
||
\noindent
|
||
\hspace{2.7mm}
|
||
{\renewcommand{\arraystretch}{1.3}%
|
||
\begin{tabularx}{\textwidth}{l X}
|
||
Stagiaires : & \emph{Maxime \textsc{Wang} et Aurélien \textsc{Larchères}} \\
|
||
Type : & stage TER \\
|
||
Durée : & février--avril 2021
|
||
\end{tabularx}
|
||
}
|
||
|
||
Une façon dont nous pouvons chercher à comprendre l'évolution est de
|
||
créer des simulacres de ses parties. Étant donné la qualité des
|
||
représentations engendrées par les modèles en réseaux, il est naturel
|
||
de se poser la question de l'évolution d'une population artificielle
|
||
d'individus dont chacun serait piloté par un réseau. Dans le cas des
|
||
réseaux booléens à signe, cette approche devient particulièrement
|
||
intéressante car on peut clairement identifier la structure de
|
||
l'individu, donnée par l'organisation de son réseau pilote, et le
|
||
comportement engendré par ce réseau, dont la description la plus
|
||
complète est le graphe d'état. D'autre part, l'uniformité syntaxique
|
||
des réseaux booléens à seuil permet d'abstraire de façon non ambiguë
|
||
les perturbations structurelles observables dans les systèmes
|
||
biologiques, et d'effectuer de diverses analyses statistiques sur des
|
||
populations entières de ces réseaux. L'objectif de ce stage TER est de
|
||
réaliser et analyser le comportement d'un modèle à base d'agents avec
|
||
des agents pilotés par les réseaux booléens à signe, dotés des
|
||
capacités de se diviser, de muter, et de s'entredévorer, dépensant et
|
||
accumulant de l'énergie.
|
||
|
||
\subsubsection{Modélisation multi-agents de la polyarthrite rhumatoïde}
|
||
\noindent
|
||
\hspace{2.7mm}
|
||
{\renewcommand{\arraystretch}{1.3}%
|
||
\begin{tabularx}{\textwidth}{l X}
|
||
Stagiaires : & \emph{Yacine \textsc{Hadjar} et Imad \textsc{Bouzgou}} \\
|
||
Type : & stage TER \\
|
||
Durée : & février--avril 2020
|
||
\end{tabularx}
|
||
}
|
||
|
||
Ce stage a comme objectif d'étudier la faisabilité d'une modélisation
|
||
multi-agents des processus dans l'espace synovial d'une articulation
|
||
atteinte de la polyarthrite rheumatoïde. Le point de départ sera un
|
||
recueil des types cellulaires qui interviennent dans cet espace ainsi
|
||
qu'une liste de leurs interactions. Le premier livrable sera une
|
||
formalisation du modèle multi-agents associé dans le langage de
|
||
programmation multi-agents NetLogo. Par la suite, les travaux du stage
|
||
se dirigeront vers l'ajustement du modèle en vue de son rapprochement
|
||
à la réalité, en dotant notamment les agents d'un contrôle à base de
|
||
réseaux booléens.
|
||
|
||
\subsubsection{Développement d'un logiciel de modélisation pour
|
||
l'épidémiologie}
|
||
\noindent
|
||
\hspace{2.7mm}
|
||
{\renewcommand{\arraystretch}{1.3}%
|
||
\begin{tabularx}{\textwidth}{l X}
|
||
Type : & stage de parcours des étudiants en TIS (Technologies Informatiques pour la Santé) à Polytech, Université Grenoble-Alpes) \\
|
||
Durée : & mai--juin 2020 \\
|
||
& \emph{co-encadrement avec Nicolas \textsc{Glade} 70\%, Université Grenoble-Alpes}
|
||
\end{tabularx}
|
||
}
|
||
|
||
Les modèles pour l'épidémiologie sont très variés et doivent être
|
||
adaptés aux particularités de la population modélisée ainsi qu'à la
|
||
maladie cible. Souvent, plusieurs types de modèles doivent être conçus
|
||
afin de mieux décrire la dynamique de la transmission de la maladie
|
||
d'un individu à l'autre. L'objectif de ce stage est le développement
|
||
d'un logiciel qui permettra de concevoir des modèles de dynamique des
|
||
populations, de faire tourner des simulations, et d'analyser les
|
||
données produites lors de ces exécutions.
|
||
|
||
\subsubsection{Développement d'un logiciel de conception de réseaux}
|
||
\noindent
|
||
\hspace{2.7mm}
|
||
{\renewcommand{\arraystretch}{1.3}%
|
||
\begin{tabularx}{\textwidth}{l X}
|
||
Type : & stage de parcours des étudiants en TIS (Technologies Informatiques pour la Santé) à Polytech, Université Grenoble-Alpes) \\
|
||
Durée : & mai--juin 2020 \\
|
||
& \emph{co-encadrement avec Nicolas \textsc{Glade} 70\%, Université Grenoble-Alpes}
|
||
\end{tabularx}
|
||
}
|
||
|
||
La médecine des réseaux est un domaine en pleine croissance qui allie
|
||
les outils de modélisation et d'analyse formelle des modèles et la
|
||
récupération des données massives, avec une potentielle spécialisation
|
||
au niveau du patient. La recherche dans ce domaine s'appuie fortement
|
||
sur différents logiciels spécifiques de conception des modèles en
|
||
réseaux. L'objectif de ce stage est de concevoir un nouveau logiciel
|
||
de conception et d'analyse des réseaux, qui soit suffisamment général
|
||
pour incorporer la plupart des variantes de réseau actuellement
|
||
utilisés dans la recherche. Ce logiciel permettra de faciliter le
|
||
travail de description et d'analyse des modèles et sera compatible
|
||
avec les formats fichiers standard afin d'assurer une interopérabilité
|
||
importante.
|
||
|
||
\subsection{Prix}
|
||
\noindent
|
||
\begin{tabu}{X[.19r] c X[j]}\savetabu{sciroles}
|
||
2021 & $\bullet$ & Meilleur papier étudiant à la 21ème édition de
|
||
IEEE International Conference on BioInformatics and BioEngineering
|
||
pour « Who Plays Complex Music? On the Correlations Between
|
||
Structural and Behavioral Complexity Measures in Sign Boolean
|
||
Networks. » \\
|
||
|
||
2020 & $\bullet$ & Meilleur papier à la conférence
|
||
\emph{International Conference on Membrane Computing} (ICMC) pour «
|
||
P Systems with Limiting the Number of Objects in Membranes » \\
|
||
|
||
2017 & $\bullet$ & Meilleur papier à la conférence \emph{Asian
|
||
Conference on Membrane Computing} (ACMC) pour « Clock-freeness and
|
||
Mode-freeness in P Systems »
|
||
\end{tabu}
|
||
|
||
\subsection{Rôles scientifiques}
|
||
\noindent
|
||
\begin{tabu}{\usetabu{sciroles}}
|
||
2020--\phantom{2020} & $\bullet$ & Co-animateur avec Farida
|
||
\textsc{Zehraoui} de l'axe transversal « Médecine personnalisée » du
|
||
laboratoire IBISC \\
|
||
|
||
2020 & $\bullet$ & Co-chair du comité scientifique de la conférence
|
||
\emph{International Conference on Membrane Computing} (ICMC) \\
|
||
|
||
2018 & $\bullet$ &
|
||
Membre du comité scientifique de la conférence {\em
|
||
Unconventional and Natural Computation} (UCNC)\\
|
||
|
||
2018--2019 & $\bullet$ &
|
||
Editeur invité de l'édition spéciale de la revue \emph{Acta
|
||
Biotheoretica} à la suite du séminaire SFBT 2018
|
||
\end{tabu}
|
||
|
||
\subsection{Organisation d'évènements}
|
||
\noindent
|
||
\begin{tabu}{\usetabu{sciroles}}
|
||
juin 2022 & $\bullet$ & Co-organisation de \emph{l'Atelier sur Théorie Ataviste du Cancer (ATAC2022)} avec Nicolas \textsc{Glade} et Angélique \textsc{Stéphanou} \\
|
||
août 2020 & $\bullet$ & Co-chair de \emph{Conference on Membrane Computing} (Summer of Formal Languages, Vienna), avec Rudolf \textsc{Freund} \\
|
||
juin 2018 & $\bullet$ & Co-organisation des journées de la \emph{Société Francophone de la Biologie Théorique} avec Nicolas \textsc{Glade} \\
|
||
juin 2018 & $\bullet$ & Co-organisation des conférences \emph{Unconventional Computation, Natural Computation} (UCNC) ainsi que \emph{Machines, Computations, and Universality} (MCU), avec Serghei \textsc{Verlan} et Rudolf \textsc{Freund} \\
|
||
juin 2018 & $\bullet$ & Co-organisation du \emph{Workshop on Membrane Computing} dans le cadre de la conférence \textsc{Unconventional Computation, Natural Computation}, avec Rudolf \textsc{Freund} \\
|
||
décembre 2017 & $\bullet$ & Co-organisation de la Journée du laboratoire IBISC avec Najett \textsc{Neji}
|
||
\end{tabu}
|
||
|
||
\if0
|
||
\clearpage
|
||
|
||
\subsection{Projet de recherche : modélisation et méthodes formelles pour la médecine}
|
||
Une grande partie de mes travaux de recherche s'axent autour des
|
||
méthodes et outils formels pour la représentation des systèmes
|
||
biologiques et, plus généralement, des systèmes complexes. Je me suis
|
||
beaucoup penché sur les propriétés calculatoires de ces systèmes, en
|
||
les représentant en tant que modèles de calcul. Les modèles de calcul
|
||
discrets que j'ai abordés peuvent être classés dans les trois
|
||
catégories suivantes :
|
||
\begin{itemize}
|
||
\item {\em modèles structurels} qui représentent de façon plus ou
|
||
moins fidèle la structure des objets manipulés (chaînes de
|
||
caractères pour les biomolécules, tableaux pour des structures
|
||
spatiales, etc.),
|
||
\item {\em modèles quantitatifs} qui représentent plutôt les quantités
|
||
des objets, sans distinguer les objets individuels (multiensembles
|
||
d'objets, machines à registres, etc.),
|
||
\item {\em modèles qualitatifs} qui se focalisent, à un niveau
|
||
d'abstraction très élevé, sur les interactions entre les entités du
|
||
système, sans parler ni de leur structure, ni de leur quantité.
|
||
\end{itemize}
|
||
|
||
Récemment, je me suis proposé d'élargir mes compétences de
|
||
modélisation biologique en m'attaquant à la modélisation logicielle
|
||
d'un phénomène cellulaire concret (l'action du cytosquelette lors
|
||
de l'activation des plaquettes sanguines). Cette recherche m'a permis,
|
||
entre autre, de prendre un contact direct avec le milieu de la
|
||
biologie expérimentale pour la médecine.
|
||
|
||
À la suite de mes travaux se situant à de différents niveaux
|
||
d'abstraction, je me suis familiarisé avec toute la chaîne de
|
||
modélisation biologique, en commençant par les représentations
|
||
phénoménologiques les plus proches aux systèmes modélisés et en
|
||
finissant par les approches les plus abstraites (modèles de calcul
|
||
qualitatifs). Cette synergie de compétences me permettra de contribuer
|
||
directement aux travaux de recherche menés au laboratoire IBISC.
|
||
|
||
Dans les sections suivantes, je donne plus de détails sur mes
|
||
contributions potentielles.
|
||
|
||
\subsubsection{Croissance tumorale en tant que modèle de réécriture}
|
||
L'étude de la croissance tumorale est une piste de recherche très
|
||
importante dans la médecine moderne. Il existe plusieurs approches à
|
||
la présentation de ce processus ; l'une est de représenter les
|
||
cellules tumorales et les vaisseaux sanguins qui les alimentent sur
|
||
une grille et de simuler la tumeur avec des règles locales,
|
||
s'approchant ainsi des automates
|
||
cellulaires~\cite{Caraguel2016}. Cette approche, bien que très
|
||
efficace, a des limitations importantes : elle ne simule correctement
|
||
la croissance d'une tumeur que sur une période de temps relativement
|
||
courte (quelques semaines). Les raisons pour ces limitations sont
|
||
intrinsèques à l'approche : une grille à deux dimensions est choisie
|
||
pour simplifier les calculs et assurer leur stabilité. S'approcher
|
||
davantage du phénomène réel risque à la fois d'augmenter beaucoup le
|
||
coût de la simulation et de nécessiter des ajustements au modèle qui
|
||
le feront dévier des automates cellulaires.
|
||
|
||
Je voudrais travailler sur la conception des modèles formels qui
|
||
puissent à la fois exprimer la croissance des tumeurs d'une façon plus
|
||
naturelle et dont la simulation ait un coût raisonnable. Une première
|
||
approche à ce problème serait l'application de la réécriture parallèle
|
||
de graphes pour exprimer la division cellulaire dans le cadre du tissu
|
||
tumoral. Dans mon travail, je pourrais m'appuyer sur le
|
||
résultat~\cite{EchahedM2016} par Aude \textsc{Magnan} et Rachid
|
||
\textsc{Echahed}, ainsi que sur l'article~\cite{MaignanS15} par
|
||
Luidnel \textsc{Maignan} et Antoine \textsc{Spicher}. Ces deux
|
||
publications présentent des approches à la réécriture parallèle de
|
||
graphes avec des règles qui peuvent se chevaucher. Les contacts actifs
|
||
que je maintiens avec ces chercheurs me permettront d'étudier le
|
||
problème de façon approfondie.
|
||
|
||
Une approche plus ambitieuse à la modélisation de la croissance
|
||
tumorale serait l'application des modèles non-conventionnels. Un
|
||
exemple prometteur seraient les automates cellulaires avec des règles
|
||
de division cellulaire~\cite{EdwardsM2016}. Situé entre les automates
|
||
cellulaires et le systèmes de Lindenmayer (communication personnelle
|
||
avec Aude \textsc{Maignan}), ce modèle pourrait introduire de façon
|
||
naturelle la dynamique de la croissance dans les modèles à base
|
||
d'automates cellulaires déjà utilisés pour la modélisation de
|
||
tumeurs. Mon expérience de travail sur les modèles de calcul non
|
||
conventionnels me permettra d'évaluer l'applicabilité du modèle choisi
|
||
pour la modélisation de la croissance tumorale et de l'ajuster au cas
|
||
concrets.
|
||
|
||
\subsubsection{Outils logiciels pour l'application des méthodes formelles}
|
||
La recherche sur la conception et l'application des modèles formels
|
||
pour la biologie inclut une phase de validation. Cette phase est
|
||
souvent automatisée pour en réduire les coûts. J'ai déjà développé des
|
||
outils pour valider certains modèles formels (le simulateur des
|
||
systèmes à réactions~\cite{brsim}, par exemple), ainsi que d'autres
|
||
outils informatiques pour la modélisation biologique ou pour d'autres
|
||
usages. Je voudrais maintenant appliquer mon expérience de
|
||
programmation assez variée à la conception et au développement des
|
||
logiciels pour l'application des modèles formels à la médecine de
|
||
précision.
|
||
\fi
|
||
|
||
\printbibliography[resetnumbers=true]
|
||
\end{refsection}
|
||
|
||
%%% Local Variables:
|
||
%%% mode: LaTeX
|
||
%%% mode: auto-fill
|
||
%%% ispell-local-dictionary: "fr"
|
||
%%% End:
|