diff --git a/bib/psystems.bib b/bib/psystems.bib index 962a9ce..b3c59d0 100644 --- a/bib/psystems.bib +++ b/bib/psystems.bib @@ -67,7 +67,7 @@ language={English} howpublished = {\url{http://ppage.psystems.eu/}} } -@book{păun2002membrane, +@book{paun2002membrane, title={Membrane Computing: An Introduction}, author={P{\u{a}}un, Gheorghe}, isbn={9783540436010}, @@ -145,3 +145,19 @@ pages={271-284} address = {Hingham, MA, USA}, 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} +} diff --git a/recherche.tex b/recherche.tex index b9df9aa..8862dd4 100644 --- a/recherche.tex +++ b/recherche.tex @@ -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 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} \item systèmes à membranes, \item systèmes à réactions, \item grammaires de tableaux. \end{itemize} -Les sujets de recherche que j'ai abordé sont le - -travaux de thèse - -travaux hors thèse +automate cellulaires programmation