Add a the paragraphs on insertion-deletion systems and P systems to the first section of my research project.

This commit is contained in:
Sergiu Ivanov 2015-12-03 23:20:15 +01:00
parent af19e40ef0
commit 617069626a
2 changed files with 317 additions and 1 deletions

View file

@ -24,10 +24,14 @@
\usepackage{tabu}
\usepackage{emptypage}
\usepackage{enumitem}
\RequirePackage{bm}
\usepackage{tikz}
\setsansfont{Linux Biolinum}
\setmainfont{Linux Libertine}
\usetikzlibrary{arrows,calc,positioning,decorations.markings,shapes,fit}
% A thick horizontal rule filling all page width.
\def\thickhrule{\leavevmode\leaders\hrule height 1.5pt\hfill\kern\z@}
@ -46,3 +50,49 @@
% Formats an E-mail address in small typewriter font.
\newcommand{\smallemail}[1]{\texttt{\small #1}}
%------------------
% Derivation graphs
%------------------
% Font styles for derivation graphs.
\newcommand{\nbold}[1]{\ensuremath{\bm #1}}
\newcommand{\nlight}[1]{\ensuremath{\color{black!50} #1}}
% TikZ styles for derivation graphs.
\tikzstyle nsymb=[minimum width=2.5em,minimum height=1.3em,inner sep=1pt]
\tikzstyle insertion=[]
% A cross arrow tip.
\newcommand{\crossfactor}{2.5}
\tikzstyle crosstip=[
postaction={
decorate,
decoration={
markings,
mark=at position 1 with
{
\draw[solid] (-\crossfactor\pgflinewidth,-\crossfactor\pgflinewidth)
-- (\crossfactor\pgflinewidth,\crossfactor\pgflinewidth);
\draw[solid] (\crossfactor\pgflinewidth,-\crossfactor\pgflinewidth)
-- (-\crossfactor\pgflinewidth,\crossfactor\pgflinewidth);
}
}
}
]
\tikzstyle deletion=[crosstip,densely dotted,semithick]
%----------
% P systems
%----------
\tikzstyle membrane=[draw,rectangle,rounded corners, minimum size=15pt]
% A shortcut for drawing membrane nodes.
%\newcommand{\membrane}[4]{
% \node[membrane,label={[inner sep=1,yshift=5pt,name=#2 label]below right:{\scriptsize #1}},#4] (#2) {#3};
%}
\newcommand{\membrane}[4]{
\node[membrane,#4] (#2) {#3};
\node[below right=-6pt and 0 of #2,inner sep=1] (#2 label) {\scriptsize #1};
}

View file

@ -7,7 +7,8 @@
bib/mcrs.bib,
bib/arrays.bib,
bib/programming.bib,
bib/algebra.bib
bib/algebra.bib,
bib/sivanov.bib
]
\section{Activités de recherche}
@ -482,6 +483,271 @@ pour la simulation de systèmes et la vérification de modèles.
Les sous-sections suivantes donnent une vue plus détaillée sur les
trois parties de mon projet de recherche.
\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.
\paragraph{Insertion/effacement}
L'une des premières pistes que j'aborderai 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 la dynamique
engendrée par les règles d'insertion et d'effacement de plus près. Je
voudrais notamment utiliser dans ce but les graphes de dérivation, qui
définissent un protocole de représentation graphique des dérivations,
qui code code chaque insertion par un trait, et chaque effacement par
un trait pointillé.
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 (un système 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 de 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 de tout à
gauche contient déjà 8 symboles $F$.
\begin{figure}[h!]
\centering
\vspace{2mm}
\begin{tikzpicture}[node distance=5pt and -20pt]
\node[nsymb] (x) {$\nbold x$};
% 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}
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 des détailles dynamiques
essentiels, c'est-à-dire les éléments de comportement qui on une
influence sur le langage engendré. Cette propriété des graphes de
dérivation les rend très intéressant pour tout étude de la dynamique
de 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 un dimension de dynamisme en plus. De plus, 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 de 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 polymorphe. 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. Trouver de telles
parallèles permettrait d'approfondir la compréhension de ce type de
système et de les modifier de sorte qu'ils aient le comportement
désiré.
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.
\subsection{Old}
Mon projet de recherche vise tout d'abord à approfondir les travaux
effectués lors de ma thèse. Je souhaite continuer l'étude des systèmes
d'insertion/effacement avec des contextes de petite taille afin de