Add a research project and a teaching project.
This commit is contained in:
parent
79bb585fd5
commit
0e8eaed26e
3 changed files with 154 additions and 486 deletions
59
bib/evry.bib
Normal file
59
bib/evry.bib
Normal file
|
@ -0,0 +1,59 @@
|
|||
@article{Caraguel2016,
|
||||
title={Towards the Design of a Patient-Specific Virtual Tumour},
|
||||
volume={2016},
|
||||
ISSN={1748-6718},
|
||||
url={http://dx.doi.org/10.1155/2016/7851789},
|
||||
DOI={10.1155/2016/7851789},
|
||||
journal={Computational and Mathematical Methods in Medicine},
|
||||
publisher={Hindawi Publishing Corporation},
|
||||
author={Caraguel, Flavien and Lesart, Anne-Cécile and Estève, François and van der Sanden, Boudewijn and Stéphanou, Angélique},
|
||||
year={2016},
|
||||
pages={1–12}
|
||||
}
|
||||
|
||||
@unpublished{EchahedM2016,
|
||||
TITLE = {{Parallel Graph Rewriting with Overlapping Rules}},
|
||||
AUTHOR = {Echahed, Rachid and Maignan, Aude},
|
||||
URL = {https://hal.archives-ouvertes.fr/hal-01408834},
|
||||
NOTE = {working paper or preprint},
|
||||
YEAR = {2016},
|
||||
MONTH = Oct,
|
||||
KEYWORDS = {parallel rewriting ; overlapping rewrite systems ; graph rewriting},
|
||||
PDF = {https://hal.archives-ouvertes.fr/hal-01408834/file/longversion.pdf},
|
||||
HAL_ID = {hal-01408834},
|
||||
HAL_VERSION = {v1},
|
||||
}
|
||||
|
||||
@inproceedings{MaignanS15,
|
||||
author = {Luidnel Maignan and
|
||||
Antoine Spicher},
|
||||
editor = {Detlef Plump},
|
||||
title = {Global Graph Transformations},
|
||||
booktitle = {Proceedings of the 6th International Workshop on Graph Computation
|
||||
Models co-located with the 8th International Conference on Graph Transformation
|
||||
{(ICGT} 2015) part of the Software Technologies: Applications and
|
||||
Foundations {(STAF} 2015) federation of conferences, L'Aquila, Italy,
|
||||
July 20, 2015.},
|
||||
series = {{CEUR} Workshop Proceedings},
|
||||
volume = {1403},
|
||||
pages = {34--49},
|
||||
publisher = {CEUR-WS.org},
|
||||
year = {2015},
|
||||
url = {http://ceur-ws.org/Vol-1403/paper4.pdf},
|
||||
timestamp = {Mon, 30 May 2016 16:28:37 +0200},
|
||||
biburl = {http://dblp.uni-trier.de/rec/bib/conf/gg/MaignanS15},
|
||||
bibsource = {dblp computer science bibliography, http://dblp.org}
|
||||
}
|
||||
|
||||
@inproceedings{EdwardsM2016,
|
||||
TITLE = {{DEM-Systems: a new type of adaptive system}},
|
||||
AUTHOR = {Edwards, Roderick and Maignan, Aude},
|
||||
URL = {https://hal.archives-ouvertes.fr/hal-01326782},
|
||||
BOOKTITLE = {{AUTOMATA 2016}},
|
||||
ADDRESS = {Zurich, Switzerland},
|
||||
YEAR = {2016},
|
||||
MONTH = Jun,
|
||||
KEYWORDS = {self-reproducing systems ; self-organizing systems ; cellular automata},
|
||||
HAL_ID = {hal-01326782},
|
||||
HAL_VERSION = {v1},
|
||||
}
|
|
@ -252,6 +252,12 @@ formels généraux. Je souhaite également pouvoir faire profiter les
|
|||
étudiants des connaissances pluridisciplinaires en informatique que
|
||||
j'ai acquises.
|
||||
|
||||
Plus concrètement, mes expériences d'enseignement et de programmation
|
||||
système assez variées me permettront de reprendre et de piloter
|
||||
l'enseignement de la matière {\em Systèmes d'exploitation}. Je
|
||||
pourrais également m'investir dans l'enseignement de matières avancées
|
||||
pour le niveau master.
|
||||
|
||||
Lors de mes interventions en tant que moniteur, je me suis beaucoup
|
||||
appuyé sur les méthodes graphiques de transmission
|
||||
d'information. Toutes mes explications étaient basées sur des schémas,
|
||||
|
|
575
recherche.tex
575
recherche.tex
|
@ -10,7 +10,8 @@
|
|||
bib/algebra.bib,
|
||||
bib/complex-sys.bib,
|
||||
bib/sivanov.bib,
|
||||
bib/sivanov-extra.bib
|
||||
bib/sivanov-extra.bib,
|
||||
bib/evry.bib
|
||||
]
|
||||
|
||||
\section{Activités de recherche}
|
||||
|
@ -632,498 +633,100 @@ rapporté des articles pour plusieurs éditions de {\em International
|
|||
|
||||
\clearpage
|
||||
|
||||
\subsection{Projet de recherche}
|
||||
Mon projet de recherche vise à appliquer l'expérience que j'ai acquise
|
||||
en explorant les pistes énumérées dans les sections précédentes à
|
||||
l'étude des systèmes complexes et notamment à la compréhension et à la
|
||||
gestion de la complexité de ces systèmes. Ma stratégie consiste donc à
|
||||
employer le savoir formel des structures mathématiques et
|
||||
informatiques abstraites afin de construire des modèles qui, en plus
|
||||
d'être rapprochés aux systèmes modélisés en ce qui concerne le
|
||||
comportement, soient modulaires ou au moins explicables par découpage
|
||||
en sous-parties.
|
||||
\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}
|
||||
|
||||
Le but général que je me propose étant audacieux, il est important de
|
||||
préciser que les travaux que je compte mener (et que j'ai déjà menés)
|
||||
ont des applications concrètes dans les domaines respectifs. Autrement
|
||||
dit, ma recherche vise d'abord à contribuer à la résolution d'un
|
||||
problème concret et à en tirer des conclusions généralisatrices qui
|
||||
peuvent être appliquées à d'autres situations et qui ont donc une
|
||||
valeur en elles-mêmes.
|
||||
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.
|
||||
|
||||
Mon projet de recherche se compose de trois parties. La première se
|
||||
focalise sur les sujets que j'ai abordés pendant mes études
|
||||
doctorales, y compris ceux qui n'ont pas été présentés dans le
|
||||
manuscrit de thèse. La deuxième partie consiste en l'étude des
|
||||
structures algébriques et topologiques fondamentales afin de les
|
||||
utiliser pour la conception des composants pour la construction
|
||||
modulaire de modèles de systèmes complexes. La troisième partie se
|
||||
focalise sur les implémentations logiciel de structures abstraites
|
||||
dans le but d'utiliser la puissance de calcul des ordinateurs modernes
|
||||
pour la simulation de systèmes et la vérification de modèles.
|
||||
À 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.
|
||||
|
||||
Les sous-sections suivantes donnent une vue plus détaillée sur les
|
||||
trois parties de mon projet de recherche.
|
||||
Dans les sections suivantes, je donne plus de détails sur mes
|
||||
contributions potentielles.
|
||||
|
||||
\subsubsection{Langages formels et calcul formel}
|
||||
La plupart de contributions que j'ai faites pendant mon doctorat
|
||||
s'inscrivent dans le domaine des langages formels et de l'étude
|
||||
formelle du calcul. L'approche souvent adoptée dans ce domaine est de
|
||||
traiter l'évolution dynamique de systèmes comme une suite de
|
||||
configurations discrète, décrite par un langage formel. Dans cette
|
||||
optique, le comportement d'un système peut être décrit pas des règles
|
||||
de réécriture de chaînes de caractère formelles. Les deux types de
|
||||
modèles de réécriture dont je compte approfondir ma compréhension sont
|
||||
les systèmes d'insertion/effacement et les systèmes de réécriture de
|
||||
multiensembles.
|
||||
\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.
|
||||
|
||||
\paragraph{Insertion/effacement}
|
||||
L'une des premières pistes que j'aborderais dans ce contexte sera la
|
||||
continuation de l'étude des systèmes d'insertion/effacement avec des
|
||||
contextes de petite taille, et particulièrement les systèmes dont
|
||||
toutes les règles ne possèdent que le contexte à gauche. La complétude
|
||||
(ou l'incomplétude) computationnelle de ces systèmes n'a toujours pas
|
||||
été démontrée. Au delà de la complétude computationnelle qui n'est
|
||||
qu'une caractérisation très approximative du comportement possible de
|
||||
ces systèmes, il serait très intéressant d'étudier de plus près la dynamique
|
||||
engendrée par les règles d'insertion et d'effacement. Je
|
||||
voudrais notamment utiliser dans ce but les graphes de dérivation, qui
|
||||
définissent un protocole de représentation graphique de dérivations,
|
||||
qui code chaque insertion par un trait, et chaque effacement par
|
||||
un trait pointillé.
|
||||
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.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\vspace{2mm}
|
||||
\begin{tikzpicture}[node distance=5pt and -20pt]
|
||||
\node[nsymb] (x) {$\nbold x$};
|
||||
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.
|
||||
|
||||
% The symbols of the first red branch consisting of F-symbols.
|
||||
\node[nsymb,below right=of x] (n1) {$\nbold F_1$};
|
||||
\node[nsymb,below right=of n1] (n2) {$\nbold F_0$};
|
||||
\node[nsymb,below right=of n2] (n3) {$\nbold F_1$};
|
||||
\node[nsymb,below right=of n3] (n4) {$\nbold F_0$};
|
||||
\node[nsymb,below right=of n4] (n5) {$\nbold F_1$};
|
||||
\node[nsymb,below right=of n5] (n6) {$\nbold F_0$};
|
||||
\node[nsymb,below right=of n6] (n7) {$\nbold F_1$};
|
||||
\node[nsymb,below right=of n7] (n8) {$\nbold F_0$};
|
||||
\node[nsymb,below right=of n8] (a01) {$\nbold a_0$};
|
||||
|
||||
% The first red branch itself.
|
||||
\draw[insertion] (x) -- (n1) -- (n2) -- (n3) -- (n4) -- (n5) -- (n6)
|
||||
-- (n7) -- (n8) -- (a01);
|
||||
|
||||
% The nodes of the leftmost green branch.
|
||||
\node[nsymb,right=0 and 10pt of a01] (n9) {$\nlight X_{0,0}$};
|
||||
\node[nsymb,above right=of n9] (n10) {$\nlight Y_{0,0}$};
|
||||
\node[nsymb,above right=of n10] (n11) {$\nlight X_{0,1}$};
|
||||
\node[nsymb,above right=of n11] (n12) {$\nlight Y_{0,1}$};
|
||||
\node[nsymb,above right=of n12] (n13) {$\nlight X_{0,0}$};
|
||||
\node[nsymb,above right=of n13] (n14) {$\nlight Y_{0,0}$};
|
||||
\node[nsymb,above right=of n14] (n15) {$\nlight X_{0,1}$};
|
||||
\node[nsymb,above right=of n15] (n16) {$\nlight Y_{0,1}$};
|
||||
|
||||
\node[nsymb] at ($(n16)+(16pt,20pt)$) (d1) {$\nbold D_{0,1}$};
|
||||
|
||||
% The deletions connecting together the leftmost green branch.
|
||||
\draw[deletion] ($(a01)+(9pt,0)$) -- (n9);
|
||||
\foreach \i / \j in {9/10, 10/11, 11/12, 12/13, 13/14, 14/15, 15/16} {
|
||||
\draw[deletion] ($(n\i)+(-1pt,7pt)$) -- ($(n\j)+(-4.5pt,-7pt)$);
|
||||
}
|
||||
\draw[deletion] ($(n16)+(1pt,7pt)$) -- ($(d1)+(-10pt,-6pt)$);
|
||||
|
||||
% The insertions of the nodes on the leftmost green branch by the
|
||||
% nodes on the leftmost red branch.
|
||||
\foreach \i / \j in {8/9, 7/10, 6/11, 5/12, 4/13, 3/14, 2/15, 1/16} {
|
||||
\draw[insertion,shorten >=-3pt, shorten <=-5pt] (n\i) -- (n\j);
|
||||
}
|
||||
\draw[insertion,shorten >=-3pt, shorten <=-7pt] (x) -- (d1);
|
||||
|
||||
% The nodes of the red branch starting at D_{0,1}.
|
||||
\node[nsymb,below right=of d1] (n17) {$\nbold D_{0,0}$};
|
||||
\node[nsymb,below right=of n17] (n18) {$\nbold D_{0,1}$};
|
||||
\node[nsymb,below right=of n18] (n19) {$\nbold D_{0,0}$};
|
||||
\node[nsymb] at ($(n19)+(3pt,-20pt)$) (b1) {$\nbold B_0$};
|
||||
\node[nsymb,below right=of b1] (a11) {$\nbold a_1$};
|
||||
|
||||
% The red branch starting at D_{0,1} itself.
|
||||
\foreach \i / \j in {d1/n17, n17/n18, n18/n19} {
|
||||
\draw[insertion] ($(\i)+(-1.5pt,-6pt)$) -- ($(\j)+(-5pt,8pt)$);
|
||||
}
|
||||
\draw[insertion,shorten >=-1pt] ($(n19)+(0pt,-6pt)$) -- (b1) -- (a11);
|
||||
|
||||
% The deletions coming from the leftmost green branch over to the
|
||||
% second red branch from the left.
|
||||
\draw[deletion] ($(n10)+(4pt,5pt)$) to[out=28,in=-105] ($(n19)+(-5pt,-6pt)$);
|
||||
\draw[deletion] ($(n12)+(5pt,6pt)$) to[out=28,in=-105] ($(n18)+(-6pt,-6pt)$);
|
||||
\draw[deletion] ($(n14)+(4pt,5pt)$) to[out=28,in=-105] ($(n17)+(-6pt,-6pt)$);
|
||||
\draw[deletion] ($(a01)+(3pt,-5pt)$) to[out=-35,in=-105] ($(b1)+(-4pt,-8pt)$);
|
||||
|
||||
% The nodes of the second leftmost green branch.
|
||||
\node[nsymb] at ($(a11)+(19pt,19pt)$) (n20) {$\nlight X_{1,0}$};
|
||||
\node[nsymb,above right=of n20] (n21) {$\nlight Y_{1,0}$};
|
||||
\node[nsymb,above right=of n21] (n22) {$\nlight X_{1,1}$};
|
||||
\node[nsymb,above right=of n22] (n23) {$\nlight Y_{1,1}$};
|
||||
|
||||
\node[nsymb] at ($(n23)+(16pt,19pt)$) (d2) {$\nbold D_{1,1}$};
|
||||
|
||||
% The deletions connecting together the second green branch.
|
||||
\draw[deletion] ($(a11)+(6pt,4pt)$) -- ($(n20)+(-8pt,-6pt)$);
|
||||
\foreach \i / \j in {20/21, 21/22, 22/23} {
|
||||
\draw[deletion] ($(n\i)+(-2pt,7pt)$) -- ($(n\j)+(-5pt,-7pt)$);
|
||||
}
|
||||
\draw[deletion] ($(n23)+(1pt,7pt)$) -- ($(d2)+(-10pt,-6pt)$);
|
||||
|
||||
% The insertions of the nodes on the second leftmost green branch.
|
||||
\foreach \i / \j in {19/20, 18/21, 17/22} {
|
||||
\draw[insertion,shorten >=-2pt, shorten <=-2pt] (n\i) -- (n\j);
|
||||
}
|
||||
\draw[insertion,shorten >=-2pt, shorten <=-2pt] (d1) -- (n23);
|
||||
\draw[insertion,shorten >=-3pt, shorten <=-7pt] (x) to[out=-5,in=172] (d2);
|
||||
|
||||
% The nodes of the third leftmost red branch.
|
||||
\node[nsymb] at ($(d2)+(5pt,-19pt)$) (n24) {$\nbold D_{1,0}$};
|
||||
\node[nsymb] at ($(n24)+(3pt,-19pt)$) (b2) {$\nbold B_1$};
|
||||
\node[nsymb,below right=of b2] (a02) {$\nbold a_0$};
|
||||
|
||||
% The red branch itself.
|
||||
\draw[insertion] ($(d2)+(-1.5pt,-6pt)$) -- ($(n24)+(-5pt,8pt)$);
|
||||
\draw[insertion,shorten >=-1pt] ($(n24)+(0pt,-6pt)$) -- (b2) -- (a02);
|
||||
|
||||
% The deletions of symbols on the third leftmost red branch.
|
||||
\draw[deletion] ($(n21)+(4pt,5pt)$) to[out=28,in=-105] ($(n24)+(-5pt,-6pt)$);
|
||||
\draw[deletion] ($(a11)+(8pt,1pt)$) to[out=15,in=-105] ($(b2)+(-3pt,-6pt)$);
|
||||
|
||||
% The symbols of the rightmost green branch.
|
||||
\node[nsymb] at ($(a02)+(19pt,19pt)$) (n25) {$\nlight X_{0,0}$};
|
||||
\node[nsymb,above right=of n25] (n26) {$\nlight Y_{0,0}$};
|
||||
|
||||
\node[nsymb] at ($(n26)+(16pt,19pt)$) (d3) {$\nbold D_{0,0}$};
|
||||
|
||||
% The deletions connecting the rightmost green branch together.
|
||||
\draw[deletion] ($(a02)+(6pt,4pt)$) -- ($(n25)+(-8pt,-6pt)$);
|
||||
\draw[deletion] ($(n25)+(-2pt,7pt)$) -- ($(n26)+(-4.5pt,-7pt)$);
|
||||
\draw[deletion] ($(n26)+(1pt,7pt)$) -- ($(d3)+(-10pt,-6pt)$);
|
||||
|
||||
% The insertions of the symbols on the rightmost green branch.
|
||||
\draw[insertion,shorten >=-2pt, shorten <=-2pt] (n24) -- (n25);
|
||||
\draw[insertion,shorten >=-2pt, shorten <=-2pt] (d2) -- (n26);
|
||||
\draw[insertion,shorten >=-3pt, shorten <=-7pt] (x) to[out=-3,in=170] (d3);
|
||||
|
||||
% The rightmost red branch.
|
||||
\node[nsymb] at ($(d3)+(4pt,-18pt)$) (b3) {$\nbold B_0$};
|
||||
\node[nsymb,below right=of b3] (a12) {$\nbold a_1$};
|
||||
|
||||
% The rightmost red branch itself.
|
||||
\draw[insertion,shorten >=-1pt] ($(d3)+(0pt,-6pt)$) -- (b3) -- (a12);
|
||||
|
||||
% The deletions of symbols on the rightmost red branch.
|
||||
\draw[deletion] ($(a02)+(8pt,1pt)$) to[out=15,in=-105] ($(b3)+(-3pt,-6pt)$);
|
||||
\end{tikzpicture}
|
||||
\vspace{-7mm}
|
||||
\caption{Un graphe de dérivation pour un système
|
||||
d'insertion/effacement de taille $(1,1,0; 1,1,0)$ qui engendre un
|
||||
langage non-algébrique~\cite[Section~8]{JL2005}}
|
||||
\label{fig:insdel:lft-2n}
|
||||
\end{figure}
|
||||
|
||||
La figure~\ref{fig:insdel:lft-2n} montre un exemple de comportement
|
||||
dynamique que peut avoir un système d'in\-ser\-tion/ef\-face\-ment
|
||||
avec des règles qui n'insèrent et n'effacent qu'un symbole à la fois
|
||||
et qui vérifient uniquement les contextes à gauche (des règles de
|
||||
taille $(1,1,0; 1,1,0)$). Il s'agit du système décrit
|
||||
dans~\cite[Section~8]{JL2005} qui possède un taux de croissance
|
||||
exponentiel et qui engendre donc un langage non-algébrique. Dans la
|
||||
figure~\ref{fig:insdel:lft-2n} nous avions mis en gras les symboles
|
||||
terminaux ainsi que tous les symboles qui insèrent des symboles
|
||||
gras. Avec ce code couleur on voit immédiatement que le graphe
|
||||
correspondant à une dérivation de ce système consiste en des chemins
|
||||
gras qui interagissent par le biais de structures gris clair. En
|
||||
outre, on remarque la croissance exponentielle des chemins gras, de
|
||||
droite à gauche : effectivement, le chemin gras de droite contient un
|
||||
symbole $D$, celui d'avant en contient 2, le troisième chemin de
|
||||
droite contient 4 symboles $D$, alors que le chemin gras tout à
|
||||
gauche contient déjà 8 symboles $F$.
|
||||
|
||||
Nous tirons deux conclusions de cette analyse superficielle de la
|
||||
figure~\ref{fig:insdel:lft-2n}. D'un côté, on observe que les règles
|
||||
d'insertion et d'effacement de petite taille peuvent avoir un
|
||||
comportement assez complexe qui dépasse même la puissance de
|
||||
modélisation des automates à pile. D'un autre côté, on note
|
||||
l'efficacité visuelle des graphes de dérivation qui offrent une vue
|
||||
d'ensemble sur une dérivation sans perdre les détails dynamiques
|
||||
essentiels, c'est-à-dire les éléments de comportement qui ont une
|
||||
influence sur le langage engendré. Cette propriété des graphes de
|
||||
dérivation les rend très intéressants pour toute étude de la dynamique
|
||||
des systèmes d'insertion/effacement.
|
||||
|
||||
\paragraph{Réécriture de multiensembles}
|
||||
La réécriture de multiensembles, et notamment les systèmes à
|
||||
membranes, est le domaine dans lequel j'ai fait mes plus anciennes
|
||||
contributions scientifiques et dont plusieurs questions continuent à
|
||||
m'intéresser à présent. Dans la continuité des travaux menés pendant
|
||||
mon doctorat, je voudrais poursuivre l'étude du problème de
|
||||
l'universalité pour ce modèle et en particulier l'étude des techniques
|
||||
d'optimisations de la taille des systèmes universels.
|
||||
|
||||
D'un autre côté, je voudrais me concentrer plus sur l'étude de
|
||||
systèmes à membranes avec des règles dynamiques, dites polymorphes,
|
||||
que nous avions introduits dans~\cite{AI2011} et dont une variante
|
||||
restreinte j'ai étudiée dans~\cite{DBLP:conf/membrane/Ivanov14}. Le
|
||||
comportement de ces systèmes ressemble au celui de cellules vivantes
|
||||
dans le fait que les règles qui dirigent l'évolution peuvent être
|
||||
modifiées, ce qui donne une dimension de dynamisme en plus. En outre, le
|
||||
polymorphisme complexifie le rapport entre les étapes consécutives
|
||||
d'évolution, car une configuration du système détermine non seulement
|
||||
la configuration suivante, mais aussi la forme des règles qui seront
|
||||
utilisées plus tard dans l'évolution.
|
||||
|
||||
La figure~\ref{fig:superexponential-growth} montre un exemple d'un
|
||||
système polymorphe qui possède un taux de croissance
|
||||
super-exponentiel. Ce système a deux règles : la première qui a
|
||||
initialement la forme $a\to a$, et la deuxième qui ne varie pas et qui
|
||||
double le nombre de $a$ dans la partie droite de la première
|
||||
règle. Ainsi, après $k$ pas d'évolution, la première règle aura la
|
||||
forme $a\to a^{2^{k}}$. Par conséquence, après le même nombre de pas,
|
||||
la membrane extérieure du système contiendra $2^{\frac{k(k-1)}{2}}$
|
||||
copies de $a$.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\vspace{2mm}
|
||||
\begin{tikzpicture}
|
||||
\node (r2) {$2:a\to aa$};
|
||||
\node[below=.1 of r2] (w1L) {$a$};
|
||||
|
||||
\membrane{$1R$}{1R}{}{fit={(r2) (w1L)}}
|
||||
\membrane{$1L$}{1L}{$a$}{below left=-15.5pt and 13pt of 1R}
|
||||
\node[below left=5pt and -25pt of 1R] (ws) {$a$};
|
||||
|
||||
\membrane{$s$}{s}{}{fit={(1L) (1L label) (1R) (1R label) (ws)}}
|
||||
\end{tikzpicture}
|
||||
\caption{Un P système polymorphe avec un taux de croissance
|
||||
super-exponentiel}
|
||||
\label{fig:superexponential-growth}
|
||||
\end{figure}
|
||||
|
||||
On remarque deux pistes d'exploration possibles pour les systèmes à
|
||||
membranes polymorphes. La première reste dans le cadre de l'étude
|
||||
formelle et se focalise sur le rapport entre les restrictions que l'on
|
||||
peut imposer statiquement et le comportement dynamique des systèmes
|
||||
avec ces restrictions, particulièrement leur puissance de calcul. La
|
||||
deuxième piste mène vers une collaboration interdisciplinaire et
|
||||
consiste à trouver des parallèles entre la complexité induite par le
|
||||
polymorphisme et la complexité intrinsèque des systèmes complexes tels
|
||||
que l'on trouve en biologie, en physique, etc. De telles parallèles
|
||||
permettrait d'approfondir la compréhension de cette complexité et
|
||||
suggérerait des manières de la gérer.
|
||||
|
||||
Une autre direction majeure de recherche qui m'attire fortement est la
|
||||
conception de cadres généraux pour réunir plusieurs variantes de
|
||||
systèmes à membranes. Étant donnée la variété importante de variantes
|
||||
de ces systèmes, avoir des cadres généraux permet tout d'abord
|
||||
d'unifier la terminologie qui est souvent dérivée de diverses domaines
|
||||
de la biologie et donc hétérogène. Deuxièmement, cette unification
|
||||
offre souvent des perspectives très éclairantes sur les combinaisons
|
||||
possibles d'ingrédients qui n'ont pas encore été étudiées.
|
||||
|
||||
\paragraph{Autres modèles de calcul} En plus des deux modèles de
|
||||
calculs déjà mentionnés dans cette sous-section, je voudrais en
|
||||
continuer l'exploration d'autres ayant des liens de parenté forts avec
|
||||
les systèmes d'insertion/effacement et avec la réécriture de
|
||||
multiensembles. Ainsi, je suis intéressé par les machines à registres
|
||||
universelles de petite taille et je voudrais travailler sur la
|
||||
réduction de la taille des
|
||||
constructions existantes. Cela permettrait d'améliorer les systèmes à
|
||||
membranes universels en réduisant le nombre de règles, de symboles, ou
|
||||
d'autres ingrédients utilisés.
|
||||
|
||||
Je voudrais également continuer l'étude de réseaux de processeurs
|
||||
évolutionnaires, mais au lieu de me pencher sur la caractérisation de
|
||||
leur puissance d'expression je m'intéresserais plutôt à la dimension
|
||||
parallèle inhérente à ce modèle de calcul. Je voudrais notamment
|
||||
explorer le lien entre les réseaux de processeurs évolutionnaires et
|
||||
les systèmes à membranes ; en effet, dans les cas des deux modèles on
|
||||
retrouve des processeurs qui échangent des données en réseau. Un autre
|
||||
trait commun est la possibilité de distinguer deux types de
|
||||
parallélisme : d'une part, le traitement des données dans un
|
||||
processeur se fait de façon parallèle ; d'autre part, l'activité des
|
||||
processeurs eux-mêmes se déroule parallèlement, avec une barrière de
|
||||
synchronisation globale s'imposant à chaque étape d'évolution. Il me
|
||||
paraît intéressant de concevoir un cadre général pour ces deux modèles
|
||||
afin d'explorer à un haut niveau d'abstraction les manières
|
||||
différentes dont le calcul parallèle pourrait être organisé. En plus,
|
||||
ce cadre généralisant pourrait indiquer d'autres membres de la famille
|
||||
de modèles de calcul dont les réseaux de processeurs évolutionnaires
|
||||
et les systèmes à membranes font partie.
|
||||
|
||||
Encore un modèle de calcul intrinsèquement parallèle qui m'attire
|
||||
fortement sont les automates cellulaires, qui représentent
|
||||
essentiellement des grilles d'automates finis qui communiquent. Les
|
||||
automates dans les nœuds de la grille n'ont pas de bande, donc la
|
||||
seule information dont ils peuvent disposer est leur état et les états
|
||||
des voisins dans un voisinage défini statiquement. Les unités
|
||||
atomiques de calcul des automates cellulaires sont ainsi moins
|
||||
puissantes que les processeurs dans les réseaux de processeurs
|
||||
évolutionnaires ou les membranes dans les systèmes à membranes ;
|
||||
néanmoins, en terme de pouvoir d'expression les automates cellulaires
|
||||
sont équivalents aux machines de Turing. On observe donc un
|
||||
considérable écart entre l'expressivité globale d'un automate
|
||||
cellulaire et l'expressivité locale de chaque unité. Par conséquent,
|
||||
ce modèle de calcul semble être un contexte bien adapté à l'étude de
|
||||
rapports entre les comportements locaux et globaux de systèmes
|
||||
complexes. En effet, des travaux ont déjà été menés dans cette
|
||||
direction (\cite{DBLP:conf/pads/PotierSM13}, par exemple) ; je
|
||||
voudrais appliquer l'expérience que j'ai acquise pour contribuer à ces
|
||||
études.
|
||||
|
||||
\subsubsection{Algèbres 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é. On peut distinguer
|
||||
deux approches à la représentation de la complexité. La première
|
||||
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 et de longue durée.
|
||||
|
||||
L'autre approche à la représentation de la complexité est de modéliser
|
||||
certaines propriétés locales nécessaires pour que le comportement
|
||||
globale du modèle corresponde à celui du système. Cette approche
|
||||
pourrait offrir une vue beaucoup plus détaillée sur les liens entre
|
||||
les causes et les effets dans le système, et donnerait dans l'idéal
|
||||
des façons de décomposer le modèle en sous-parties modulaires,
|
||||
c'est-à-dire des parties dont on espérerait trouver les homologues
|
||||
dans les modèles des autres systèmes. Toutefois, il est clair que ce
|
||||
type d'analyse nécessite une compréhension plus profonde du système à
|
||||
modéliser mais aussi des techniques de modélisation. Je souhaiterais
|
||||
me concentrer sur ces techniques et travailler vers la formulation de
|
||||
véritables algèbres de modèles, dans le cadre desquelles on pourrait
|
||||
construire des modèles plus complexes à partir des plus simples, mais
|
||||
aussi retrouver des blocs en lesquels un modèle existant peut être
|
||||
décomposé.
|
||||
|
||||
Des résultats très intéressants sur un outil formel de combinaison de
|
||||
modèles ont été présentés dans~\cite{Chilton2014146}. L'article
|
||||
utilise les {\em automates d'interface} (interface automata) pour
|
||||
représenter un composant d'un modèle. Un automate d'interface est
|
||||
défini comme un alphabet d'événements d'entrée, un alphabet
|
||||
d'événements de sortie, un ensemble de chaînes sur les deux alphabets
|
||||
qui décrit les suites d'interactions possibles entre l'automate et
|
||||
l'environnement, ainsi qu'un ensemble de chaînes qui mène l'automate
|
||||
vers un état d'erreur. Une relation de raffinement est définie pour
|
||||
les automates d'interface et ensuite des opérations de composition
|
||||
sont introduites de sorte à être compatibles avec la relation de
|
||||
raffinement.
|
||||
|
||||
La définition d'un automate d'interface étant très générale, les
|
||||
propriétés démontrées dans~\cite{Chilton2014146} sont applicables à
|
||||
une classe très large de modèles. Malheureusement, cette généricité
|
||||
implique aussi que l'on ne peut déduire que des conclusions assez
|
||||
générales pour être applicables à toute situation. Ce problème est
|
||||
fort difficile à contourner, car il est inhérent à tout langage
|
||||
générique. Je suis néanmoins convaincu qu'un langage riche permettant
|
||||
non seulement d'exprimer des propriétés à un haut niveau
|
||||
d'abstraction, mais aussi de décrire des objets spécialisés, peut
|
||||
donner des indices sur la résolution du problème de généricité. Dans
|
||||
ma recherche je compte utiliser la théorie des catégories comme un tel
|
||||
langage.
|
||||
|
||||
Une catégorie est l'un des formalismes qui abstraient la notion de
|
||||
structure mathématique elle-même. Une catégorie est défini comme une
|
||||
collection d'« objets » et de « flèches » entre les objets, aucune
|
||||
restriction n'étant imposée sur ce qu'un « objet » peut être, alors
|
||||
que les flèches doivent respecter quelques propriétés de composition
|
||||
basiques. (La monographie~\cite{Adamek04} peut servir de référence.)
|
||||
En plus d'être très générale, la terminologie de la théorie des
|
||||
catégories admet des intuitions graphiques naturelles.
|
||||
|
||||
Malgré sa généralité, le langage des catégories permet de construire
|
||||
certains objets non-triviaux. Par exemple, la figure~\ref{fig:prod}
|
||||
défini l'objet produit $X_1\times X_2$ pour des objets $X_1$ et $X_2$
|
||||
d'une catégorie quelconque. Dans la catégorie des ensembles, le
|
||||
produit correspond au produit cartésien, dans la catégorie des groupes
|
||||
le produit correspond au produit direct, etc. La figure~\ref{fig:prod}
|
||||
définit le produit $X_1\times X_2$ comme un objet avec deux flèches
|
||||
$\pi_1$ et $\pi_2$ qui vont vers $X_1$ et $X_2$ respectivement, tel
|
||||
que si l'on prend n'importe quel autre objet $Y$ avec deux flèches $f_1$
|
||||
et $f_2$ vers $X_1$ et $X_2$, il existe une seule flèche de $Y$ vers
|
||||
$X_1\times X_2$ telle que $\pi_1\circ f = f_1$ et $\pi_2 \circ f =
|
||||
f_2$ (le diagramme est dit commutatif dans ce cas).
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\begin{tikzpicture}[node distance=9mm]
|
||||
\node (y) {$Y$};
|
||||
\node[below=of y] (x1x2) {$X_1\times X_2$};
|
||||
\node[base left=of x1x2] (x1) {$X_1$};
|
||||
\node[base right=of x1x2] (x2) {$X_2$};
|
||||
|
||||
\draw[->] (y) -- node[midway,auto,swap] {$f_1$} (x1);
|
||||
\draw[->] (x1x2) -- node[midway,auto] {$\pi_1$} (x1);
|
||||
\draw[->] (y) -- node[midway,auto] {$f_2$} (x2);
|
||||
\draw[->] (x1x2) -- node[midway,auto,swap] {$\pi_2$} (x2);
|
||||
\draw[->,dashed] (y) -- node[pos=.65,auto] {$\exists! f$} (x1x2);
|
||||
\end{tikzpicture}
|
||||
\caption{La définition d'un produit dans une catégorie}
|
||||
\label{fig:prod}
|
||||
\end{figure}
|
||||
|
||||
Il existe d'autres façons de construire des objets composés qui, grâce
|
||||
à la généralité des catégories, pourraient être appliquées à des
|
||||
modèles très différents. L'avantage de l'approche catégorielle par
|
||||
rapport à celle proposée dans~\cite{Chilton2014146} seraient que, dans
|
||||
la théorie des catégories, il est aussi possible de préciser
|
||||
formellement quelles propriétés une catégories devrait avoir pour
|
||||
qu'une certaine manière de composer les objets soit
|
||||
faisable. Autrement dit, le langage des catégories est assez riche
|
||||
pour pouvoir formuler des propriétés concernant des
|
||||
classes vastes d'objets aussi bien que des propriétés bien concrètes,
|
||||
valables dans certains cas particuliers uniquement. Je souhaite donc
|
||||
m'investir dans l'exploration des possibilités d'appliquer l'approche
|
||||
catégorielle à la composition de modèles afin de contribuer à l'étude
|
||||
de systèmes complexes.
|
||||
|
||||
\subsubsection{Programmation algébrique}
|
||||
En plus d'être génériques et flexibles, les structures catégorielles
|
||||
et, plus généralement, algébriques et topologiques se fondent sur des
|
||||
systèmes d'axiomes assez minimaux, ce qui rend leur représentation sur
|
||||
l'ordinateur assez naturelle. Il ne s'agit pas de la correspondance
|
||||
entre le modèle de calcul derrière les ordinateurs modernes qui n'est
|
||||
certainement pas particulièrement adapté au calcul symbolique, mais
|
||||
plutôt du fait que les systèmes d'axiomes minimaux se prêtent
|
||||
facilement à une description sous la forme d'une spécification qui
|
||||
peut être utilisée ensuite pour de la validation automatique. Ainsi,
|
||||
la pratique d'incorporer certains aspect catégorielles dans le
|
||||
systèmes de typage se voit de plus en plus adoptée par les
|
||||
développeurs de langages de programmation.
|
||||
|
||||
Un exemple de langage qui a incorporé un nombre important de concepts
|
||||
catégoriels est Haskell~\cite{haskellorg}. Ce langage permet de
|
||||
manipuler directement des structures telles que monoïdes, foncteurs,
|
||||
monades, etc. afin de pouvoir spécifier des propriétés assez fortes
|
||||
sur les types, et notamment de factoriser les structures de données
|
||||
utilisées ainsi que le code source. Il s'agit donc d'un travail de
|
||||
découpage des structures de données et du code source en sous-parties,
|
||||
ce qui est un cas particulier du problème général de décomposition de
|
||||
modèles décrit dans la section précédente. Par conséquent, je trouve
|
||||
très intéressant de représenter toute ébauche de théorie algébrique de
|
||||
modèles sur l'ordinateur dans un langage haut niveau, car cela
|
||||
permettra d'une part de vérifier la justesse des définitions et de les
|
||||
tester en exécution assez tôt, et d'autre part de s'inspirer de
|
||||
l'étude formelle derrière les langages haut niveau pour attaquer les
|
||||
problèmes de modélisation de systèmes complexes.
|
||||
\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.
|
||||
|
||||
\printbibliography[resetnumbers=true]
|
||||
\end{refsection}
|
||||
|
|
Loading…
Reference in a new issue