Talk about P systems.

This commit is contained in:
Sergiu Ivanov 2015-05-26 18:51:53 +02:00
parent 9a8b95ba95
commit b86d9cefea
2 changed files with 115 additions and 6 deletions

View file

@ -67,7 +67,7 @@ language={English}
howpublished = {\url{http://ppage.psystems.eu/}} howpublished = {\url{http://ppage.psystems.eu/}}
} }
@book{păun2002membrane, @book{paun2002membrane,
title={Membrane Computing: An Introduction}, title={Membrane Computing: An Introduction},
author={P{\u{a}}un, Gheorghe}, author={P{\u{a}}un, Gheorghe},
isbn={9783540436010}, isbn={9783540436010},
@ -145,3 +145,19 @@ pages={271-284}
address = {Hingham, MA, USA}, address = {Hingham, MA, USA},
keywords = {Computational complexity, Membrane computing, Register machines} keywords = {Computational complexity, Membrane computing, Register machines}
} }
@incollection{FLGPVZ2014,
year={2014},
isbn={978-3-642-54238-1},
booktitle={Membrane Computing},
volume={8340},
series={Lecture Notes in Computer Science},
editor={Alhazov, Artiom and Cojocaru, Svetlana and Gheorghe, Marian and Rogozhin, Yurii and Rozenberg, Grzegorz and Salomaa, Arto},
doi={10.1007/978-3-642-54239-8_13},
title={Flattening in (Tissue) P Systems},
url={http://dx.doi.org/10.1007/978-3-642-54239-8_13},
publisher={Springer Berlin Heidelberg},
author={Freund, Rudolf and Leporati, Alberto and Mauri, Giancarlo and Porreca, Antonio E. and Verlan, Sergey and Zandron, Claudio},
pages={173-188},
language={English}
}

View file

@ -214,17 +214,110 @@ correspondance directe avec les systèmes de réécriture de
multiensembles permet de formuler immédiatement les mêmes résultats multiensembles permet de formuler immédiatement les mêmes résultats
pour ceux-ci. pour ceux-ci.
\subsection{Travaux hors thèse}
Avant le début de ma thèse et pendant mon doctorat j'ai travaillé sur
des problèmes qui n'étaient pas directement relié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. Je me
suis premièrement concentré sur les systèmes à membranes ({\em
membrane systems}) qui sont un modèle inspiré par la structure et
fonctionnement de la cellule biologique. J'ai aussi travaillé sur les
systèmes à réactions ({\em reaction systems}) qui représentent une
abstraction formelle d'un réacteur biochimique. Finalement, j'ai
participé à des travaux dans le domaine des grammaires de tableaux
({\em array grammars}), un modèle qui étend les grammaires classiques
à la réécriture des parties des tableaux.
\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, chacun desquels 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. Même si 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 ce qui donne un outil clair et
puissant pour la modélisation des processus biologiques et plus
généralement des 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 des 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
parallèle sur les cartes graphiques 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 chaque
application d'une 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 des problèmes de
concurrence classiques.
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 est 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.
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 pairs 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 des
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.
\begin{itemize} \begin{itemize}
\item systèmes à membranes, \item systèmes à membranes,
\item systèmes à réactions, \item systèmes à réactions,
\item grammaires de tableaux. \item grammaires de tableaux.
\end{itemize} \end{itemize}
Les sujets de recherche que j'ai abordé sont le automate cellulaires
travaux de thèse
travaux hors thèse
programmation programmation