THE UNIVERSITY OF SHEFFIELD
DEPARTMENT OF COMPUTER SCIENCE
Doctoral Thesis
Membrane Systems for Molecular
Computing and Biological Modelling
Francesco Bernardini
Submitted for the degree of PhD
November 2005
Supervisor:
Dr. Marian Gheorghe
Al Babbo ed alla Mamma
(To Dad and Mum)
Abstract
Membrane computing is an emerging research field that belongs to the more general
area of molecular computing, which deals with models of computation inspired by biomolecular processes, which are seen as information-processing mechanisms. Membrane
computing aims at defining computational models, called membrane systems or P systems, which abstract from the functioning and structure of the cell. A membrane system
consists of a hierarchical arrangement of membranes delimiting regions, which represent
various compartments of a cell, and with each region containing bio-chemical elements of
various types and having associated rules, which represent bio-chemical processes taking
place inside the cell.
This thesis investigates variants of membrane systems as models for molecular computing and as modelling paradigms for biological systems. On one hand, we follow the
standard approach of research in membrane computing: defining a notion of computation
for membrane systems, and investigating the computational power of such computing
devices. Specifically, we address issues concerning the power of “simple” bio-inspired
communication mechanisms, and the power of operations for modifying the membrane
structure of a P system. As well as this, we introduce the notion of population P systems
as a new model of membrane systems which provides an abstraction for populations of
bio-units aggregated in more complex bio-entities, and we investigate the computational
power of various features of population P systems. On the other hand, we identify
membrane systems as a formalism, or a language, for representing/describing biological
phenomena of various interests. In this respect, we introduce a model of P systems
particularly suitable for modelling systems of bio-chemical reactions distributed across
various compartments. We formally characterise the behaviour of this type of P systems
and introduce an algorithm to perform computations in a multi-compartment environment. Finally, as a case-study, we present a P system model of bacterial quorum sensing
and we report some simulation results concerning the behaviour of a colony of bacteria
interacting by means of a signalling mechanism based on autoinducers.
i
Acknowledgements
I thank my supervisor Dr. Marian Gheorghe for providing this opportunity, and for his
constant support and advice throughout this PhD. I acknowledge EPSRC for supporting
my research and my staying in Sheffield. I also thank the Department of Computer
Science for hosting my position and for providing all the facilities necessary to conduct
my research.
I am very much indebted to Francisco Romero-Campero for the fruitful cooperation
and confrontation during his visit in Sheffiled from February 2005 to June 2005, and
in particular for his contribution to develop the code of the tool. Many thanks to
Dr. Natalio Krasnogor for his cooperation, for his constructive critical review of this
work, and for his encouragement to undertake research in the area of biological modelling
with particular emphasis on bacterial quorum sensing. I would like also to thank the
whole P community (the community of people working on membrane computing) for the
wonderful organisation of friendly working meetings with a perfect balance of scientific
collaboration, socialising and tourism.
This thesis would have not been possible without the support of my friends who gave
me great moments outside the department and made these three years unforgettable. I
am especially grateful to John, Sarah, Swati, Kaz, Pano and Ashard. Many thanks to
Renato, Linda, Enrico and Annalisa for making my holidays in Italy enjoyable inasmuch
as the time spent in Sheffield.
My deepest gratitude goes to my mother Giuseppina, my brother Marco, my sister
Federica and my brother-in-law Mario for their continuous support, encouragement, help
and love.
ii
Project Outcomes
This research was supported by the Engineering and Physical Science Research Council
(EPSRC) of United Kingdom, Grant GR/R84221/01 which funded the project “Molecular X Machines”. The outcomes of the project can be described by the following
activities.
• The investigation of a number of variants of membrane systems as a model for
molecular computing and as a modelling paradigm for biological systems. The
results of this activity are reported in this thesis and they have led to a number
of journal and conference papers: [14], [16] , [17], [18], [15] and [19] coauthored
with Marian Gheorghe, [20] and [21] coauthored with Marian Gheorghe and Mike
Holcombe, [23] coauthored with Marian Gheorghe, Natalio Krasnogor, Ravie C.
Muniyandi, Mario J. Pérez-Jiménez and Francisco J. Romero-Campero, [28] coauthored with Marian Gheorghe, Natalio Krasnogor, Maurice Margenstern, Mario
J. Pérez-Jiménez, Francisco Romero-Campero and Sergey Verlan, [24] coauthored
with Marian Gheorghe, Natalio Krasnogor and German Terrazas, [25] coauthored
with Marian Gheorghe and Vincenzo Manca.
• The development of a tool to simulate P system models by using the freely available
software package Scilab [4]. This has been done in cooperation with Francisco J.
Romero-Campero from the University of Seville, Spain, during his visit to Sheffield
in the period February-June 2005. Such a code has been used to produce the
simulation results reported in Chapter 6, Section 6.5 of this thesis, which were
previously presented in [23]. The code is now freely avaliable at [1].
• The application of P systems modelling bacterial quorum sensing. This research
has been done in cooperation with Natalio Krasnogor and German Terrazas from
the University of Nottingham, UK, and with their collaborators from the School
of Molecular Medical Science. This activity has led to the paper [23], [28] (see also
Chapter 6, Section 6.5 of this thesis), and to the papers [129], [67] where Francesco
Bernardini appears as a coauthor.
• The project web page [1] containing a description of the project, a list of publications, reports, presentations regarding the developments of the project, and a list
of links to related pages.
The current research was supported for one year and a half by MolCoNet project, an
European thematic network on molecular computing, EU contract IST-2001-32008. As
well as this, we have established scientific collaboration with Maurice Margenstern and
iii
Sergey Verlan from the University of Metz, which has been supported by British Council
(for 2005).
With respect to the original motivation, there are some aspects of the project which
have been addressed in a different way by the current research.
• The idea of combining P systems and X machines has been limited to the study
of PX systems [20], [21] (see also Chapter 3, Section 3.4 of this thesis); after that,
population P systems [17] (see also Chapter 5 of this thesis) have been identified as
a model of molecular (X) machines. In such a model, transitions are described by
rules placed inside individual components, and the memory, given by the content
of each component and being distributed across the structure of the P system, is
usually affected by both interactions with other components in the system and
interactions with the environment as well as by internal transformations. In this
respect, we have arrived to a model encapsulating simple (X) machines at the level
of population P system components and having interactions between them as well
as the capability of creating new instances and destroying existing components.
• Software engineering aspects related to the use of population P systems as a modelling tool have been left out of the current investigations. This has now become
part of a research project involving Ioanna Stamatopolou as a PhD student based
at the SEERC in Thessaloniki, Greece, and supervised by Marian Gheorghe and
Petros Kefalas. Some initial investigations in this direction are reported in [126],
[127].
• The current version of the tool does not implement all the features of population
P systems but it is limited to standard membrane systems containing mainly rules
for transforming and moving objects from one membrane to the other. The task
of extending the tool in order to comprise other features has now become part of
another PhD project involving Ravie C. Muniyandi at the University of Sheffiled,
and supervised by Marian Gheorghe. The aim of this project is to develop a
specification language based on membrane systems which will have as a kernel the
model introduced in Chapter 6 of this thesis.
iv
Contents
Abstract
i
Acknowledgements
ii
Project Outcomes
iii
Introduction
vii
0.1 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
0.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
0.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
1 Preliminaries
1.1 Strings and languages
1.2 Chomsky grammars .
1.3 Matrix grammars . . .
1.4 L systems . . . . . . .
1.5 Counter machines . . .
1.6 (Stream) X machines .
1.7 Multisets . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
. 1
. 2
. 5
. 7
. 8
. 10
. 12
2 Membrane Systems: Basic Concepts
2.1 Computing with membranes . . . . . . . . .
2.2 Transition P systems . . . . . . . . . . . . .
2.3 Computational power . . . . . . . . . . . .
2.4 Main variants . . . . . . . . . . . . . . . . .
2.4.1 P systems with promoters/inhibitors
2.4.2 P Systems with symport/antiport .
2.4.3 P systems with active membranes .
2.4.4 P systems with string-objects . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
16
23
25
25
26
28
31
3 On Evolution and Communication in Membrane Systems
3.1 Organising evolution and communication . . . . . . .
3.2 P systems with symport/antiport . . . . . . . . . . . .
3.2.1 Definitions . . . . . . . . . . . . . . . . . . . .
3.2.2 Computational power . . . . . . . . . . . . . .
3.3 P systems with boundary rules . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
35
36
39
45
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
v
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.4
3.5
3.3.1 Definitions . . . . . .
3.3.2 Computational power
PX systems . . . . . . . . . .
3.4.1 Definitions . . . . . .
3.4.2 Computational Power
Discussion . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
46
48
52
53
55
58
4 Travelling within P Systems with Active Membranes
4.1 Languages of membrane structures . . . . . . . . . . . . . . . . .
4.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Main results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 The power of membrane creation and membrane division
4.3.2 The power of membrane duplication . . . . . . . . . . . .
4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
61
63
68
70
73
77
5 Population P Systems
5.1 Dynamic networks of cells . . . . . . . . . . . . .
5.2 Cell-to-cell communication . . . . . . . . . . . . .
5.3 Population P systems . . . . . . . . . . . . . . .
5.3.1 The Power of Evolution-Communication .
5.3.2 The power of bond making . . . . . . . .
5.4 Population P systems with active cells . . . . . .
5.4.1 The power of cell division/differentiation .
5.5 Discussion . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
80
81
83
86
91
96
99
104
6 Membrane Systems for Biological Modelling
6.1 A language for the cell . . . . . . . . . . . . . . .
6.2 The model . . . . . . . . . . . . . . . . . . . . . .
6.3 Parallelism of type (k, q) . . . . . . . . . . . . . .
6.4 An algorithm to select membranes and programs
6.5 A case-study: bacterial quorum sensing . . . . .
6.5.1 A P system model of QS . . . . . . . . . .
6.5.2 Simulation Results . . . . . . . . . . . . .
6.6 Discussion . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
106
107
109
113
116
120
121
123
126
Conclusions
130
Bibliography
135
vi
Introduction
0.1 Context
Molecular computing is an emerging research field that belongs to the more general area
of natural computing, which is concerned with computing that goes on or is inspired by
nature. The idea of nature-inspired computing has been fascinating researchers since
the origins of computer science. For instance, neural networks, cellular automata, L
systems and evolutionary programming represent well established areas of computer
science whose origins can be traced back to the early stages of computer science: neural
networks [95] in the forties, cellular automata [99] and L systems [87] in the sixties, and
evolutionary programming [72] in the seventies.
However, it is only with the modern developments of molecular biology that it has
been possible to point out a deeper analogy between biological systems and informationprocessing systems. A pioneer in this field, who advocated the idea of cells as informationprocessing systems and the possibility of developing new bio-inspired computing devices
since the seventies, was Michael Conrad:“...Theoretical arguments suggest that more efficient and adaptable modes of computing are possible, while emerging biotechnologies
point out to possibilities for implementation. Their common ground is molecular computing... It is likely that molecular computing will prove more valuable outside the context
of conventional von Neumann computers. Critically important computing needs such as
adaptive patterns and process control may be refractory to simple decreases in size and
increases in speed. Instead of suppressing the unique properties of carbon polymers, we
should consider how to harness them to fill these needs..” [45]. In a similar way the cell is
described in [80] as a molecular machine, having inputs, state transitions, and outputs.
Further contributions in this direction can be found in [46], [82], [133] where various
issues are addressed that concern analogies and differences between living systems and
computing systems in terms of information-processing capabilities.
What may be called the modern era of molecular computing, can be traced back to
the eighties when, in parallel with the observation that a formal language approach can
be applied to the representation of biomolecules [32], we assist to the extension of formal
language theory with new biologically inspired formalisms, that allowed researchers to
explore the possibility of generating languages in completely new fashions. The most
significant contribution in this direction is due to Tom Head [69], who introduced the
notion of splicing systems as a new class of language generating devices that represent a model of the DNA recombinant behaviour. The second major contribution to
the development of molecular computing comes from Adleman’s experiment [5]. With
such an experiment, Leonard Adleman succeeded in solving in vitro an instance of a
vii
combinatorics problem by manipulating sequences of DNA through common laboratory
techniques.
The works by Tom Head [69] and Leonard Adleman [5] constitute the foundations
of the new emerging discipline of DNA computing: a vivid research area that involves
both a formal approach in search of new computing paradigms, and an experimental
and practical approach in search of some kind of useful DNA-based technology (e.g.,
see [114], [40], [56]). On one hand, from a theoretical point of view, several models for
DNA computing have been proposed that investigate the computational nature of features of DNA molecules (e.g., splicing systems, sticker systems, Watson-Crick automata
[114]). This is done with the approach typical of formal language theory and theory
of computing by mainly addressing issues concerning the computational power of these
DNA computing models. On the other hand, from a practical point of view, several experiments have followed the Adleman’s one and now an important research direction is
represented by DNA nanotechnology. DNA nanotechnology, based on the construction
of objects, lattices, and devices obtained by joining DNA molecules through cohesive
interactions, is expected to lead to improvements in crystallography, in computation,
and in the production of diverse and exotic materials [124].
Subsequently, in 1998, Gheorghe Păun initiated the field of research called membrane
computing with a paper initially circulated on the web and later published in [104].
Membrane computing aims at defining computational models which abstract from the
functioning and structure of the cell. In particular, membrane computing starts from
the observation that compartmentalisation through membranes is one of the essential
features of (eucaryotic) cells. Unlike bacterium, which generally consists of a single
intracellular compartment, a (eucaryotic) cell is sub-divided into functionally distinct
compartments. Each compartment contains its own characteristic set of enzymes and
other specialised molecules, and complex distribution systems transport specific products
from one compartment to another one.
Thus, a class of computing devices called membrane systems, or P systems, are defined
in [104] which have three essential features: a membrane structure consisting in a hierarchical arrangement of several compartments defined as regions delimited by membranes;
objects assigned to the regions in the membrane structure; rules applied to the objects
placed inside the regions. In particular, each region is supposed to contain a finite set
of rules and a finite multiset (or set) of objects. Rules encode generic processes for
producing/consuming objects and for moving objects from one region to the other one.
Objects are described either as symbols from a given alphabet or as strings over a given
alphabet. A computation in a membrane system is obtained by starting from the initial
configuration, identified by the membrane structure and by an initial distribution of objects to the various regions, and by repeatedly applying the rules to the objects placed
inside these regions. The application of the rules is performed in a non-deterministic
maximal parallel manner: all the applicable rules have to be used to modify all objects
which rules can be applied to, and this is done in parallel for all membranes. Whenever
no rule can be further applied to the objects left inside the system, the computation
halts and its output is defined in terms of the objects present in the final configuration
inside a specific membrane, called output membrane.
viii
Since this model was introduced for the first in time 1998, many variants of membrane
systems have been proposed and the literature on the subject is now rapidly growing.
A comprehensive bibliography of P systems and detailed information about current research on membrane computing can be found on the P system web page [3]. There
are two standard ways of investigating membrane systems as a model for molecular
computing: considering their computational power in comparison with the classical notion of Turing computability, or considering their efficiency in algorithmically solving
hard problems, like NP-complete problems, in a polynomial time. In this respect, the
main results obtained so far show that membrane systems of various types define classes
of computing devices which are both powerful, mostly equivalent to Turing machines,
and efficient, membrane-system algorithms have been developed that provide efficient
solutions to NP-complete problems through specifically enhanced mechanisms for the
generation of an exponential space in polynomial time.
At the same time with the advances in molecular computing, the modern developments of molecular biology have made clear that, due to their complexity, insights of the
functioning of biological systems cannot result from purely intuitive assaults. A combination of experimental and computational approaches is then expected to solve this
problem of coping with the intrinsic complexity of biological systems [85]. Specifically,
in terms of computational approaches to biology, two main research areas have emerged:
bioinformatics, and computational biology [65].
Bioinformatics deals with a data-driven approach where, based on huge quantities of
experimental data, the hypothesis that best explains them and tells us something relevant regarding the biological processes studied is identified and tried to be proved. To
this aim, knowledge discovery and data mining techniques are extensively used to extract hidden patterns for the experimental datasets. These techniques have been widely
used in genetics and genomics, and many useful tools are now available for automatic
sequences analysis, comparison and assembly [65].
Computational biology instead deals with mathematical and computational models of
biological systems designed for the analysis and simulation of the behaviour of these systems. Biological modelling has been developed alongside of both “standard” continuous
and stochastic based mathematical approaches, and discrete models. Standard mathematical models with their simulation techniques have proved to be powerful tools for understanding the dynamics of biological systems and they have been in use since the early
seventies (e.g., see [123],[130]). More recently, a variety of software packages specifically
designed for simulation and analysis of biological systems have become available, such
as CELLWARE (http://www.bii.astar.edu.sg/research/rsy/cellware), E-CELL
(http://www.ecell.org), COPASI (http://www.copasi.org). Discrete modelling instead advocates the use of various formalisms taken from various areas of computer
science (e.g. formal grammars [44], Petri nets [93], X machines [54], [131], process
algebra [111], [117], statecharts [81], and agent-based formalism [102]) to develop computational models for the analysis and simulation of biological systems. In a similar way
to molecular computing, but with different purposes, discrete approaches to biological
modelling look at biological systems as discrete-symbolic-information processing devices
and they are naturally centred around the notion of individual components which co-
ix
operate/interact with each other at various levels of abstraction. Discrete modelling
appears to have some benefits with respect to the traditional mathematical modelling
in terms of a more direct and intuitive formalism for representing biological concepts
and in terms of modularity, flexibility, scalability and re-usability of the models. As
well as this, some extensions/variations of existing formalisms have been proposed, such
as hybrid Petri nets [93], hybrid X machine [54], bioambients [116], brane calculi [35]
and κ-calculus [51], which attempt at capturing specific features of biological systems in
order to facilitate the representation/description of biological facts within a particular
formal setting.
In light of these efforts in biological modelling with a discrete approach, membrane
systems, originally introduced as a model for molecular computations, have recently been
re-considered as a formalism for representing/describing biological phenomena and simulating their behaviour through implementations in silico of various membrane system
models [30], [31], [29], [108], [109].
0.2 Motivation
The present thesis deals with membrane computing and investigates a number of variants of membrane systems, also called P systems. As we have already said, membrane
computing is a relatively young branch of molecular computing that aims at defining
computing devices which abstract from the structure and functioning of the cell. Nevertheless, already a monograph [105] has been dedicated to the subject and annual volumes
appear in Lecture Notes in Computer Science series that report papers presented at the
corresponding annual workshop on membrane computing [115], [89], [94].
The main novelty of membrane computing, with respect to other areas of molecular
computing, is that membrane systems look at the whole cell as a computing device. They
are defined as systems consisting in a hierarchical arrangement of membranes delimiting
regions, which represent various compartments of a cell, and with each region having
associated rules, which represent different bio-chemical processes taking place inside each
compartment of the cell. Therefore, it is not so surprising to observe that many different
models of membrane systems have been proposed in the literature depending on the
particular features of the cell one wants to consider in the definition. Research in this
direction is driven by three seemingly contradictory goals: getting variants of membrane
systems as realistic as possible (from a biological point of view), as powerful as possible,
and as efficient as possible. Above all these, the models should be as elegant as possible
(from a mathematical and computational point of view). In this respect, a key issue
is the identification of “simple” bio-inspired computing mechanisms to be used for the
definition of membrane systems with a “minimal” sets of ingredients which are powerful
enough to achieve the full power of Turing machines.
For most of the thesis, we will follow this approach by presenting different models of
membrane systems and proving their equivalence in power with Turing machines when
“simple” bio-inspired mechanisms are considered for processing the objects placed inside
the regions and for moving these objects from one region to the other. In particular, we
x
have identified three main issues concerning the use of membrane systems as a model
for molecular computing.
1. The rôle of communication in membrane systems. The communication of objects
through membranes is one of the fundamental features of every membrane system.
In this respect, membrane systems provide an abstract framework for reasoning
about localisation/distribution of computing resources into different regions of a
larger system and for reasoning about the way interactions between regions take
place. Therefore, it is important to identify appropriate mechanisms to express this
communication between these regions that satisfy the aforementioned requirement
of having models which are as realistic as possible, as powerful as possible, and as
elegant as possible from a mathematical and computational point of view.
2. The rôle of the membrane structure and the rôle of membrane operations. The
membrane structure is one of the defining elements of every membrane system.
In this respect, it is natural, both from a biological and a mathematical point
of view, to consider membrane systems where the membrane structure itself is
changed during a computation by means of specific bio-inspired operations for
adding membranes into the system or for removing membranes from the system.
Therefore, it becomes interesting to investigate the rôle (and the power) of these
membrane operations in defining computations where the output is not obtained
by just collecting a multiset of objects from some region of the system, but it is
somehow encoded in the membrane structure produced at the end of a computation. This type of investigations is also motivated by the more general problem of
“finding alternative ways to define the output of the computations in a P system”
as pointed out in [105], [112], [113].
3. Computing at population level in membrane systems. Biological systems at various levels share the important features of being composed of many individual
components that cooperate each other for the benefit of the system as a whole.
In this way, higher levels of organisation are obtained by means of local interactions among different individuals and between an individual and the environment.
Membrane systems address these features at intra-cellular level only by looking at
the internal structure of the cell which is organised in a hierarchical arrangement
of different compartments. More in general, one can consider systems consisting in
a population of individual components which are able to interact/cooperate with
each other either directly or indirectly by means of a common shared environment,
and which can aggregate together to form complex structures. This means having
systems where there are no relationships of inclusion between the various components, as they are placed all at the same level, and communication/interaction
between them is defined in a symmetric way. This approach is seen as a generalisation of the notion of tissue P systems already present in [105] and described as
an abstraction for the behaviour of cells in tissues in multicellular organisms. In
this respect, specific bio-inspired mechanisms to express interaction/cooperation
between individual components need to be identified and an appropriate notion of
xi
a computation in such a population of individuals need to be devised. Yet again,
this is done with the aim of investigating the computational nature of various
features of biological systems.
Then, as we have mentioned in the previous section, membrane systems have been
re-considered as a formalism for representing/describing biological phenomena and simulating their behaviour through implementations in silico of various membrane systems
models [30], [31], [29], [108], [109]. In particular, in this framework of biological modelling, two main research directions for membrane computing can be identified in the
following sense.
1. Studying membrane systems as a mathematical model for biological systems in
order to uncover the general principles underlying the functioning of fundamental
biological processes and mechanisms; this also relates to the usage of membrane systems as a language for describing/representing, and possibly explaining, within a
specific formal setting the aforementioned fundamental processes and mechanisms;
progresses in this direction may in turn enhance interactions between researchers
in different areas of biology and computer science.
2. Defining computational models based on P systems to be used for running in silico
experiments once appropriate implementations are provided.
For what concerns the first issue, it has been pointed out in several places (e.g., see [29],
[30], [108]), that some extra features need to be introduced in the model in order to
close the gap between the “reality” to be modelled and the abstractness of the standard
notions of membrane systems. On the other hand, in terms of computational models,
we have to say that, although a number of tools have already been produced (some of
them are available from [3]), correct implementation and simulation techniques are yet
to be identified.
The last chapter of this thesis is specifically dedicated to address these issues concerning the use of membrane systems as a tool for modelling biological systems with a
discrete approach.
0.3 Outline
The thesis is organised as follows.
Chapter 1
This chapter recalls from the areas of formal language theory and theory of computing
the notions of: Chomsky grammars, matrix grammars, L systems, counter machines,
and X machines. These represent classical model of computation which are used in the
rest of the thesis as testing ground to characterise the computational power of different
variants of membrane systems. As well as this, the chapter reports the notions and the
terminology related to the concept of multisets which is essential for the definition of
the membrane system model.
xii
Chapter 2
Membrane computing, its original motivation, and its basic concepts are the subject of
this chapter. Specifically, it illustrates the basic features of membrane systems with its
commonly-used terminology. This is done by presenting the definition of the basic model
of P systems and by briefly describing some of the extensions of this basic model which
can be found in the existing literature.
Chapter 3
This chapter is dedicated to the investigation of variants of the basic model of membrane
systems which enhance their computational power by adding some extra mechanisms for
controlling the evolution and the communication of objects from one membrane to the
other. Specifically it reports universality results concerning the power of P systems with
symport/antiport and P systems with boundary rules, and results characterising the
computational power of PX systems as a model which combines features of membrane
systems and X machines.
P systems with symport/antiport [105] define a model of purely communicative membrane systems where a computation consists in just moving objects through the membranes with none of them being ever modified or consumed during the process. The
unique rules present in these systems are communication rules governing the passage of
objects through membranes which represent an abstract model for the biochemical mechanism of active transport of small molecules across membrane called symport/antiport.
For this variant of membrane systems, a universality result is reported showing that the
full power of Turing machines can be achieved by using P systems with symport/antiport
rules of a minimal size.
Then, P systems with boundary rules [26] are considered as an evolution-communication
model of P systems. Evolution and communication means objects can be modified by
using a specific set of transformation rules and can be moved through the membranes by
means of a separate set of communication rules. For this variant of membrane systems, a
universality result is presented for P systems with boundary rules where only one object
at a time is moved in any direction but possibly with the help of another one operating
as an activator.
Finally, PX systems are introduced as a new model of membrane systems where the
application of the rules is controlled by an underlying state-transition diagram. In
particular, such a variant of membrane systems is obtained by combining the basic
features of P systems with the features of X machines. PX systems are proved not to be
computationally complete by showing that they are equivalent in power to a particular
class of L systems.
Chapter 4
This chapter proposes an alternative approach to generate languages by means of P systems: building up an adequate representation for a string by means of an appropriate
membrane structure and then generating the string by visiting the membrane structure
according to a well-specified strategy. To this aim, we consider P systems where the
membrane structure can be modified during a computation by using the operation of
xiii
membrane creation, membrane division, membrane duplication, and membrane dissolution. The output of a computation may be obtained either by visiting the tree associated
with the membrane structure, or by following the traces of a specific object, called traveller, or sending out the objects. For each of these approaches, characterisations of
recursively enumerable languages are provided that are based on P systems that use
different sets of operations for modifying the membrane structure.
Chapter 5
This chapter deals with the issue of computing at population level in P systems.
Population P systems are introduced as a new class of P systems which extend the
existing notions of P systems in the following sense:
• the structure of the system is defined as an arbitrary graph rather than as a tree;
each node in the graph corresponds in a one-to-one manner to a cell in the system;
cells represent the basic functional units of population P systems and they are
allowed to communicate alongside the edges of the graph;
• the graph defining the structure of the system can change during a computation;
these changes involve both the set of nodes and the set of edges in the graph; new
cells can therefore be introduced in the system and new links can be formed among
these cells by altering in this way their communication capabilities.
Population P systems are defined by considering specific mechanisms for expressing cellto-cell interactions, for altering this communication capabilities by adding or removing
edges from the graphs, and for varying the number and the nature of the cells in the
system.
The chapter reports several results concerning the computational power of the various
features of population P systems.
Chapter 6
This chapter deals with the issues concerning the use of membranes systems as a modelling tool for biological systems.
Specifically, it presents a general framework for modelling with membrane systems
that is based on a model where rules have associated a finite set of attributes and a corresponding function. Attributes and functions are meant to provide those extra features
which are necessary to close the “gap” between the abstractness of more standard P
system models and the “reality” of the phenomenon to be modelled. The behaviour of
such P systems is defined in terms of bounded parallelism, which precisely formalises the
idea of a membrane system as a system where a certain number of components evolve
in parallel at the same time by means of a certain number of rules applied inside each
one of these components.
Then, as a particular instance of the general model, a particular class of P systems
is considered where rules have associated a real constant as an attribute and the corresponding function is used to compute a value of probability depending on this constant
and on certain multisets of objects defining the context where the rule is applied. For
xiv
these P systems, a precise strategy for applying the rules is devised: in each step, the next
rule to be applied is selected depending on the aforementioned values of probabilities.
Finally, as a case study, a P system model for the quorum sensing mechanism of
bacterial cell-to-cell communication is presented together with some simulation results
concerning the behaviour of a colony of bacteria interacting by means of chemical
pheromones.
Conclusions
Some final remarks are reported in this last chapter.
xv
Chapter 1
Preliminaries
This chapter is meant to introduce some basic notions of formal language theory and
theory of computing by recalling the notions of: Chomsky grammars (Section 1.2),
matrix grammars (Section 1.3), L systems (Section 1.4), counter machines (Section 1.5),
and X machines (Section 1.6). As well as this, in Section 1.7, we report the notions
and the terminology related to the concept of multisets which, as we will see in the
subsequent chapters, is essential for the definition of the membrane system model.
The main references for this chapter are [105], [120], [52], [119], [73], [55], [121].
1.1 Strings and languages
An alphabet is any finite and non-empty set. The elements of an alphabet are called
symbols. Let V be an alphabet. A string over V is any finite sequence consisting of
zero or more symbols from V ; the same symbol may occur repeated several times inside
the same string. The sequence containing no symbols is called empty string and it is
denoted by λ. The set of all strings (resp. of all non-empty strings) over V is denoted
by V ∗ (resp. V + ). If x, y ∈ V ∗ then, their catenation xy ∈ V ∗ . As usual, the catenation
of two strings is the string obtained by the juxtaposition of the two strings, that is, by
writing one string after the other one. Catenation is an associative operation and the
empty string λ acts as an identity: xλ = λx = x, for all x ∈ V ∗ . Moreover, for any i ≥ 1,
we denote by xi the catenation of i copies of the string x; we set x 0 = λ by definition. In
algebraic terms, V ∗ and V + are the monoid and the semigroup respectively generated
by V with respect to the operation of catenation and with the unit element equal to λ.
Let V be an alphabet. The length of a string x ∈ V , denoted by |x|, is the number
of all occurrences in x of symbols from V ; the number of occurrences in x of a symbol
a ∈ V is denoted by |x|a . Yet again, by definition, we set |λ| = 0 and |λ| a = 0, for all
a ∈ V . The set of symbols from V occurring in a string x is denoted by alph(x). We
also use V to denote the set of strings from V ∗ of length equal to one. A string y ∈ V ∗
is a substring of a string y ∈ V ∗ if, there are x1 , x2 ∈ V ∗ such that x = x1 u x2 . A string
y = v1 v2 . . . vn with n ≥ 1 and v1 , v2 , . . . , vn ∈ V ∗ is a scattered substring of a string x
if, there are u1 , u2 , . . . , un ∈ V ∗ such that x = u1 v1 u2 v2 . . . un vn .
Let V = {a1 , a2 , . . . , an } with n ≥ 1 be an alphabet, and let x be a string over V .
The Parikh vector of the string x is the vector (|x| a1 , |x|a2 , . . . , |x|an ), which is usually
denoted by v(x). A set M of vectors in N n with n ≥ 1 (N denotes the set of non-negative
integers) is said to be linear if, there exist some vectors v 0 , v1 , . . . , vm ∈ Nn with m ≥ 0
1
P
such that, for all v ∈ M , v = v0 + m
i=1 αi vi , for some α1 , . . . , αm ∈ N. A semilinear set
is a set obtained as the finite union of linear sets.
A language (over V ) is any subset of V ∗ ; a language is usually denoted by L. Given
a language L, we define the set alph(L) = { alph(x) | x ∈ L }, and we define the set
P s(L) = { v(x) | x ∈ L } called the Parikh image of L. A language is said semilinear
if its Parikh image is a semilinear set. Then, given two languages L 1 , L2 and another
language L, we define the following operations between languages:
• the union of L1 , L2 is the language resulting from the set union of L 1 and L2 ;
• the intersection of L1 , L2 is the language L1 ∩ L2 = { x | x ∈ L1 , x ∈ L2 };
• the difference of L1 , L2 is the language L1 − L2 = { x | x ∈ L1 , x ∈
/ L2 };
• the complement of L is the language L̄ = { x | x ∈ V ∗ , x ∈
/ L1 } ;
• the catenation of L1 , L2 is the language L1 L2 = { x1 x2 | x1 ∈ L1 , x2 ∈ L2 };
S
• the Kleene-closure of L is the language L ∗ = i≥0 Li , where L0 = {λ} and Li =
Li−1 L; the +-Kleene-closure of L is the language L + = L∗ − {λ}.
Let V, U be two alphabets. A morphism (from V ∗ to U ∗ ) is a mapping σ : V ∗ −→ U ∗
such that, for all x1 , x2 ∈ V ∗ , σ(x1 x2 ) = σ(x1 )σ(x2 ). A λ-free morphism is any morphism
σ such that σ(a) 6= λ. The inverse morphism of σ is the mapping σ −1 : U ∗ −→ P(V ∗ )
such that, for all w ∈ V ∗ , σ −1 (w) = { x | x ∈ V ∗ , σ(x) = w }. A coding is any morphism σ
such that σ(a) ∈ U ; a weak coding is any morphism σ such that σ(a) ∈ U ∪ {λ}.
We can naturally extend the operation of morphism to languages by specifying that
σ(L) = { σ(x) | x ∈ L }.
Let V be an alphabet. The family of all languages over V is denoted by L(V ∗ ) (i.e.,
L(V ∗ ) denotes the family of all subsets of V ∗ ). A family of languages (over V ) is any subfamily of L(V ∗ ). A family of language F L is said to be closed under a unary operation
ω if, for all languages L ∈ F L, ω(L) ∈ F L; a family of languages is said to be closed
under a n-ary operation ω if, for all L 1 , L2 , . . . , Ln ∈ L, ω(L1 , L2 , . . . , Ln ) ∈ F . The
family of regular languages is the family of languages obtainable by using finitely many
times the operations of union, catenation and Kleene-closure.
An abstract family of languages (AFL, for short) is any family of languages that
is closed under union, intersection with regular, catenation, +-Kleene closure, λ-free
morphism and inverse morphism. A full AFL is any AFL which is closed under the
operation of Kleene closure.
1.2 Chomsky grammars
Chomsky grammars (grammars, for short) are modifications of the classical notion of
rewriting systems consisting of a finite set of pairs (u, v), with u, v, two strings over a
given alphabet, which are written in the form u → v. A pair u → v is called rewriting
rule and indicates that a string u can be replaced by a string v whenever u appears as a
2
subword of another string. Rewriting systems provide a generic mechanism to transform
languages into other languages; grammars, introduced by Chomsky in the fifties (e.g.,
see [41]), are instead used to define languages in a generative way.
Definition 1.1 (Chomsky grammar). A Chomsky grammar (grammar, for short), is
a quadruple G = (N, T, S, P ) where: N is the non-terminal alphabet, T is the terminal
alphabet, N ∩ T = ∅, S ∈ N is the initial symbol, and P is a finite set of productions of
the form u → v with u = xAy, A ∈ N , x, y, v ∈ (N ∪ T ) ∗ .
Thus, a grammar is a rewriting system where the initial symbol S is fixed (i.e., all
the rewriting processes in G are supposed to start from S and where every rewriting
rule, called production or rule, must contain at least one symbol from the non-terminal
alphabet N in its left side.
Let G be a grammar. The direct derivation relation induced by G, denoted by =⇒ G ,
is a binary relation between strings in (N ∪ T ) ∗ defined as:
α =⇒G β iff α = x u y, β = x v y and u → v ∈ P
where α, β, x, y ∈ (N ∪T )∗ . The derivation relation induced by G, denoted by =⇒ ∗G , is the
reflexive and transitive closure of the relation =⇒ G . Moreover, every string x ∈ (N ∪T ∗ )
such that S =⇒∗G w is called a sentential form. The language generated by G, denoted
by L(G), is the language
L(G) = { w | w ∈ T ∗ , S =⇒∗G w }.
Note that L(G) is a language over T , that is, the language L(G) is obtained by filtering
out the sentential forms containing only terminal symbols.
A language L is of type 0 if there exists a grammar G such that L = L(G); the family
of languages of type 0 is denoted by L 0 . A fundamental result of formal language theory
shows that the family of languages L 0 is equal to the family of recursively enumerable
languages denoted by RE. We introduce the family RE by using Turing machines.
Definition 1.2 (Turing machine). A Turing Machine (TM, for short) is a construct
M = (Q, V, Γ, δ, q0 , B, F )
where: Q is a finite set of states, V is the input alphabet, V ∩Q = ∅, Γ is the tape alphabet,
Γ ∩ Q = ∅ and V ⊂ Γ, q0 ∈ Q is the initial state, B ∈ Γ − V is the blank symbol, F ⊂ Q
is the set of final states, and δ is the transition function δ : Q × Γ −→ P(Q × Γ × {L, R}.
Intuitively, a Turing machine has a tape divided into cells that may store symbols
from Γ (each cell stores exactly one symbol). The tape is bounded on the left but it
is unbounded on the right. The machine has a finite control and a tape head that can
read/write one cell of the tape during a time instant. Initially, an input string over V
is stored on the tape by starting from the leftmost cell whereas the blank symbol B is
stored on all the cells after the cell containing the last symbol of the input string.
3
The machine starts with the head on the leftmost cell and with the finite control in
the initial state q0 . The machine performs moves. Moves are defined by the transition
function δ and they depend on the symbol in cell currently scanned by the head, and
on the current state of the finite control. A move consists of changing the state, writing
a symbol from Γ into the current cell, and moving the tape head either to the left or to
the right. A formal description of the functioning of a Turing machine can be found in
[120].
Let M be a Turing machine. An input string x ∈ V ∗ is accepted by the machine M if
and only if the machine M , after a finite number of steps, reaches a final state; if that is
the case we say that the machine M halts in correspondence of the input x. A language
L ⊆ V ∗ is accepted by the machine M if and only if all the strings in L are accepted by
the machine M .
The family of recursively enumerable languages RE is the family of languages accepted
by Turing machines; that is, a language L is recursively enumerable if, there exists a
Turing machine M that accepts the language L. The main result concerning this family
of languages is the following one.
Theorem 1.1. L0 = RE.
This results specifically links the notion of “generating a language” with the notion
“accepted by a Turing machine”. The languages of type 0 are exactly the languages
which are accepted by Turing machines. One may also show that these languages can
be produced as output of Turing machines as well.
A Turing machine defines an effective procedure for computing in an intuitive sense.
The converse of this assertion, that is, that effective procedures for computing can be
defined as a Turing machine is not trivial anymore. The statement to the effect that the
two notions are equivalent is known as Turing/Church thesis. Church’s thesis cannot
be proved since it identifies a formal notion, the Turing machine, with the informal
and intuitive notion of an effective procedure for computing. However, Church’s thesis
is an extremely important assertion: it implies that each reasonable device defining
effective procedure for computer can be simulated by a Turing machine. In the rest of
the thesis, we will make use of Curch’s thesis in order to provide characterisations of
RE by just showing that the class of computing devices we are defining can simulate
Turing machines; the converse is considered valid as an immediate consequence of the
Turing/Church thesis.
Another key element of formal language theory used in this thesis is the so-called
Chomsky hierarchy that concerns the identification of four main classes of generative
devices.
• Type-0 grammars: productions are as in Definition 1.1 and they can have any
form;
• Type-1 (context sensitive) grammar : productions are of the form u → v, where
u = u1 Au2 , v = u1 zu2 , with u1 , u2 ∈ (N ∪ T )∗ , A ∈ N , and z ∈ (N ∪ T )+ (in
context-sensitive grammars the production S → λ is allowed, providing S does not
appear in the right-hand side of any production).
4
• Type-2 (context free) grammar : for each production u → v, we have u ∈ N ;
• Type-3 (regular) grammar : productions are of the forms A → aB, A → a, A → λ,
where A, B ∈ N , and a ∈ T .
The families of languages generated by context sensitive, context free and regular grammars are denoted by CS, CF , REG, respectively, and are naturally called context
sensitive, context free and regular languages. As we have seen, the family of languages
generated by type-0 grammars is the family RE. These families of languages are known
to be strictly included one in the other.
Theorem 1.2 (Chomsky hierarchy). REG ⊂ CF ⊂ CS ⊂ RE.
Moreover, the families of languages REG, CS and RE are full-AFL’s whereas CS is
an AFL.
The Chomsky hierarchy defines a testing ground which is often used to characterise
families of languages obtained from devices other than grammars. In the remaining
sections of this chapter, we will present other classes of computing (generative) devices
which will then become useful to investigate the computational power of the various
membrane systems presented in the rest of the thesis.
1.3 Matrix grammars
Matrix grammars belong to the class of generating devices where some extra control
over the derivation steps is introduced. The idea behind the control mechanism, called
regulated rewriting, is to restrict the application of the rules in a context-free grammar, in
order to avoid some derivations and hence obtaining a subset of the context-free language
generated in the usual way. The computational power of some context-free grammars
with regulated rewriting turns out to be greater than the power of context-free grammars
[52].
Here, we formally introduce the notion of matrix grammars.
Definition 1.3 (matrix grammar). A matrix grammar with appearance checking
(a.c., for short) is a construct G = (N, T, S, M, F ) where: N is the non-terminal alphabet, T is the terminal alphabet, N ∩ T = ∅, S ∈ N is the initial symbol, and M is
a finite set of matrices of the form (A 1 → x1 , . . . , An → xn ), n ≥ 1, with Ai → xi a
rewriting rule, Ai ∈ N , xi ∈ (N ∪ T )∗ , for all 1 ≤ i ≤ n, and F a subset of the rules in
the matrices in M .
Thus, a matrix grammar is a grammar where the rewriting rules, which are contextfree productions in the Chomsky sense, are organised in ordered sequences.
The direct derivation relation induced by a matrix grammar with a.c. G, denoted by
=⇒G , is a binary relation between strings in (N ∪ T ) ∗ defined as x =⇒G y if and only
if, there exist a matrix (A1 → x1 , . . . , An → xn ) ∈ M and w1 , w2 , . . . , wn+1 ∈ (N ∪ T )∗
such that x = w1 , y = wn+1 , and, for all 1 ≤ i ≤ n, either wi = wi0 Ai wi00 , wi+1 = wi0 xi wi00 ,
for some wi0 , wi00 ∈ (N ∪ T )∗ , or wi = wi+1 , |wi |Ai = 0 and the rule Ai → xi ∈ F . That
5
is, in order to get a direct derivation, the rules of a matrix in M are applied in sequence
by possibly skipping the rules in F if they cannot be applied; the rules in F are said
to be applied in appearance checking mode. Moreover, a matrix grammar is said to be
without appearance checking (without a.c., for short) whenever the set F is empty.
The derivation relation induced by G, denoted by =⇒ ∗G , is the reflexive and transitive
closure of the relation =⇒G . Yet again, every string x ∈ (N ∪ T ∗ ) such that S =⇒∗G w
is called a sentential form. The language generated by G, denoted by L(G), is the
language L(G) = { w | w ∈ T ∗ , S =⇒∗G w }. The family of languages generated by matrix
grammars with a.c. is denoted by M AT ac ; the family of languages generated by matrix
grammars without appearance checking is denoted by M AT . The following result holds.
Theorem 1.3. CF ⊂ M AT ⊂ M ATac = RE.
This result clearly shows that matrix grammars use a regulated rewriting style which
increases the power of context-free grammars; in particular, if the feature of appearance checking is considered then, matrix grammars are able to characterise the family
of recursively enumerable languages. We will make use of this fundamental result in
Chapter 4 when will investigate the computational power of a particular variant of P
systems with active membranes. Specifically, we will need the notion of matrix grammar
in Z-binary normal form from [91], [90], which indeed is a variation of the binary normal
form described in [52]. A matrix grammar with a.c. G = (N, T, S, M, F ) is said to be
in Z-binary normal form if N = N1 ∪ N2 ∪ {S, Z, #}, with these three sets mutually
disjoint, and the matrices in M are in one of the following forms:
1. (S → XA), with X ∈ N1 , A ∈ N2 ,
2. (X → Y, A → x), with X, Y ∈ N1 , A ∈ N2 , x ∈ (N2 ∪ T )∗ , |x| ≤ 2,
3. (X → Y, A → #), with X ∈ N1 , Y ∈ N1 ∪ {Z}, A ∈ N2 ,
4. (Z → λ).
Moreover, there is only one matrix of type 1, F consists exactly of all rules A → #
appearing in matrices of type 3, # is a trap-symbol, and if a sentential form generated
by G contains the object Z, then it is of the form Zw, where w is either a terminal string,
or it contains occurrences of the trap-symbol #. The unique matrix of type 4 is used
only once, in the last step of any derivation. In other words, the appearance of Z makes
sure that, except for Z, the sentential form is either terminal, or it will never lead to a
terminal string, because of the presence of the trap-symbol. It was then shown in [91],
[90] that every recursively enumerable language can be generated by matrix grammar
with a.c. in Z-binary normal form. Therefore, if we want to compare a new class of
generative devices with the class of matrix grammar with a.c., we can limit our analysis
to matrix grammars in Z-binary normal form.
6
1.4 L systems
Lindenmayer systems ( L systems, for short) are parallel rewriting systems introduced
in 1968 to the aim of modelling the development of simple multicellular organisms [87].
The peculiar characteristic of L systems is parallelism: at each step of the rewriting
process, all symbols of the current string have to be rewritten, in contrast to the sequential rewriting of phrase structure grammars, where only a specific part of the string is
rewritten at each step.
Definition 1.4 (extended 0L system). An extended 0L system (E0L system, for
short) is a quadruple G = (V, T, w, P ) where: V is the alphabet of the system, T ⊆ V is
the terminal alphabet, w ∈ V ∗ is the axiom, and P is a finite set of productions a → v
with a ∈ V , v ∈ V ∗ such that, for all a ∈ V , there is a production a → v ∈ P , for some
v ∈ V ∗ (i.e., P is complete).
An E0L system G = (V, T, w, P ) is called a 0L system whenever V = T . The terminology 0L systems originates from the fact that, in their basic definition, L systems
contain only context-free productions where there are no interactions between the symbols present inside the string to be rewritten; that is, the “level” of interaction is 0.
As we have already said, L systems are a class of parallel rewriting systems where,
in each step, all the symbols in a given string are rewritten in parallel at the same
time. Specifically, let G = (V, T, w, P ) be an E0L system. The direct derivation relation
induced by G, denoted by =⇒G , is a binary relation between strings in V ∗ defined as:
α =⇒G β iff α = a1 , . . . , an , β = v1 . . . vn and ai → vi ∈ P, for all 1 ≤ i ≤ n
for some n ≥ 1. The derivation relation induced by G, denoted by =⇒ ∗G , is the reflexive
and transitive closure of the relation =⇒ G . The language generated by G, denoted by
L(G), is the set
L(G) = { z | z ∈ T ∗ , w =⇒∗G z }.
Yet again, L(G) is a language over T , that is, it is obtained by filtering out the strings
containing only terminal symbols. However, as opposite to grammars, a derivation in
an (E)0L system usually defines an infinite sequence of strings; productions in an (E)0L
system in fact rewrite both non-terminal and terminal symbols and derivations never
stop. In the particular case of 0L systems, where the terminal alphabet is equal to the
alphabet of the system, all the strings produced by a particular derivation are accepted
as part of the language.
A natural extension of (E)0L systems is represented by tabled (E)0L systems.
Definition 1.5 (extended tabled 0L systems). An extended tabled 0L system (ET0L
system, for short) is a construct G = (V, T, w, P 1 , . . . , Pm ), with m ≥ 1 and where: V ,
T , w are as in Definition 1.4, and, for all 1 ≤ j ≤ m, P j is a finite set of production like
in Definition 1.4; each Pj is called a table.
An ET0L system G = (N, T, w, P ) is called a T0L system whenever V = T . The
direct derivation relation induced by G, denoted by =⇒ G , is a binary relation between
7
strings in V ∗ defined as:
α =⇒G β iff α = a1 , . . . , an , β = v1 . . . vn and ai → vi ∈ Pj , for all 1 ≤ i ≤ n
for some n ≥ 1 and 1 ≤ j ≤ m. The derivation relation induced by G, denoted by =⇒ ∗G ,
is the reflexive and transitive closure of the relation =⇒ G . The language generated by
G, denoted by L(G), is the set
L(G) = { z | z ∈ T ∗ , w =⇒∗G z }.
In other words, in an (E)T0L system, a direct derivation is obtained by choosing, in a
non-deterministic way, a table and applying its rules in the same way as in an (E)0L
system.
The family of languages generated by E0L systems is denoted by E0L, whereas the
family of languages generated by ET0L systems is denoted by ET 0L. The main results
concerning these families of languages is the following one.
Theorem 1.4. CF ⊂ E0L ⊂ ET 0L ⊂ CS.
This hierarchy has the same relevance as the Chomsky’s one for the comparison of
different classes of computing (or generative) devices We will make use of this result in
Chapter 3 and in Chapter 5. In particular, it turns out to be useful to have the following
normal form [119].
Theorem 1.5. For each language L ∈ ET 0L there is an ET0L system G such that
L(G) = L, G contains only 2 tables, and either P 1 or P2 is used after having applied P1
but P1 is always used after having applied P 2 .
1.5 Counter machines
Minsky introduced the concept of register machines in [97] by showing that the power
of Turing machines can be achieved by such abstract machines using a finite number of
registers for storing arbitrarily large non-negative integers. A register machine runs a
program consisting of labelled instructions which encode simple operations for updating
the content of the registers. Several variants with different sets of instruction and different operating mode were proposed and several universality results were obtained (e.g.,
see [73]).
Here, we use the name counter machines, instead of register machines, to denote
the particular variant of such machines considered in [64] and specifically used for the
investigation of the computational power of membrane systems.
Definition 1.6 (counter machine). A counter machine is a construct
M = (Q, F, p0 , A, cout , I),
where:
8
1. Q is the set of states;
2. F ⊆ Q is the set of final states;
3. p0 ∈ Q is the initial state;
4. A is the set of counters;
5. cout ∈ A is the output counter ;
6. I is a finite set of instructions of the following forms:
a) (p → q, +c), with p, q ∈ Q, c ∈ A: add 1 to the value of the counter c and
move from state p into state q,
b) (p → q, −c), with p, q ∈ Q, c ∈ A: if the current value of the counter c is not
zero, then subtract 1 from the value of the counter c and move from state p
into state q; otherwise the computation is blocked in state p,
c) (p → q, c = 0), with p, q ∈ Q, c ∈ A: if the current value of the counter
c is zero, then move from state p into state q; otherwise the computation is
blocked in state p,
d) (p → q, ), with p, q ∈ Q: move from state p into state q without changing
the value of any counter.
A transition step in such a counter machine consists in updating/checking the value
of a counter according to an instruction of one of the types presented above and moving
from one state to another one. Each counter c ∈ A stores a non-negative value which
can become arbitrarily large; initially this value is equal to 0 for all the counters in the
machine. For notational convenience, we do not distinguish between a counter and its
value but we use c to denote both the counter and its value.
Let M = (Q, F, p0 , A, cout , I), be a counter machine. The machine M computes (or
generates) a value n ≥ 0, if the machine M , by starting from the initial state p 0 , reaches,
after having applied a finite sequence a of instructions from I, a final state where c out = n
and, for all c 6= cout , c = 0. The set of natural numbers computed in this way by the
machine M is denote Rd by N (M ). The family of such sets of natural numbers computed
by counter machines with at most n ≥ 1 counters is denoted by N C n .
Thus, let N RE be the family of sets of natural numbers accepted by Turing machines
(i.e., the family of recursively enumerable sets of natural numbers). The following result
holds for counter machines [73].
Theorem 1.6. N C3 = N RE.
This means the family of sets of natural numbers computed by counter machines with
at most 3 counters coincides with the family of recursively enumerable sets of natural
numbers. In this thesis, especially in Chapter 3 and Chapter 5, we will make use of
this fundamental result to show that certain variants of membrane systems are able to
generate the family of recursively enumerable sets of natural numbers. In particular
9
we will refer to such devices as being “universal” or “computationally complete”; in
fact, in light of the Turing/Church thesis, N RE precisely defines the family of sets of
natural numbers which can be computed by an “effective” procedure. Hence, the terms
“universal” and “computationally complete” will be used to denote the fact that no larger
families of computable sets of natural numbers can be defined in the Turing/Church
sense.
1.6 (Stream) X machines
The X machine model was introduced by Eilenberg in mid seventies [55] as a general
computational machine. These devices are equivalent in computational power to Turing
machines. The study of X machines has been abandoned for more than a decade and
has been reconsidered in the late eighties in a slightly modified form called stream X
machine as a specification language for dynamic systems [70]. A very powerful theory has
been developed which describes how to test the behavioural equivalence of two stream
X machines with a finite test set providing certain design for test conditions are satisfied
[76], [71].
A stream X machine resembles a finite state machine (FSM) with outputs but with
two significant differences: (a) there is a memory component attached to the machine,
and (b) the transitions are not labelled with simple inputs/outputs but with functions
that operate on inputs and memory values, update the memory values and yield output
symbols. These differences allow the X machines to be more expressive and flexible than
the FSMs. Other machine models like pushdown automata or Turing machines are too
low level and hence of little use for real system specifications. The machine, depending
on the current state of control and the current memory value, consumes an input symbol
from the input stream and determines the next state, the next memory value and an
output value which is catenated at the right side of the output stream.
The following definition is from [71].
Definition 1.7 (stream X machine). A stream X machine is a construct
X = (Σ, Γ, Q, M, Φ, F, I, T, m0 ),
where:
1. Σ is a finite set called the input alphabet;
2. Γ is a finite set called the output alphabet;
3. Q is a finite set called the set of states;
4. M is a (possibly infinite) set of memory symbols;
5. Φ is a set of basic partial relations φ ⊆ Σ × M × M × Γ, called the set of basic
relations;
10
6. F is the next state function F : Q×Φ −→ P(Q) with P(Q) the family of all subsets
of Q.
7. I and T are the sets of initial and final states;
8. m0 is the initial memory value.
A configuration of a stream X machine X is a tuple (γ, q, m, σ) ∈ Γ ∗ × Q × M × Σ∗
where: γ is the current output stream, q is the current state of the machines, m is the
current memory value, and σ is the current input stream. The transition relation induced
by the machine M , denoted by =⇒M , is a binary relation between configurations defined
as it follows:
(γ, q, m, σ) =⇒M (γ 0 , q 0 , m0 , σ 0 )
if and only if, σ = aσ 0 , a ∈ Σ, σ 0 ∈ Σ∗ , γ 0 = γb, b ∈ Γ, (a, m, m0 , b) ∈ φ, for some
φ ∈ Φ, and q 0 ∈ F (q, φ). The transition relation =⇒ M formalises the idea of a move in
a stream X machine which consists in reading a symbol from an input stream, updating
the memory value, producing an output symbols, and moving to the next state. The
transitive and reflexive closure of the relationship =⇒ M is denoted by =⇒∗M .
A stream X machine acts as a translator which transforms an input stream into an
output one. Specifically, a stream X machine M computes a partial relation T (X) ⊆
Σ∗ × Γ∗ such that
T (X) = { (σ, γ) | (λ, q, m0 , σ) =⇒∗M (γ, q, m0 , λ), q ∈ I, q 0 ∈ T, m0 ∈ M }
that is, given an initial input stream, the machine M computes an output stream by
performing a sequence of transitions and halts when all the symbols from the input
stream have been consumed; if a final state has been reached, then the output stream
produced is released as a result of a computation in M .
A more general model of stream X machines is represented by stream X machines with
empty input/output transitions [76], called straight-move X machines, where a symbol
from the input stream is not necessarily read in each transition and an output symbol
is not necessarily produced by each transition. In particular, transitions consisting in
just updating the memory value are allowed in such a machine. We refer to [76] for a
formalisation of the behaviour of straight-move X machines.
From the definition, it appears clearly that stream X machines define a very general
class of computing devices due to the generic nature of the basic processing relation
and the generic nature of the set of memory values. In this respect, the power of these
devices was investigated in the case of simple functions (push and pop) and with the
memory organised as a set of stacks [71]. In this case, it is shown in [71] that, when
empty input/output transitions are allowed, stream X machines with a 2-stack memory
are computationally equivalent to Turing machines. A slightly generalised type of X
machine was considered in [66] where processing relations belonging to Φ are given by
rewriting rules following different strategies similar to those defined in the context of
grammar systems [47] (≤ k, = k, ≥ k, ∗ and terminal derivation mode). The power of
these translators has been investigated when either regular or context-free rules are used
11
and finite or regular input sets are provided. It has been shown that when context-free
rules with ≤ k and = k derivation strategies are used then finite sets of input sequences
is translated into finite sets of output sequences. When regular (context-free) rules with
≥ k, ∗ and terminal derivation strategies are used then finite sets of input sequences
are translated into regular (context-free) sets of output sequences. If the input sets are
regular then non-context-free output sets are obtained when regular rules are associated
with the processing relations. Moreover any language accepted by a Turing machine
may be written as a translation of a regular set performed by a generalised stream X
machine using relations based on context-free rules under = k derivation strategy.
In this thesis, in Chapter 3, Section 3.4, page 52, we will present a model of stream X
machines where the basic processing relations and the set of memory values are defined
according to notions taken from the area of membrane computing.
Finally, we want to stress the fact that, throughout the rest of the thesis, whenever
we will use the term X machines, we will always mean stream X machines.
1.7 Multisets
Let V be an alphabet. A (finite) multiset over V is a mapping M : V −→ N, where
N denotes the set of natural numbers; for every a ∈ V , M (a) is called the multiplicity
of a (in M ). A multiset over V is usually given in the form of a string over V ; each
string x ∈ V ∗ in fact identifies a multiset Mx such that, for every a ∈ V , Mx (a) = |x|a .
Moreover, two strings x, y ∈ V ∗ such that, for all a ∈ V , |x|a = |y|a ; if that is the
case, we also say that the strings x, y are equal as multisets (i.e., the two strings are the
same except for the order of the symbols). In order to simplify many formulations, from
this moment on, we will use a string to represent multisets over a given alphabet and,
given a string x, we will use the expression “the multiset x” to refer to the corresponding
multisets. As well as this, when no confusion arises, we will simply write x = y to denote
that the two strings x, y are equal as multisets.
Let V be an alphabet. The size of a multiset x over V is the value |x|. We say that
the multiset x includes another multiset y, and we write x w y, if, for all a ∈ V , we have
|x|a ≥ |y|a . If that is the case, we also say that y is included in x, and we write y v x.
The union of two multisets x, y over V , denoted by x t y, is a multiset w such that, for
all a ∈ V , |w|a = |x|a + |y|a .
The notion of a rewriting rule between strings can be naturally transferred to multisets.
A multiset rewriting rule is pair (u, v) with u, v two multisets which is written in the form
u → v. Given a multiset w and a rewriting rule u → v, if u v w, then the rule u → v is
applicable to the multiset w; if that is the case, the result of the application of the rule
u → v to the multiset w is the multiset w 0 such that, for all a ∈ V , |w 0 |a = |w|a −|u|a +|v|a .
If that is case, then we also say that the multiset w can evolve by means of the multiset
rewriting rule u → v.
Moreover, a multiset rewriting rule u → v is said to be of radius n if |u| = n.
Thus, by having this notion of multiset rewriting rules, one could easily defines various notions of multiset rewriting systems as systems which, by starting from an initial
12
multiset, are able to generate sets of multisets. As we will see in the rest of this thesis,
membrane systems are mainly defined as a class of computing devices which process
multisets in a parallel and distributed way. In this respect, an approach commonly
adopted in membrane computing is that of considering membrane systems as devices
which generate sets of natural numbers by looking only at the sizes of the multisets
generated (Chapter 2 will provide more details in this sense). Here, we only recall the
notion of a length set of a language as the set of natural numbers corresponding to the
lengths of the strings in the language.
Let L be a language over a given alphabet V . The length set of L is the set { |x| |
x ∈ L }; such a set is denoted by N L. Moreover, given a family F L of languages over
V , the corresponding family of length sets is denoted by N F L. Thus, if we consider the
families of languages presented in Section 1.2, page 2, Section 1.3, page 5 and Section
1.4, page 7, then we have two main hierarchies of families of length sets [105].
Theorem 1.7. (i) N REG = N CF = N M AT ⊂ N CS ⊂ N RE;
(ii) N CF ⊂ N E0L ⊂ N ET 0L.
In fact, it is known that every language in M AT over a one-letter alphabet is regular
[52], and that every context-free language over a one-letter alphabet is regular [120];
in particular, the family N CF contains only semilinear sets. Moreover, CS contains
one-letter languages which are not in CF , and RE contains one-letter languages which
are not in CS [120]. Similar considerations are valid for the families N E0L and N ET 0L
[120], [119].
13
Chapter 2
Membrane Systems: Basic Concepts
Membrane computing, its original motivation, and its basic concepts are the subject of
this chapter. In particular, we want to give the reader an initial flavour of the field of
membrane computing by illustrating the basic features of P systems with its commonlyused terminology (Section 2.1 and Section 2.2). This is done by presenting the definition
of the basic model of P systems (Section 2.2) and by reporting the main results concerning their computational power (Section 2.3). As well as this, in Section 2.4, we briefly
introduce the features of the main variants of P systems considered in the existing literature; some of them will be described in more details in Chapter 3 and in Chapter 4
in more details where we report specific results concerning the computational power of
these variant.
The main references for this chapter are [104], [105], and [106]. Further references are
provided throughout the chapter whenever they become necessary.
2.1 Computing with membranes
Membrane computing represents a new and rapidly growing research area which is part
of the natural computing paradigm and was initiated by Gheorghe Păun in 1998 with
a seminal paper initially circulated on the web and later published in [104]. Already a
monograph has been dedicated to this subject [105] and some fairly recent results can
be found in [115],[89],[94]. Membrane computing aims at defining computational models
which abstract from the structure and functioning of the cell. Specifically, membrane
computing starts from the observation that membranes play a fundamental role in the
functioning of a living cell. The cell membrane separates, and hence protects, the internal space of the cell from the external environment. The inner membranes define the
structure of the cell, by identifying a number of internal compartments, and, in particular, they protect the nucleus which contains the genetic information. Membranes are
essentially involved in many reactions taking place inside various compartments of a cell,
and they act as selective channels of communication between different compartments as
well as between the cell and its environment [6]. Membrane computing formalises these
essential features of living cells by introducing the notion of membrane systems, also
called P systems. We must stress that membrane systems, according to the original
motivation, are not intended to provide a comprehensive and accurate model of the
cell but, rather, to explore the computational nature of various features of biological
membranes [104]. This is done by abstracting from a number of principles underlying
14
the functioning of biological systems and by using this abstraction to develop a novel
model of computing. On the other hand, we must say that some recent researches have
been actually dedicated to the study of membrane systems as a modelling tool for biological systems and system biology now appears to be a promising field of application
for membrane computing; potential applications have also been identified in linguistics,
in computer graphics and other areas of computer science [43]. Anyway, the relevance
of membrane systems for biological modelling will be discussed only at a later stage
of the thesis (Chapter 6). In all the chapters before Chapter 6, we will focus only on
the two standard ways of investigating membrane systems: considering their computational power in comparison with the notion of Turing computability, or considering
their efficiency in algorithmically solving hard problems, like NP-complete problems, in
a polynomial time.
Membrane systems are characterised by three essential features:
1. a membrane structure containing a number of membranes arranged in an hierarchical way and delimiting regions; a region is the space between a membrane and
the membranes (if any) directly included in it; all the membranes but one are
included in a unique main membrane called skin membrane; a membrane without
any membrane inside is said to be elementary (see Figure 2.1) ;
2. objects placed inside the regions delimited by the membrane
3. rules describing the evolution of the objects placed inside the membranes.
membrane
skin
@
A
'
U
A
@
'
R
@
1 2
4 5
*
elementary membrane
$
$
membrane
6#
9 @HH
8
@ HH
"
!
H
@
@
Hj
3 R
H
regions H
7
&
&
%
%
Figure 2.1: A membrane structure containing 9 membranes and 9 corresponding regions;
labels are used to uniquely identify each distinct membrane in the system.
Each region contains a multiset of objects (i.e., a multiset of symbols from a given
alphabet). Rules are assigned to the region too, and their application makes the system
15
transit from one configuration to the other. Specifically, rules can be used to consume/produce some objects or to move objects across the membranes from one region
to the other one. Rules have a local scope: the rules assigned to a certain region can
only be applied to the objects contained in that region. A computation in a membrane
system is obtained by repeatedly applying the rules in a non-deterministic maximal parallel way: in each step, in each region, all the objects that can evolve by means of some
rules must evolve in parallel at the same time. In particular, this process is supposed
to be synchronous: a global clock is assumed throughout all the regions of the system.
A computation leading to a configuration where no more rules can be applied to the
objects placed inside the membranes is said to be successful. Each successful computation in a membrane system produces a result, which is typically given by the number of
objects contained inside a well-specified output membrane in the final configuration. A
computation that is not successful does not yield any result.
Since this model was introduced for the first time in 1998, many variants of membrane
systems have been proposed. They retain basic features of the model presented here,
but consider new type of rules associated, and new mechanisms for controlling their application. In what follows, we will present the definition of the basic model of membrane
systems and we will briefly illustrate the features of its main variants by following the
classification proposed in [105], [106] . For further details, examples and other variants, one can see [105], [115],[89],[94] and the other references reported in this thesis;
a comprehensive bibliography of P systems and further information about membrane
computing can be found on the P systems web page [3].
2.2 Transition P systems
Transition P systems is the name which the basic model of membrane systems introduced
in [104] is usually referred with. In this model, objects are represented by symbols from
a given alphabet, and each symbol from this alphabet can appear inside a region in many
different copies. That is, the content of a region is represented as a multiset over the
given alphabet. Rules are essentially multiset rewriting rules with the extra features of
targets in the right-side which are used to specify where to move the objects produced
by a rule. The result of a successful computation is the number corresponding to the size
of the multiset associated with a specific output membrane in the final configuration.
The reader is now supposed to be familiar with this basic notions concerning multisets
as they were introduced in Chapter 1, Section 1.7, page 12.
In order to define a transition P system, we first formalise the notion of a membrane
structure as a string of matching pairs of square brackets.
Definition 2.1. The language of matching square brackets, denoted by LM , is the
language over the alphabet {[, ]} such that:
1. [ ] ∈ LM ,
2. if η1 , . . . , ηn ∈ LM , then [ η1 . . . ηn ] ∈ LM ,
16
3. nothing else is in LM .
Moreover, given η, η 0 ∈ LM , we write η ≈ η 0 if and only if, we have η = α η1 η2 β and
η 0 = α η2 η1 β, for some α, β ∈ { [, ]}∗ , η1 , η2 ∈ LM .
Definition 2.2 (membrane structure). Let LM be the language of matching square
brackets , and let ≈ be its corresponding relationship introduced in Definition 2.1. Let
LM (≈∗ ) be the family of equivalence classes over LM induced by the transitive and
reflexive closure of the relationship ≈. A membrane structure corresponds to an equivalence class in LM (≈∗ ).
Therefore, a membrane structure is specified by choosing a member µ from an equivalence class in LM (≈∗ ). Each pair of matching square brackets is called a membrane.
The relationship ≈∗ essentially specifies that the order of the membranes placed at the
same level does not matter; what is important is to consider the relationships of inclusion
between the membranes.
Let µ be a membrane structure containing n ≥ 1 membranes. The membranes in µ
are supposed to be labelled in a one-to-one manner with values in {1, 2, . . . , n}; every
membrane labelled by i, with 1 ≤ i ≤ n, is called membrane i. Moreover, we say that
a membrane i, with 1 ≤ i ≤ n, directly includes a membrane j (and membrane j is
directly included in membrane i), for any 1 ≤ i 6= j ≤ n, if and only if, there exists
µ0 ≈ µ such that µ0 = α [i [j β, for some α, β ∈ {[h , ]h | 1 ≤ h ≤ n }∗ . An elementary
membrane is a membrane which does not directly include any other membrane. The skin
membrane is the unique membrane that is not directly included in any other membrane
(i.e., the most external pair of matching square brackets). The membrane that directly
includes a membrane i , with 1 ≤ i ≤ n, is denoted by upper(µ, i). As well as this,
one usually associate to each membrane i a corresponding region i, which is seen as
being the inner part of the membrane which remains once we exclude all the membranes
directly included in this membrane. However, in membrane systems, there is usually
no distinction between the border of a membrane and its inner part, and, in particular,
there is no formal distinction between objects placed in the proximity of a membrane
and objects placed further away of it. Therefore, in the rest of the thesis, we will use
interchangeably the expression “membrane i” and “region i”.
For example, the membrane structure of Figure 2.1 is represented by using the following string of matching square brackets:
[1 [2 ]2 [3 ]3 [4 [5 ]5 [6 [8 ]8 [9 ]9 ]6 [7 ]7 ]4 ]1
where:
• membrane 1 is the skin membrane,
• membrane 2, membrane 3, membrane 5, membrane 7, membrane 8 and membrane
9 are elementary membranes,
• membrane 1 directly contains membrane 2, membrane 3 and membrane 4,
17
• membrane 4 directly contains membrane 5, membrane 6 and membrane 7,
• membrane 6 directly contains membrane 8 and membrane 9.
Remark 2.1. A membrane structureµ with n ≥ 1 membranes can be alternatively
represented by means of a tree where:
1. the nodes are labelled in a one-to-one manner with values in {1, 2, . . . , n},
2. for all 1 ≤ i ≤ n, each node i corresponds to membrane i,
3. the root corresponds the skin membranes,
4. the leaves correspond to the elementary membranes ,
5. for each node i different from the root, the parent of i is the node upper(µ, i) .
We will return to this representation with more details in Chapter 4 where we will discuss
about how to associate a particular output string to a given membrane structure.
Now, by having this notion of membrane structures, we can give the following definition
of a transition P system.
Definition 2.3 (transition P system). A transition P system of degree n ≥ 1 is a
construct
Π = (V, C, µ, w1 , w2 , . . . , wn , (R1 , ρ1 ), (R2 , ρ2 ), . . . , (Rn , ρn ), iO )
where:
1. V is an alphabet of symbols; its elements are called objects;
2. C ⊆ V is a sub-set of objects; its elements are called catalysts;
3. µ is a membrane structure consisting of n membranes labelled in a one-to-one
manner by 1, . . . , n;
4. wi ∈ V ∗ , for each 1 ≤ i ≤ n is a multiset of objects assigned to membrane i;
5. Ri , for all 1 ≤ i ≤ n, is a finite set of evolution rules that is associated with
membrane i; an evolution rule is a multiset rewriting rule of the form u → v, with
u ∈ V + , either v = v 0 or v = v 0 δ, v 0 ∈ (V × {here, out, in})∗ , and δ a special
symbol not appearing in V ;
6. ρi , for all 1 ≤ i ≤ n, is a partial order relationship defined over the rules in R i
specifying a priority relation between these rules;
7. iO is the label of an elementary membrane of µ that identifies the output region.
18
Therefore, a transition P system of degree n ≥ 1 consists of a membrane structure µ
containing n ≥ 1 membranes where each membrane i gets assigned a finite multiset of
objects wi and a finite set of evolution rules Ri , with an associated priority relation ρ i .
An evolution rule is a multiset rewriting rule which consumes a multiset of objects from
V and produces a multiset of pairs (a, t), with a ∈ V and t ∈ {here, out, in} a target
specifying where to move the objects after the application of the rule. As well as this,
an evolution rule can produce the special object δ to specify that, after the application
of the rule, the membrane where the rule has been applied has to be dissolved.
Next, before proceeding any further with the description of transition P systems,
we introduce some extra terminology which is commonly used to classify transition P
systems and to reason about them. Let Π be a transition P system as specified in
Definition 2.3.
1. We say that Π is cooperative if it contains at least one rule of radius greater than
1.
2. We say that Π is non-cooperative if it does not contain any rule of radius greater
than 1.
3. We say that Π is catalytic if all the rules of radius greater than 1 are of the form
c a → c v, with c ∈ C, a ∈ (V − C), v ∈ ((V − C) × {here, out, in}) ∗ ; these rules
are called catalytic rules.
4. We say that Π is non-catalytic if Π is either a non-cooperative one or Π is a
cooperative one but it contains at least a rule of radius greater than 1 which is not
a catalytic one.
5. for each (Ri , ρi ) in Π, we say that a rule r ∈ Ri is with priority if there exists
another rule r 0 ∈ Ri such that r 0 > r or r > r 0 .
6. for each (Ri , ρi ) in Π, we say that a rule r ∈ Ri is without priority if there is no
rule r 0 ∈ Ri such that r 0 > r or r > r 0 (i.e., it cannot be compared with any other
rule).
Then, we pass to define the notion of a configuration of a transition P system.
Definition 2.4 (configuration). Let Π be a transition P system of degree n ≥ 1
such that Π = (V, C, µ, w1 , w2 , . . . , wn , (R1 , ρ1 ), (R2 , ρ2 ), . . . , (Rn , ρn ), iO ). A configuration of Π is a tuple (µ0 , wi0 1 , wi0 2 , . . . , wi0 k ) where: µ0 is a membrane structure containing k membranes, with 1 ≤ k ≤ n, labelled in a one-to-one manner with the values
{i1 , i2 , . . . , ik } ⊆ {1, 2, . . . , n}, and, for each j ∈ {i1 , i2 , . . . , ik }, wj ∈ V ∗ is the multiset
of objects currently contained inside membrane j. The initial configuration of Π is the
tuple (µ, w1 , w2 , . . . , wk ).
Specifically, for a given configuration, the membrane structure µ 0 is the result of some
dissolving actions performed inside membranes different from i 1 , i2 , . . . , ik ; the way these
dissolving actions can take place will be discussed later on in this section. A generic
19
configuration of a P system Π is denoted by Σ Π , whereas the initial configuration of Π
is denoted by Σ0Π .
Definition 2.5 (applicable rule). Let Π be a transition P system of degree n ≥ 1
such that Π = (V, C, µ, w1 , w2 , . . . , wn , (R1 , ρ1 ), (R2 , ρ2 ), . . . , (Rn , ρn ), iO ). Let ΣΠ =
(µ0 , wi0 1 , wi0 2 , . . . , wi0 k ) be a configuration of Π. We say that a rule u → v ∈ R j , with
j ∈ {i1 , i2 , . . . , ik }, is applicable inside membrane j in the configuration Σ Π if, u v wj0
(v denotes the inclusion between multisets), and if the rule u → v ∈ R j is with priority
then, there does not exist any other rule in R j which is applicable inside membrane j in
the configuration ΣΠ and has a priority higher than the rule u → v ∈ R j .
Thus, the rules that are applicable inside membrane j are obtained by examining
the rules in Rj in their decreasing order of priority from the rules with the highest
priority down to those with the lowest priority. Moreover, if membrane j is the skin
membrane then, a rule u → v ∈ Rj with v = v 0 δ is assumed to be never applicable
inside membrane j (i.e., the skin membrane can never be dissolved); if membrane j is
an elementary membrane then, a rule u → v ∈ R j with (a, in) ∈ v, for some a ∈ V , is
assumed to be never applicable inside membrane j. Therefore, without loss of generality,
we may assume that the aforementioned rules are never present inside a P system.
Now, we are ready to define the notion of a computation in a transition P system; we
start by presenting the concept of a step of computation.
Definition 2.6 (application of the rules). Let Π be a transition P system of degree
n ≥ 1 such that Π = (V, C, µ, w1 , w2 , . . . , wn , (R1 , ρ1 ), (R2 , ρ2 ), . . . , (Rn , ρn ), iO ). Consider two configurations Σ1Π = (µ0 , wi0 1 , wi0 2 , . . . , wi0 k ), Σ2Π = (µ00 , wi001 , wi002 , . . . , wi00h ) of Π.
We write Σ1Π ⇒Π Σ2Π and we say that Π transits from Σ1Π to Σ2Π if, Σ2Π is obtained from
Σ1Π by applying the rules in Ri1 , Ri2 , . . . , Rik in a non-deterministic maximal parallel
manner:
1. for each membrane j ∈ {i1 , i2 , . . . , ik }, we non-deterministically select a maximal
multiset of rules from Rj which are applicable inside membrane j; that is, the
objects in wj0 must be assigned to the rules in Rj in a non-deterministic but exhaustive way by making sure that no more rules can be applied to the objects left
inside that membrane;
2. for each membrane j ∈ {i1 , i2 , . . . , ik }, we apply each selected rule u → v ∈ R j
by consuming the multiset u and producing the multiset v, with v being either
v = v 0 or v = v 0 δ; if v 0 contains a pair (a, here), the object a remains in the
region j where the rule is applied; if v 0 contains a pair (a, out), then the object a
is moved into the region upper(µ0 , j); if v 0 contains a pair (a, in), then the object
a is moved into a region j 0 non-deterministically chosen amongst those which are
directly included in membrane j; if the rule produces the special object δ , then
membrane j is dissolved; membrane j is removed from µ 0 and must not appear in
µ00 ; for each membrane j 0 in µ0 directly contained in membrane j, we must have
upper(µ0 , j) = upper(µ00 , j 0 ); all the objects currently assigned to membrane j are
released inside membrane upper(µ0 , j).
20
However, although all the aforementioned operations are supposed to take place in
parallel at the same time inside all the membranes in the system, it is convenient to
consider such a step of derivation as being split in two separate stages. First, all the
rules that can be applied are applied inside all the membranes in order to consume some
of the existing objects and produce some new ones, which are re-located according to
their corresponding targets; then, the membrane structure is updated by dissolving all
the membranes containing the special object δ. In other words, all the transformations
and communications of objects are supposed to be completed before any membrane is
dissolved. The reflexive and transitive closure of the relationship ⇒ Π is denoted by ⇒Π .
Definition 2.7 (sequence of transitions). Let Π be a transition P system of degree
n ≥ 1. A sequence of transitions in Π is a sequence s where
s = Σ1Π ⇒Π Σ2Π ⇒Π , . . . , ⇒Π ΣkΠ
with k ≥ 2, and for all 1 ≤ i ≤ k, ΣiΠ is a configuration of Π. If that is the case then,
we say that ΣkΠ is obtained from Σ1Π in k steps and we write Σ1Π ⇒kΠ ΣkΠ . We also say
that s is a sequence of transitions in Π that starts from Σ 1Π .
Definition 2.8 (computation). Let Π be a transition P system of degree n ≥ 1. A
computation in Π is a sequence of transitions in Π that starts from the initial configuration Σ0Π .
Definition 2.9 (successful computation). Let Π be a transition P system of degree n ≥ 1 such that Π = (V, C, µ, w1 , w2 , . . . , wn , (R1 , ρ1 ), (R2 , ρ2 ), . . . , (Rn , ρn ), iO ). A
successful computation in Π is a computation c in Π such that
c = Σ0Π , Σ1Π , . . . , ΣhΠ = (µ0 , wi0 1 , wi0 2 , . . . , wi0 k )
h ≥ 1, and, for all j ∈ {i1 , i2 , . . . , ik }, there is no rule in j which is applicable inside
membrane j in the configuration ΣhΠ . The result of a successful computation in Π is the
value |wiO | if iO ∈ {i1 , i2 , . . . , ik }; the value 0 otherwise.
A computation is then considered to be successful if it reaches a configuration where
no more rules can be applied to the objects placed inside any of the the membranes in
the final configuration. The result of a successful computation is given by the size of
the multiset that is associated with the output membrane in the final configuration. If
such a membrane is not present in the final configuration then, the computation return
the value 0; the output membrane may in fact be dissolved during the computation. A
computation which never halts yields no result. We also say that Π generates the natural
number m if m is the result of some successful computation in Π; the set of all such
numbers generated by Π is denoted by N (Π).
Remark 2.2. The definition of maximal parallel application of the rules (Definition 2.6)
is rather informal but this is the style commonly used in the area of membrane computing
to describe the behaviour of P systems. Nevertheless, a complete formalisation of the
notion of maximal parallelism that describes the behaviour of P systems in terms of
operations on tuples of multisets can be found in [105]. An operational semantics for P
systems where rules are applied in a maximal parallel manner is instead given in [42].
21
Remark 2.3. From a biological point of view, a P system can be interpreted as a
model for an “idealised” cell. This cell is delimited by the skin membrane (the cell
membrane) and it contains several other membranes delimiting a number of internal
organelle arranged in a hierarchical structure. Each organelle is characterised by its
own set of molecules (the objects placed inside that membrane) and its own set of biochemical reactions (the rules assigned to that membrane). The molecules and the inner
organelle float freely inside each membrane. Under specific conditions, the molecules
evolve, alone (non-cooperative rules) or with the help of others (cooperative rules), and
this is done in parallel, synchronously for all the molecules inside all the membranes (a
universal clock is assumed which marks the same time-unit for all the reactions taking
place inside all the membranes). The new molecules produced inside an organelle may
remain confined to the same space or leave that organelle by “diffusion” through the
delimiting membrane or through one of the inner membranes. As well as this, some
reactions not only modify the objects but also dissolve the membranes by producing
special chemicals which are able to break these membranes (here represented by the
symbol δ). When a membrane is dissolved, its entire content becomes available inside
the surrounding region whereas the membrane itself disappears causing the loss of that
particular organelle. Therefore, the reactions associated with that membrane cannot
take place anymore as the cell looses the functionalities of that organelle.
Next, an example is reported which is meant to clarify the notion of a computation
in a transition P system.
Example 2.1. Consider the P system Π such that:
Π = (V, ∅, µ, w1 , w2 , w3 , w4 , (∅, ∅), (R2 , ρ2 ), (R3 , ∅), (∅, ∅), 4)
where
V
= {a, b, b0 , c, f },
µ = [ 1 [2 [3 ]3 [4 ]4 ]2 ]1 ,
w1 = λ,
w2 = λ,
w3 = af,
w4 = λ,
R2 = {b0 → b, b → b(c, in), r1 : f f → f, r2 : f → δ},
ρ2 = {r1 > r2 },
R3 = {a → ab0 , a → b0 δ, f → f f }.
The P system Π is a cooperative non-catalytic P system.
At the beginning, there are no objects inside membrane 2, hence no rule can be applied
inside this membrane. The unique possibility is to start applying the rules in R 3 to the
objects contained inside membrane 3. Specifically, if we repeatedly apply in parallel
22
the rules a → ab0 , f → f f , after n ≥ 1 steps, we obtain n occurrences of b 0 and 2n
occurrences of f . Next, if at the (n + 1)-th step we use the rule a → b 0 δ instead of the
rule a → ab0 then, membrane 3 is dissolved and n + 1 occurrences of b 0 are released inside
region 2 together with 2(n+1) occurrences of f . When this happens, the configuration of
the system becomes
([1 [2 [4 ]4 ]2 ]1 , ∅, w20 , ∅)
n+1
with w20 = b0n+1 f 2 .
Now, we can start applying the rules from R 2 . Due to the priority relation, we have
to use the rule f f → f before using the rule f → δ. In one step, we pass from b 0n+1 to
bn+1 while the number of f ’s is divided by two. In the next step, the n + 1 occurrences
of b are used to introduce in membrane 4, the output one, n + 1 occurrences of c; at
the same time, the number of f ’s is again divided by two. This process can be repeated
exactly n + 1 steps: n times for the application of the rule of the rule f f → f and one
step for the application of the rule f → δ. Next, after the application of such a rule,
the membrane is dissolved and no more rules can be applied to the objects placed inside
the membrane currently present in the system. At that point, the system reaches the
halting configuration
([1 [2 [4 ]4 ]2 ]1 , w10 , w40 )
2
with w10 = bn+1 and w40 = c(n+1) . Therefore, we have N (Π) = { m2 | m ≥ 1}.
2.3 Computational power
In order to characterise, the computational power of transition P systems, we consider
various families of sets of natural numbers generated by different classes of transition P
systems. Specifically, we denote by N OP m (c, p, d), with m ≥ 1, c ∈ {ncoo, cat, coo}, p ∈
{pri, npri}, d ∈ {δ, nδ}, the families of sets of natural numbers generated by cooperative
P systems, if c = coo, catalytic P systems, if c = cat, and non-cooperative P systems, if
c = ncoo, where:
• the membrane structure contains at most m membranes;
• if p = npri then, there are no rules with priority; if n = pri then, there may exist
some rules with priority;
• if d = nδ then, the symbol δ never appears on the right-side of a rule; if d = δ
then, the symbol δ may appear on the right side of the rule.
Moreover, if the value m is not specified but it can be an arbitrary one, the corresponding
families of sets of natural numbers are denoted by N OP ∗ (c, p, d).
There are some obvious inclusions between these families which follow directly from
the definition.
Lemma 2.1. For all m ≥ 1, c ∈ {ncoo, cat, coo}, p ∈ {pri, npri} and d ∈ {δ, nδ}:
(i) N OPm (c, p, d) ⊆ N OPm+1 (c, p, d);
23
(ii) N OPm (ncoo, p, d) ⊆ N OPm (cat, p, d) ⊆ N OPm (coo, p, d);
(iii) N OPm (c, npri, d) ⊆ N OPm (c, pri, d);
(iv) N OPm (c, p, nδ) ⊆ N OPm (c, p, δ).
Non-cooperative P systems are a simple class of P systems where all the rules have
radius equal to one, and every objects evolves independently from the other. This means
the order which the rules are applied with does not matter because every object that can
be rewritten by some rule will eventually be rewritten. Moreover, in non-cooperative P
systems, it is easy to identify the “terminal” objects that, whenever introduced inside a
certain membrane, they will never be removed from that membrane because they do not
appear on the left side of any rule. Therefore, the following result is not so surprising.
Theorem 2.1. N OP∗ (ncoo, npri, nδ) = N OP1 (ncoo, npri, nδ) = N CF .
A formal proof of the previous result can be found in [105]. On the other hand, if
cooperative rules of any form are allowed, transition P systems with only one membrane
turn to be equivalent to Turing machines in terms of computational power [105]. It is
in fact easy to simulate either counter automata or grammars of type 0 by means of
cooperative P systems with only one membrane.
Theorem 2.2. N OP∗ (coo, npri, nδ) = N OP1 (coo, npri, nδ) = N RE.
Catalytic P systems were initially proved in [104] to be computationally complete by
using the extra feature of the priority relationship associated to the rules. Subsequently,
it was proved in [125] that even catalytic P systems without priority are computationally
complete. Then, this latter result was improved in [59] by showing that two catalysts
suffice to achieve the power of Turing machines.
Theorem 2.3. N OP∗ (cat2 , npri, nδ) = N OP2 (cat2 , npri, nδ) = N RE.
In this expression cat2 is used to denote the family of sets of natural numbers generated
by catalytic P systems with at most 2 catalysts.
More recently, a characterisation of the computational power of non-cooperative P
systems with priorities has been provided in [122].
Theorem 2.4. N OP∗ (ncoo, pri, nδ) = N OP1 (ncoo, pri, nδ) = N ET 0L.
As well as this, it is shown in [105] that the inclusion N OP ∗ (ncoo, npri, δ) ⊆ N ET 0L
holds.
Thus, in order to achieve the universality of transition P systems, cooperation among
the objects placed inside the membranes is necessary, but this can be limited to the use of
catalysts. In fact, even introducing priorities or membrane dissolution, non-cooperative
P systems can generates at most sets of natural numbers in the family N ET 0L.
24
2.4 Main variants
Many variants of membrane systems, motivated by biology or by concepts from other
areas of theory of computing, have already been investigated. Typically, these variants
enhance the computational power of membrane systems by adding to the model extra
mechanisms for controlling the applicability of the rules or for controlling the communication of objects from one membrane to the other. As well as this, the important
issue of the “efficiency” of membrane systems has been addressed by considering P systems with active membranes where the membrane structure itself can change during the
computation.
Here, by following the classification proposed in [106], [105], we briefly describe the
main extension of the basic model presented in the previous section.
2.4.1 P systems with promoters/inhibitors
P systems with promoters/inhibitors brings a further bio-chemical idea into the area
of membrane computing, that of promoters/inhibitors of certain reactions. Specifically,
promoters/inhibitors are formalised as multisets of objects associated with given sets of
rules. A rule from a given set, and associated with a certain region, can be used in that
region if and only if, all the promoting objects are present inside the region, and not all
the inhibitors are present inside the same region.
Formally a P system with promoters is defined in the following way.
Definition 2.10 (P system with promoters). A P system with promoters of degree
n ≥ 1 is a construct
Π = (V, µ, w1 , . . . , wn ,
(R1,1 , ρ1,1 ), . . . , (R1,k1 , p1,k1 ), . . . , (Rn,1 , pn,1 ), . . . , , (R1,kn , p1,kn ), iO )
where: V, µ, w1 , . . . , wn , iO are as in Definition 2.3, for all 1 ≤ i ≤ n, 1 ≤ j ≤ k j , Ri,j is
a finite set of evolution rules of the form a → v with a ∈ V , v ∈ (V × {here, out, in}) ∗ ,
pi,j ∈ V ∗ a multiset of objects called promoters.
Thus, a P system with promoters of degree n ≥ 1 is a non-cooperative P system where,
for all 1 ≤ i ≤ n, each membrane i gets assigned k i pairs consisting of a set of evolution
rules Ri,j and multiset pi,j of promoters. The features of catalysts, priority between the
rules, and membrane dissolution are not considered for P systems with promoters.
The rules are used in the same way as in transition P systems, in the maximally
parallel manner, consuming a copy of a at each use of a rule a → v and moving the
objects from v according to the targets here, out, in (see Definition 2.6, page 20). The
notion of applicable rule is instead changed in this model by specifying that a rule from
a set Ri,j , with 1 ≤ i ≤ n, 1 ≤ j ≤ ki , can be applied inside membrane i if and only if,
membrane i contains at least one occurrence of the multiset p i,j . Of course, if several
multisets of promoters pi,j1 , . . . , pi,js are present inside membrane i, then rules from all
the corresponding sets may be used. In the same way as in transition P systems, the
25
evolution of all the objects present in all the regions of the system is done in the nondeterministic parallel manner: all objects which can evolve by any applicable rule must
evolve by a rule non-deterministically chosen.
A computation in P system with promoters is again obtained as a sequence of transitions which starts from the initial configuration (see Definition 2.7, page 21, and Definition 2.8, page 21). The result of a computation is given by the multiset of objects
contained in the output membrane iO , whenever the computation reaches a configuration
where no more rules can be applied to the objects left inside the membranes.
Remark 2.4. Notice the difference between promoters and catalysts. The catalysts
directly participate in the application of the rules (but they are not modified by them),
and they are counted as any other object, so that the number of rules applied in parallel
in a step of computation can only be as big as the number of copies of the catalysts in
the system. In the case of promoters, the presence of some promoters makes possible the
use of a rule from the associated set as many times as possible, without any restriction;
promoters are in fact not directly involved in the application of the rules.
The definition of a P system with inhibitors is identical to the definition of a P system
with promoters, with the sole difference that a rule in a set R i,j can be used inside membrane i if and only if, the corresponding multiset p i,j is not present inside membrane i.
Let Π be a P system with promoters (inhibitors) of degree n ≥ 1. The promoter
diversity (inhibitor diversity) is the maximum k i , for all 1 ≤ i ≤ n. The families of
set of natural numbers generated by P systems with promoters of degree at most n and
promoter diversity at most k is denoted by N OP m (prok ). The families of set of natural
numbers generated by P systems with inhibitors of degree at most n and promoter
diversity at most k is denoted by N OP m (inhk ).
From a generative point of view, P systems with promoters turns to be equal in power
to P systems with inhibitors: characterisation of the family of recursively enumerable
sets of natural numbers can be obtained in both cases [105].
Theorem 2.5. (i) N OPm (prok ) = N RE for all (m, k) ∈ {(6, 2), (4, 3), (3, 4), (1, 6)};
(ii) N OP3 (inh6 ) = N RE.
From a technical point of view, one may observe that there is a trade-off between the
size of the promoter diversity and the number of membranes. Moreover, P systems with
inhibitors require a lager inhibitor diversity to obtain the universality with respect to P
systems with promoters when an equal number of membranes is considered.
2.4.2 P Systems with symport/antiport
As we have seen, communication of objects from one membrane to the other is one of
the fundamental features of a P systems. In transition P systems, this communication
results as a consequence of transformations of the objects placed inside the membranes
and simply captures the idea of “diffusion of chemicals” across the membranes. P systems with symport/antiport instead make this communication explicit by considering a
26
specific set of communication rules, which represent an abstract model for a biochemical
transport mechanism called symport/antiport. When two chemicals can pass through a
membrane only together, in the same direction, the process is called symport; when the
two chemicals can pass only with the help of each other, but in opposite directions, we
say that we have an antiport process [6]. Such a mechanism has been formalised and
generalised in P systems by considering rules of the form
- (x, in), (x, out) (symport rules),
- (x, out; y, in) (antiport rules),
where x, y are multisets of arbitrary size. A rule (x, in) means that the multiset x can be
brought inside the region where the rule is applied from the immediately upper region.
A rule (x, out) means that the multiset x can be sent out from the region where the rule
is applied. A rule (x, in; y, out) means that multisets x, y can be moved in parallel in
opposite directions.
For a symport rule (x, in), or (x, out), we say that |x| is the size of the rule. The size
of an antiport rule (x, in; y, out) is instead defined as max{|x|, |y|}. Thus, we say that a
P system uses symport/antiport rules of type (n, m), if n is the maximal size of symport
rules, and m is the maximal size of antiport rules.
Three main models of P systems with symport/antiport rules have been considered
in the literature.
• Purely Communicative P systems [103]. In this variant, the only rules that can be
used inside the membranes are symport/antiport rules, which are but communication rules. This means that we are not allowed to modify the objects present inside
the membranes, but just to change their place inside the system. Thus, because no
object can be created inside a system, and because we start with finite multisets
of objects associated with the regions, in order to compute arbitrary numbers of
objects, we need to introduce a notion of environment in this variant of P systems,
where new objects can be brought from. The objects that are contained in the
environment are supposed to appear in an arbitrary number of copies, that is, we
assume the environment to be able to supply the system with all the objects it
needs to complete its internal computations.
P systems that use these simple ingredients have been proved to be computationally
complete. In particular, if we denote by a triple (k, n, m) the class of purely
communicative P systems with at most k membranes that use symport/antiport
rules of type (n, m), the existing results [62], [64] show that the following classes
are computationally complete: (1, 1, 2), (1, 0, 2), (2, 3, 0), (4, 2, 0).
• Evolution-Communication P systems [37]. Here, besides communication rules expressed as symport/antiport rules, rules for modifying the objects placed inside the
membranes (called evolution rules) are also allowed. Such rules are represented in
the form of rewriting rules that operate on multisets of objects. Moreover, with
respect to purely communicative P systems, the notion of environment is no longer
necessary.
27
• P Automata [49],[101]. An alternative approach to the study of purely communicative P systems consists in considering them as recognising devices, in a way
resembling the usual notion of automata. Clearly, several definitions of P automata
are possible according to the way the input is specified (a multiset, a sequence of
multisets or a string in the form of a stream of symbols), the way the rules are
applied (in a maximal-parallel manner as usual, or by using in each region only a
rule at a time) and the way the conditions of acceptance are defined.
Purely communicative P systems with symport/antiport will be described in detail in
Chapter 3, Section 3.2, page 35.
2.4.3 P systems with active membranes
In this variant, one considers P systems where the rules, besides moving and transforming
the objects, are able to modify the membrane structure itself by using a specific set of
membrane operations [105]. In particular, two main classes of P systems with active
membranes have been investigated so far: P systems with membrane division, and P
systems with membrane creation. In the first case, the membrane structure of a P
system can be modified by using the operation of membrane division, which allows us
to create, starting from an existing membrane, two new membranes where the content
of the original membrane is replicated. In the latter approach, we use the operation of
membrane creation instead; this allows us to create a new membrane inside an existing
one by starting from one object placed inside that membrane.
P systems with active membranes are of particular relevance for the study of the
“efficiency” of membrane systems in algorithmically solving hard problems by exploiting
the feature of maximal parallelism typically associated with the model. In fact, an
important theorem from [135] states that each deterministic transition P system can be
simulated by a deterministic Turing machine with a polynomial slowdown. This means
such systems cannot be used to solve exponential problems in polynomial time, in spite of
the maximal parallelism which make possible exponentially many objects in linear time.
Therefore, in order to improve the computational performance of membrane systems, it
is necessary to provide more efficient ways for producing an exponential space. One such
a way is to consider P systems with active membranes which use either the operation
of membrane creation or the operation of membrane division. Here we only present
P systems with membrane division whereas, for further details about P systems with
membrane creation, we refer to [105].
Definition 2.11. A P system with active membranes is a construct
Π = (V, K ∪ {0, +, −}, µ, w1 , w2 , . . . , wn , R)
where:
1. V is an alphabet; its elements are called objects;
28
2. K is an alphabet; its elements are called labels; the symbol 0 ∈
/ K is the label of
the skin membrane; each symbol 0, +, − ∈
/ K denotes an electrical charges that
can be neuter, positive, or negative;
3. µ is a membrane structure containing n membranes labelled in a one-to-one manner
with values in {1, 2, . . . , n} and having associated a pair (l, 0), with l ∈ K and 0
the symbol denoting the neuter charge;
4. wi ∈ V ∗ , for all 1 ≤ i ≤ n, is a multiset of objects associated with membrane i;
5. R is a finite set of rules having one of the following forms:
a) [l a → v ]αl , with a ∈ V , v ∈ V ∗ , l ∈ K, and α ∈ {+, −, 0} (an object placed
inside a membrane labelled by l and with polarisation α is replaced by a
multiset v);
b) [l a ]αl → b [l ]βl , with a, b ∈ V , l ∈ K, α, β ∈ {+, −, 0} (an object a is moved
outside a membrane labelled by l with polarisation α; the polarisation and
the object may be modified during this operation);
c) a [l ]αl → [l b ]βl , with a, b ∈ V , l ∈ K, α, β ∈ {+, −, 0} (an object b is moved
into a membrane labelled by l with polarisation α; the polarisation and the
object may be modified during this operation);
d) [l a ]αl → b, with a, b ∈ V , l ∈ K, and α, β ∈ {+, −, 0} (in presence of an object
a, a membrane labelled by l with polarisation β is dissolved by replacing this
object b);
e) [l a ]αl → [l b ]βl 1 [l c ]βl 2 , with a, b, c ∈ V , l ∈ K, α, β1 , β2 ∈ {+, −, 0} (in presence
of an object a, a membrane labelled by l with polarisation α is divided by
producing two copies of the same membrane; the object a is respectively
replaced by a and by b; the polarisation α is respectively replaced by β 1 and
β2 ).
Thus, in a P system with active membranes, membranes are labelled with symbol from
a given alphabet K and they get assigned a polarisation (or electrical charge) which can
be 0 (i.e., neuter), + (i.e., positive), or − (i.e., negative). The symbols from K are used
to identify different “types” of membranes so to be able to retrieve, for each membrane
possibly present in the system, the set of rules that can be used inside that membrane.
In general, the number of membranes in a P system with active membranes can become
arbitrarily large and many different membranes with the same label from K can be
present inside the system. The polarisation of a membrane is instead used to control
the applicability of the rules by varying, step by step, the set of rules which can be used
inside a given membrane according to its polarisation.
Rules encode operations for modifying objects (rules of type (a)), moving objects out
of a membrane (rules of type (b)), moving objects into a membrane (rules of type (c)),
dissolving a membrane (rules of type (d)), and rules for dividing a membrane (rules of
type (e)). These rules are used, as usual, in a maximal parallel manner: in each step,
29
all the objects which a rule can be applied to must evolve in parallel at the same time.
Each copy of an object and each copy of a membrane can be used by only one rule,
with the exception of rules of type (a), where we count only the objects involved and
not the membrane. That is, all the objects placed inside a certain membrane which a
rule can be applied to may evolve in parallel at the same time by applying rules of type
(a) to the same membrane. On the other hand, if a rule of type (b), (c), (d), or (e) is
applied to a certain membrane, then no other rules of type (b), (c), (d), or (e) can be
applied to the same membrane within the same step of computation. When dissolving
a membrane, its content becomes a part of the content of the membrane delimiting
the surrounding region; when dividing a membrane, its content is replicated in the two
obtained membranes. The skin membrane can never be dissolved or divided.
Yet again, a computation is obtained as a sequence of transitions that starts from
the initial configuration given by the membrane structure µ and the initial multiset
w1 , w2 , . . . , wn . In particular, every membrane has initially neuter polarisation. In the
case of P systems with active membranes, the result of a successful computation (i.e., a
computation that produces a configuration where no more rules can be applied to the
membranes and the objects in the system) is given by the size of the multiset of objects
sent out of the skin membrane during the computation.
We denote by N OPm (w), with m ≥ 1, w ⊆ {a, b, c, d, e}, the families of sets of natural
numbers generated by P systems with active membranes with at most m membranes in
the initial membrane structure and which use rules of the types specified in w.
The main result concerning the computational power of P systems with active membranes is the following one [105].
Theorem 2.6. N OP4 ({a, b, c}) = N RE.
That is, the introduction in membrane systems of communication controlled by the
polarisation of the membranes is enough powerful to achieve the universality of P systems
with active membranes.
Finally, we report an important result concerning the efficiency of P systems with
active membranes that show how membrane division can be used as a powerful mechanism to produce exponential space in polynomial time. Specifically, we denote by HP
the problem of finding an Hamiltonian path in a graph (i.e., finding a path in a graph
which visits all its nodes with each node being visited only once), and we denote by
SAT the problem of the satisfiability of a boolean formula (i.e., finding an assignment
of boolean values for the variables in the formula which makes the formula true). These
two problems are well-known NP-complete problems, for which it is not known whether
they are solvable in polynomial time by a deterministic Turing machine.
Theorem 2.7. HPP can be solved in a deterministic way in quadratic time by P systems
with active membranes which use rules of type (a), (b), (c), (d), (e); SAT can be solved
in a deterministic way in linear time by P systems with active membranes which use
rules of type (a), (b), (c), (d), (e).
The proof of this result is based on the construction of a P system which generates all
the paths of a graph, in the case of HPP, or all the possible assignments to the variables
30
in a boolean formula, in the case of SAT, and then check that there exists a solution
to the problem amongst all the paths, or assignments, generated. This important result
reported in [106], [105] constitutes the basis for the study of the complexity classes
induced by P systems with active membranes. A detailed survey of approaches in this
direction can be found in [107].
2.4.4 P systems with string-objects
P systems are usually considered as devices that operate on multisets of objects and
generate a set of natural numbers as a result of a successful computation by counting
the objects that are present in the output membranes in the final configuration. The
objects are represented as symbols over a given alphabet.
However, in a living cell, many objects can be considered as being atomic, with no
internal structure, but many others have a structure [6]. In many cases, this structure
can be described by a string (as happens for DNA, RNA, proteins) and this motivates
the introduction of string-objects in membrane systems.
Working with strings imposes some specific features, or makes possible the relaxation
of some others. For instance, string-objects have to evolve by string processing rules,
as known from formal language theory, or DNA computing. As well as this, we have to
specify the way of defining the output of a computation: this can be the set of strings
sent out of the system, or the set of strings stored in the output membrane. In general
in P systems with string objects, one considers the set of strings that are sent out during
a computation, and does not take into account the multiplicity of the strings (P systems
with string objects are considered as language generating devices). Moreover, one may
decide to rewrite a string in a sequential manner or in a parallel manner.
Clearly, there are many possibilities, and P systems with string objects represent a
small jungle to explore. Therefore, here we focus only on the class of rewriting P systems
and their basic variants.
The definition of a rewriting P system [105] can be obtained from Definition 2.3, page
18 by just replacing the multiset of objects assigned to the region with sets of strings
(i.e., languages). Then, rules of the following form are considered:
X → (α, tar)
with X a non terminal symbol, α a string of terminals and non terminal symbols, and
tar ∈ {here, in, out}. These are usual rewriting rules that replace a non terminal symbol
X with a string α. Moreover, the new string produced by the rewriting operation has
to be moved according to the target tar as in the case transition P systems. Thus, in
this variant, in each step, in each region, each string is rewritten and moved by using
one of the rules associated with the region where the string is placed. More precisely,
all the string that can be rewritten must be rewritten in parallel at the same time but
each string can be rewritten by only one rule at a time.
This simple variant has been proved being unable to characterise the family of recursively enumerable languages. In fact, the family of languages that can be generated
by rewriting P systems with no added features coincides with the family of languages
31
generated by matrix grammar without appearance checking, which is strictly included
on the family of recursively enumerable languages (see Chapter 1, Section 1.3, page 5).
In light of this fact, the model of rewriting P systems has been enriched with new
features in order to get the universality. Here, there are some of them:
• priority among the rules: a priority relation among the rules of each region, in the
form of partial order, is considered in the same way as in the basic model of P
systems;
• leftmost rewriting: the non-terminal to be rewritten in a string is always at the
leftmost position;
• permitting and forbidding conditions: each rewriting rule has associated a condition
that can permit or forbid the use of the rule; the condition is expressed as a set
of symbols that must appear in the string (permitting condition) or must not
(forbidding condition);
• replicated rewriting: a rule allows us to create different copies of a string where a
non terminal symbol is rewritten in different ways; a rule specifies also a different
target for each copy of the string, which specify where that copy has to be moved.
Actually, all these variants increase the power of rewriting P systems. In fact, several
universality results have been proved for all these variants of rewriting P systems [105].
Finally, let us mention the possibility of considering P systems with parallel rewriting,
which means that, in each step, in each region, each string is rewritten in parallel by
different rewriting rules. Yet again, many different variants are possible in this context
and, in the specific case of membrane systems, there is the difficulty of choosing in which
way communicate a string through the membranes because a string might be rewritten
by rules that specify different targets for the same string. We refer to [29] for a thorough
presentation and investigation of parallel rewriting P systems.
32
Chapter 3
On Evolution and Communication in
Membrane Systems
In this chapter we enter the details of some variants of P systems and their computational
power. We focus on variants of the basic model of membrane systems which enhance their
computational power by adding some extra mechanisms for controlling the evolution and
the communication of objects from one membrane to the other one. First, in Section
3.2, we consider P systems with symport/antiport as a model of purely communicative
membrane systems where a computation consists in just moving objects through the
membranes with none of them being ever modified or consumed during the process. We
recall for this variant some universality results already known in the literature and we
present a universality result for P systems with symport/antiport rules of a minimal size.
This result was reported in a paper coauthored with Andrei Păun [27]. Next, in Section
3.3, we pass to consider an evolution-communication model of membrane systems called
P systems with boundary rules. Evolution and communication means objects can be
consumed/modified by using a specific set of transformation rules and can be moved
through the membranes by means of a separate set of communication rules. Specifically,
in P systems with boundary rules, communication rules are defined through a semisquare-bracket formalism which makes possible to express generic interactions between
the inside and the outside of a given membrane. We recall from the existing literature
some results concerning the computational power of boundary rules and we present a
universality result for P systems with boundary rules where only one object at a time
is moved in any direction but possibly with the help of another one operating as an
activator. In other words, communication rules involve pairs of objects but only one of
them is moved whereas the other one is left in its original place. This new universality
result was reported in a paper coauthored with Marian Gheorghe [19]. Finally, in Section
3.4, we introduce the notion of PX systems as a variant of membrane systems which
combines the features of both P systems and X machines. We present the main results
concerning the computational power of PX systems with symbol-objects by showing
that they are not computationally complete as they can only characterise the family of
Parikh vectors generated by ET0L systems. Section 3.4 is based on the papers [20],[21]
coauthored with Marian Gheorghe and Mike Holcombe, and it originates from the work
previously done in [34] for P systems processing strings instead of symbol-objects.
33
3.1 Organising evolution and communication
The communication of objects through membranes is one of the fundamental features of
every membrane system and this naturally leads to the question of closely investigating
the power of communication, that is, considering purely communicative P systems where
objects are never modified but they just change their place within the system. A first
attempt to address this issue was done in [92] by considering certain ”vehicle-objects”
(an abstraction for plasmids or for vectors from gene cloning) which actively carry objects through the membranes. Then, the bio-chemical idea of membrane transport of
pairs of molecules was considered in [103] by introducing the notion of P systems with
symport/antiport already mentioned in Chapter 2, Sub-section 2.4.2, page 26. Subsequently, evolution-communication P systems have been considered in [37],[26] where
evolution is expressed by means of multiset rewriting rules and where communication
separately models various forms of membrane tansport. These latter variants have made
possible the investigation of P systems where evolution and communication processes are
treated as separate operations which compete for the same objects distributed inside the
systems.
In this framework, the present chapter is dedicated to the study of the power of P
systems with a “minimal cooperation” in the communication rules. Specifically, we
consider P systems with symport/antiport [103],[105] as a purely communicative model
and we prove the universality of systems which use rules of a minimal size; that is, P
systems where two objects can be simultaneously moved though a membrane in opposite
directions but only one object at a time can be moved through a membrane in a specific
direction. Next, we pass to consider P systems with boundary rules [26] and we prove a
universality result for systems where communication rules involve at most two objects:
one of them is moved through the membrane in a specific direction whereas the other one
is left in the place where it is. This result is developed alongside those proved in [7],[86]
which show the universality of evolution-communication P systems where at most two
objects at a time are moved through the membranes of the system either in the same
direction or in opposite directions.
Alternatively, as we have seen in Chapter 2, Section 2.3, page 23, and Section 2.4, page
25, the power of P systems can also be increased by introducing in the model specific for
controlling the applicability of the rules like a priority relationship between the rules or
promoters/inhibitors for activating/de-activating sets of rules. a few other examples in
this direction can be found in the existing literature [105], [115], [89], [94]. This approach
is typical of the area of regulated rewriting in formal language theory [52], [120], where
productions are organised in structures which regulate the derivation strategy. Here we
present a variant of P systems, called PX systems, where the application of the rules is
controlled by a transition diagram associated with an X machine. In such a model, the
set of rules to be applied inside a membrane is always chosen depending on the current
state of the underlying state machine. In this respect, PX systems have some similarities
with the grammar systems controlled by graphs [47] and they are particularly inspired by
the notion of X machines with rewriting rules as basic processing relationships [66]. PX
systems were originally introduced in [34] as P systems processing strings and generating
34
languages by means of rewriting rules (see also [20]); here we illustrate the features of
PX systems operating on multisets of objects by using multiset rewriting rules with the
targets here, in, out to control the communication of objects through membranes.
Each different model of membrane systems is presented by following the “scheme”
proposed in Chapter 2, Section 2.2, page 14, which is based on the definitions of configuration, applicable rule and computation. However, here we prefer not to repeat
analogous definitions but rather to illustrate the particular features of each variant of P
systems by just pointing out the differences with respect to the basic model.
3.2 P systems with symport/antiport
We have already mentioned the variant of P systems with symport/antiport (see Chapter 2, Sub-section 2.4.2, page 26) as a variant of P systems where the communication
of objects through membranes is expressed by means of rules that are inspired by a
biochemical transport mechanism of small molecules through membranes in living cells.
When two chemicals can pass through a membrane only together, in the same direction,
the process is called symport; when the two chemicals can pass only with the help of
each other, but in opposite directions, we say that we have an antiport process [6]. These
mechanisms of coupled transport have been formalised in the abstract framework of P
systems [103] by means of communication rules of the forms (a, out; b, in) (antiport rules)
and (ab, in), (ab, out) (symport rules), with a, b two symbols from a given alphabet. The
functioning of these rules is pictorially represented in Figure 3.1.
b
a
b
a
(a,out;,b,in)
Outside
a
(ab,in)
b
Inside
(ab,out)
Figure 3.1: Coupled transport in P systems expressed by means of symport/antiport
rules.
Then, this mechanism for moving pairs of objects through membranes has been generalised to the case of multisets of arbitrary sizes by considering symport/antiport rules
of the forms (x, out; y, in), (x, in), (y, out), with x, y two finite multisets over a given
alphabet [105]. P systems with symport/antiport have received a lot of attention especially because they have set up inside the area of membrane computing the important
framework of computing by communication only: a computation consists in just changing the place of the objects inside compartments delimited by membranes; these objects
can never transform/evolve. In this way, we are allowed to focus on the two main features of any membrane system or, more general, of any distributed system: communication/interaction among different components of the system, and localisation/distribution
of computing resources inside these different components. Surprisingly, computing by
35
communication only turns out to be computationally universal: by using only symport
and antiport rules we can compute all Turing computable sets of numbers [103]. This
result has been then improved in what concerns the number of membranes used and/or
the size of symport/antiport rules used inside the regions in several places. A detailed
account of the contributions in this direction can be found in [118] together with some
new improved results. Here, for historical reasons, we only recall the best results which
were known before the result reported in [14]. Further details about more recent improvements will be discussed in Section 3.5.
3.2.1 Definitions
Here we present the purely communicative model of P systems with symport/antiport
in the form introduced in [103] (see also [105]).
Definition 3.1 (P systems with symport/antiport). A P system with symport/antiport
of degree n ≥ 1 is a construct
Π = (V, µ, w1 , w2 , . . . , wn , E, R1 , . . . , Rn , iO )
where:
1. V is a finite alphabet of symbols called objects;
2. µ is a membrane structure consisting of n membranes labelled in a one-to-one
manner by 1, . . . , n;
3. wi ∈ V ∗ , for each 0 ≤ i ≤ n is a multiset of objects assigned to membrane i;
4. E ⊆ V is the set of objects that appear in the environment;
5. Ri , for each 1 ≤ i ≤ n, is a finite set of symport/antiport rules assigned to
membrane i that are of the forms (x, in), (x, out), (x, out; y, in), with x, y ∈ V ∗ ;
6. iO is the label of an elementary membrane of µ that identifies the corresponding
output region.
In this definition we can find the basic elements of every membrane systems (see
Definition 2.3, page 18): a membrane structure with n ≥ 1 membranes, each one of
them containing a multiset of objects and a finite set of rules. The particularity of
this variant is that symport/antiport rules that govern the passage of objects through
membranes are the unique rules allowed in the system. This means the objects can
change their places inside the system but they can never be consumed or transformed
(i.e, we are considering a purely communicative variant of P systems). Therefore, in
order to compute arbitrary sets of natural numbers the extra features of the environment
are considered in P systems with symport/antiport. The environment is supposed to
store an infinite number of copies of each object in the set E ⊆ V ; that is, each object
a ∈ E appears in the environment with multiplicity equal to infinity. In other words,
36
the environment is supposed to be able to supply as many objects as the system needs
in order to complete any computation and it can never be exhausted. In particular,
the interactions between the system and the environment are governed by the rules
associated with the skin membrane, which can be used to bring new objects into the
system.
Configurations
The tuple Σ0 = (λ, w1 , w2 , . . . , wn ) defines the initial configuration of the P system Π.
In general, a configuration of Π is any tuple Σ = (w e0 , w10 , w20 , . . . , wn0 ) such that:
• we0 ∈ (V − E)∗ is the multiset of objects in (V − E) which have been sent out
of the system by means of some applications of the rules associated with the skin
membrane; initially this multiset is supposed to be empty; that is, the multiset w e0
contains the objects in (V − E) which, time by time, are moved outside the skin
membrane; these objects are not lost but can possibly re-enter the skin membrane
by means of some further applications of the rules assigned to the skin membrane;
• wi0 ∈ V ∗ , for each 1 ≤ i ≤ n, is the multiset of objects currently assigned to
membrane i.
Rules
Let Π be a P system with symport/antiport of degree n ≥ 1. For each 1 ≤ i ≤ n.
the set Ri must contain a finite number of rules of the forms (x, in), (x, out) (symport
rules), and (x, out; y, in) (antiport rules). Specifically, let Σ = (w e0 , w10 , w20 , . . . , wn0 ) be a
configuration of a P system Π with symport/antiport. For each 1 ≤ i ≤ n, if i is not the
index of the skin membrane then:
• a rule (x, out), with x ∈ V ∗ , is applicable inside membrane i if and only if, we
have x ⊆ wi0 ; the application of this rule consists in moving an occurrence of the
multiset x from membrane i to membrane upper(µ, i);
• a rule (x, in), with x ∈ V ∗ , is applicable inside membrane i if and only if, we
have j = upper(µ, j) and x ⊆ wj0 ; the effect the application of this rule consists in
moving an occurrence of the multiset x from membrane j to membrane i;
• a rule (x, out; y, in), with x, y ∈ V ∗ , is applicable inside membrane i if and only if,
we have x ⊆ wi0 , j = upper(µ, i) and y ⊆ wj0 ; the application of this rule consists
in simultaneously moving an occurrence of the multiset x from membrane i to
membrane upper(µ, i) and an occurrence of the multiset y from membrane j to
membrane i.
Instead, if i is the index of the skin membrane then:
• a rule (x, out), with x = x1 x2 , x1 ∈ E ∗ and x2 ∈ (V − E)∗ , is applicable inside
membrane i if and only if, we have x ⊆ w i0 ; the application of this rule consists
in removing one occurrence of the multiset x 1 from membrane i and moving one
occurrence of the multiset x2 into the environment;
37
• a rule (x, in), with x = x1 x2 , x1 ∈ E ∗ and x2 ∈ (V − E)∗ , is applicable inside
membrane i if and only if, we have x2 ⊆ we0 ; the application of this rule consists
in producing a new occurrence of the multiset x 1 inside membrane i and bringing
one occurrence of the multiset x2 in the environment inside membrane i;
• a rule (x, out; y, in), with x = x1 x2 , x1 ∈ E ∗ , x2 ∈ (V − E)∗ , y = y1 y2 , y1 ∈ E ∗
and y2 ∈ (V − E)∗ is applicable inside membrane i if and only if, we have x ⊆ w i0 ,
and y2 ⊆ we0 ; the application of this rule consists in simultaneously removing an
occurrence of the multiset x1 from membrane i, moving one occurrence of the
multiset x2 outside membrane i, producing a new occurrence of the multiset y 1
inside membrane i and bringing back one occurrence of the multiset y 2 inside
membrane i;
Remark 3.1. One may notice how the rules associated with the skin-membrane actually
operate as rules for “creating” new objects and for “deleting” some existing objects. In
fact, a rule associated with the skin-membrane which brings in a multiset x ∈ E ∗ can
be interpreted as a rule which produces a new occurrence of the multiset x inside the
skin-membrane. In a similar way, a rule associated with the skin membrane which sends
out a multiset x ∈ E ∗ can be interpreted as a rule which “deletes” an occurrence of the
multiset x from the skin membrane.
Computations
As in transition P systems, a computation in a P system with symport/antiport is
obtained by applying the rules in a non-deterministical maximal parallel manner: in
each step, in each membrane, all the objects that can evolve must evolve in parallel at
the same time; if the same occurrence of the same multiset can be used by more than one
rule at the same time then, only one rule is non-deterministically chosen and applied.
Specifically, in this variant a computation is restricted to just moving the objects through
membranes, as symport/antiport rules do not allow any membrane to modify the objects
in the system. Initially each region i contains the corresponding multiset w i whereas,
the environment contains no objects in V − E and an infinite number of copies of each
object in E. In this way, new objects can be introduced in the system in arbitrary
large number of copies as the environment can never be exhausted. Furthermore, the
objects in V − E that are sent out the system during a computation are kept in the
environment and they can get back into the system by means of the rules associated
with the skin membrane (these may also be coupled with some objects in E). Notice
that, by operating in this way, the objects in V − E can appear in a P system only in a
finite number of copies. Moreover, in order to make the maximal parallelism consistent
with the semantics of the rules, the skin-membrane must not contain rules of the form
(x, in), with x ∈ E ∗ ; the application of such a rules would in fact lead the system to a
non-well-defined configuration whereby an infinite number of occurrences of x should be
introduced inside the system in parallel at the same time.
A computation is successful if it starts in the initial configuration and it reaches a
configuration where no more rules can be applied. The result of a successful computation
38
is a natural number that is obtained by counting the objects that are contained at the
end of the computation in the region delimited by membrane i O . Given a P system with
symport/antiport Π, the set of natural numbers computed in this way by Π is denoted
by N (Π).
Remark 3.2. The scope of symport/antiport rules is no longer local to regions as in
the basic model of P systems (see Chapter 2, Section 2.2, page 16). Symport/antiport
rules are not internal to regions but they are able to ”see” even externally, that is, they
are sensible to what happens around the border of the membranes. In particular, this
means, in each step, an occurrence of a multiset x placed inside a membrane i can be nondeterministically assigned either to a rule (x, out) ∈ R i , or to a rule (x, out; y, in) ∈ Ri ,
for some y ∈ V ∗ , or to a rule (x, in) ∈ Rj , or to a rule (z, out; x, in) ∈ Rj , for some
z ∈ V ∗ , and j such that i = upper(µ, j).
3.2.2 Computational power
We denote by N OPm (symr , antit ) the family of sets of natural numbers that are generated by P systems with symport/antiport with at most m > 0 membranes, symport
rules of size at most r ≥ 0, and antiport rules of size at most t ≥ 0. The size of a
symport rule (x, in) or (x, out) is given by |x| whereas, the size of an antiport rule is
given by max{|x|, |y|}.
We recall from [62], [64] the best results dealing with the power of P systems with
symport/antiport, which were known before the result reported in [14].
Theorem 3.1. N RE = N OPm (symr , antit ), for (m, r, t) ∈ {(1, 1, 2), (3, 2, 0), (2, 3, 0)}.
All these results use rules of size at least 2 and before [14] the universality of systems
of type (m, 1, 1) was not known, for any m ≥ 1. Notice that systems of type (m, 1, 0),
for any m ≥ 1 can generate only finite sets of natural numbers: by definition, a rule
(a, in), with a ∈ E, can never be used in the skin membrane. In a similar way, systems
of type (m, 0, 1), for any m ≥ 1, cannot generate infinite sets of natural numbers because
antiport rules of size 1 are not able to increase the number of objects inside the system.
A formal proof of such a result can be found in [11].
However, as pointed out in [83], we can easily generate infinite sets of natural numbers
by combining symport rules of size 1 with antiport rules of size 1 at the price of using
at least two membranes. For instance, consider the system
Π = ({a, b}, [ 1 [ 2 ] 2 ] 1 , a, λ, {b}, R1 , R2 , 2),
R1 = {(a, out; b, in), (a, in)},
R2 = {(a, in), (b, in)}.
After bringing an arbitrary number of copies of b from the environment, the object a
gets “hidden” in region 2. Thus, this system is able to generate the whole set of natural
numbers (zero excluded).
By starting from this observation, the universality of systems with both symport
and antiport rules of size one has been achieved in [14] by increasing the number of
39
membranes from two to nine. Such a result has been then improved in [83] by showing
that six membranes suffice.
Theorem 3.2. N RE = N OP6 (sym1 , anti1 ).
The optimality of this result was not proved but rather it was conjectured in [83] that
at least one membrane can be saved. Here we prove such a conjecture as reported in
[27].
Theorem 3.3. N OP5 (sym1 , anti1 ) = N RE.
Proof. Let us consider a counter machine M = (Q, F, p 0 , C, cout , S) as specified in Chapter 1, Section 1.5, page 8. Our aim is to define a P system with symport/antiport Π
such that N (Π) ∈ N OP5 (sym1 , anti1 ), which is able to simulate the behaviour of the
machine M . The construction we adopt here is an adaptation of that one proposed in
[83]. For this reason, we do not report all the details of the proof, but we just recall the
main ideas behind the proof from [83].
The correct simulation of the machine M by using six membranes is achieved in [83]
by considering a P system with the following membrane structure:
[ 1[ 2 [ 3[ 4 ] 4] 3 [ 5[ 6 ] 6] 5 ] 2] 1
where:
• region 1 is mostly used to hold the current state of the machine M ;
• region 2 is used to store the value of all the counters in M ; for each c ∈ C, the
current value of the counter c is given by the number of objects c q , with q ∈ Q,
that are currently present in region 2; as well as this, region 2 contains an arbitrary
number of states that are introduced in the system during a preliminary phase of
initialisation;
• region 3 and region 4 are used in order to simulate the instructions of the form
(p → q, −c), (p → q, c = 0) in S; to this aim, different versions of an object d
are used to check whether the counter c is empty or not; an arbitrary number of
copies of the different versions of d is introduced in region 4 during the phase of
initialisation of the system;
• region 6 is the output region where the value of the output counter is collected
at the end of a successful sequence of transitions in M ; region 5 is involved in
this process as a filter for moving the object c outq , with q ∈ Q, from region 2 to
region 6.
As remarked in [83], it is easy to see that the same system with five membranes (without
membrane 6 and with membrane 5 as output membrane) would simulate in the same
way the counter machine, but would contain also an object h in the output region 5
when reaching a final state. In fact, the object h is used in region 5 to move the objects
40
coutq from region 2 to region 5 by using rules of the form (h, out; c outq , in), (h, in), with
q ∈ Q.
Here we get around this problem by moving membrane 5 up to the level of membrane
2 (i.e., by embedding membrane 5 into the skin membrane). Thus, membrane 5 becomes
the new output membrane and the objects c outq are collected in the corresponding region
by using membrane 2 as a filter. However, as we will see, this simple modification in the
structure of the system leads to an important complication in the process of collecting
the output because of the presence in region 2 of other objects different from c outq .
Formally, we define the following P system with symport/antiport:
Π = (V, µ, w1 , w2 , w3 , w4 , w5 , E, R1 , R2 , R3 , R4 , R5 , iO ),
where:
V
= Q ∪ {cq | c ∈ C, q ∈ Q, and (p → q, +c) ∈ S}
∪ {c0q , dc,q | c ∈ C, q ∈ Q, and (p → q, −c) ∈ S}
∪ {c00q , d0c,q | c ∈ C, q ∈ Q, and (p → q, c = 0) ∈ S}
∪ {a1 , a2 , a3 , a4 , b1 , b2 , i1 , i2 , i3 , i4 , i5 , h, h0 , h00 , n1 , n2 , n3 , n4 , #1 , #3 }
∪ {e1 , e2 , f, f 0 , f 00 , h1 , h2 , k1 , k2 }
µ = [ 1[ 2 [ 3[ 4 ] 4] 3 ] 2 [ 5 ] 5 ] 1,
w1 = b 1 b2 #3 ,
w2 = a1 e1 e2 i1 i2 i4 i5 n1 n2 n3 n4 h00 #1 ,
w3 = a 2 a3 i3 k1 k2 h0 ,
w4 = a 4 a5 h1 h2 #3 ,
w5 = λ,
E = V − {#1 , b1 },
Ri = Ri0 ∪ Ri00 ∪ Ri000 , for each 1 ≤ i ≤ 5,
iO = 5.
As in [83] by following the original idea from [14], each computation in M will be
simulated by Π in three main phases:
1. preparing the system for the simulation of the machine M ,
2. simulating the behaviour of M in terms of execution of sequences of instructions
in S,
3. terminating the computation and moving the relevant objects into the output
region.
For all 1 ≤ i ≤ 5, the rules used in each phase are respectively the rules in R i0 , Ri00 , and
Ri000 .
41
Phase 1. We perform the following operations: we bring in region 2 an arbitrary
number of objects q ∈ Q that represent the states of the machine, then we also bring
in region 4 an arbitrary number of objects d c,q and d0c,q that will be used in the second
phase in order to simulate instructions of the form (p → q, −c) and (p → q, c = 0),
respectively. The rules used in this phase are as follows:
R10 = {(b1 , out; X, in) | X ∈ Q ∪ {dc,p , d0c,p | c ∈ C, p ∈ Q}} ∪ {(b1 , in)},
R20 = {(b2 , out; X, in) | X ∈ Q ∪ {dc,p , d0c,p | c ∈ C, p ∈ Q}} ∪ {(b2 , in)}
R30
∪ {(a4 , out), (a1 , out; b1 , in), (b2 , out; #3 , in), (a2 , out; a1 , in), (a2 , out; #3 , in)},
= {(a3 , out; d, in) | d ∈ {dc,p , d0c,p | c ∈ C, p ∈ Q}} ∪ {(a3 , in)}
∪ {(a2 , out; b2 , in), (a4 , out, b1 , in), (#3 , in), (#3 , out)},
∪ {(h0 , out; h00 , in), (h00 , out, ; h0 , in)},
R40 = {(a4 , out; d, in) | d ∈ {dc,p , d0c,p | c ∈ C, p ∈ Q}} ∪ {(a4 , in)}
R50
∪ {(a5 , out; b2 , in), (a4 , out; a5 , in), (b2 , out; a3 , in)},
= ∅.
The rules (b1 , out; X, in) ∈ R10 , (b2 , in), (b2 , out; X, in) ∈ R20 are used in this phase to
bring objects q, dc,q , d0c,q from the environment into region 2 in an arbitrary number
of copies. If the objects that enter region 2 are states, then they remain in region 2. If
those objects are instead versions of d then they are moved down to region 4 by using
the rules (a3 , out; d, in), (a3 , in) ∈ R30 , (a4 , out; d, in), (a4 , in) ∈ R40 .
As the objects q, dc,q , d0c,q are re-used in region 1 during the second phase to simulate
the instructions of the machine M , the rule (b 2 , out; #3 , in) ∈ R20 that generates an
infinite computation is also present. This is to make sure that the objects q, d c,q , d0c,q
are effectively brought from the environment in region 2 during the initial phase. In
other words, the actual simulation of the machine M can start only when the first phase
is completed and b2 is removed from region 2.
More precisely, in order to finish this initial phase, we have to stop the “influx” of
special symbols from the environment. To this aim, the system has to accomplish the
following tasks:
• removing b1 from region 1 in order to stop getting new objects from the environment,
• removing b2 both from region 1 and region 2 in order to stop moving objects q,
dc,q , d0c,q from region 1 to region 2,
• removing a3 both from region 2 and region 3 in order to stop moving objects d c,q ,
d0c,q from region 2 to region 3,
• removing a4 both from region 3 and region 4 in order to stop moving objects d c,q ,
d0c,q from region 3 to region 4.
The object b1 is interchanged with a1 from region 2 by means of the rule (a1 , out; b1 , in);
at the same step b2 enters the same region 2 by (b2 , in). Next b2 is interchanged with
42
a2 by using the rule (a2 , out; b2 , in) ∈ R30 . Then, we use the rule (a5 , out; b2 , in) ∈ R40
to move b2 into region 4 where it is used to remove a 3 from region 3 by means of the
rule (b2 , out; a3 , in) ∈ R40 . The object a4 is removed from region 4 by using the rule
(a4 , out; a5 , in) ∈ R40 and from region 3 by using the rule (a 4 , out; b1 , in) ∈ R30 . The
object a4 is eventually moved up to reach region 1, and this ends up the first phase.
There are two delicate points in this process. First, if b 2 instead of bringing in region 2
the objects from the environment starts the finishing process by using (a 2 , out; b2 , in) ∈
R30 , then at the next step the only rule that can be applied is (a 2 , out; #3 , in) ∈ R20 , since
a1 is still in region 2, and then the computation will never render a result. The second
problem can be noticed by looking at the rules (a 4 , in) and (a4 , out; b1 , in) associated
with regions 4 and 3, respectively: if instead of applying the second rule in the finishing
phase of this step, we apply the rule of region 4, then the computation stops in regions
1 through 4, but for the rules (h0 , out; h00 , in), (h00 , out, h0 , in) from R30 the computation
does not halt.
Phase 2. This phase deals with the simulation of the instructions of the machine M
and lasts until a final state p ∈ F is introduced in region 1. The rules used in this phase
are:
R100 = {(a4 , out; p0 , in), (#1 , out), (#1 , in)}
∪ {(p, out; cq , in), (p, out; c0q , in), (p, out; c00q , in) | p, q ∈ Q, c ∈ C}
∪ {(dc,q , out; q, in), (d0c,q , out; q, in) | p, q ∈ Q, c ∈ C}
R200
∪ {(p, out; q, in) | p, q ∈ Q, and (p → q, ) ∈ S},
= {(q, out; cq , in), (#1 , out; cq , in) | q ∈ Q, c ∈ C}
∪ {(n1 , out; c0q , in), (dc,q , out; n4 , in), (i1 , out; c00q , in) | q ∈ Q, c ∈ C}
∪ {(dc,q , out; #3 , in), (d0c,q , out; i5 , in), (d0c,q , out; #3 , in) | q ∈ Q, c ∈ C}
∪ {(n2 , out; n1 , in), (n3 , out; n2 , in), (n4 , out; n3 , in)}
∪ {(#1 , out; n4 , in), (i2 , out; i1 , in), (i3 , out; i2 , in), (i4 , out; i3 , in)}
R300
∪ {(i5 , out; i4 , in)},
= {(c0q , in), (i3 , out; c00q , in), (d0c,q , out; i3 , in) | q ∈ Q, c ∈ C}
∪ {(dc,q , out; cα , in), (d0c,q , out; cα , in) | q, α ∈ Q, c ∈ C},
R400 = {(dc,q , out; c0q , in), (#3 , out; c0q , in), (d0c,q , out; c00q , in) | q ∈ Q, c ∈ C}
∪ {(#3 , out; c00q , in) | q ∈ Q, c ∈ C},
R500 = ∅.
This second phase gets started by using the rule (a 4 , out; p0 , in) ∈ R100 , which introduces
the initial state of the machine M in region 1. As we have seen, the object a 4 appears
in region 1 only at the end of phase 1.
The actual simulation of the instructions in S is done exactly in the same way as it is
described in [83]. Therefore, we do not enter the details of how the rules R i00 , 1 ≤ i ≤ 5
are used, but we rely directly on the proof from [83]. There is only a slight difference
with respect to [83]: when an object c outq is introduced in the system by means of the
43
rule (p, out; coutq , in) ∈ R100 , we can always apply the rule (coutq , in) ∈ R5000 (see the third
phase afterwards), which moves the object c outq into region 5. If this is the case, the
simulation of the machine M stops but, due to the rules (h 0 , out; h00 , in), (h00 , out, h0 , in)
from R30 , the computation does not halt.
Phase 3. The third phase, the finishing one, will stop the simulation and move the
relevant objects into the output region. This is done in two separate stages: firstly we
remove all objects different from coutα , with α ∈ Q, from region 2, and then we move all
objects coutα , from region 2 into region 5 (the output one) through region 1. Specifically,
we use the following rules:
R1000 = {(p, out; f, in) | p ∈ F }
∪ {(e1 , out; f 0 , in), (e2 , out; f 00 , in)},
R2000 = {(e1 , out; f, in), (e2 , out; f 0 , in), (f 00 , in), (h2 , out)}
R3000
∪ {(coutα , out; h2 , in) | α ∈ Q},
= {(h0 , out; f, in), (h00 , out; f, in)}
∪ {(k1 , out; f 0 , in), (k1 , out; k2 , in), (k2 , out; k1 , in), (h2 , out; k2 , in)}
∪ {(f 00 , in)} ∪ {(f 00 , out; x, in) | x 6= coutα ∈ V, α ∈ Q},
R4000 = {(h1 , out; f 0 , in), (h1 , out; h2 , in), (h2 , out; h1 , in), (h2 , out; f 000 , in)}
R5000 = {(coutα , in) | α ∈ Q}.
We first use (p, out; f, in) ∈ R1000 , then f enters region 2 by (e1 , out; f, in) and at the
next step f stops the oscillation of h 0 and h00 by putting them together in region 2 by
means of (h0 , out; f, in) ∈ R3000 or (h00 , out; f, in) ∈ R3000 . In the meanwhile, we introduce
in region 1 the object f 0 by means of the rule (e1 , out; f 0 , in) ∈ R1000 . At the next step, we
exchange e2 with f 0 by using the rule (e2 , out; f 0 , in) ∈ R2000 . In region 2, the object f 0 is
used to start the oscillation of k1 , k2 through membrane 3 by entering region 3 and then
the oscillation of h1 , h2 through membrane 4 by entering membrane 4. The rules that
are used are (k1 , out; f 0 , in) ∈ R3000 and then (h1 , out; f 0 , in) ∈ R4000 . In the meanwhile, f 00
enters region 1 and it reaches region 3 in two further steps of computation. After that,
we can start the process of removing objects x 6= c outα , with α ∈ Q, from region 2 by
using the rules (f 00 , in), (f 00 , out; x, in) ∈ R3000 .
The key point here is that, during the process of getting objects x from region 2 into
region 3, the system maintains the following property concerning the distribution of
objects inside the membranes. If f 00 is in region 2, then k2 is in region 2, k1 , h1 are
in region 3, and h2 is in region 4; if f 00 is instead in region 3, then k1 is in region 2,
k2 , h2 are in region 3, and h1 is in region 4. This is because k1 , k2 oscillate through
membrane 3 and h1 , h2 oscillate through membrane 4 continuously by means of the rules
(k1 , out; k2 , in), (k2 , out; k1 , in) from R3000 , and (h1 , out; h2 , in), (h2 , out; h1 , in) from R4000 ,
respectively.
This fundamental property makes sure that, any odd number of steps after the last
object x enters region 3, we have k1 in region 2, f 00 , k2 , h2 in region 3, and h1 in region
4. Next k1 is exchanged with k2 and h2 with h1 while f 00 remains in region 3. At
44
this time, we can stop the oscillation of h 1 , h2 by using the rule (h2 , out; f 00 , in) ∈ R4000
while k2 is exchanged with k1 in region 3. Then we stop the oscillation of k 1 , k2 in
two steps: k1 is exchanged with k2 once more and, in the next step, we apply the rule
(h2 , out; k2 , in) ∈ R3000 , which releases the object h2 in region 2.
Finally, we move h2 up to reach region 1 where we can start to move the objects c outα ,
with α ∈ Q, from region 2 to region 5. This is done by using the rules (c outα , out; h2 , in),
(h2 , out) from R2000 , and (coutα , in) ∈ R5000 . Notice that, by having removed all objects
x 6= coutα from region 2, it follows that no rule from R 200 can be applied in this phase of
the computation when coutα is pushed into region 1.
The computation halts when the last object c outα enters region 5 by correctly simulating a sequence of transitions in M . According to the above discussion, the P system
Π simulates correctly the counter machine M .
3.3 P systems with boundary rules
Boundary rules [26] generalise the idea of membrane transport by explicitly introducing
membranes in the rules as “boundary entities” which control inside and outside of these
membranes. Specifically, in P systems with boundary rules, interactions between the
inside and the outside of a membrane are allowed by rules of the form α [ i β → γ [i δ.
The meaning of such rules is the following: if the membrane i contains the multiset β and
outside the membrane i is present the multiset α, then an interaction can be established
that produces the multisets γ,δ outside and inside the membrane i, respectively. This
type of behaviour is pictorially represented in Figure 3.2.
Outside
α
Inside
Outside
γ
β
Inside
δ
Figure 3.2: A boundary rule represented as an interaction between two multisets that
occurs at the level of a membrane in a P system.
Although boundary rules could express any sort of interaction between the outside
and the inside of a membrane, the P system model introduced in [26] deals only with
rules of two distinct and well-specified types: transformation rules and communication rules. Transformation rules are usual multiset rewriting rules written in the form
[i β → [i δ and they are used to describe the evolution of the objects placed inside the
membranes. Communication rules are instead considered as being boundary rules of the
form α [i β → γ [i δ where |αβ|a = |γβ|a , for each symbol a in the given alphabet. That
is, communication rules can be used only for moving objects through the membranes
without changing any of these objects during the process. Finally, we remark that rules
45
are no longer “located” into regions but, in a sense, they are located on the “boundaries”
of the membranes (the label of the square bracket indicates the localisation of the rules).
Nevertheless, there is no distinction between objects placed in the proximity of the membranes and objects placed further away inside the regions delimited by the membranes.
All the objects freely float inside the membranes and can be non-deterministically assigned to any rule present in the system with this rule being either a transformation rule
or a communication one.
3.3.1 Definitions
The following definition of P systems with boundary rules was given in [26].
Definition 3.2 (P systems with boundary rules). A P system with boundary rules
of degree n ≥ 1 is a construct
Π = (V, µ, w1 , w2 , . . . , wn , R, iO )
where:
1. V is a finite alphabet of symbols called objects;
2. µ is a membrane structure consisting of n membranes labelled in a one-to-one
manner by 1, . . . , n;
3. wi ∈ V ∗ , for each 0 ≤ i ≤ n is a multiset of objects assigned to membrane i;
4. R is a finite set of rules of the following forms:
a) xx0 [i y 0 y → xy 0 [i x0 y for x, y, x0 , y 0 ∈ V ∗ , 1 ≤ i ≤ n, and if i = 1 then xx0 = λ
(communication rules),
b) [i y → [i y 0 with y ∈ V + , y 0 ∈ V ∗ and 1 ≤ i ≤ n (transformation rules);
5. iO is the label of an elementary membrane of µ that identifies the corresponding
output region.
In this definition, with respect to Definition 2.3, page 18, rules are not directly assigned
to each component of the system but rather, they are grouped in a unique set R, which is
supposed to contain the specification of all the transformations and communications that
can occur inside the system in correspondence of each membrane. The “place” where
a certain rule can be used is determined by the label of the square brackets present in
each rule definition.
Configurations
The tuple Σ0 = (w1 , w2 , . . . , wn ) defines the initial configuration of the P system Π. In
general, a configuration of Π is any tuple Σ = (w 10 , w20 , . . . , wn0 ) where, for each 1 ≤ i ≤ n,
wi0 ∈ V ∗ represents the multiset of objects currently placed inside membrane i.
46
Rules
Let Π be a P system with boundary rules of degree n ≥ 1, and let Σ = (w 10 , w20 , . . . , wn0 )
be a configuration of Π. In the set R we identify two types of rules: communication
rules and transformation rules. A transformation rule [ i y → [i y 0 is a standard multiset
rewriting rule, which allows the system to produce, in membrane i, a new multiset y 0
starting from the multiset y, which is consumed by the rule. Communication rules of
the form xx0 [i y 0 y → xy 0 [i x0 y instead serve to the purpose of moving objects across the
membranes: if membrane i contains the multiset y 0 y and outside membrane i is present
the multiset xx0 , the multiset x0 moves into membrane i while the multiset y 0 is sent out
of the same membrane. Clearly, some of these multisets may be empty. In particular,
in communication rules that refer to membrane 1, the multiset xx 0 must be empty. It
means that, in P systems with boundary rules, we do not allow the skin membrane
to interact with the environment and we suppose that the objects sent out of the skin
membrane are lost.
Remark 3.3. Communication rules of the form considered in P systems with boundary rules are a generalisation of the symport/antiport rules illustrated in the previous
section. The notion of symport/antiport are in fact captured by boundary rules of the
forms x0 [i y 0 → y 0 [i x0 (antiport), x0 [i → [i x0 , [i y 0 → y 0 [i (symport). In general, a communication rule xx0 [i y 0 y → xy 0 [i x0 y behaves as a symport/antiport rule with the added
features of the multisets x, y, which are not modified by the application of the rules but
simply control the applicability of the rules. A similar idea is used in [60] to define P systems where objects can cross the membranes by passing through channels which can be
opened by means of some activators or closed by means of some inhibitors. Specifically,
a channel is defined as a symport rule or an antiport rule with an associated multiset of
objects, which operates either as an activator or as an inhibitor.
Computations
Yet again, we adopt a maximal parallel strategy for the application of the rules: the
rules are chosen in a nondeterministic manner and this choice must be “exhaustive”,
that is, no other rule can be applied to the objects from the current configuration not
assigned to any rule (note that we do not count the use of membranes, any number of
rules may involve the same membrane).
A computation is successful if it starts in the initial configuration and it reaches a
configuration where no more rules can be applied. The result of a successful computation
is a natural number that is obtained by counting the objects that are contained at the
end of the computation in the region delimited by membrane i O . Given a P system Π,
the set of natural numbers computed in this way by Π is denoted by N (Π).
Remark 3.4. There is no difference between transformation rules and communication
rules: objects are assigned to the rules in a non-deterministic way. This means, in
general, in each step, a multiset of objects placed inside a certain membrane can be
either consumed by a transformation rule, or moved into another region by means of a
communication rule, or used by a communication rule to control the movement of some
47
other objects. However, the same occurrence of the same multiset can be used only by
a rule at a time.
3.3.2 Computational power
We denote by N OP Bm (e, j, c, f ), for m > 0, e, j ≥ 0, c ∈ {S, nS} and f ∈ {Coo, nCoo}
the family of all sets of natural numbers generated by P systems with boundary rules of
degree at most m and such that:
• for all communication rules xx0 [i y 0 y → xy 0 [i x0 y, we have: 0 ≤ |xx0 | ≤ e, 0 ≤
|y 0 y| ≤ j, that is, in the left side of every communication rule we regard at most
e symbols outside a membrane and at most j symbols inside it ; we say also that
communication rules are of type (e, j);
• if c = nS, all communication rules assume the form:
[i y 0 y → y 0 [i y or xx0 [i → x [i x0
that is, we have unidirectional communication that only depends either on the internal or the external contents of the membranes; instead, if c = S, communication
rules of any form are allowed;
• if f = nCoo, transformation rules are non-cooperative rules: on the left side of
every rule there is only one symbol; instead, if f = Coo, cooperative transformation
rules are allowed.
A first important result proved in [26] provides a correspondence between communication
governed by the targets {here, in, out} and communication governed by boundary rules
of the forms a [i → [i a, [i a → a [i , where objects are moved independently.
Lemma 3.1. N OP Bm (1, 1, nS, nCoo) = N OPm (nCoo, nP ri, nδ) = N CF , for all
m ≥ 1.
In other words, this means that we have to introduce some further mechanisms for
controlling the communication of objects if we want to increase the computational power
of P systems. In this respect, it has been shown in [7], [86] that the universality of P
systems with boundary rules can be achieved by just considering rules that move at most
two objects at the same time either in the same direction or in opposite directions.
Theorem 3.4. For all m ≥ 2, f ∈ {Coo, nCoo} we have:
1. N OP Bm (1, 1, S, nCoo) = N OP B2 (1, 1, S, nCoo) = N RE;
2. N OP Bm (2, 2, nS, nCoo) = N OP B2 (2, 2, nS, nCoo) = N RE.
The first result shows that non-cooperative P systems augmented with antiport rules
of size at most 1 are computationally complete and the hierarchy on the number of
membranes collapses at level 2. The second result instead shows that non-cooperative P
48
systems augmented with symport rules of size at most 2 are computationally complete
and the hierarchy on the number of membranes collapses at level 2. This is because the
proof given in [86] is based on P systems where communication rules are restricted to
be of the forms ab [i → [i ab, [i ab → ab [i , a [i → [i a, [i a → a [i , which are symport rules
of size at most 2 indeed.
Remark 3.5. The results reported in Theorem 3.4 were originally proved in [7], [86]
for a different variant of evolution-communication P systems introduced in [37], where
communication rules are restricted to be symport/antiport rules specified with the formalism of Definition 3.1. However, as pointed out in Remark 3.3, these rules are no
more than boundary rules of a particular form and, therefore, the same result hold for
P systems with boundary results.
Here we present a new result concerning P systems with communication rules of size
2 where, instead of using symport to move objects, we use communication rules of the
forms a [i b → ab [i , a [i b → [i ab, a [i → [i a, [i a → a [i . That is, communication rules
move at most one object at a time may be with the help of another one, which acts as
an activator and is left in the place where it is. The family of sets of natural numbers
generated by this type of P systems with boundary rules is specified by replacing nS
with nS 0 .
Theorem 3.5. N OP Bm (2, 2, nS 0 , nCoo) = N OP B2 (2, 2, nS 0 , nCoo) = N RE, for all
m ≥ 2.
Proof. Let M = (Q, F, p0 , C, cout , I) be a counter machine as specified in Chapter 1,
Section 1.5, page 8. We construct a P system with boundary rules Π such that:
Π = (V, [1 [2 ]2 ]1 , λ, p0 b1 b2 #, R, 2),
where:
V
= Q ∪ C ∪ {c0 , c̄, c̄¯, c̄q , c0q , c00q , c000
q | c ∈ C, q ∈ Q }
∪ {b1 , b2 , d, d1 , d2 , d3 , d4 , d5 , e, e1 , e2 , e3 , $, #, , f, g, g 0 , g 00 },
R = {c̄¯ [2 b2 → [2 c̄¯ b2 , [2 c̄¯ → [2 , c0 [2 d5 → [2 c0 d5 | c ∈ C, q ∈ Q }
000
∪ {c̄q [2 c0 → [2 c̄q c0 , [2 c0 → [2 , c000
q [2 e3 → [2 cq e3 | c ∈ C, q ∈ Q }
∪ {[2 d5 → [2 , [2 e3 → [2 },
∪ {[2 p → [2 qc | (p → q, +c) ∈ I}
∪ {[2 p → [2 c̄dc0q | (p → q, −c) ∈ I}
∪ {[2 p → [2 q | (p → q, ) ∈ I}
∪ {[2 p → [2 c00q e | (p → q, c = 0) ∈ I}
∪ {[2 c̄q → [2 q, [2 c000
q → [2 q | c ∈ C, q ∈ Q }
∪ {[2 di → [2 di+1 | 1 ≤ i ≤ 4 }
∪ {[2 ei → [2 ei+1 | 1 ≤ i ≤ 2 }
∪ {[2 e → [2 e1 , [2 d → [2 d1 , [2 [2 # → [2 #}
∪ {[2 c̄ → c̄ [2 , c0 [2 b1 → c0 b1 [2 , c0 [2 c0q → c0 c0q [2 | c ∈ C, q ∈ Q }
49
000
¯
¯
∪ {[2 c00q → c00q [2 , c000
q [2 c → cq c [2 , c̄ [2 c → c̄ c [2 | c ∈ C, q ∈ Q }
0
0
∪ {[1 c → [1 c , [1 c̄ → [1 c̄¯, [1 cq → [1 c̄q , [1 c00q → [1 c000
q | c ∈ C, q ∈ Q }
∪ {[1 b1 → b1 [1 }
∪ Rf ,
and Rf are the rules necessary to complete the simulation of the counter machine whenever a final state is produced inside membrane 2; the details of this set of rules will be
given in the last part of the proof.
The P system Π simulates the counter machine M by using membrane 2 to store
the current value of each counter in M and membrane 1 to simulate instructions for
subtracting 1 from a counter and instructions for comparing the value of a counter with
0. At any time, for each counter c ∈ C, the current value of the counter c is given by
the number of objects c placed inside membrane 2. Specifically, consider a configuration
of the form
(λ, p w # b1 b2 z),
(3.1)
with p ∈ Q − F , the current state of the machine M , w ∈ C ∗ , the multiset that defines
the current value of each counter in M , and z ∈ {} ∗ . Initially, we have p = p0 , w = λ,
z = λ.
The simulation of an instruction (p → q, +c) is done by applying a rule [ 2 p → [2 qc,
which introduces a new object c and a new state q in membrane 2. This means we
correctly simulate the instruction (p → q, +c) by adding 1 to the value of the counter
c and moving the machine from state p to state q. In a similar way, we simulate an
instruction (p → q, ) by just applying a rule [ 2 p → [2 q.
The simulation of an instruction (p → q, −c) is done in the following way. We apply
a transformation rule [2 p → [2 c̄dc0q to replace the current state p with a multiset containing the objects c0q , c̄, and d. The object c0q remains in membrane 2; the object d is
immediately replaced by d1 ; the object c̄ is instead moved into membrane 1 by using the
rule [2 c̄ → c̄ [2 . Next, in membrane 1, the object c̄ is replaced by c̄¯ while, in membrane
2, the object d1 is replaced by d2 . In membrane 1, the object c̄¯ is used to check whether
membrane 2 contains an object c or not. We have in fact two options here: either using
a rule c̄¯ [2 b2 → [2 c̄ b2 , or using a rule c̄¯ [2 c → c̄¯ c [2 , if membrane 2 contains at least one
object c. In the former case, the object gets back into membrane 2 where it is immediately replaced by . This means the simulation of the instruction (p → q, −c) would
stop after having produced d5 in membrane 2, but the computation cannot halt because
of the rule [2 # → [2 #. Otherwise, if the rule c̄¯ [2 c → c̄¯ c [2 is applied, then an object c
is introduced into membrane 1 and the simulation of the instruction (p → q, −c) can be
completed. In the meanwhile, the object d 2 in membrane 2 is replaced by d3 . At this
point, the configuration of the P system Π is of the form
(c̄¯ c, # c0q w0 b1 b2 d3 z),
(3.2)
with w0 a multiset obtained by removing an object c from the multiset w in (3.1). Now,
we have to remove c̄¯ from membrane 2 in order to stop moving objects c from membrane 2
50
to membrane 1. As well as this, we have to produce inside membrane 2 the new state q.
To this aim, we apply in sequence the following rules:
1. [2 d3 → [2 d4 , c̄¯ [2 b2 → [2 c̄ b2 , and [1 c → [1 c0 ;
2. [2 d4 → [2 d5 , [2 c̄¯ → [2 , and c0 [2 c0q → c0 c0q [2 ;
3. c0 [2 d5 → [2 c0 d5 , and [1 c0q → [1 c̄q in S1 ;
4. [2 d5 → [2 , and c̄q [2 c0 → [2 c̄q c0 ;
5. [2 c̄q → [2 q, and [2 c0 → [2 ;
In this way, we obtain a configuration like (3.1) where the object p has been replaced
by q and an occurrence of c has been removed from the multiset w. This means that
we have correctly simulated the instruction (p → q, −c). On the other hand, it is easy
to see that any other choice of rules to be applied in these last five steps leads to an
infinite computation that yields no result. This is because of the rule [ 2 # → [2 # which
produces an infinite loop that can be stopped only when a final state is produced inside
membrane 2 after having correctly completed the simulation of a sequence of instructions
from I .
The simulation of an instruction (p → q, c = 0) is done in the following way. We apply
in membrane 2 a transformation rule [ 2 p → [2 c00q e to replace the current state p with a
multiset containing the objects c00q and e. The object c00q is moved into membrane 1 by
using a rule [2 c00q → c00q [2 ; at the same time, inside membrane 2, the object e is replaced
by e1 . Next, in membrane 1, the object c00q is replaced by c000
q while, in membrane 2, the
object e1 is replaced by e2 .
The object c000
q is used in membrane 1 to check whether membrane 2 contains an object
c or not (i.e., to compare the value of the counter c with 0). If membrane 2 contains
000
at least one occurrence of the object c then, we have to apply a rule c 000
q [2 c → cq c [2 in
parallel with the rule [2 e2 → [2 e3 . Thus, the object c reaches membrane 1 and we are
forced to apply in sequence the rules [ 1 c → [1 c0 , c0 [2 b1 → c0 b1 [2 , [1 b1 → b1 [1 , which
eventually remove the object b1 from the system. This means the simulation of the
counter machine M cannot be completed because the object b 1 must remain inside the
system until a final state is reached in order to be able to break the infinite loop generated
by the rule [2 # → [2 #; this particular rôle played by the object b 1 is illustrated in the
last part of the proof where the functioning of the rules in R f is described.
On the other hand, if membrane 2 does not contain any object c then no rule can be
applied in membrane 1 in parallel with the rule replacing the object e 2 with e3 . This
means we can complete the simulation of the instruction (p → q, c = 0) in two more
steps of computation by applying in sequence the following rules:
000
1. c000
q [2 e3 → [ 2 cq e3 ;
2. [2 c000
q → [2 q in R1 , and [2 e3 → [2 ;
51
In this way, we obtain a configuration like (3.1) where the object p has been replaced by
q. This means that we have correctly simulated the instruction (p → q, c = 0). Notice
000
that if we apply the rule [2 e3 → [2 before having used a rule c000
q [2 e3 → [2 cq e3 , then
the computation cannot halt because of the rule [ 2 # → [2 # in R1 , as we are not able
to produce the new state q inside membrane 2.
Finally, consider a configuration like (3.1) where p ∈ F is a final state of the machine M . In this case, we finish the simulation of M by using the following rules.
Rf
= { [2 p → [2 f g | p ∈ F }
∪ { [2 f → f, [2 g → [2 g 0 , [2 g 0 → [2 g 00 }
∪ { f [2 b1 → f b1 [2 , b1 [2 g 00 → b1 g 00 [2 }
∪ { g 00 [2 a → g 00 a[2 | a 6= cout ∈ V }.
Thus, we use the state p to produce the objects f, g inside membrane 2; the object f is
immediately moved in membrane 1 while the object g is replaced by g 0 . Two more steps
are then necessary to make the object g 00 appear inside membrane 1. At that point, we
can remove all the objects different from the output counter from membrane 2 and we
break the infinite loop by means of the rule [ 2 # → [2 #. In this way, the computation
halts by correctly simulating a sequence of instructions in M .
In this costruction, one may notice how membrane 2 operates as a boundary around
which interactions between the objects contained inside region 1 and those contained
inside region 2 can take place. Membrane 2 is in fact the principal active component
of the system, which is given the capability of checking for the presence of objects both
outside and inside the membrane. This clarifies once more the notion of boundary rules
as rules that characterise the rôle of a membrane as a separator and a filter with respect
to its adjacent regions.
3.4 PX systems
PX systems combine the features of the basic model of P systems (see Chapter 2, Section
2.2, page 16) with the features of the X machine model (see Chapter 1, Section 1.6, page
10). In PX systems, each transition of the underlying state machine has a specific set of
evolution rules acting upon the objects contained in different regions of the membrane
system. The system starts in a given state and with some initial multisets. Then,
given a state and the multisets currently associated with the membranes in the system,
the machine evolves by applying rules associated with one of the transitions going out
from the current state. The system resumes from the destination state of the current
transition; whenever a configuration where no more rules can be applied is reached, the
machine halts and produces as an output the multisets of objects which have exited the
skin membrane during the computation. In this respect, a PX systems can be seen as an
X machine where the memory is defined as being compartmentalised in many different
regions specified by a membrane structure, with each region having its own memory
value represented as a multiset of objects. On the other hand, a PX systems is no more
52
than a P systems where, in each step, the rules to be applied are chosen depending upon
a state associated with the system itself.
3.4.1 Definitions
The reader is now supposed to be familiar with the notion of X machines as described
in Chapter 1, Section 1.6, page 10.
Definition 3.3 (PX system). A PX system of degree m ≥ 1 is a construct Π = (µ, X),
where: µ is a membrane structure consisting of m membranes, with the membranes and
the regions labelled in a one to one manner with the elements 1, . . . , m and X is an
X machine whose memory is defined by the regions 1, . . . , m of µ. The X machine is a
system
X = (V, Q, M1 , . . . , Mm , Φ, F, I),
having the following properties
• V is the alphabet of the system;
• Q is a finite set of states;
• M1 , . . . , Mm are finite multisets over V initially contained inside the membranes
1, 2, . . . , m;
• Φ = {φ1 , . . . , φp }, φi = (Ri,1 , . . . Ri,m ), 1 ≤ i ≤ p and Ri,j is a set of evolution rules
(possibly empty) associated with region i; an evolution rule is a multiset rewriting
rule of the form u → v, with u ∈ V + and v ∈ (V × {here, out, in})∗ ;
• F : Q × ×Φ × Q is the next state relation;
• I = {q0 }, q0 ∈ Q is the initial state.
It may be observed that the set Σ (the input alphabet) and the set Γ (the output
alphabet) from the definition of the X machine model are here replaced by the set V
(the alphabet of the system) whose symbols are considered as being both input symbols
and output symbols. The set M of memory values is instead given by the set of tuples
(w1 , w2 , . . . , wm ), with wi ∈ V ∗ the multiset defining the content of membrane i; the
initial value of the memory is in fact given by the tuple (M 1 , M2 , . . . , Mn ). Moreover,
we assume all the states to be final, i.e., T = Q. Anyway, we prefer here to describe
the behaviour of PX systems in terms of configurations, rules and computations by
considering them as a particular variant of P systems rather than a particular variant
of X machines.
Configurations
The tuple Σ0 = (q0 , M1 , M2 , . . . , Mm , λ) defines the initial configuration of the P sys0 ,M
tem Π. In general, a configuration of Π is any tuple Σ = (p, M 10 , M20 , . . . , Mm
out )
where: p is the current state of the underlying state machine, for each 1 ≤ i ≤ m,
Mi0 ∈ V ∗ is the multiset of objects currently placed inside membrane i, and M out is the
53
multiset of objects which have been sent out of the skin membrane. These latter objects
defines the output of a computation whenever this halts but they can never re-enter the
system during the intermediate stages of such a computation.
Rules
A PX system has the evolution rules distributed among p components φ i , 1 ≤ i ≤ p,
each one containing m sets of evolution rules. All these rules are exactly the same
as the rules considered in the basic model of P systems but without the operation of
membrane dissolution (see Chapter 2, Section 2.2, page 16). In terms of X machines,
the components φ1 , φ2 , . . . , φp corresponds to the relations which are associated to the
transitions in order to update the current value of the memory whenever one of these
transitions is activated.
Computations
Let Σ = (p, M10 , M20 , . . . , Mn0 , Mout ) be a configuration of a PX system Π. A computation
in Π is defined as it follows:
1. we non-deterministically select a component φ i , with 1 ≤ i ≤ n, such that (p, φi , q) ∈
F , for some q ∈ Q, and there exists at least one rule in φ i which is applicable to
the objects currently contained inside the membranes;
2. we apply the rule in φi in a non-deterministic parallel manner by changing the
number and the distribution of objects inside the system in the same way as in the
basic model of P systems (see Chapter 2, Section 2.2, page 16); the objects that
are sent out of the skin membrane are counted for the result of the computation;
3. we replace the state p with the state q and we iterate.
In other words, in each step, the rules to be applied inside each membrane are selected
depending on the current state by non-deterministically triggering one of its outgoing
transitions; specifically, a transition can be triggered if and only if, at least one of
the corresponding rules can be applied to the objects currently contained inside the
membranes. As usual, the selected rules must be applied in a non-deterministic parallel
manner: in each membrane, all the objects that can evolve by means of some rules must
evolve in parallel at the same time within the same step of computation.
A computation is successful if it starts in the initial configuration and it reaches a
configuration where no more rules can be applied. The result of a successful computation
0 ,M
that reaches a halting configuration Σ = (p, M 10 , M20 , . . . , Mm
out ) is the size of the
multiset Mout (the multiset containing all the objects sent out during the computation).
Given a PX system Π, the set of natural numbers computed in this way by Π is denoted
by N (Π). This choice for the output of a computation comes from X machines which
are usually considered as computational devices that produce output which are made
visible outside their internal memories (see Chapter 1, Section 1.6, page 10).
54
3.4.2 Computational Power
We already know from Theorem 2.2, page 24, that transition P systems with cooperative
rules are computationally complete and the hierarchy on the number of membranes
collapses at level 1. This means PX systems with cooperative rules, one membrane, one
state, and one transition are computationally complete. On the other hand, we know
that non-cooperative transition P systems can generate only semilinear sets of natural
numbers (see Theorem 2.1, page 24). Therefore, in the rest of the section, we will focus
only on PX systems with non-cooperative rules by showing how the extra features of PX
systems increase the power of transition P systems.
Specifically, we denote by N EOPm,s,p the family of sets of natural numbers generated
by non-cooperative PX systems with degree at most m, with at most s states and p sets
of rules.
We start by presenting some preliminary results concerning the hierarchy on the number of membranes and on the number of states.
Lemma 3.2. (i) N EOP1,1,1 = N OP1 (ncoo, npri, nδ) = N CF ,
(ii) N EOP∗,∗,∗ = N EOP1,∗,∗ ,
(iii) N EOP1,∗,∗ = N EOP1,2,∗ .
Proof. (i) PX systems with one membrane, one state and one set of rules are equivalent
to P systems with non-cooperative rules in the basic model.
(ii) The hierarchy on the number of membranes collapses at level 1. The inclusion
N EOP1,∗,∗ ⊆ N EOP∗,∗,∗ follows directly from the definitions. For the opposite
inclusion, the construction is nearly the same as that provided in [105] for the
basic model of P systems. We associate to each symbol an index that represents
the membrane where this object is placed and, when we move an object from a
membrane to another one, we just change the corresponding index.
(iii) The hierarchy on the number of states collapses at level 2. From the definitions,
we have that the inclusion N EOP1,2,∗ ⊆ N EOP∗,∗,∗ holds. In order to prove the
opposite, we have to show that the inclusion N EOP 1,s,p ⊆ N EOP1,2,∗ holds for
all s ≥ 1 and p ≥ 1. Yet again, for s = 1 or s = 2, the afoerementioned inclusion
is a direct consequence of the definitions.
Thuse, let Π be a PX system such that N (Π) ∈ N EOP 1,s,p for some s ≥ 3, p ≥ 1,
and:
Π = ([1 ]1 , X)
where X = (V, Q, M1 , Φ, F, q0 ), with Φ = {φ1 , . . . , φp }. We construct a PX system
Π0 , with N (Π0 ) ∈ N EOP1,2,p+2 such that:
Π0 = ([1 ]1 , X 0 )
where
X 0 = ((V ∪ Q ∪ {#, }), {q, q 0 }, M10 , Φ0 , F 0 , q),
55
with q, q 0 , #, ∈
/ (V ∪ Q) (i.e., q, q 0 , # are new symbols that do not appear neither
in V nor in Q), M10 = M1 ∪ {q0 }, Φ0 = {φ01 , . . . , φ0p , φp+1 , φp+2 }.
For each 1 ≤ j ≤ p, we have:
φ0j = (φj ∪ {p → q | (p, φj , q) ∈ F } ∪ {p → # | p ∈ Q} ∪ {# → #}),
and F 0 (φ0p , q) = q. Moreover, we have:
φp+1 = ({p → | p ∈ Q }),
φp+2 = ({a → # | a → v ∈ φj , 1 ≤ j ≤ p} ∪ {# → #}),
and (q, φp+1 , q 0 ) ∈ F , (q 0 , φp+2 , q 0 ) ∈ F .
We have placed inside the skin membrane the initial state of the system Π. In
general, we may suppose to have inside membrane 1 an object p that represents
the current state of the state machine associated with the system Π. Thus, we
apply the rules as in the system Π, by using some φ 0j , and we change the state by
using rule p → q, if (p, φj , q) ∈ F . At any moment, if we choose the wrong set of
rules with respect to the current state (i.e., there does not exist any state q such
that (p, φj , q) ∈ F ), then we are forced to apply a rule p → # and, due to the rule
# → #, we generate an infinite computation. In order to finish a computation,
we have to trigger on φp+1 , which replaces the current state with and leads the
system to the state q 0 . Here, if there are rules that can still be applied to the
objects present inside the membranes an infinite computation is generated, as we
can continue to use inside membrane 1 the rules in φ p+2 forever.
Thus, we have N (Π0 ) = N (Π).
Now, we are able to show the main result concerning the power of PX systems with
non-cooperative rules, which provides a characterisation of the family of length sets
associated with ET 0L languages.
Theorem 3.6. N EOP1,2,∗ = N EOP1,2,4 = N ET 0L.
Proof. (i) N ET 0L ⊆ N EOP1,2,4 . As we have seen in Chapter 1, Section 1.4, page 7, for
each language L ∈ ET 0L, there is an ET0L system that generates L and contains
only two tables, that is, G = (V, T, w, P 1 , P2 ). Therefore, we can construct a PX
system
Π = ([1 ]1 , X)
where
X 0 = ((V ∪ T ∪ {#, f, f 0 }), {q, q 0 }, M1 , Φ, F, q),
with q, q 0 , #, f ∈
/ (V ∪ T ) (i.e., q, q 0 , #, f, f 0 are new symbols that do not appear
neither in V nor in T ),
M1 = w ∪ {f }, Φ = {φ1 , φ2 , φ3 , φ4 }.
56
We have:
φ1 = (P1 )
φ2 = (P2 )
φ3 = ({f → f 0 })
φ4 = ({a → # | a ∈ (V − T ) } ∪ {a → (a, out) | a ∈ T }{# → #})
and (q, φ1 , q) ∈ F , (q, φ2 , q) ∈ F , (q, φ3 , q 0 ) ∈ F , F = (φ4 , q 0 ) = q 0 .
The PX system Π works as follows. We start in the state q; here, we can use either
φ1 or φ2 as many times as we want in order to simulate either the application
of the rules in P1 or the application of the rules in P2 . At any moment, we can
decide to move from state q to state q 0 by triggering φ3 . In q 0 , we use φ4 in
order to replace each non-terminal symbol with # and send out of the system each
terminal symbol. In this way, if membrane 1 contains only terminal symbols, the
computation halts successfully, otherwise we generate an infinite computation that
yields no result. Thus, it is easy to see that N (Π) = N (L(G)). Furthermore, we
have N (Π) ∈ N EOP1,2,4 .
(ii) Consider a PX system Π, with N (Π) ∈ N EOP 1,2,p for some s ≥ 3, p ≥ 1 (yet again,
the cases s = 1 or s = 2 are not interesting at all), such that:
Π = ([1 ]1 , X)
where X = (V, Q, M1 , Φ, F, q0 ), with Φ = (φ1 , . . . , φp ). Thus, we construct an
ET0L system
G = ((V ∪ Q ∪ ∪{ā | a V } ∪ {#}), V, M̄1 q0 , P1 , . . . , Pp , Pp+1 )
where M̄1 q0 denotes a string containing a symbol ā for every a ∈ M 1 and for each
1 ≤ j ≤ p, Pj is a table that contains:
• a rule ā → v 0 , for each rule a → v ∈ φp , with v 0 a string obtained from v as
follows: it contains a symbol b if (b, out) ⊆ v, a symbol b̄, if b ⊆ v and there
exists a rule b → u ∈ φi , 1 ≤ i ≤ p, and λ (i.e., no symbol), for each b ⊆ v
such that there does not exist any rule b → u ∈ φ i , 1 ≤ i ≤ p;
• a rule p → q, for each p, q ∈ Q such that (p, φ j , q) ∈ F ;
• a rule p → #, for each p ∈ Q.
Moreover, we have:
Pp+1 = {p → λ | p ∈ Q } ∪ {ā → #, a → a | a ∈ V }.
Now, it is easy to see that the ET0L system correctly simulates the PX system. We
start with a string M̄1 q0 ; we apply the tables P1 , . . . , Pp in order to simulate the
application of the rules of Π and the corresponding transitions in the underlying
57
state machine. At any moment, if we choose the wrong table with respect to the
current states, we are forced to introduce in the string the non-terminal #, which
cannot be replaced by any rule anymore. Finally, we have the table P p+1 that is
used to simulate the end of a successful computation in Π: if we use this table
when there still exist some rules that can be applied to the symbols present in
the current configuration then, we introduce the non-terminal # which cannot be
removed by the string anymore; otherwise, we get a terminal string.
As an E0L system is a an ET0L system with only one table, we get immediately the
following result.
Corollary 3.1. P sE0L ⊆ P sEOP1,2,3 .
Therefore, we can say the hierarchy on the number of states collapses (at least) at
level 4.
3.5 Discussion
This chapter reported contributions to the investigation of the power of evolution and
communication in P systems. Our research focused on the study of P systems with
minimal cooperation in the communication rules both in the case of purely communicative systems (P systems with symport/antiport) and in the case of an evolutioncommunication model (P systems with boundary rules). As well as this, we presented
PX systems as a model of membrane systems where the evolution of the objects is
controlled by an underlying state-transition diagram.
The result of Theorem 3.3, page 40 has been recently improved in [9] by showing
that 3 membranes suffice in order to get the universality of P systems with minimal
symport/antiport. Therefore, if we re-consider the results of Theorem 3.4, page 48,
in terms of symport/antiport then, the best known results concerning the power of P
systems with symport/antiport currently are those reported in Table 3.1.
PC P systems
EC P systems
N OP3 (sym1 , anti1 ) = N RE
N OP3 (sym2 , anti0 ) = N RE
N OP2 (sym1 , anti1 , ncoo) = N RE
N OP2 (sym2 , anti0 , ncoo) = N RE
[9]
[9]
[7]
[86]
Table 3.1: The current best universality results concerning P systems with symport/antiport in the purely communicative case (PC P systems) and in the
case of an evolution-communication model (EC P Systems).
The optimality of the results in Table 3.1 is not known except for the one from [7];
1-membrane EC P systems with minimal symport/antiport in fact are equivalent to noncooperative P systems since they cannot interact with the environment and there cannot
58
be any cooperation between the objects placed inside their unique membrane. Instead,
for what concerns PC P systems, we only know from [118] that 2-membrane systems
with symport rules of size 2, or symport/antiport rules of size 1, are computationally
complete once provided with the features of a terminal alphabet; that is, such systems
can simulate counter machines but at the end of the simulation some unwanted objects
remain inside the output membrane. Alternatively, one can obtain the universality
of 2-membrane PC P systems with minimal symport/antiport by considering tissue P
systems (i.e., P systems with an underlying graph structure) where both membranes are
given direct access to the environment; such a result has been formally proved in [12].
Furthermore, P systems with symport/antiport have been proved to be computationally
complete even in the deterministic case [63], at the price of using either symport rules
of size 3 or antiport rules of size 2 though. Therefore, characterising the computational
power of deterministic P systems with symport rules of size 2 or with symport/antiport
rules of size 1 is still an open problem. Finally, some recent researches (e.g., see [8]) have
been dedicated to the study of PC P systems with an alphabet of a fixed size in order
to characterise the complexity of the “minimal” encoding necessary to simulate counter
automata by means of P systems with symport/antiport.
Theorem 3.5, page 49, instead deals with communication rules of a different form
which always move only one object at a time, maybe with the help of another one
acting as an activator which is left untouched in the place where it is. Originally, we
proved this result in [19] for tissue P systems with two cells communicating alongside
the edge of a graph. Here, we have indeed shown how to transfer this result to P
systems with boundary rules where membranes are given the capability of checking for
the presence of particular objects both in their outside and in their inside. Specifically,
the communication rules used in the proof of Theorem 3.5, 49, are all of the forms
a [i b → ab [i , a [i b → [i ab, a [i → [i a, [i a → a [i and one may notice that these do not
exhaust all the possibilities. In fact, boundary rules can also express communication
rules of the form ab [i → a [i b, [i ab → a [i b, which actually reverse the effect of the
previous ones by separating through the membrane a pair of objects placed inside the
same membrane. The study of the power of this type of communication rules is an
open issue yet to be investigated especially in the purely communicative case. In this
respect, we have to say all the existing results concerning the power of P systems with
some notion of promoters or activators rely either on promoters/activators of size 2 or
on the movement of more than one object at a time. For instance, this is the case for
P automata [49] and for P systems with activated/prohibited membrane channels [60].
The power of purely communicative systems where one moves only one object at a time
in a specific direction with the help of an activator of size 1 is not known.
Finally, the main features of PX systems with symbol-objects have been illustrated in
Section 3.4, page 52, as a P system model which combines P systems and X machines.
A parallel version of PX systems, called PPX systems, were also proposed in [34] and
[21] where all the transitions emerging from every active state may be triggered once
the rules associated with them may be applied; if that is case, several copies of the same
membrane structure are allowed to evolve in parallel independently from the others until
a confluent state is reached where the different copies are merged together. PPX systems
59
were shown to be able to solve SAT in linear time both in the case of string objects [34]
and symbol objects [21]. In general, PX systems could be made more flexible and expressive and could be useful to capture the highly variability of behaviours that is observed
in biological systems. For instance, this could be obtained by differentiating the general
behaviour from compartment to compartment, which get associated different transitions
and different set of states. This may result in a model that is more similar to communicating X machines [33], where different machines interact through the membranes that
define the structure of the system. In response to these interactions, each compartment
is then expected to be able to trigger different sets of rules that operate on its internal
configuration. As well as this, a suitable representation for the environment has to be
introduced as a counterpart of the notion of input/output usually considered in the X
machine model. Furthermore, one might think of associating operations such as those
considered in P systems with active membranes with the transitions in order to have
systems with a dynamical structure. In this respect, we have to report the work done in
[126], [127], as a further attempt at combining P systems and X machines. However, in
such an approach, they use the notion of population P systems introduced in Chapter 5
of this thesis rather than the basic model of P systems.
60
Chapter 4
Travelling within P Systems with Active
Membranes
Here we propose an alternative approach to generate languages by means of P systems: building up an appropriate representation for a string by means of an appropriate
membrane structure and then generating the string by visiting the membrane structure according to a well-specified strategy. To this aim, we consider P systems with
active membranes, allowing membrane creation or division or duplication and dissolution, where the output of a computation may be obtained either by visiting the tree
associated with the membrane structure, or by following the traces of a specific object,
called traveller, or sending out the objects. For each of these approaches, we provide
characterisations of recursively enumerable languages based on P systems that use different sets of operations for modifying the membrane structure. This chapter is based
on the paper [16] coauthored with Marian Gheorghe.
4.1 Languages of membrane structures
P systems with active membranes [105] have been described in Chapter 2, Sub-section
2.4.3 , page 28, as a class of P systems where the rules, besides moving and transforming
the objects, are able to modify the membrane structure itself by using a specific set of
membrane operations like membrane division or membrane creation. As we have seen,
P systems with active membranes have been investigated mainly with the purpose of
finding “efficient” solutions to NP complete problems. Here, we use P systems with
active membranes for a different purpose: generating a language by providing appropriate representations of the strings of the language by means of corresponding membrane
structures. In other words, in our approach instead of considering the output of a computation as a single entity, which is either sent out of the system or collected in a specific
membrane, the output is given by catenating the content or the labels of each region of
the whole configuration reached by the system at the end of a computation. The motivation for such an approach came from [105] where the issue of ”generating languages
through the generation of appropriate membrane structures” was precisely stated as an
open problem in membrane computing (Problem Q30 page 345 in [105]):”...In all the
previous chapters of the book, the purpose of a computation was related to the objects
present in the regions of the system...Let us reverse the perspective, and take the membranes structure -and the tree describing it- obtained at the end of a halting computation
61
as the result of that computation...In the case of systems which use only the action of
membrane dissolving, the set of all trees associated in this way with a system Π is finite,
but this is not the case when we can make use of membrane division or of membrane
creation. Moreover, further operations with membranes can be considered...”. Furthermore, the approach presented here is related to the more general problem of ”finding
alternative ways to define the output of the computations in a P system” which was
subsequently remarked in [112],[113].
Specifically, in this chapter, in order to address the aforementioned issues, we consider
a general class of P systems with active membranes equipped with membrane division,
creation, duplication and dissolution operation. Membrane duplication means that,
starting from an existing membrane, we can create a new membrane which encloses
the existing one. Then, we identify three different approaches for collecting the output
of a computation: visiting the tree associated with the membrane structure, following
the traces of a special object (traveller traces), and sending out the objects (external
mode). As pointed out in Chapter 2, Remark 2.1, page 18, an alternative representation
for a membrane structure is given by a tree where the root is (the label of) the skin
membrane, the leaves are the elementary membranes and the intermediate nodes are
the non-elementary membranes arranged in a way respecting the inclusion relationships
among the membranes. This tree implicitly introduces an order among the nodes that
are children of the same parent. In fact, these nodes are usually “read” from left to right;
it means that the representation of a membrane structure by means of a tree is not unique
in general. For instance, the membrane structure [ 0 [1 ]1 [2 ]2 ]1 , can be associated to both
the tree 0(1, 2) (0 is the root, 1 is the left child, and 2 is the right child) and the tree
0(2, 1) (0 is the root, 2 is the left child, and 1 is the right child). Nevertheless, once we
have chosen a specific tree, we can associate a string to the membrane structure by just
visiting the tree according to a specific strategy and collecting either the labels of the
membranes or the objects inside the membranes. Obviously, this string depends on the
tree selected. Following the traces of a special object, called the traveller, means that,
every time this object crosses a membrane, the label of this membrane is added at the
end of the string containing the membrane labels that were crossed by the traveller up
to this moment. This idea about the traveller were proposed for the first time in the
context of P systems with symport/antiport [75], where a characterisation of recursively
enumerable languages is provided by using antiport rules of arbitrary size with permitting
conditions (see also [64] for further remarks and improvements). Instead the externalmode was already investigated for transition P systems [105] by considering P systems
that internally process multisets of objects, but a language is obtained as a result of a
computation by collecting the objects that are sent out of the system in the order they
exit the skin membrane. The main difference with respect to this approach is that here,
before sending out the objects, we need to prepare an appropriate membrane structure
where the output objects are supposed to be distributed according to a specific strategy.
The chapter is organised as it follows. Section 4.2 contains the definition of tree associated to a membrane structure and the definition of P systems with active membranes
together with the definition of three different output modes. Section 4.3 report the main
results concerning the power of P systems with active membranes generating languages of
62
membrane structures. In particular, we provide characterisations of recursively enumerable languages by means of languages generated by P systems with active membranes by
visiting the tree, following the traces of the objects and sending out the objects. Finally,
a comparison with similar approaches proposed in the existing literature is discussed in
Section 4.4 where possible directions for future research are also briefly mentioned.
4.2 Definitions
In this chapter, we explicitly use trees with the nodes labelled by symbols from a given
alphabet to represent membrane structures.
Definition 4.1 (set of trees). Let K be an alphabet. The set of trees T K is the
smallest set that contains the following strings over K:
1. l() ∈ TK , with l ∈ K (the tree with the root labelled by l and an empty set of
descendants),
2. l(t1 , t2 , . . . , tn ) ∈ TK , with l ∈ K, t1 , t2 , . . . , tn ∈ TK , n ≥ 1 (the tree with root
labelled by l and descendants t1 , t2 , . . . , tk , in this order from left to right).
We stress the fact that here we are interested in ordered trees where nodes must be
listed by following a specific order from left to right.
Now, Let K be an alphabet, and let LM be language of matching square brackets
as specified in Definition 2.1, page 2.1. We denote LM (K) the language obtained from
LM by labelling in an one-to-one manner each pair of matching square brackets with a
symbol K. A membrane structure, denoted by µ is any string of the language LM (K).
The language LM (K) is also called the set of membrane structures over K.
That is, with respect to Chapter 2, Section 2.2, page 16, we consider every string in
the language LM as a different membrane structure where the order of the membranes
placed at the same level is fixed.
The following recursive procedure is then defined that associate to each membrane a
tree.
Definition 4.2 (tree associated to a membrane structure). Let K be an alphabet,
and let LM (K) be the set of membrane structures over K. For all µ ∈ LM (K), the
tree associated to µ is the tree obtained from µ by applying recursively the function
treeK : LM (K) −→ TK such that:
• if µ = [l η1 . . . ηn ]l , with l ∈ K and η1 , . . . , ηn ∈ LM (K), then
treeK = l(treeK (η1 ), . . . , treeK (ηn ));
• if µ = [l ]l , with l ∈ K, then treeK = l().
Notice that the tree associated to a given membrane structure is unique.
Next, we define a general class of P systems with active membranes that is equipped
with a complete set of basic operations for manipulating membrane structures: creation,
division, duplication and dissolution.
63
Definition 4.3 (P systems with active membranes). A P system with active membranes is a construct
Π = (V, K ∪ {0}, µ, w0 , w1 , . . . , wm−1 , R)
where:
1. V is an alphabet; its elements are called objects;
2. K is an alphabet; its elements are called labels; the symbol 0 ∈
/ K is the label of
the skin membrane;
3. µ ∈ LM (K ∪ {0}) is a membrane structure containing m ≥ 1 where: the skin
membrane is labelled by 0 and all the other membranes are labelled with symbols
in K;
4. w0 is the multiset associated with the skin membrane;
5. wi ∈ V ∗ , for each 1 ≤ i ≤ m − 1, is a multiset of objects associated with the
membrane ji ;
6. R is a finite set of rules of the form:
a) [i a → v ]i , with a ∈ V , v ∈ V ∗ , and i ∈ K ∪ {0} (inside a membrane i an
object a is replaced by a multiset v),
b) [i a ]i → b [i ]i , with a, b ∈ V , and i ∈ K ∪ {0} (an object is sent out from a
membrane, maybe modified),
c) a [i ]i → [i b ]i , with a, b ∈ V , and i ∈ K (an object is moved into a membrane,
may be modified),
d) [i a → [j b ]j ]i , with a, b ∈ V , i ∈ K ∪ {0}, and j ∈ K (membrane creation:
inside a membrane i, starting from an object a, a new elementary membrane
j is created, which contains an object b),
e) [i a ]i → [k b ]k [j c ]j , with a, b ∈ V , and i, j, k ∈ K (membrane division: the
membrane i, in the presence of an object a, is divided into two new membranes labelled by k and j, and the content (objects and sub-membranes)
of the membrane i is copied into each new membrane where the object a is
respectively replaced by b or c),
f) [i a ]i → [k b [j c ]j ]k , with a, b ∈ V , and i, j, k ∈ K (membrane duplication: the
membrane i, in the presence of an object a, is duplicated, that is, the label i
is changed into j, the object a is replaced by c, and a new upper membrane
labelled by k is created, which contains an object b),
g) [i a ]i → a, with a ∈ V , and i ∈ K (membrane dissolution: in the presence
of an object a, the membrane i is dissolved and its content (objects and
sub-membranes) is released in the directly upper region).
64
In this definition we can find the basic elements of every membrane system: an initial
structure with m membranes that contains m multisets associated with the regions, and
a finite set of evolution rules. Moreover, as usual in P systems with active membranes, we
also consider a distinct alphabet K which is used to label the membranes and is necessary
to precisely identify the rules that can be applied inside every membrane. In general,in
a P system with active membranes, the number of membranes can be increased and
decreased arbitrarily and there can be many different membranes with the same label,
which can be distinguished from each other only for the object they contain. Thus,
the labels from K make possible to keep finite the representation of a P systems by
specifying a set of ”types”, each one with its own set of rules, for the membrane possibly
present in the system at any time.
The set R contains rules for modifying both the number and the distribution of objects
inside the system and the number and type of membranes which define the structure of
the system. The former rules are expressed in the form of transformation and communication rules (rules of type (a), (b) and (c)) whereas the latter ones (rules of type (d),
(e), (f) and (g)) comprise the operations of: membrane creation, membrane division,
membrane duplication and membrane dissolution.
Remark 4.1. Here, with respect to the notion of P systems with active membranes
reported in Chapter 2, Sub-section 2.4.3 , page 28, we do not consider the features of
membrane polarisation as an extra label associated with each membrane which can be
modified by the application of the rules. However, in Definition 4.3, rules of more general
forms are introduced that are able to change the labels of the membranes by varying in
this way the set of rules which can be applied inside every membrane. Moreover, the
operations of division, duplication and dissolution are allowed both for elementary and
non-elementary membranes. Some results concerning the relationships between rules
that change the labels and rules with membrane polarisation can be found in [10].
As usual, P systems with active membranes evolve according to a non-deterministic
maximal parallel strategy. Rules of type (a), (b), (c), and (d) are applied to all the
objects which they can be applied to (we will subsequently impose a restriction on the
use of rules of type (d) when we will consider a specific way of collecting the output).
Rules of type (e), (f), (g) are applied to all the membranes which they can be applied
to. Obviously, in each step, the same membrane cannot be used by more than one rule
of type (e), (f), (g) (i.e., a membrane cannot simultaneously be divided, duplicated and
dissolved). More precisely, we assume that, in each step, the objects first evolve by
means of rules of type (a), (b), (c), (d), and then the membranes evolve according to
rules of type (e), (f), (g).
A computation is obtained by applying rules of R starting from the initial configuration. A computation is said successful if it reaches a configuration where no more rules
can be applied. The result of a computation may be considered in various forms, which
are called output modes.
• Visiting the tree. Let t0 be the tree associated to the initial membrane structure t 0 .
During a computation the tree associated with the membrane structure is updated
in the following manner:
65
- membrane creation: if the tree associated with the current membrane structure is of the form
t = α i(t1 , t2 , . . . , tn ) β
with α, β ∈ (K ∪ {0, (, )})∗ , n ≥ 0, and we create a new membrane j inside
the membrane i by means of a rule of type (d), then the new tree will be of
the form
t0 = α i(t1 , t2 , . . . , tn , j()) β,
- membrane division: if the tree associated with the current membrane structure is of the form
t = α i0 (t1 , t2 , . . . , i(τ ), . . . , tn ) β
with α, β ∈ (K ∪ {0, (, )})∗ , n ≥ 1, τ a sequence of strings in TK , and we
divide the membrane i by means of a rule [ i a ]i → [k b ]k [j c ]j , then the new
tree will be of the form
t0 = α i0 (t1 , t2 , . . . , k(τ ), j(τ ), . . . , tn )) β,
- membrane duplication: if the tree associated with the current membrane
structure is of the form
t = α i0 (t1 , t2 , . . . , i(τ ), . . . , tn ) β
with α, β ∈ (K ∪ {0, (, )})∗ , n ≥ 1, τ a sequence of strings in TK , and we
duplicate the membrane i by means of a rule [ i a ]i → [k b [j c ]j ]k , then the
new tree will be of the form
t0 = α i0 (t1 , t2 , . . . , k(j(τ )), . . . , tn )) β
- membrane dissolution: if the tree associated with the current membrane structure is of the form
t = α i0 (t1 , t2 , . . . , i(τ ), . . . , tn ) β,
with α, β ∈ (K ∪ {0, (, )})∗ , n ≥ 1, τ a sequence of strings in TK , and we
dissolve the membrane i by means of a rule of type (g), then the new tree will
be of the form
t0 = α i0 (t1 , t2 , . . . , τ, . . . , tn )) β.
Moreover, in order to avoid conflicts in updating the tree associated with the
membrane structure, we amend the maximal parallelism of P systems by imposing
that, in each step of a computation, only one membrane creation rule can be
applied inside each membrane. Notice this constitutes an important limitation to
the possibility of creating an exponential workspace in polynomial time by means
of membrane creation. This restriction on the use of rules of type (d) applies
66
only to this output mode based on visiting the tree. For the other output modes,
membrane creation rules have to be applied in maximal parallel manner as usual.
The result of a computation is the set of strings obtained by visiting the tree
associated with the membrane structure in the final configuration. Such a visit is
done in pre-order: visit the root and, from left to right, visit recursively all the
subtrees (i.e., given a tree i(t1 , t2 , . . . , tn ), visit i and recursively visit t1 , then t2 ,...,
and eventually tn ). The resulting set of strings is obtained by concatenating either
the labels of the membranes or the objects inside these membranes, in the order
they are visited. If a membrane contains more than one object, then we consider
all the possible permutations of these objects. When we collect the labels, we
do not consider the skin membrane, which is always labelled by 0. This output
mode is denoted either by lab, if we collect the labels, or by obj if we collect the
objects. Notice that visiting the tree in pre-order corresponds exactly to read from
left to right the string of matching square brackets defining the current membrane
structure.
• Traveller traces. We assume that the initial configuration contains a special object
t, called the traveller, inside some membrane. The traveller t can be moved by using
rules of type (b) or (c), but it cannot be modified by any rule. The resulting string
is obtained as follows: initially we start with the empty string associated with the
initial configuration, then whenever the object t crosses a membrane labelled by i,
we add the symbol i at the rightmost side of the current string. This output mode
is denoted by traces.
• External mode. The resulting set of strings is defined as follows: we start initially
with an empty string outside of the membrane system; whenever an object is sent
out of the skin membrane, we add such an object to the rightmost end of each
current strings. If some objects are sent out from the skin membrane at the same
time, we consider the string formed by all the permutations of these objects. This
output mode is denoted by ext.
Now, the language generated by a P system Π is the language L o (Π) that contains all
the strings produced by all the successful computations in Π according to the output
mode o ∈ {obj, lab, traces, ext}.
Let us show an example in order to clarify our definition of the output mode lab.
Example 4.1. Consider the following P systems with active membranes:
Π = (V, K ∪ {0}, [0 [a ]a ]0 , ∅, {A}, R)
67
where:
V
= {a, b, c, A}
K = {a, b, c}
R = {[a A ]a → [a c [b ]b ]a , a [a ]a → [a a ]a , b [b ]b → [b b ]b }
∪ {[a c ]a → c [a ]a , [b c ]b → c [b ]b , [c a ]c → a [c ]c }
∪ {b [a ]a → [a b ]a , [a a ]a → [a [a b ]a ]a , [b b ]b → [b c ]b [b ]b }
∪ {[0 c → [c a ]c ]0 , [0 c → [c ]c ]0 }
We consider the output mode lab, i.e., we want to visit the corresponding tree and collect
the labels of the membranes. The initial configuration of the system Π is given by the
string [0 [a A ]a ]0 , and the tree associated to the initial membrane structure is 0(a()).
Now, we can apply the duplication rule [ a A ]a → [a c [b ]b ]a to the initial configuration,
which changes the label of the membrane into b and creates a new external membrane a
that contains an object c. As a consequence of this operation, the corresponding tree is
updated to 0(a(b())). Then, the object c is moved up to reach the skin membrane due
to the rule [a c ]a → c [a ]a . At this point, we can apply one of the membrane creation
rule [0 c → [c a ]c ]0 or [0 c → [c ]c ]0 . However, in both cases we obtain a tree that is of
the form 0(a(b()), c()). Moreover, if we apply the rule [ 0 c → [c ]c ]0 , the computation
halts by generating the string abc, which is obtained by visiting the tree in pre-order.
Otherwise, if we apply the rule [0 c → [c a ]c ]0 the systems reaches the configuration
[0 [a [b ]b ]a [c a ]c ]0 , and we can continue by applying the rule [ c a ]c → a [c ]c , and then the
rule a [a ]a → [a a ]a , which brings the object a inside the membrane labelled by a. Thus,
we can duplicate the membrane a by using the rule [ a a ]a → [a [a b ]a ]a . The new object
b is immediately moved inside the membrane b, and this membrane is divided by the
rule [b b ]b → [b c ]b [b ]b . In this way, the system reaches the configuration
[0 [a [a [b c ] b [b ]b ]a ]a [c ]c ]0
and the corresponding tree is changed into 0(a(a(b(), b())), c()). Finally, the object c
is moved up to reach the skin membrane, and yet again we can decide either to stop
the computation by applying the rule [ 0 c → [c ]c ]0 , or to continue by applying the rule
[0 c → [c a ]c ]0 . In the former case, the resulting string is the string aabbcc. Thus, we
can say that Llab (Π) = { an bn cn | n ≥ 1 }.
This example clearly shows the correspondence between the representation based on
strings of matching square brackets and that given by trees, as well as the pre-order visit
of the trees and the reading from left to right of the string of matching square brackets.
For these reasons, in the rest of the chapter we will not report the trees but we will use
only strings of matching square brackets to represent the current membrane structure.
4.3 Main results
We denote by LOPm,n (Op, l), with Op ⊆ {a, b, c, d, e, f, g}, l ∈ {obj, lab, traces, ext),
the family of languages generated by P systems with active membranes with at most
68
m membranes in the initial configuration that use at most n different labels for the
membranes (the cardinality of K ∪ {0} is at most n), that apply rules of the forms
specified in Op, and has the output mode l. As usual, if the value of m, or the value of
n, is not bounded, it is replaced by the symbol ∗. Moreover, when the rules of type (e),
(f), and (g) are allowed only for elementary membranes, the corresponding operations
are denoted by e0 , f 0 , and g 0 .
In order to investigate the size of these families of languages, we need to recall the
notion of iterated finite transducer from [88], in short IFT. An IFT is a construct γ =
(K, V, s0 , a0 , F, P ) where K, V are disjoint alphabets (the set of states and the alphabet
of γ), s0 ∈ K (the initial state), a0 ∈ V (the starting symbol), F ⊆ K (the set of final
states) and P is a finite set of transition rules of the form sa → xs 0 , for s, s0 ∈ K, a ∈ V ,
x ∈ V ∗ (in state s, the symbol a is read, the state s 0 is reached, and the string x is
produced). For s, s0 ∈ K and u, v, x ∈ V ∗ , a ∈ V , we define
usav ∼ uxs0 v iff sa → xs0 ∈ P.
This is a direct transition step with respect to γ. We denote by ∼ ∗ the reflexive transitive
closure of the relation ∼. Then, for w, w 0 we define
w =⇒ w0 iff s0 w ∼∗ w0 s, for some s ∈ K.
We say that w derives w 0 ; notice that this means that the string w 0 is obtained by translating w, starting from the initial state s 0 and ending in any state of γ, not necessarily
a final one. We denote by =⇒∗ the reflexive and transitive closure of the relation =⇒.
f
If in the writing above we have s ∈ F , then we write =⇒ instead of =⇒. The language
f
generated by γ is L(γ) = { w ∈ V ∗ | a0 =⇒∗ w0 =⇒ w, for some w 0 ∈ V ∗ }. Therefore,
we iteratively translate the strings obtained by starting from a 0 , without care about the
states we reach at the end of each translation, but in the last step we necessarily stop in
a final state. We denote by IF Tn , n ≥ 1, the families of languages of the form L(γ), for
γ with at most n states. The main result concerning these families of languages is the
following [88]:
Theorem 4.1. IF T4 = RE.
Thus, the hierarchy on the number of states collapses: IFT’s with only four states are
able to characterise the recursively enumerable languages.
In the next two sub-sections, we present some characterisations of recursively enumerable languages by means of languages associated with a membrane structure. Such
results prove the universality for P systems with active membranes and show how the
operations of membrane creation, division and duplication can be used for providing
suitable representations of any language by simulating matrix grammars with appearance checking in Z binary normal form (see Chapter 1, Section 1.3, page 1.3) or iterated
finite transducers.
69
4.3.1 The power of membrane creation and membrane division
We start by showing the universality of P systems with membrane division and membrane
dissolution with respect to the output modes lab, obj.
Theorem 4.2. LOP1,∗ ({a, b, c, d, g}, v) = RE, for v ∈ {lab, obj}.
Proof. Let G = (N, T, S, M, F ), with N = N 1 ∪N2 ∪{S, Z, #}, be a matrix grammar with
appearance checking in Z-binary normal form where the matrix of type 1 is (S → XA),
the matrices of type 2 are labelled, in one to one manner, by m 1 , . . . , mk , and matrices of
type 3 by mk+1 , . . . , mn . We construct a P system with active membranes that simulates
the matrix grammar G such that:
Π = (V, K ∪ {0}, [0 ]0 , {X 0 A0 }, R)
where:
V
= N1 ∪ N2 ∪ T ∪ {Z, #} ∪ {Yi , i | Y ∈ N2 , 1 ≤ i ≤ n }
∪ {a000 , a00 , a0 , ā | a ∈ N2 ∪ T } ∪ {δ, δ 0 , δ̄}
K = N2 ∪ T ∪ {1, 2}
R = {[0 X 0 → X]0 , [0 A0 → [A A]A ]0 | (S → XA) ∈ M }
∪ {[0 X → Yi i ]0 | mi : (X → Y, A → x) ∈ M, 1 ≤ i ≤ k}
∪ {[0 Yi → [1 Y ]1 ]0 | Y ∈ N1 , 1 ≤ i ≤ k}
∪ {[0 X → Yi i ]0 | mi : (X → Y, A → #) ∈ M, k + 1 ≤ i ≤ n}
∪ {[0 Yi → [2 Y ]2 ]0 | Y ∈ N1 , k + 1 ≤ i ≤ n}
∪ {[0 i → # ]0 | 1 ≤ i ≤ k }
∪ { i [2 ]2 → [2 δ ]2 | k + 1 ≤ i ≤ n}
∪ {i [A ]A → [A i ]A | mi : (X → Y, A → x) ∈ M, 1 ≤ i ≤ k }
∪ { i [A ]A → [A # ]A | mi : (X → Y, A → #) ∈ M, k + 1 ≤ i ≤ n}
∪ { [A i → a¯1 a000
2 ]A | mi : (X → Y, A → a1 a2 ) ∈ M, 1 ≤ i ≤ k, a1 , a2 ∈ N2 ∪ T }
∪ { [A i → āδ 0 δ ]A | mi : (X → Y, A → a) ∈ M, 1 ≤ i ≤ k, a ∈ N2 ∪ T }
∪ { [b ā → [a a ]a ]b , [b a000 → a00 ]b , [b a00 → [a a0 ]a ]b , [b a0 → aδ̄δ 0 ]b ,
[b δ̄ ]b → δ [b ]b , [b δ 0 ]b → δ 0 [b ]b | a, b ∈ N2 ∪ T }
∪ {[i # → # ]i , [i δ ]i → δ | i ∈ K} ∪ {[0 # → #]0 }
∪ { δ 0 [1 ]1 → [ 1 δ ] 1 , [ 0 Z ] 0 → Z [ 0 ]0 , [ 0 δ ] 0 → δ [ 0 ]0 }
∪ {[0 A ]0 → A [0 ]0 | A ∈ N2 }
Let us see how the P system Π works. Initially, we have the configuration [ 0 X 0 A0 ]0 ,
and we simulate the unique matrix of type 1 in G by applying the rules [ 0 X 0 → X]0 ,
[0 A0 → [A A]A ]0 , which produce the configuration [0 X [A A ]A ]0 .
70
In general, we may suppose to have produced after some steps of a computation a
configuration of the form
[ 0 X [ x1 x 1 ] x1 [ x2 x 2 ] x2 . . . [ xh x h ] xh ] 0 .
(4.1)
for some h ≥ 1, Xx1 x2 . . . xh a sentential form of G, with X ∈ N1 , and xi ∈ N2 ∪ T .
We assume that the membranes x1 , x2 , . . . , xh appear exactly in this order in the tree
associated with the membrane structure and we will show that this order is preserved
by the application of the rules of R. Given a configuration like (4.1), we apply a rule
[0 X → Yi i ]0 , for some 1 ≤ i ≤ n. We distinguish two cases according to the value of i.
Case 1: 1 ≤ i ≤ k. It means that we want to simulate the application of a matrix
of type 2, i.e., mi : (X → Y, A → x). In this case, we complete the simulation of the first
rule of the matrix mi by applying a rule [0 Yi → [1 Y ]1 ]0 . The symbol Y remains inside
the membrane labelled by 1 until we have finished the simulation of the rule A → x. In
the meanwhile, by using a rule i [A ]A → [A i ]A , we move the index i into a membrane
labelled by A, if some membrane labelled by A is present in the current configuration.
Otherwise, we have to apply the rule [ 0 i → # ]0 , which introduces the symbol # that
generates an infinite computation by means of the rule [ 0 # → # ]0 .
Now, consider the rule A → x in the matrix m i , and suppose |x| = 1, that is, x = a ∈
N2 ∪ T . In this case, when the index i gets into the membrane A, we just apply the rule
[A i → āδ 0 δ ]A , which produces the objects ā, δ 0 , δ inside the membrane A. In the next
step, we create a new membrane labelled by a and dissolve the membrane A by using
the rules [A ā → [a a ]a ]A , [A δ ]A → δ. In this way, we replace the membrane A with a
membrane labelled by a, which occupies the same position in the tree associated with
the membrane structure, and we release the objects δ, δ 0 , A into the skin membrane.
The objects δ, A are sent out of the system while, the object δ 0 enters into the membrane
1 being changed to δ. Here, we apply the rule [ 1 δ ]1 → δ, which releases the object Y
inside the skin membrane. In such a way, we complete the simulation of the matrix m i
and we can restart by simulating another matrix of G. In the other case, that is, |x| = 2,
with x = a1 a2 , a1 , a2 ∈ N2 ∪ T , when i gets into the membrane A, we apply the rule
000
[A i → a¯1 a000
2 ]A , which produces the objects a¯1 , a2 inside the membrane A. In the next
step, starting from the object a¯1 , we create inside the membrane A a new membrane
labelled by a1 that contains the object a1 while, the object a000
2 is replaced by the object
00
00
0
a2 . Then, we apply the rule [A a2 → [a2 a2 ]a2 ]A , which creates inside the membrane A
a new membrane labelled by a2 that contains the object a02 . Thus, by operating in this
way, we obtain a configuration of the form
[0 [x1 x1 ]x1 [x2 x1 ]x2 . . . [A A[a1 a1 ]a1 [a2 a02 ]a2 ]A . . . [xh xh ]xh [1 Y ]1 ]0 .
The computation continues by replacing the object a 02 with a2 and by sending out the
objects δ̄, δ 0 . δ̄, δ 0 , with the object δ̄ changed into δ. In the next step, the membrane
A is dissolved because of the rule [A δ ]A → δ, and the objects δ, δ 0 , A are released into
the skin membrane. By operating in this way, we replace the membrane A with two
membranes labelled by a1 , a2 , respectively, which appear in the tree associated with the
71
membrane structure in the right order because they are created in two different steps:
we create the membrane a1 before the membrane a2 .
Similar to |x| = 1 the objects δ, δ 0 , and A are released into the skin membrane and
then a new derivation step may be simulated.
Case 2: k + 1 ≤ i ≤ n. It means that we want to simulate the application of a
matrix of type 3, i.e, mi : (X → Y, A → #). In this case, we use the index i to check
for the presence of a membrane labelled by A in the current configuration (i.e., the rule
A → # is applied in appearance checking mode). If there exists a membrane A, the
object i is moved inside that membrane changed into #, and an infinite computation
that yields no result is generated. Otherwise, the index i remains in the skin membrane
because we cannot apply any rule. In the meanwhile, we apply the rule [ 0 Yi → [2 Y ]2 ]0 ,
which creates a new membrane labelled by 2 that contains the symbol Y . In the next
step, if the index i is still present inside the skin membrane, (i.e., there are no membranes
labelled by A in the current configuration), we can apply the rule i [ 2 ]2 → [2 δ ]2 , which
moves the object i into the membrane 2 changed into δ. At this point, the membrane
2 is dissolved by using the rule [2 δ ]2 → δ, and the object Y is released into the skin
membrane. In this way, we correctly simulate a matrix m i , which contains a rule that
is applied in appearance checking mode.
Finally, if the symbol Z is introduced inside the skin membrane, it is immediately
sent out by using the rule [0 Z ]0 → Z [0 ]0 and the computation halts by having correctly
simulated a derivation in G.
Now, according to the above discussion concerning the behaviour of the system Π, we
can say that a halting computation in Π produces a configuration of the form:
[ 0 [ x1 x 1 ] x1 [ x2 x 2 ] x2 . . . [ xh x h ] xh ] 0
for some h ≥ 1, if and only if the string x 1 x2 . . . xh ∈ L(G). Moreover, if we visit
the tree associated with this membrane structure either by collecting the labels or by
collecting the objects, we get exactly the string x 1 x2 . . . xh in both cases. Thus, we have
Lobj (Π) = Llab (Π) = L(G) in both cases.
This proof may be simplified when we collect the labels of the membranes because we
are not interested in the objects placed inside the membranes. This means that, given
a rule A → a1 a2 , we may just replace the membrane A with two new empty membranes
labelled by a1 , a2 , respectively. A similar simplification may be applied when we collect
the objects, but only for the membranes labelled by non terminals.
A similar result holds for P systems that use the operations of membrane division (e)
and dissolution of elementary membranes (g 0 ):
Theorem 4.3. LOP2,∗ ({a, b, c, e, g 0 }, v) = RE, for v ∈ {lab, obj}.
Such a result can be achieved by applying the same technique used in Theorem 4.2,
page 70 for simulating matrix grammars in Z-binary normal form, but this is left as an
72
exercise for the reader. We just remark that we need one more membrane in the initial
configuration because the skin membrane cannot be divided. Moreover, as membrane
division allows the system to immediately create two new membranes placed at the same
level, we can avoid using dissolution of non-elementary membranes.
4.3.2 The power of membrane duplication
The previous results show that the family of recursively enumerable languages may be
generated by P systems with active membranes that produce membrane structures of
depth 2 with all membranes placed at the same level. In this case, a “pre-defined” order
among the membranes is indispensable to get a suitable representation for the strings
of a language. Therefore, such an approach does not work well in the case of the traces
or external-mode where we want to generate a suitable output without assuming any
pre-existent order among the membranes. The next result shows that such a problem
can be avoided by considering the operation of membrane duplication that allows us to
generate linear membrane structures where each membrane is placed inside another one.
Theorem 4.4. LOP2,∗ ({a, b, c, f, g}, v) = RE, for v ∈ {lab, obj, ext} and
LOP3,∗ ({a, b, c, f, g}, traces) = RE.
Proof. The proof is based on the simulation of matrix grammars with appearance checking in Z-binary normal formal and follows the technique used in Theorem 4.2, page 70.
Thus, we do not report all the details of the proof, and we consider only the cases of
traveller traces and the external mode.
Let G = (N, T, S, M, F ), with N = N1 ∪ N2 ∪ {S, Z, #}, be a matrix grammar with
appearance checking in Z-binary normal form where the matrix of type 1 is (S → XA),
the matrices of type 2 are labelled, in one to one manner, by m 1 , . . . , mk , and matrices
of type 3 by mk+1 , . . . , mn .
Traveller traces. We consider a P system Π where the initial configuration is represented
by the string [0 [1 t ]1 [1 S ]1 ]0 , for S the initial symbol of the matrix G and t the traveller.
The initial matrix (S → XA) is simulated by applying the rule [ 1 S ]1 → [1 X 0 [A0 ]A0 ]1 ,
and then the rules [1 X 0 → X ]1 , [A0 ]A0 → [A [$ ]$ ]A , which produce the configuration
[0 [1 t ]1 [1 X [A [$ ]$ ]A ]1 ]0 . We need the membrane labelled by $ in order to identify the
end of the string.
In general, we may suppose to have produced after some steps of a computation a
configuration of the form
[ 0 [ 1 t ] 1 [ 1 X [ x1 [ x2 . . . [ xh [ $ ] $ ] xh . . . ] x2 ] x1 ] 1 ] 0 .
where h ≥ 1, and Xx1 x2 . . . xn is a sentential form of G, with X ∈ N1 , xi ∈ N1 ∪ T .
Consider a matrix mi : (X → Y, A → a1 a2 ), with 1 ≤ i ≤ k, a1 , a2 ∈ N2 ∪ T . We
apply a rule [1 X ]1 → [2 Y [1 i0 ]1 ]2 , and then we dissolve the membrane 1 by using a rule
[1 i0 ]1 → i0 , which releases the object i0 inside the membrane 2. Here, the object i 0 is
replaced by the object i. At this point we can start to move the index i down to the
73
membrane structure in search of the symbol A by using rules of the form i [ x ]x → [x i ]x ,
with x ∈ N2 ∪ T . When the index i reaches a membrane labelled by A, we can apply a
rule [A i ]A → [a1 [a2 δ 0 ]a2 ]a1 , which replaces the membrane A with two new membranes
labelled by a1 , a2 , respectively. Then, the object δ 0 is moved up to reach the membrane
2 that contains the non-terminal Y . On the other hand, if the current configuration
does not contain a membrane labelled by A, the index i is moved down to reach the
membrane labelled by $, where it is replaced by the trap-symbol # that generates an
infinite computation.
When the object δ 0 reaches the membrane 2, we apply the duplication rule [ 2 δ 0 ]2 →
[2 δ [1 ]1 ]2 , and then we dissolve the membrane labelled by 2 by producing a configuration
of the form
[0 [1 t ]1 [1 Y [x1 [x2 . . . [a1 [a2 . . . [xh [$ ]$ ]xh . . .]a2 ]a1 . . .]x2 ]x1 ]1 ]0 .
Thus, we simulate a matrix of type 2 by replacing the symbol X with Y and by replacing
the membrane A with a membrane a1 and a membrane a2 inside the membrane a1 .
In a similar way, we simulate a matrix m i : (X → Y, A → #) of type 3, with k + 1 ≤
i ≤ n. We replace the membrane 1 with a membrane labelled by 2, which contains
the symbol Y and the index i. The object i is moved down to the membrane structure
to check if the current configuration contains a membrane labelled by A. If such a
membrane exists, we apply a rule i [A ]A → [A # ]A , which introduces the trap-symbol
inside the membrane labelled by A. Otherwise, the index i reaches the membrane $,
where it is replaced by an object δ 0 . Then, such an object is moved up to the membrane
2 where the simulation of the matrix m i is completed by replacing the membrane 2 with
a membrane labelled by 1.
Finally, if the non-terminal Z is introduced into the membrane 1, such a membrane
is dissolved by using a rule [1 Z ]1 → Z, and the object Z is released inside the skin
membrane. In the next step, the symbol Z is moved inside the membrane 1 that contains
the object t, and this membrane is dissolved too by producing a configuration of the form
[ 0 t [ x1 [ x2 . . . [ xh [ $ ] $ ] xh . . . ] x2 ] x1 ] 0 .
with x1 x2 . . . xh ∈ L(G), for some h ≥ 1. At this point we just move the traveller t by
using rules of the form t [a ]a → [a t ]a , with a ∈ T , and in this way we generate exactly
the string x1 x2 . . . xh ∈ L(G).
External Mode. We consider a P system Π where the initial configuration is represented by the string [0 [1 S ]1 ]0 , for S the initial symbol of the matrix G. We simulate
the derivation in G by operating in the same way described above for the traveller traces,
and in the last step the object Z is replaced by an object f instead of entering in the
membrane that contains the traveller (which does not exist in the current configuration).
Thus, we obtain a configuration of the form
[ 0 f [ x1 [ x2 . . . [ xh [ $ ] $ ] xh . . . ] x2 ] x1 ] 0 ,
and we can generate the string x1 x2 . . . xh ∈ L(G) by using the following rules:
74
• f [a ]a → [a f 0 ]a , with a ∈ T ,
• [a f 0 → af ]a , with a ∈ T ,
• [b a ]b → a [b ]b , with a, b ∈ T ,
• [0 a ]0 → a [0 ]0 , with a ∈ T .
It is easy to see that, by applying these rules, we send out the objects in the right
order.
In the previous results, we deal with P systems where the number of different labels
is not bounded, but it depends on the size of the alphabet. This seems to be reasonable
when we consider the labels of the membranes for representing languages, but in the
case of the objects, one may expect that a representation for any language is given by
using a bounded number of different labels. This result can be achieved by simulating
IFT’s instead of matrix grammars.
Theorem 4.5. For each n ≥ 1, IF Tn ⊆ LOP2,n+4 ({a, b, c, f, g}, v), for v ∈ {obj, ext}.
Proof. Yet again, we do not report all the details of the proof, but we just provide an
idea of the construction we need in order to simulate IFT‘s, the task of giving a complete
formalisation is left to the reader.
Consider an IFT γ = (K, V, s0 , a0 , F, P ), where K = {s0 , . . . , sn−1 }, for some n ≥ 1.
We assume that the rules in P are labelled, in a one-to-one manner, by 1, 2, . . . , m, and
that each rule in P has the form sa → b1 b2 . . . bk q. We start with a configuration of
the form [0 [$ S ]$ ]0 , with S a special symbol that does not appear in V , and we use
membrane duplication to produce a new configuration of the form:
[ 0 [ † [ $ [ s0 δ 0 [ 1 a 0 [ $ $ ] $ ] 1 ] s0 ] $ ] † ] 0
with a0 the initial symbol of γ, s0 the initial state of γ, and †, $, δ some new symbols
that do not appear in V . In general, consider a configuration of the form
[0 [† [$ [s δ 0 [1 a1 [1 a2 [1 . . . [1 ah [$ $ ]$ ]1 . . .]1 ]1 ]1 ]s ]$ ]† ]0
for some h ≥ 1. A rule of the form i : sa1 → b1 b2 . . . bk q ∈ P , with 1 ≤ i ≤ m, is
simulated by the following rules in Π:
- δ 0 [1 ]1 → [1 δ ]1 , [1 δ ]1 → δ (we “read” the symbol a1 by dissolving the first membrane labelled by 1);
- [s a1 → b¯1 b00i,2 ]s , [s b00i,j → b0i,j ]s , [s b0i,t → b¯t b00i,t+1 ]s , [s b0i,k → b¯k q 00 ]s , with 1 ≤ j ≤ k
and 1 ≤ t ≤ k − 1 (we produce in sequence the symbols b 1 , b2 ,. . .,bk ; the double
index i, j identifies the j-th symbol of the the i-th rule; when we get the last
symbol, we produce the symbol b̄k , and the next state q in the form q 00 );
- [s b¯j ]s → b¯j [s ]s , with 1 ≤ j ≤ n (the objects of the form b¯j are moved up to reach
the membrane labelled by $);
75
- [$ b¯j ]$ → [1 bj [$ ]$ ]1 , with 1 ≤ j ≤ n (we duplicate the membrane labelled by $
and we produce a new membrane labelled by 1 with the object b j contained in,
i.e., the j-th symbols of the i-th rule in P );
- [s q 00 → q 0 ]s , [s q 0 ]s → [s δ 00 [q δ 0 ]q ]s , [s δ 00 ]s → δ 00 (we use these rules to replace the
membrane s with a membrane labelled by q, which represents the new state of the
transducer);
- [$ δ 00 → ]$ , [s δ → ]s , [s ]s → [s ]s , [$ ]$ → [$ ]$ , [1 ]1 → [1 ]1 , [† ]† → [† ]†
(the objects δ 00 , δ are transformed into the silent object ; such an object is moved
up to reach the skin membrane where it remains as a “waste product” of the
computation; when we consider the output mode obj, the object is instead sent
out the system; however, we do not take into account the occurrences of this object
in the rest of the proof).
Thus, by using these rules, it is easy to see that we are able to produce a configuration
of the form:
[0 [† [1 b1 [1 b2 [1 . . . [1 bk [$ [q δ 0 [1 a2 [1 . . . [1 ah [$ $ ]$ ]1 . . .]1 ]1 ]q ]$ ]1 . . .]1 ]1 ]1 ]† ]0
as the result of a direct transition step in γ. At this point, in a similar way, we can
translate the symbol a2 and so on for all the symbols aj , with 2 ≤ j ≤ n. At any moment,
if we get a symbol aj inside the membrane s that represents the current state and, there
does not exist a rule saj → xq, for some x, q, then we generate an infinite computation
by producing a trap-symbol inside the membrane s. However, let us suppose that we
can complete the translation of every symbol a j . This means that P system reaches a
configuration of the form:
[0 [† [1 b1 [1 b2 [1 . . . [1 bt [$ [q δ 0 [$ $ ]$ ]q ]$ ]1 . . .]1 ]1 ]1 ]† ]0
(4.2)
for some t ≥ 1, q ∈ K. In the next step we apply the rules δ 0 [$ ]$ → [$ δ ]$ , [$ δ ]$ → δ and
the object $ is released inside the membrane q. At this point, we can decide either to
iterate the process or finish the computation, if q ∈ F . In order to iterate the process,
we apply the rule [q $ → $0 ]q , and then the rule [q $0 ]q → $0 which releases the symbol
$0 inside the membrane $. Here, the symbol $ 0 is used to produce the objects $,†0 . The
symbol $ remains in the membrane $ whereas, the object † 0 is moved up to reach the
membrane labelled by †. When †0 reaches the membrane †, we perform two operations
of membrane duplication by using the rules [ † †0 ]† → [$ † [s0 δ 0 ]s0 ]$ , [$ † ]$ → [† [$ ]$ ]† .
In this way, we produce a configuration similar to the starting one and we can initiate
another transduction process.
On the other hand, if we have q ∈ F , that is, the string b 1 b2 . . . bt ∈ L(γ), we can
¯ q , and then the rule [q f¯ ]q → f¯
decide to stop the process by using the rule [ q $ → f]
¯
which releases the object f inside the membrane $. At this point the object f¯ is moved
up to reach the membrane †. Here we apply the rule [ † f¯ → f ]† and we generate the
output of the computation by using the rules:
- f [ 1 ]1 → [ 1 f 0 ]1 ,
76
- [1 f 0 → f 00 f ]1 ,
- [1 f 00 ]1 → f 00 ,
- [† a ]† → a [† ]† , with a ∈ V ,
- [0 a ]0 → a [0 ]0 , with a ∈ V .
Thus, it is easy to see that we are able to produce exactly the string b 1 b2 . . . bt ∈ L(γ).
In the case of the output mode obj, when the object $ gets into the membrane q, with
q ∈ F , we apply the rule [q $ → δ 00 ]q , and then the rule [q δ 00 ]q → δ 00 . In the next step
the object δ 00 is transformed into the object , which is subsequently sent out of the
membrane system. In this way the P systems reaches the configuration
[0 [† [1 b1 [1 b2 [1 . . . [1 bt [$ ]$ ]1 . . .]1 ]1 ]1 ]† ]0
and we can get exactly the string b1 b2 . . . bt ∈ L(γ) by just visiting the corresponding
tree.
As a consequence of this result and Theorem 4.1, page 69 we have:
Corollary 4.1. LOP2,8 ({a, b, c, f, g}, v) = RE, for v ∈ {obj, ext}.
Thus, by simulating IFT’s instead of matrix grammars, we get a characterisation of
recursively enumerable languages by means of P systems with active membranes that
use a bounded number of different membranes, when obj and ext output mode are
considered.
4.4 Discussion
The present chapter, with respect to traditional approaches in membrane computing,
focused on the idea of defining membrane systems that are able to build up a membrane
structure that encodes some meaningful information, which can be eventually read by
some output mechanism. In this respect, we have shown that P systems with active
membranes can be used to generate languages, in the sense of languages associated
with the structure of membrane systems, and this often leads to characterisations of
recursively enumerable languages. In particular, one may notice how our approach
based on “first preparing an appropriate membrane structure and then generating the
desired output” often simplify the task of generating a language. For instance, if we have
a look at the Theorem 4.4, page 73, we notice that firstly a specific linear membrane
structure is produced, and then we get a string by just moving the traveller by means
of a sort of minimal symport rules. Clearly, this represents a simplification if compared
with what was done so far [75], where antiport rules of arbitrary size were used in
order to achieve the computational universality. Nevertheless, there are classes of P
systems with active membranes whose computational power is yet to be investigated: P
systems with membrane creation and membrane dissolution (or membrane division and
77
membrane dissolution) operating according to the external mode or the traces mode; P
systems without membrane dissolution operating according to any of the three identified
output modes; P systems with membrane creation and membrane dissolution restricted
to elementary membranes. At the moment, we are not able to characterise the power of
such classes of P systems and we leave this as an open problem for future research.
The approach presented in this chapter might be generalised in such a way to have a
notion of P systems with associated two separate sets of rules: a set of evolution rules
and a set of dynamical rules. The evolution rules describe how to modify the objects inside the membranes and the membrane structure whereas, the dynamical rules are used
to describe how the information encoded in such a structure has to be read. Similarly a
notion of dynamic P systems was already considered [39], but with a different meaning:
the system performs internal computations by using symport/antiport rules while, the
structure of the system evolve by means of a contextual grammar that allows us to introduce new membranes and new rules in the system. An other approach in this direction is
represented by the works done in [38],[53] where specific classes of P systems with active
membranes are introduced for generating families of picture languages. Moreover, the
recent introduction of the notion of brane calculi [35] as bio-inspired variants of ambient
calculus that include operations for manipulating membranes, has raised a new interest
in studying the power of P systems where the output of a computation is encoded in the
membrane structures. In particular, it has been recently shown in [36] that P systems
with four basic membrane-operations taken from brane calculi are computationally complete. Moreover, a computation is obtained by manipulating multisets of protein-objects
which are embedded in the membranes themselves instead of being associated to the regions delimited by these membranes. In other words, all these approaches, including
the one presented in this chapter, put the emphasis on the structure, properties and
evolution of the membranes, which are indeed considered as “first class citizens” whose
interactions and transformations are essential to achieve successful computations.
78
Chapter 5
Population P Systems
In this chapter we introduce population P systems as a new class of P systems which
extend the existing notions of P systems in the following sense:
• the structure of the system is defined as an arbitrary graph rather than as a tree;
each node in the graph corresponds in a one-to-one manner to a cell in the system;
cells represent the basic functional units of population P systems and they are
allowed to communicate alongside the edges of the graph;
• the graph defining the structure of the system can change during a computation;
these changes involve both the set of nodes and the set of edges in the graph; new
cells can therefore be introduced in the system and new links can be formed among
these cells by altering in this way their communication capabilities.
From a biological point of view, population P systems are meant to provide an abstraction for populations of bio-units aggregated in more complex bio-entities. Biological
systems at various levels in fact share this important feature of being composed by
many individual components that cooperate with each other for the benefit of the system as a whole. In this way, higher levels of organisation are obtained by means of local
interactions among different individuals and between an individual and the environment.
Moreover mechanisms enabling new individuals to be introduced in the system, to update links between them or to remove some individuals from the system often play a
fundamental role in the evolution of a complex biological system. The motivation for
the introduction of population P system is furtherly discussed in Section 5.1 and Section
5.2.
Next, population P systems are defined in two separate stages: the mechanisms for
expressing cell-to-cell interactions are firstly introduced in Section 5.3 together with the
formalism of bond-making rules for altering this communication capabilities by adding
or removing edges from the graph defining the structure of the systems; the model is
then augmented in Section 5.4 with the mechanisms for varying the number and the
nature of the cells in the system by considering rules for cell division, cell death and
cell differentiation. The computational power of these various features of population P
systems is investigated in Sub-section 5.3.1, Sub-section 5.3.2 and Sub-section 5.4.1.
This chapter is based on the papers [15], [17] coauthored with Marian Gheorghe.
79
5.1 Dynamic networks of cells
A natural generalisation of membrane systems is represented by tissue P systems [105]
which represent a class of membrane systems where the structure of the system is defined
as an arbitrary graph. Nodes in such a graph represent membranes which are given the
capability of communicating objects alongside the edges of the graph. These edges can in
fact be interpreted either as abstract communication channels which are opened between
the membranes or as links which “physically” connect the membranes to form a more
complex structure. These networks of communicating membranes are called tissue P
systems because, from a biological point view, they can be interpreted as an abstract
model of tissues in multicellular organisms. In such organisms, cells are specialised
members of a multicellular community. They collaborate with each other to form a
multitude of different tissues, arranged into organs performing various functions [6].
This is also the reason why, throughout the chapter, the term cell, instead of membrane,
will be used to denote each basic functional unit corresponding to each node of the graph
defining the structure of the system.
As we have seen in Chapter 2, Sub-section 2.4.3 , page 28, and Chapter 4, page 61,
it is natural to consider P systems where the membrane structure itself is modified
during a computation through a specific set of membrane operations like membrane
creation, membrane division and membrane dissolution. In this respect, population P
systems aim at introducing these features of P systems with active membranes in the
context of tissue P systems in order to define systems with a dynamic structure of the
underlying graph. As well as this, population P systems start from the observation
that cells in a network of membrane can be interpreted as individual components of a
more complex system where cells cooperate/interact with each other for the benefit of
the system as whole. Specifically, the individual components are supposed to operate
as autonomous agents, each one characterised by its own behaviour which, in general,
depends both upon the internal state of the agent and upon the interactions with the
environment and with the other individuals present in the system. Thus, we can say
population P systems address features which are common to many different biological
systems from the molecular level to the case of colonies of more complex organisms. For
instance, intracellular proteins are described in [57] as individual and autonomous agents
capable of mediating the cell responses to external signalling through a sophisticated
network of interactions where information is processed in a distributed and parallel way.
Agent-based approaches are instead proposed in [131] to model tissues and in [78], [77]
to model ant colonies. However, in this chapter, population P systems are presented
with the standard approach of membrane computing by considering them as symbolprocessing devices capable of generating multisets of objects and by investigating their
computational power with respect to the classical notion of Turing computability. In
fact, in formal language theory, the aforementioned idea of agents is not new as it was
already considered in grammar systems [47], [48] where languages are generated through
the cooperation between different string-processing components.
Specifically, we are going to define a model of population P systems where the structure of the underlying graph is continuously modified after each step of transformation-
80
communication according to a specific set of bond-making rules, which are able to
add/remove edges from the graph defining the current structure of the system. A
transformation-communication step mainly consists in applying rules for modifying the
objects and communicating them from a cell to another one. In particular, communication rules are inspired by the general mechanism of cell communication based on
signals and receptors and they are presented with a formalism somehow related to the
notion of boundary rules introduced in Chapter 3, Section 3.3, page 45. As well as this,
cell division rules for duplicating the existing nodes in the graph, cell differentiation
rules for changing the type of the cells associated with the nodes in the graph, and cell
death rules for removing nodes from the graph can also be applied in a transformationcommunication step. Moreover, another important feature of the model considered here
is the notion of environment as a repository for the objects that are sent out from the
cells. The objects in the environment can subsequently re-enter the cells, and this provides a form of indirect communication between the cells in the system. The power of
population P systems is then investigated by considering separately the case when the
structure of the underlying graph cannot be modified by any rule, the case when only
the edges of the graph can be modified by using a finite set of bond-making rules, and
the case when both the edges and the nodes in the graph can be modified by allowing the
cells to use cell division rules, cell differentiation rules, and cell death rules. In the former
case, the main result obtained here shows the universality for completely unstructured P
systems where cells can communicate only indirectly by means of the environment without never forming any bond. Next, when bond-making rules are considered, population
P systems are proved to be computationally complete even when simple communication
rules where objects can be moved from a cell to another one without any restriction are
considered. We also provide a universality result for population P systems that use only
the operation of cell differentiation and a universality results for population P systems
that use cell division in combination with bond-making rules.
Finally, we want to stress once more that, although the cellular context is predominantly used throughout the chapter, a more general interpretation can be associated to
the various features of population P systems. Cell division/ cell death may be regarded
as generic operations for introducing/removing individuals from the current population.
Cell differentiation may be considered as a change in the role of an individual in the
population that turns to perform new tasks. Furthermore, bond-making rules can be
seen as modelling the fact that two individuals, in order to be able to interact, need to
“get in touch” somehow.
5.2 Cell-to-cell communication
Mechanisms enabling one cell to influence the behaviour of another one play a fundamental role in multicellular organisms where cells have to be able to coordinate their
own behaviour for the benefit of the organism as a whole. These communication mechanisms depend heavily on extracellular signal molecules, which are produced by a cell
to signal their neighbours or cells that are further away. Most of these signal molecules
81
are secreted from the signalling cell into the extracellular space by diffusion through the
plasma membrane. Some signals remain instead tightly bound to signalling cell surface,
and they are able to influence cells that are in direct contact with the signalling cell.
Cells can respond to external signalling by means of some proteins called receptors; receptors are able to recognise external signals by binding signal molecules to cell surface.
Each receptor specifically binds a signal molecule (or a class of signal molecules) and
initiates a specific response inside the target cell. In multicellular organisms, cells of different types are designed to respond to different classes of signal molecules and have got
assigned different classes of receptor proteins. When a receptor binds a signal molecule,
they form a single active unit that generates a cascade of intra-cellular signals, that
eventually alter a target protein in a way that changes the behaviour of the cell [6].
From a P system point of view, cell communication based on signals and receptors
represents an interesting combination of communication (a signal object is produced
inside a cell and reaches another cell identified as target cell) and evolution (the target
cell responds by altering its internal status). This leads to two reasonable interpretations
for the cell communication mechanism in the context of P systems: signals and receptors
as a mechanism to move objects from a cell to another one, or signals and receptors as
a mechanism to trigger particular transformations inside a cell once a signal has been
recognised by means of some receptor. In a sense, this latter interpretation can be
related to two common notions in membrane computing: the notion of catalyst (the
transformation of an object is mediated by a specific catalyst) and the notion of promoter
(the application of some rules inside a region depends on the presence of particular
objects called promoters) (see Chapter 2, Section 2.2, page 16, and Sub-section 2.4.1,
page 25). In this chapter, we focus only on the first interpretation by proposing an
evolution-communication model for population P systems. The other approach based
on triggering particular transformations in correspondence of a specific signal was instead
investigated in [13] and in [105] for neural-like P systems.
Therefore, cell-to-cell communication is achieved in population P systems by means of
communication rules of the form (a; b, in), with a, b two symbols from a given alphabet,
which are assigned to the cells in the system. This notation is used to specify that,
in a cell, if an object a is present then an object b can be moved from one of the
neighbouring cell non-deterministically chosen into the cell where the rule has been
applied; a neighbouring cell is a cell which is directly linked to the cell where the rule
is applied by means of an edge in the graph defining the structure of the system. The
functioning of a rule (a; b, in) is pictorially illustrated in Figure 5.1. Yet again, as in
Chapter 3, page 33, our focus is on communication rules of a minimal size which involve
at most two objects at a time. In particular, in the communication rules considered
here, one object acts as a receptor whereas the other one represents a signal which, once
recognised, can be moved from one cell to an other.
Remark 5.1. The communication model based on receptors we are considering here
has evident similarities with the notions of boundary rules illustrated in Chapter 3,
Section 3.3, page 45. In P systems with boundary rules, as we have seen, one can in
fact express communication rules of the form b [ i a → [i ba where a, b are two symbols
82
2
1
3
a
a
b
b
2
b b
b
b b
b
1
a
b
3
b
a
4
a a
b
a
a
4
b
Figure 5.1: The application of a rule (a; b, in) in cell 1 make the cell receive an occurrence
of the object b from one of the neighbouring cell non-deterministically chosen
(for instance, cell 3); the content of the other cells is instead left untouched.
from a given alphabet. Rules of this form specify that an object a can enter a certain
membrane i if and only if, membrane i contains an object b. In this respect, one could
easily reconsider boundary rules in the context of population P systems by adopting
for instance communication rules of the form b ] j [i a →]j [i ab, for i, j two generic cell in
the system, which are somehow equivalent to rules of the form (a; b, in). Notice that in
this case, communication is no longer one-way as the mechanism turns to be symmetric
(i.e., objects can enter a cell and can exit a cell as well). However, with respect to
this approach and the approach usually adopted in tissue P systems [105], we prefer to
leave one of the two cells involved in the communication unspecified since we are going
to consider P systems with a dynamic structure where the nature and the number of
neighbouring cells of each cell can vary arbitrarily during a computation. In other words,
our rules are supposed to be assigned to the nodes of the graph rather than to the edges.
5.3 Population P systems
We introduce here a notion of population P systems as a finite collection of different
cells that are able of forming/removing bonds according to a finite set of bond handling
rules.
Definition 5.1. A population P system is a construct
P = (V, γ, α, we , C1 , C2 , . . . , Cn , co ),
where:
1. V is a finite alphabet of symbols; its elements are called objects;
83
2. γ = ({1, 2, . . . , n}, E), with E ⊆ {{i, j} | 1 ≤ i 6= j ≤ n }, is a finite undirected
graph;
3. α is a finite set of bond-making rules (i, x 1 ; x2 , j), with x1 , x2 ∈ V ∗ , and 1 ≤ i 6=
j ≤ n;
4. we ∈ V ∗ is a finite multiset of objects initially assigned to the environment;
5. Ci = (wi , Si , Ri ), for each 1 ≤ i ≤ n, with:
a) wi ∈ V ∗ a finite multiset of objects,
b) Si is a finite set of communication rules; each rule has one of the following
forms: (a; b, in), (a; b, enter), (b, exit), for a ∈ V ∪ {λ}, b ∈ V ,
c) Ri is a finite set of transformation rules of the form a → y, for a ∈ V , and
y ∈ V +;
6. co is the output cell.
A population P system P is defined as a collection of n cells where each cell C i
corresponds in a one-to-one manner to a node i in a finite undirected graph γ, which
defines the initial structure of the system. Cells are allowed to communicate alongside
the edges of the graph γ, which are unordered pairs of the form {i, j}, with 1 ≤ i 6= j ≤ n.
The cells Ci , 1 ≤ i ≤ n, are associated in a one-to-one manner with the set of nodes
{1, 2, . . . , n}. For this reason, each cell C i will be subsequently identified by its label i
from the aforementioned set.
Then, each cell Ci gets assigned a finite multiset of objects w i , a finite set of communication rules Si , and a finite set of transformation rules R i . Each set Ri contains rules
of the form a → y that allow cell i to consume an a in order to produce a new multiset
y inside cell i (i.e., these rules are non-cooperative multiset rewriting rules). Communication rules in Si of the form (a; b, in) are instead used by cell i to receive objects from
its neighbouring cells. In fact, a rule (a; b, in) in S i means that, in the presence of an
object a inside the cell i, an object b can be moved from a cell j non-deterministically
chosen to the cell i, given that {i, j} ∈ A. In particular rules of the form (λ; a, in) allow
a cell to receive an object b from any of the cells linked to cell i at any moment without
any restriction. Moreover, for each cell i, rules of the form (a, exit) are also considered
in Si ; these rules allow the cell i to release an object a in the environment. Objects from
the environment can enter the cell i by means of rules of the forms (a; b, enter) (i.e.,
an object b in the environment can enter cell i only in the presence of another object
a), and (λ; b, enter) (i.e., at any time an object b can enter cell i without any specific
restriction). The objects that are currently associated with the environment are kept
in a distinct multiset that is initially defined by w e . Cell capability of moving objects
alongside the edges of the graph is then influenced by particular bond-making rules in
α that allow cells to form new bonds. In fact, a bond-making rule (i, x 1 ; x2 , j) specifies
that, in the presence of a multiset x 1 in the cell i and a multiset x2 inside the cell j, a
new bond can be created between these two cells. This means a new edge {i, j} can be
added to the graph that currently defines the structure of the system.
84
A step of a computation in a population P system P is defined as being performed in
two separate stages: the content of the cells is firstly modified by applying the communication rules in Si , and the transformation rules in Ri , for all 1 ≤ i ≤ n; the structure
of the system is then modified by using the bond-making rules in α. Specifically, a
configuration of a population P system P at any time is given by a tuple Σ such that:
Σ = hγ 0 , we0 , w10 , w20 , . . . , wn0 i,
with γ 0 = ({1, 2, . . . , n}, E 0 ), for E 0 ⊆ {{i, j} | 1 ≤ i 6= j ≤ n } (the graph that defines the
current structure of the system P), w e0 ∈ V ∗ (the multiset of objects that are currently
associated with the environment) and, for all 1 ≤ i ≤ n, w i0 ∈ V ∗ (the multiset of objects
that defines the current content of cell i). Thus, given three configurations Σ 0 , Σ00 , Σ000
such that:
Σ0 = hγ 0 , we0 , w10 , w20 , . . . , wn0 i,
Σ00 = hγ 00 , we00 , w100 , w200 , . . . , wn00 i,
Σ000 = hγ 000 , we000 , w1000 , w2000 , . . . , wn000 i,
tc
bm
we write Σ0 =⇒P Σ00 and Σ00 =⇒P Σ000 , if and only if the following conditions hold.
• γ 0 = γ 00 , and we00 , w100 , w200 , . . . , wn00 are multisets of objects obtained by applying, in a
non-deterministic maximal parallel manner, the communication rules in S 1 , . . . , Sn ,
and the transformation rules in R1 , . . . , Rn to the multisets we0 , w10 , w20 , . . . , wn0 ;
tc
=⇒P is meant to be a transformation-communication relationship.
• we000 = we00 , wi000 = wi00 , for all 1 ≤ i ≤ n, and γ 000 is obtained by removing all the
edges from γ 00 and adding an edge {i, j}, for each 1 ≤ i 6= j ≤ n such that there
exists a bond-making rule (i, x1 ; x2 , j) ∈ α, with x1 a multiset that is contained in
bm
wi00 , and x2 a multiset that is contained in wj00 ; =⇒P is meant to be a bond making
relationship.
tc
bm
In this way, by combining the relations =⇒P , =⇒P , we say the population P systems
P is able to transit from a configuration Σ 0 to a configuration Σ000 in a single step of a
computation, and we write Σ0 ⇒P Σ000 .
A successful computation in P is then defined as a finite sequence of transitions of the
form
Σ0 ⇒P Σ1 ⇒P . . . ⇒P Σk−1 ⇒P Σk ,
where k ≥ 1, Σ0 is the initial configuration of the system P as specified in Definition 5.1,
and Σk is a final configuration such that there does not exist any configuration Σ 0 6= Σk ,
tc
with Σk =⇒P Σ0 . In other words, a successful computation is a computation that halts
in a configuration where, after a last bond making stage, the content of the cells cannot
be modified anymore by means of some communication or transformation rules. The
result of a successful computation is given by the number of objects that are placed
inside the output cell co in the final configuration. The set of natural numbers that are
generated in this way by all the successful computations in P is denoted by N (Π).
85
The generative capacity of population P systems is investigated in the next two subsections by considering separately the case when the feature of bond making is not
considered and the case when it is. To this aim, we introduce the families of sets of
natural numbers N OP Pn,k (c, b), with n ≥ k ≥ 1, c ∈ {nR, R}, and b ∈ {nα, α t | t ≥ 0 },
which are generated by population P systems where:
• the number of cells in the system is less than or equal to n;
• in each step of a computation, the number of cells in each connected component
of the graph defining the structure of the system is always less than or equal to
k; a connected component of a graph is any subset of nodes such that, given any
two nodes in that subset, there always exists a path that connects them, and there
does not exists any path from these nodes to nodes that are not in that subset;
• c = nR specifies that all the communication rules that are associated with the cells
in the system are of the form (λ; b, in), (λ; b, enter), (b, exit);
• c = R specifies that communication rules of any form are allowed to be used inside
the cells;
• b = nα specifies that bond-making rules are not considered and the structure of
system is given by the initial graph, which is never modified during a computation;
• b = αt , for some t ≥ 0, specifies that all the bond-making rules in the system are
of the form (i, x1 ; x2 , j), with |x1 | ≤ t and |x2 | ≤ t; as well as this, we say that a
bond-making rule (i, x1 ; x2 , j) is of size h = max{|x1 |, |x2 |}.
Finally, if the value of n, k, or t is not specified, then it is replaced by the symbol ∗.
5.3.1 The Power of Evolution-Communication
Here we present some results concerning the power of population P systems as evolutioncommunication P systems where the underlying structure is never modified during a
computation.
In the case of simple communication rules of the forms (λ; b, in), (λ; b, enter), (b, exit),
the hierarchy on the number of membranes collapses at level one. Moreover, the corresponding family of sets of natural numbers coincides with the family of length sets of
context-free languages (i.e., the family of semilinear sets of numbers).
Lemma 5.1. N OP P∗,∗ (nR, nα) = N OP P1,1 (nR, nα) = N CF .
Proof. The proof can be derived in a straightforward manner from the proof of Theorem
2.1, page 24 given in [105] and which concerns the power of non-cooperative P systems.
In fact, let P be a population P system such that:
P = (V, γ, we , (w1 , S1 , R1 ), (w2 , S2 , R2 ), . . . , (wn , Sn , Rn ), co ),
with n ≥ 1, and all the symbols as in Definition 5.1. For each 1 ≤ i ≤ n, we define the
set Ti that contains all the symbols a ∈ V such that:
86
• there does not exist any rule a → y ∈ R i , and there does not exist any rule
(λ; a, exit) ∈ Si ;
• for all edges in γ of the form {i, j}, with 1 ≤ i 6= j ≤ n, there does not exist any
rule (λ; a, in) ∈ Sj .
Thus, for each 1 ≤ i ≤ n, the set Ti contains all the symbols that cannot be used in
any rule once introduced in cell i. In a similar way, we define the set T e that contains
all the symbols a ∈ V such that, for all 1 ≤ i ≤ n, there does not exist any rule
(λ; a, enter) ∈ Ri .
Next, let † be a new symbol that is not in V . For each 1 ≤ i ≤ n, we define the
homomorphism hi such that: hi (a) = ai , if a ∈ (V − Ti ), hi (a) = †, if i 6= co and a ∈ Ti ,
hi (a) = a, if i = co and a ∈ Tco . As well as this, we define the homomorphism h e such
that: he (a) = ae , if a ∈ (V − Te ), he (a) = †, if a ∈ Te .
Now, we can construct a population P system P 0 that is able to simulate the behaviour
of P such that
P 0 = (V 0 , γ, λ, (w10 , S10 , R10 ), co ),
where:
V
= { ai | a ∈ (V − (Te ∪ T1 ∪ T2 ∪ . . . ∪ Tn )), 1 ≤ i ≤ n } ∪ Tco ∪ {†},
γ = ({1}, ∅),
w10 = he (we )h1 (w1 )h2 (w2 ) . . . hn (wn ),
S10 = {(†, exit)},
R10 = { ai → hi (y) | a → y ∈ Ri , 1 ≤ i ≤ n }
∪ { ai → he (a) | (a, exit) ∈ Si , 1 ≤ i ≤ n }
∪ { ae → hi (a) | (λ; a, in) ∈ Si , 1 ≤ i ≤ n }
∪ {ai → hj (a) | (λ; a, in) ∈ Sj , 1 ≤ i 6= j ≤ n,
there exists an edge {i, j} in γ},
co = 1.
Now, with this construction, it is easy to see that N (P 0 ) = N (P). Moreover, it appears
clearly that the population P systems P 0 is equivalent to a basic P system with one
membrane that uses non-cooperative rules. On the other hand, it is obvious that any
basic P system with one membrane that uses non-cooperative rules can be simulated by
a population P system with one cell. This means the same result stated in Theorem 2.1,
page 24 holds for population P systems with one cell that use restricted communication
rules.
The next result instead shows that, when communication rules of any form are allowed
to be used inside the cells, population P systems are computationally complete and the
hierarchy on the number of cells collapses at level two.
Theorem 5.1. N OP P2,2 (R, nα) = N RE.
87
The proof of such a result, originally reported in [19], can be obtained by direct
transcription in the context of population P systems of the proof of Theorem 3.5, page
49. In fact, it is easy to see that a boundary rule of the form a [ 2 b → a b [2 is equivalent to
a rule (a; , b, in) assigned to cell 1 whereas a rule of the form a [ 2 b → a [2 ab is equivalent
to a rule (b; a, in) assigned to cell 2.
However, in the context of population P systems where there are no bonds among
the cells, which are therefore limited to communicate by means of the environment only,
the problem of establishing the power of these systems is not obvious. This means
considering systems where the number of cells in a connected component of the graph
is always one. Here we show that these particular unstructured population P systems
are powerful enough to characterise the family of recursively enumerable sets of natural
numbers.
Theorem 5.2. N OP P4,1 (R, nα) = N RE.
Proof. Recall from Theorem 2.3, page 24, that catalytic P systems with only two catalysts are computationally complete. Here we show that every catalytic P system with 2
catalysts can be simulated by unstructured population P systems with 4 cells, and hence
we obtained the universality of such unstructured P systems.
Let Π be a P system with catalysts as specified in Definition 2.3, 18 such that
Π = (V, {c0 , c00 }, [1 [2 ]2 ]1 , w1 , w2 , R1 , R2 , 2),
with {c0 , c00 } ⊆ V . For each 1 ≤ i ≤ 2, we define the set T i that contains all the symbols
a ∈ (V − {c0 , c00 }) such that there does not exist any rule a → v ∈ R i , or any rule
ca → cv ∈ Ri , with c ∈ {c0 , c00 }. This means, for each 1 ≤ i ≤ 2, the set T i contains
the objects that cannot evolve anymore once introduced into the region delimited by
membrane i.
Next, we consider the set of symbols
N = { ai , a0i | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}} ∪ {†},
and we introduce the following homomorphisms:
• h1 : V −→ N ∪ {λ}, with h1 (a) = a1 , if a ∈ (V − ({c0 , c00 } ∪ T1 )), h1 (a) = λ, if
a ∈ T1 , and h1 (c) = λ, if c ∈ {c0 , c00 };
• h2 : V −→ N ∪ T2 ∪ {λ}, with h2 (a) = a2 , if a ∈ (V − ({c0 , c00 } ∪ T2 )), h2 (a) = a, if
a ∈ T2 , and h2 (c) = λ, if c ∈ {c0 , c00 };
• g10 : V −→ {c01 } ∪ {λ}, with g10 (a) = λ, if a 6= c0 , and g10 (c0 ) = c01 ;
• g20 : V −→ {c02 } ∪ {λ}, with g20 (a) = λ, if a 6= c0 , and g20 (c0 ) = c02 ;
• g100 : V −→ {c01 } ∪ {λ}, with g100 (a) = λ, if a 6= c00 , and g10 (c0 ) = c01 ;
• g200 : V −→ {c02 } ∪ {λ}, with g200 (a) = λ, if a 6= c00 , and g20 (c00 ) = c002 ;
88
• t1 : ((V − {c0 , c00 }) × {here, in, out}) → N , with
– t1 ((a, here)) = †, if a ∈ T1 ,
– t1 ((a, here)) = a01 , if a ∈ (V − ({c0 , c00 } ∪ T1 )),
– t1 ((a, out)) = †,
– t1 ((a, in)) = a, if a ∈ T2 ,
– t1 ((a, in)) = a02 , if a ∈ (V − ({c0 , c00 } ∪ T2 ));
• t2 : ((V − {c0 , c00 }) × {here, out}) → N ∪ T2 , with
– t2 ((a, here)) = a, if a ∈ T2 ,
– t2 ((a, here)) = a02 , if a ∈ (V − ({c0 , c00 } ∪ T2 )),
– t2 ((a, out)) = †, if a ∈ T1 ,
– t2 ((a, out)) = a01 , if a ∈ (V − ({c0 , c00 } ∪ T1 )).
At this point, we can construct a population P system P that is able to simulate the P
system Π such that
P = (V 0 , γ, we , C1 , C2 , C3 , C4 , 4),
where:
V 0 = N ∪ T2 ∪ {c01 , c02 , c001 , c002 },
γ = ({1, 2, 3, 4}, ∅),
we = h1 (w1 )h2 (w2 ),
C1 = (g10 (w1 )g20 (w2 ), S1 , R10 ),
S1 = {(c0i ; ai , enter) | c0 a → c0 v ∈ Ri , i ∈ {1, 2}}
∪ {(a0i , exit) | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}}
R10
∪ {(a, exit) | a ∈ T2 } ∪ {(†, exit)},
= { ai → ti (v) | c0 a → c0 v ∈ Ri , i ∈ {1, 2}},
C2 = (g100 (w1 )g200 (w2 ), S2 , R20 ),
S2 = {(c00i ; ai , enter) | c00 a → c00 v ∈ Ri , i ∈ {1, 2}}
∪ {(a0i , exit) | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}}
R20
∪ {(a, exit) | a ∈ T2 } ∪ {(†, exit)},
= { ai → ti (v) | c00 a → c00 v ∈ Ri , i ∈ {1, 2}},
C3 = {λ, S3 , R3 }
S3 = {(λ; ai , enter) | a → v ∈ Ri , i ∈ {1, 2}}
89
∪ {(a0i , exit) | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}}
∪ {(a, exit) | a ∈ T2 } ∪ {(†, exit)},
R3 = { ai → ti (v) | a → v ∈ Ri , i ∈ {1, 2}},
C4 = {λ, S4 , R4 }
S4 = {(λ; a0i , enter) | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}},
∪ {(ai , exit) | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}}
∪ {(λ; a, enter) | a ∈ T2 },
R4 = { a0i → ai | a ∈ (V − ({c0 , c00 } ∪ T1 ∪ T2 )), i ∈ {1, 2}}.
The simulation of the P system Π by means of the population P system P is done in
the following way.
Initially, the environment gets assigned the multiset of objects h 1 (w1 )h2 (w2 ), which
contains: an object ai , with i ∈ {1, 2}, for each object a ∈ (V − {c 0 , c00 }) that is assigned
to region i in the P system Π and that can evolve by means of some rule in R i ; an object
a for each object a ∈ (V − {c0 , c00 }) that is assigned to region 2 (the output one) in the
P system Π and that cannot evolve by means of any rule in R 2 . These latter objects are
immediately moved into cell 4 (the output one) during the first step of any computation
in P where they remain as part of the result of the computation in P. Moreover, for
each occurrence of the catalyst c0 that is present inside region i, with i ∈ {1, 2}, cell 1
gets assigned an occurrence of the object c 0i ; for each occurrence of the catalyst c 00 that
is present inside region i, with i ∈ {1, 2}, cell 2 gets assigned an occurrence of the object
c00i . In this ways, cell 1 and cell 2 are respectively used to simulate the activity of catalyst
c0 and catalyst c00 .
Specifically, for each i ∈ {1, 2}, a rule c 0 a → c0 v ∈ Ri is simulated in two steps of
computations by first using the rule (c 0i ; ai , enter) from S1 and then the rule ai → ti (v)
from R10 . For each i ∈ {1, 2}, a rule c00 a → c00 v ∈ Ri is simulated in two steps of
computations by first using the rule (c 00i ; ai , enter) from S2 and then the rule ai → ti (v)
from R20 . For each i ∈ {1, 2}, a rule a → v ∈ Ri is simulated in two steps of computations
by first using the rule (λ; ai , enter) from S3 and then the rule ai → ti (v) from R3 . In
this process, the homomorphism ti , with i ∈ {1, 2}, is responsible for assigning to each
object produced by a transformation rule the label of the region where the object has to
be moved according to the target specified in the corresponding rule in R i . Furthermore,
each object a ∈ T1 that has to be assigned to region 1 is replaced by the object †; each
object a ∈ T2 that has to be assigned to region 2 is replaced by an object a.
As usual, all these operations are performed in a non-deterministic maximally parallel
manner by simulating in this way a step of computation in Π by means of two steps
of computation in P. Thus, after having applied some transformation rules in cell
1, cell 2, and in cell 3, these cells always contain some objects of the form a 0i , with
a ∈ (V − {c0 , c00 }), i ∈ {1, 2}, some objects a ∈ T2 , and some occurrences of the object †.
All these objects, once produced inside cell 1, cell 2, and cell 3, are immediately released
into the environment and then, except for the objects †, they reach cell 4. Each object
a ∈ T2 remains in cell 4 as part of the result of the computation in P whereas each object
of the form a0i , with a ∈ (V − {c0 , c00 }), i ∈ {1, 2}, is replaced by the corresponding object
90
ai , which is eventually released into the environment. In this way, the computation in
P can continue by simulating another step of a computation in Π and so on up until no
more rules can be applied to the objects placed inside the cells.
Therefore, the population P system P correctly simulates the P system Π by generating
a set of natural numbers N (P) such that N (P) = N (Π).
Notice that, from a structural point of view, population P systems of the form considered in Theorem 5.2, 88, are equivalent to P systems with a number of membranes
placed at the same level that are embedded in a unique main membrane, which turns
to be the environment in population P systems. On the other hand, from a functional
point of view, the environment in population P systems is restricted to act as a simple
buffer used by the cells to exchange objects.
5.3.2 The power of bond making
In this section we investigate the power of population P systems where bond-making rules
are used and where restricted communication rules of the forms (λ; b, in), (λ; b, enter),
(b, exit) are considered. This is to show that bond-making rules really increase the power
of P systems.
Lemma 5.2.
(i) N OP P∗,∗ (nR, α0 ) = N OP P1,1 (nR, nα) = N CF , and
(ii) N ET 0L ⊆ N OP P4,2 (nR, α1 ).
Proof. (i) Consider a population P system P with N (P) ∈ N OP P ∗,∗ (nR, α0 ). This
means all the bond making rules in P are of the form (i, λ; λ, j) and the bond making
process does not depend on the content of the cells. Thus, as the population of cells is
fixed, the structure of the system P will become completely known after the first step of
any computation. In other words, after the first step of any computation, the population
P system P will behave as a population P system that does not use any bond-making
rule. Therefore, by straightforwardly adapting the construction used in Lemma 5.1, page
86 we can easily construct a population P system with one cell and without bond-making
rules that is able to simulate the P system P.
(ii) As pointed out in Chapter 1, Section 1.4, page 7, for every language L ∈ ET 0L
there exists an extended tabled 0L system G with only two tables that generates L, that
is, G = (V, T, w, P1 , P2 ). Moreover, after having used the table P 1 , we can use both P1
and P2 but, after having used the table P2 , we always use the table P1 . The table used
in the first step of a computation is P 1 . Thus, in order to simulate the L system G, we
construct the following population P system
P = (V 0 , γ, α, we , C1 , C2 , C3 , C4 , 4),
91
where:
V 0 = {a, a0 | a ∈ V } ∪ {p1 , p01 , p2 , p02 , f },
γ = ({1, 2, 3, 4}, ∅),
α = {(3, p1 ; λ, 1), (3, p2 ; λ, 2), (3, f ; λ, 4), (1, p01 ; λ, 3), (2, p02 ; λ, 3)},
we = λ,
C1 = (λ, S1 , R1 ),
S1 = {(λ; a0 , in) | a ∈ V } ∪ {(λ; p1 , in)},
R1 = { a0 → v | a → v ∈ P1 } ∪ { p1 → p01 },
C2 = (λ, S2 , R2 ),
S2 = {(λ; a0 , in) | a ∈ V } ∪ {(λ; p2 , in)},
R2 = { a0 → v | a → v ∈ P2 } ∪ { p2 → p02 },
C3 = (w p02 , S3 , R3 ),
S3 = {(λ; a, in) | a ∈ V } ∪ {(λ; p01 , in), (λ; p02 , in)},
R3 = { a → a0 | a ∈ V } ∪ { p01 → p1 , p01 → p2 , p02 → p1 , p01 → f, p02 → f },
C4 = (λ, S4 , R4 ),
S4 = {(λ; a0 , in) | a ∈ V },
R4 = { a0 → a0 | a ∈ (V − T ) }.
The population P system P simulates the L system G in the following way.
The axiom w is initially placed inside cell 3 together with the object p 02 . The use of
the table P1 is then simulated by applying the rule p 02 → p1 from R3 , and a rule a → a0
from R3 , for each symbol a ∈ V contained in cell 3. Now, the presence of the object p 1
makes possible to form a bond between cell 3 and cell 1, which allows all the objects a 0 ,
with a ∈ V , to be moved from cell 3 into cell 1 together with the object p 1 . In cell 1,
the simulation of the table P1 is completed by applying in a maximal parallel manner
all the rules a0 → v from R1 , with a → v a rule in P1 . As well as this, we apply the
rule p1 → p01 . Next, a bond between cell 1 and cell 3 is created, which allows all the
objects a ∈ V in cell 1 to get back to cell 3 together with the object p 01 . At this point,
the simulation of the L system can continue by applying either the rule p 01 → p1 from
R3 (i.e., we want to use the table P1 ), or the rule p01 → p2 from R3 (i.e., we want to use
the table P2 ). The use of the table P2 is simulated in a very similar way by using cell
2 instead of cell 1. In particular, when the simulation of P 2 is finished, an object p02 is
produced inside cell 3 in order to specify that, after having used P 2 , we have to use the
table P1 .
At any time, we can stop simulating tables in G by applying either the rule p 01 → f
from R3 , or the rule p02 → f from R3 depending on the table that has been used in the
previous step of computation. Anyway, in the presence of an object f , a bond between
cell 3 and cell 4 (the output one) is created, which allows all the objects a 0 placed inside
cell 3 to be moved from cell 3 into cell 4. Now, the computation can halt if and only
if cell 4 does not contain any non-terminal object. This is because of the presence of a
92
rule a0 → a0 , for each a ∈ (V − T ).
In conclusion, the population P system P correctly simulates the L system G.
Therefore, population P systems that use bond-making rules are able to generate (at
least) the whole family of length sets of extended tabled 0L systems. This means they
are able to generate non-semilinear sets of natural numbers, and such sets are not in the
family of length sets of context-free languages. Next, we provide an universality result
for population P systems that use bond making rules of size two by showing they are
able to simulate counter machines. On the other hand, finding an upper bound for the
power of population P systems with bond-making rules of size at most one remains an
open problem.
Theorem 5.3. N OP P6,2 (nR, α2 ) = N RE.
Proof. Let M = (Q, F, p0 , {a1 , a2 , a3 }, a3 , I) be a three counter machine as specified in
Chapter 1, Section 1.5, page 8.
In order to simulate the counter machine M , we construct a population P system P
such that
P = (V, γ, α, we , C1 , C2 , C3 , C4 , C5 , C6 , 3),
where:
V
= {q, q 0 , q 00 | q ∈ q } ∪ {a, ā | a ∈ A } ∪ {da,q , d0a,q , ea,q , e0a,q | a ∈ A, q ∈ Q }
∪ {dj , ej | 1 ≤ j ≤ 5 } ∪ {d, e, f, #, #1 },
γ = ({1, 2, 3, 4, 5, 6}, ∅),
α = {(4, dai ,q ; ai , i) | 1 ≤ i ≤ 3, q ∈ Q } ∪ {(4, āā; λ, 5), (4, ā; d 5 , 6) | a ∈ A }
∪ {(4, e0ai ,q ; ai , i), (4, e0ai ,q ; e5 , 6) | 1 ≤ i ≤ 3, q ∈ Q } ∪ {(6, f ; λ, 5)},
we = λ,
Ci = (λ, {(λ; ai , enter), (λ; e0ai ,q , in)}, {e0ai ,q → #, # → #}),
for each 1 ≤ i ≤ 3,
C4 = (#, S4 , R4 ),
S4 = {(a, exit), (λ; a, in), (λ; da,q , enter), (λ; ea,q , enter) | a ∈ A, q ∈ Q },
R4 = {da,q → d0a,q , ea,q → e0a,q , a → ā | a ∈ A, q ∈ Q },
C5 = (λ, S5 , R5 ),
S5 = {(λ; #, in), (λ; #1 , in), (λ; f, in)},
R5 = {# → #},
C6 = (p0 #1 , S6 , R6 ),
S6 = {(a, exit), (ā, exit), (λ; ā, in), (d a,q , exit), (λ; d0a,q , in) | a ∈ A, q ∈ Q }
∪ {(ea,q , exit), (λ; e0a,q , in) | a ∈ A, q ∈ Q } ∪ {(d5 , exit), (e5 , exit)},
R6 = {p → q 00 a | (p → q, +a) ∈ I} ∪ {p → d da,q | (p → q, −a) ∈ I}
93
∪ {p → q | (p → q, ) ∈ I} ∪ {p → e ea,q | (p → q, a = 0) ∈ I}
∪ {q 00 → q 0 , q 0 → q | q ∈ Q } ∪ {q → f | q ∈ F }
∪ {d0a,q → q, e0a,q → q | a ∈ A, q ∈ Q }
∪ {dj → dj+1 , ej → ej+1 | 1 ≤ j ≤ 4 } ∪ {d → d1 , e → e1 , #1 → #1 }.
Now, after some steps of computation, we can suppose the population P system P to
have reached a configuration of the form:
h({1, 2, 3, 4, 5, 6}, ∅), w† , w1 , w2 , w3 , w4 , w5 , w6 i,
(5.1)
with w† ∈ V ∗ , a multiset of objects that are in the environment and that cannot enter
the cells anymore, wi ∈ {ai }∗ , for each 1 ≤ i ≤ 3, |wi | the current value of the counter
ai ∈ A, w4 = #, w5 = λ, w6 = p#1 , and p ∈ Q, the current state of the counter machine
M . Initially, we have w† = λ, w1 = λ, w2 = λ, w3 = λ, and p = p0 . Thus, by starting
from a configuration like (5.1), the simulation of the instructions in I is done in the
following way.
Simulation of an instruction (p → q, +a) ∈ I. In cell 6, we apply the rule p → q 00 a,
which produces an object q 00 , with q ∈ Q, and an object a ∈ A. In two further steps
of computation, the object a reaches the cell i such that a = a i , 1 ≤ i ≤ 3, by passing
through the environment. At the same time, the new state q is produced inside cell 6
by applying in sequence the rules q 00 → q 0 , q 0 → q from R6 . In this way, we add 1 to the
current value of the counter ai and we move the machine from state p to state q.
Simulation of an instruction (p → q, ) ∈ I. We just apply the rule p → q from R 6
in order to produce the new state q inside cell 6.
Simulation of an instruction (p → q, −a) ∈ I. In cell 6, we apply the rule p → d d a,q ,
which produces an object d and an object d a,q , with a ∈ A, q ∈ Q. In two further steps
of computation, the object da,q reaches cell 4 by passing through the environment. At
the same time, the object d2 is produced inside cell 6. In cell 4, the object d a,q is used to
check whether the cell i such that a = a i , 1 ≤ i ≤ 3, contains some objects ai or not (i.e.,
to check whether the current value of the counter a i is greater than or equal to 1 or not).
In the former case, a bond between cell 4 and cell i can be created by using the rule
(4, dai ,q ; ai , i) from α, and the simulation of the current instruction can continue; in the
other case, this bond cannot be created and the simulation of the current instruction will
stop after having produced the object d 5 inside cell 6. Nevertheless, the computation in
P will not halt because of the rule #1 → #1 in R6 .
Thus, after having produced a bond between cell 4 and cell i, the whole content of
cell i is moved from cell i to cell 4 by applying in a maximally parallel manner the rule
(λ; ai , in) from S4 . At the same time, the object d2 is replaced by d3 inside cell 6 while
the object dai ,q is replaced by d0ai ,q inside cell 4. Now, without loss of generality, we
assume i = 1 as the simulation proceeds exactly in the same way irrespectively of the
value of i.
94
Next, the object d3 is replaced by d4 in cell 6 while, for each object a1 in cell 4, we
can use either a rule (a1 , exit) ∈ S4 or a rule a1 → ā1 ∈ R4 . This means the system is
able to reach a configuration of the form
h({1, 2, 3, 4, 5, 6}, ∅), w † w10 , λ, w2 , w3 , w¯1 d0a1 ,q #, λ, d4 #1 i,
(5.2)
with w10 ∈ {a1 }∗ , w̄1 ∈ {ā1 }∗ , and |w10 | + |w̄1 | = |w1 |. Now, we show that the simulation
of the instruction (p → q, −a) ∈ I can be successfully completed if and only if |w̄ 1 | = 1
(i.e., we have subtracted 1 from the current value of the counter a 1 ). To this aim, we
consider the following cases.
1. |w̄1 | = 0. The simulation of the current instruction will stop after having produced
d5 inside cell 6 and having returned w10 in cell 1, but the computation will not halt
because of the rule #1 → #1 in R6 .
2. |w̄1 | ≥ 2. This means a bond between cell 4 and cell 5 is created by using the bondmaking rule (4, ā1 ā1 ; λ, 5) ∈ α. Then, in the next step, the object # is moved from
cell 4 to cell 5 where an infinite computation is generated by means of the rule
# → # ∈ R5 .
3. |w̄1 | = 1. No bonds between cell 4 and cell 5 can be created and the simulation of
the current instruction continues by producing the object d 5 inside cell 6 and by
moving the multiset w10 from the environment into cell 1. Next, a bond is created
between cell 4 and cell 6 by using the rule (4, ā 1 ; d5 , 6) ∈ α, which makes possible
to move the objects d0a1 ,q , a¯1 from cell 4 to cell 6. In the meanwhile, the object d 5
is released in the environment and it will not be able to enter the cells anymore.
Finally, in cell 6, the object d0a1 ,q is used to produce the new state q while the
object a¯1 is removed from cell 6 by releasing it in the environment. In this way,
we obtain a configuration like (5.1) where the multiset w 1 is replaced by a multiset
w10 such that |w10 | = |w1 | − 1.
Simulation of an instruction (p → q, a = 0) ∈ I. In cell 6, we apply the rule p → e e a,q ,
which produces an object e and an object e a,q , with a ∈ A, q ∈ Q. In two further steps of
computation, the object ea,q reaches cell 4 by passing through the environment. In cell
4, the object ea,q is then replaced by e0a,q . At the same time, the object e3 is produced
inside cell 6. Next, the object e0a,q is used to check whether the cell i such that a = a i ,
1 ≤ i ≤ 3, contains some objects ai or not (i.e., to check whether the current value of the
counter ai is greater than or equal to 1 or not). In the former case, a bond between cell
4 and cell i can be created by using the rule (4, e 0ai ,q ; ai , i) from α, which makes possible
to move the object e0a,q from cell 4 to cell i. As a consequence of this fact, an infinite
computation is generated because of the rules e 0ai ,q → #, # → # in Ri . Otherwise, if
cell i does not contain any object ai (i.e., the current value of the counter a i is 0), the
system is able to reach a configuration where cell 6 contains an object e 5 and cell 4 still
contains the object e0a,q . At that point, a bond between cell 4 and cell 6 is created by
using the bond-making rule (4, e0ai ,q ; e5 , 6), which allows the object e0a,q to be moved from
cell 4 to cell 6 while the object e5 is released into the environment. Finally, in cell 6, the
95
object e0a,q is replaced by the state q and this completes the simulation of the instruction
(p → q, a = 0) ∈ I.
At any moment, when a final state p ∈ F is produced inside cell 6, we have to apply a rule p → f from R6 , which makes possible to form a bond between cell 6 and cell
5. Thus, the object f can be moved from cell 6 to cell 5 together with the object # 1 ,
and the computation halts by having correctly simulated a sequence of instructions in
M.
Therefore, as a consequence of the universality of three counter machines, we obtain
immediately the universality of population P systems with bond-making rules of size at
most 2.
5.4 Population P systems with active cells
The model of population P systems is now augmented with an operation of cell division
as a mechanism to introduce new cells in the system, and with an operation of cell death
as a mechanism to remove cells from the system. As well as this, an operation of cell
differentiation is considered that allows the types of the cells to be changed by varying
in this way the sets of rules that can be used inside the cells.
Definition 5.2. A population P system with active cells is a construct
P = (V, K, γ, α, we , C1 , C2 , . . . , Cn , R),
where:
1. V is a finite alphabet of symbols called objects;
2. K is a finite alphabet of symbols, which define different types for the cells;
3. γ = ({1, 2, . . . , n}, E), with E ⊆ {{i, j} | 1 ≤ i 6= j ≤ n }, is a finite undirected
graph;
4. α is a finite set of bond making rules (t, x 1 ; x2 , p), with x1 , x2 ∈ V ∗ , and t, p ∈ K;
5. we ∈ V ∗ is a finite multiset of objects initially assigned to the environment;
6. Ci = (wi , ti ), for each 1 ≤ i ≤ n, with wi ∈ V ∗ a finite multiset of objects, and
ti ∈ K the type of cell i;
7. R is a finite set of rules of the forms:
a) (a; b, in)t , (a; b, enter)t , (b, exit)t , for a ∈ V ∪ {λ}, b ∈ V , t ∈ K (communication rules that allows a cell to exchange with its neighbouring cells or
the environment according to the cell type and the existing bonds among
the cells; the meaning of these rules is exactly the same as the meaning of
communication rules considered in Definition 5.1),
96
b) ( a → y )t , for a ∈ V , y ∈ V + , t ∈ K (transformation rules: an object a can
be replaced by a non-empty multiset y inside a cell of type t),
c) ( a )t → ( b )p , with a, b ∈ V , t, p ∈ K (cell differentiation rules: an object a
can be used inside a cell of type t to change the type of the cell from t to p;
as a consequence of this operation, the object a is replaced by an object b),
d) ( a )t → ( b )t ( c )t , with a, b, c ∈ V , t ∈ K (cell division rules: an object a
can be used inside a cell of type t to produce a new cell of type t, which
contains the same objects as the originating one except for the object a that
is replaced by c; the originating cell is retained with the same content except
for the object a that is replaced by b),
e) ( a )t → †, with a, t ∈ K (cell death rule: an object a can be used inside a cell
of type t to cause the removal of the cell from the system; as a consequence of
this operation, the objects contained in the dying cell are removed from the
system).
Now, with respect to Definition 5.1, page 83, a population P system with active cells
P is defined as a finite collection of n ≥ 1 cells where each cell is characterised by a
multiset of objects defining its initial content and a symbol from a distinct alphabet
K, which defines the type of the cell. At any time, many different cells of the same
type can be present in the population system P. All these cells evolve according to the
rules in R, which allow them to exchange objects with the environment or with their
neighbouring cells (communication rules), to modify the objects defining their content
(transformation rules), to change the type they have got assigned (cell differentiation
rules), to divide by introducing new cells in the system (cell division rules), and to be
removed from the system (cell death rule). In particular, for each cell that is present
in the system, the set of rules that can be used depends on the type the cell has got
assigned. Moreover, as in Definition 5.1, page 83, the structure of the system is given by
a finite directed graph where the nodes correspond in a one-to-one manner to the cells
in the system and the edges define the bonds that exist among these cells. Yet again,
these edges influence cell capability of achieving direct communication and they can be
modified by the bond-making rules in α.
A configuration of a population P system with active cells P at any time is given by
a tuple Σ such that:
Σ = hγ 0 , we0 , C10 , C20 , . . . , Cn0 i,
with γ 0 = ({1, 2, . . . , n}, E 0 ), for E 0 ⊆ {{i, j} | 1 ≤ i 6= j ≤ n } (the graph that defines the
current structure of the system P), w e0 ∈ V ∗ (the multiset of objects that are currently
associated with the environment) and, for all 1 ≤ i ≤ n, C i0 = (wi0 , ti ), for wi0 ∈ V ∗
(the multiset of objects that defines the current content of cell i) , t i ∈ K (the current
type of cell i). Then, in a similar way to Section 5.3, page 83, we define a single step
of a computation in P (denoted by ⇒P ) as being formed by two separate stages: a
tc
stage of transformation-communication (denoted by =⇒P ) and a stage of making bonds
bm
(denoted by =⇒P ).
97
During the stage of transformation-communication, rules of the forms (a), (b) are
applied to the objects contained in the cells in a non-deterministic maximally parallel
manner but with the restriction that at most one rule of the form (c), (d), or (e) per
each cell can be used at a time that is non-deterministically chosen. In this respect, we
assume the objects to be first communicated/modified by means of rules of the forms
(a), (b) and the population of cells to be then modified by means of rules of the forms
(c), (d), or (e). However, objects are assigned to rules of the forms (c), (d), (e) before
any communication/modification of these takes place. Specifically, if a cell C i0 = (wi00 , ti )
evolves by means of a rule ( a )t → ( b )p , then it is replaced by a cell Ci00 = (wi00 , pi ) where
wi00 is the multiset obtained by replacing in w i0 an occurrence of a with an occurrence of
b. The structure of the system is not changed by this particular operation as the new
cell Ci00 is associated with the same node i in the graph defining the structure of the
system that was previously associated with cell C i0 . If a cell Ci0 = (wi00 , ti ) evolves by
means of a rule ( a )t → ( b )t ( c )t , then it is replaced by two new cells C i00 = (wi00 , ti ), and
Ci000 = (wi000 , ti0 ) where wi00 is the multiset obtained by replacing in w i0 an occurrence of a
with an occurrence of b, and wi000 is the multiset obtained by replacing in w i0 an occurrence
of a with an occurrence of c. As a consequence of this particular operation, cell C i00 is
associated with the same node i that was previously associated with cell C i0 in the graph
defining the structure of the system, while cell C i000 is associated with a new node i0 that is
now added to the graph defining the structure of the system without being connected to
any other node in that graph. If a cell C i0 = (wi00 , ti ) evolves by means of a rule ( a )t → †,
then it is removed from the system together with the corresponding node i in the graph
defining the structure of the system and all the edges of the form {i, j}, with i 6= j.
During the stage of bond making, the set of edges in the graph defining the structure
of the system is modified by using the bond making rules in α. Obviously, we have here
to consider the graph that results from the application of rules of the forms (c), (d), (e)
in the previous transformation-communication stage. Specifically, an edge {i, j}, with
i 6= j, is added to the graph defining the structure of the system if there exists a bondmaking rule (t, x1 ; x2 , p) ∈ α, with t the type of cell i, x1 a multiset that is contained in
cell i, x2 a multiset that is contained in cell j, and p the type of cell j.
Finally, after this process of making bonds, we assume the nodes in the graph to be
labelled in a one-to-one manner with values in {1, 2, . . . , m}, for m ≥ 0 the number of
cells in the system.
A successful computation in P is then defined as a finite sequence of transitions of the
form
Σ0 ⇒P Σ1 ⇒P . . . ⇒P Σk−1 ⇒P Σk ,
where k ≥ 1, Σ0 is the initial configuration of the P system P as specified in Definition 5.2, page 96, and Σk is a final configuration such that there does not exist any
tc
configuration Σ0 6= Σk , and Σk =⇒P Σ0 . In other words, a successful computation is
a computation that halts in a configuration where, after a last bond making stage, the
current population of cells in the system cannot be modified anymore by means of any
rule. This time the result of a computation is given by the number of objects that are
associated with the environment in the final configuration Σ k . The set of natural num-
98
bers that are generated in this way by all the successful computations in P is denoted
by N (Π).
At this point, we can introduce the families of sets of natural numbers N OP P n,k (tm , o, b),
with n ≥ k ≥ 1, m ≥ 1, o ⊆ {a, b, c, d, e} or o ⊆ {a 0 , b, c, d, e}, and b ∈ {nα, αt | t ≥ 0 },
which are generated by population P systems where:
• in each step of a computation, the number of cells in the system is always less than
or equal to n;
• in each step of a computation, the number of cells in each connected component
of the graph defining the structure of the system is always less than or equal to k;
• the number of different types that are considered for the cells is at most m;
• rules of the forms indicated in o are considered; for rules of the form (a) we consider
also the case of restricted communication rules denoted by a 0 , which corresponds
to the case nR considered in the previous sections;
• b specifies the kind of bond making rules that can be used inside the system as
described in Section 5.3, page 83.
5.4.1 The power of cell division/differentiation
Here, we provide some results that concern the computational power of populations P
systems with active cells.
Lemma 5.3. N ET 0L ⊆ N OP P1,1 (t3 , {a0 , b, c}, nα).
Proof. Consider an extended tabled 0L system G with only two tables, that is, G =
(V, T, w, P1 , P2 ) such that, after having used the table P 1 , we can use both P1 and P2
but, after having used the table P2 , we always use the table P1 . Moreover, the table used
in the first step of a computation is table P 1 . As already mentioned before, extended
tabled 0L systems of this form are able to generate the whole family of length sets of
extended tabled 0L system.
Thus, we construct a population P system with active cells P that simulates the L
system G such that
P = (V 0 , {p1 , p2 , f }, ({1}, ∅), ∅, (w p1 , p1 ), R)
with V 0 = V ∪ T ∪ {p1 , p2 , f }, and R is a finite set of rules that contains: a rule
( a → v )pi , for each a → v ∈ Pi , 1 ≤ i ≤ 2, the rules ( p1 )p1 → ( p1 )p1 , ( p1 )p1 → ( p2 )p2 ,
( p2 )p2 → ( p1 )p1 , ( p1 )p1 → ( f )f , ( p2 )p2 → ( f )f , a rule ( a → a )f , for each a ∈ V − T ,
and a rule (a, exit)f , for each a ∈ V .
Now, it is easy to see that the population P system P correctly simulates the L system
G. In fact, at any moment, the type of cell 1 corresponds to the table of rules that must
be applied in the next step of a computation; each rule in the table is then simulated
by applying the corresponding transformation rules inside cell 1 in a non-deterministic
99
maximally parallel manner. As well as this, we always apply a cell differentiation rule
that changes the type of cell 1 in such a way to pass to another table of the L system
G. Moreover, at any moment, we can decide to finish a computation by applying a
cell differentiation rule that assigns the type f to cell 1. In that case, if cell 1 contains
only terminal symbols, then the computation halts by releasing all these objects in
the environment; otherwise, an infinite computation is generated because of the rule
( a → a )f , with a ∈ V − T .
The previous result shows that population P systems with active cells are quite powerful computational devices. In fact, population P systems with one cell equipped with
the sole operation of cell differentiation are able to generate (at least) the whole family of length sets of tabled extended 0L systems, which contains non-semilinear sets of
natural numbers. Next, we show that population P systems of this form turn to be
computationally complete once at least two cells are considered.
Theorem 5.4. N OP P2,1 (t∗ , {a0 , b, c}, nα} = N RE.
Proof. This universality result is again obtained by simulating counter machines. Let
M = (Q, F, p0 , A, I) be a counter machine with three counters. We construct the following P system with active cells that is able to simulate the counter machines M
P = (V, K, ({1, 2}, ∅), λ, (p0 #1 → #1 , 0), (λ, 1), R).
In this case we do not enter the details of the formalisation of the P system P but we
just provide the rules that are necessary to simulate each instruction of the machine M .
Simulation of an instruction (p → q, +a) ∈ I. We use the following rules in order
to simulate an instruction of this form.
1. ( p → q 00 a )0 ,
2. (a, exit)0 ,
3. (λ; a, enter)1 ,
4. ( q 00 → q 0 )0 ,
5. ( q 0 → q )0 .
In this way, we add an object a to the content of cell 2 of type 1.
Simulation of an instruction (p → q, ) ∈ I. We just need a rule ( p → q ) 0 in order
to simulate an instruction of this form.
Simulation of an instruction (p → q, −a) ∈ I. We use the following rules in order
to simulate an instruction of this form.
1. ( p → aq )0 ,
100
2. (aq , exit)0 ,
3. (λ; aq , enter)1 ,
4. ( aq )1 → ( $ )aq ,
5. ( a )aq → ( q )1 ,
6. (q, exit)1 ,
7. (λ; q, enter)0 ,
8. ( #1 → #1 )0 .
In this case, when the object aq enters cell 2 of type 1, the type of this cell is changed into
aq and a dummy object $ is produced, which cannot be used in any rule in the system.
Next, if cell 2 contains an object a, then the simulation of the current instruction can be
completed by first applying the rule ( a ) aq → ( q )1 , then the rule (q, exit)1 , and finally
the rule (λ; q, enter)0 . Instead, if cell 2 does not contain any object a, the simulation of
the current instruction cannot be completed and an infinite computation is generated
because of the rule ( #1 → #1 )0 .
Simulation of an instruction (p → q, a = 0) ∈ I. We use the following rules in order to simulate an instruction of this form.
1. ( p → a0q d )0 ,
2. (a0q , exit)0 ,
3. (d, exit)0 ,
4. (λ; a0q , enter)1 ,
5. (λ; d, enter)1 ,
6. ( d → d0 )1 ,
7. ( a0q )1 → ( $ )a0q ,
8. ( d0 → d00 )a0q ,
9. ( a )a0q → ( # )# ,
10. ( d00 )a0q → ( q )1
11. ( # → # )# ,
12. (q, exit)1 ,
13. (λ; q, enter)0 ,
101
In this case, when the objects a0q , d enter cell 2 of type 1, the type of this cell is changed
into a0q while the object d is replaced by d0 . Next, if cell 2 contains some objects a, then
an infinite computation is generated because of the rules ( a ) a0q → ( # )# , ( # → # )# .
Instead, if cell 2 does not contain any object a, then the simulation of the current
instruction can be completed by first applying the rule ( d 00 )a0q → ( q )1 , then the rule
(q, exit)1 , and finally the rule (λ; q, enter)0 .
Finally, we need the following rules in order to produce the output in the environment.
1. ( p )0 → ( f )f , with p ∈ F ,
2. (f, exit),
3. (λ; f, enter)1 ,
4. ( f )1 → ( f )f ,
5. (a, exit)f .
In particular, the first rule is used to stop cell 1 using the rule ( # 1 → #1 )0 .
Finally, we show the universality of population P systems that use the operations of
cell division and cell death in combination with bond-making rules of size at most 1
where the types of the cells are never changed.
Theorem 5.5. N OP P7,2 (t6 , {a, b, d, e}, α1 ) = N RE.
Proof. In a sense, this result is a consequence of Theorem 5.3, page 93, which provides
the universality of population P systems with bond making rules of size two. In fact, in
the proof of Theorem 5.3, page 93, a bond-making rule of size two is used only in the
process of simulating instructions of the form (p → q, −a) in a counter machine M . This
is necessary in order to control the parallelism and make sure that just one object a is
removed from the cell containing the current value of the counter a. Here, the control
on the parallelism can be achieved by using the operation of cell division that allows
a cell to pick up a single occurrence of an object to be used for cell division purposes.
Furthermore, with respect to Theorem 5.3, page 93, we need now to produce the output
as a multiset of objects that is associated with the environment in the final configuration
rather than with a specific output cell. Therefore, let P be the population P system
used in the proof of Theorem 5.3, page 93. We construct a population P system with
active cell P 0 with the same initial configuration in terms of cells and multisets of objects
associated with the cells. Specifically, each cell i in P, 1 ≤ i ≤ 6, gets assigned i itself
as type of cell i. Moreover, cell 5 in P 0 is used to produce the output at the end of a
successful computation by collecting the objects that are contained in cell 3 (the output
one in P) and releasing them in the environment modified in such a way to prevent them
from re-entering the cells.
However, we do not enter here in all the details of the population P system P 0 but
we just show how to simulate instructions of the form (p → q, −a) in a given counter
machine M by using cell division and bond-making rules of size 1. The simulation of the
102
other instructions in the machine M is done exactly in the same way as in the population
P system P of Theorem 5.3, page 93.
• (λ; ai , enter)i , for each 1 ≤ i ≤ 3; each cell i of type i in P 0 is used to hold the
current value of the counter ai and when objects of the form ai are produced in
the environment they have to enter cell i.
• (a, exit)4 , (λ; a, in)4 , (λ; da,q , enter)4 , ( da,q → d0a,q )4 , ( a )4 → ( a0 )4 ( ā )4 ,
( a0 )4 → †, with a a counter in the machine M and q a state of the machine M ;
these rules correspond to the rule used in cell 4 of the system P, which are now
augmented with a rule of cell division and a rule of cell death.
• (a, exit)6 , (da,q , exit)6 , (λ; ā, in)6 , (λ; d0a,q , in)6 , ( ā → $ )6 , ( d5 → $ )6 ,
( p → d da,q )6 , ( d0a,q → q )6 , ( d → d1 )6 , ( dj → dj+1 )6 , ( #1 → #1 ), with a a
counter in the machine M , q a state of the machine M , $, d two new symbols, and
1 ≤ j ≤ 4; these rules correspond to the rules used in cell 6 in the system P; here,
communication rules that are used to remove objects from the system by releasing
them in the environment are replaced by transformation rules that produce the
dummy object $.
As well as this, we consider the bond-making rules (4, d ai ,q ; ai , i), with 1 ≤ i ≤ 3, and
(4, ā; d5 , 6).
Now, as in the proof of Theorem 5.3, page 93, consider a configuration of the form
h({1, 2, 3, 4, 5, 6}, ∅), λ, w1 , w2 , w3 , λ, λ, p#1 w$ i,
(5.3)
with wi ∈ {ai }∗ , for each 1 ≤ i ≤ 3, |wi | the current value of the counter ai ∈ A, p ∈ Q,
the current state of the counter machine M , and w $ ∈ {$}∗ .
In order to simulate an instruction of the form (p → q, a−), in the cell of type 6,
we apply the rule ( p → d da,q )6 , which produces an object d and an object d a,q . In
two further steps of computation, the object d a,q reaches cell 4 (of type 4) by passing
through the environment. At the same time, the object d 2 is produced inside cell 6 (of
type 6). In cell 4, as in the proof of Theorem 5.3, page 93, the object d a,q is used to
create a bond between cell 4 and the cell i such that a = a i , 1 ≤ i ≤ 3. This makes
possible to move the whole content of cell i into cell 4. Next, for each object a that
has been moved inside cell 4, we apply a rule (a, exit) 4 in parallel with a cell division
rule ( a )4 → ( a0 )4 ( ā )4 , which can be used by just one occurrence of the object a. This
means we always produce in the environment a multiset w 10 such that |w10 | = |w1 | − 1,
which is eventually returned to cell i. At the same time, we obtain two cells of type 4
that respectively contain an object a 0 and an object ā. The cell that contains the object
a0 is immediately removed from the system by using the cell death rule ( a 0 )4 → † while
the object ā in the remaining cell of type 4 is used to form a bond with cell 6 when the
object d5 is produced inside that cell. In this way, we can complete the simulation of
the instruction (p → q, a−) by producing the new state q inside cell 6 as illustrated in
the proof of Theorem 5.3, page 93.
103
5.5 Discussion
In this chapter we have introduced a notion of population P systems as a class of tissue
P systems where the links between the cells can be modified by means of a specific set of
bond-making rules. As well as this, cell division rules which introduce new cells into the
system, cell differentiation rules which change the set of rules that can be used inside
of a cell, and cell death rules which remove cells from the system are also considered by
introducing a particular notion of population P systems with active cells. The chapter
mainly reports universality results for the following models:
1. unstructured population P systems where cells are restricted to communicate only
by means of the environment and being equipped with communication rules inspired by the signal/receptor mechanism of living cell (Theorem 5.2, page 88);
2. population P systems equipped with bond-making rules of size at most two and
simple communication rules where objects can be moved from a cell to another
one without any control mechanism (Theorem 5.3, page 93);
3. unstructured population P systems where cells are restricted to communicate only
by means of the environment equipped with the sole operation of cell differentiation
(Theorem 5.4, page 100).
4. population P systems equipped with bond-making rules of size at most one and
the operation of cell division (Theorem 5.5, page 102).
These last two results are of particular interest if compared with similar results obtained
for P systems with active membranes [105] (see also Chapter 2, Sub-section 2.4.3 ,
page 28). In fact, Theorem 5.4, page 100, proves the universality for P systems that
use an operation for changing the labels of the cells (i.e., the types of the cells) when
communication rules are applied in a maximally parallel manner and not in a sequential
manner as in P systems with active membranes. Moreover, with respect to what was
reported in [10], the capability of changing the label is restricted to the operation of cell
differentiation, which turns to be the unique operation to have this capability. Then,
Theorem 5.5, page 102, provides a universality result for systems where the labels of the
cells are never changed; the full power of Turing machines is achieved as a consequence
of the use of bond making rules. In general, we believe the comparison between P
systems with active membranes and population P systems with a dynamic structure
of the underlying graph deserves deeper and further investigations. For instance, the
efficiency of population P systems in solving NP-complete problems and the size of the
corresponding complexity classes are yet to be investigated.
Furthermore, the approach of Chapter 4, page 61 for generating languages by means
of P systems with active membranes could be re-considered in the context population
P systems with the specific aim of defining alternative ways of computing at population
level in P systems. In this respect, we investigated in [22] the possibility of using population P system to generate graphs instead of strings; specifically, we considered in [22]
population P systems as a model for self-assembly where a certain structure is assembled
104
through local and limited interactions between the individual components in the system.
Self-assembly is a“hot topic” in the current development of molecular computing and
the study of membrane-system-based models of self-assembly surely deserves further and
deeper investigations.
Other research could be directed to the study of population P systems which manipulate strings instead of symbol objects. In this respect, we have reported in [18]
some preliminary ideas and results about population P systems with string-objects.
Specifically, the work done in [18] focuses on systems of cooperating/interacting cells by
pointing out analogies with the grammar system model.
Finally, we have to mention P colonies [84], [61] as an alternative approach to computing at population level in P systems. Similar to population P systems, P colonies are
defined as a collection of cells which interact each other through a shared environment
but without any direct connections between the cells of the system. Moreover, cells can
contain only a finite number of objects whereas the environment is supposed to contain infinite copies of a distinct object e; cells are then given the capability of replacing
occurrences of this object e with other objects from a given alphabet. In this way, a
computation in a P colony produces as a result the number of objects different from e
which are sent into the environment.
105
Chapter 6
Membrane Systems for Biological Modelling
Membrane systems represent a class of parallel and distributed computing devices which
are inspired by the structure and the functioning of living cells. In all the previous
chapters, the focus has been on investigating the computational power of membrane
systems in comparison with some classical computing/generative devices like counter
machines, matrix grammars, and L systems. This direction of research is usually seen
as “going” from biology to computer science with an approach which is typical of the
whole area of molecular computing.
Here we want to use membrane systems for a different purpose: defining computational
models of biological systems that can be used to get better insights on the functioning
of these systems through the execution of appropriate simulations. As well as this,
we want to bring in the idea of membrane systems as a formalism, or a language, for
representing/describing biological phenomena of various interests in order to understand
molecular biology for what it is by uncovering the general principles underlying these
phenomena. That is, we are now “going back” from computer science to biology by
advocating the use of membrane systems specifically for biological modelling purposes.
This chapter presents a general framework for modelling with membrane systems that
is based on a model of P systems where rules have associated a finite set of attributes and
a corresponding function. Attributes and functions are meant to provide those extra features which are necessary to close the “gap” between the abstractness of more standard
P system models and the “reality” of the phenomenon to be modelled (Section 6.2). The
behaviour of such P systems is defined in Section 6.3 in terms of bounded parallelism,
which precisely formalises the idea of a membrane system as a system where a certain
number of components evolve in parallel at the same time by means of a certain number
of rules applied inside each one of these components. Then, in Section 6.4, as a particular
instance of the general model, we consider P systems where rules have associated a real
constant as an attribute and the corresponding function is used to compute a value of a
probability depending on this constant and on certain multisets of objects defining the
context where the rule is applied; for this particular variant of P systems, we also define
a strategy for the application of the rules which, in each step, selects the next rule to
be applied depending on the aforementioned values of probabilities. Finally, in Section
6.5, as a case study, we present a P system model for the quorum sensing mechanism of
bacterial cell-to-cell communication and we report some simulation results concerning
the behaviour of a colony of bacteria interacting by means of a signalling mechanism
based on autoinducers.
106
The present chapter is based on the papers [23], [28] coauthored with Marian Gheorghe, Natalio Krasnogor, Maurice Margenstern, Ravie C. Muniyandi, Mario J. PérezJiménez, Francisco Romero-Campero, and Sergey Verlan.
6.1 A language for the cell
As we discussed in the introductory part, biological modelling has been developed alongside of both “standard” mathematical approaches and “discrete” models. On the one
hand heavy differential equations and Markov chains or other probabilistic/stochastic
methods have been involved [123], [130], [96], and on the other hand various computational models used successfully elsewhere in computer science have been considered:
formal grammars [44], Petri nets [93], X machines [54], [131], process algebra [111], [117],
statecharts [81], and agent-based formalism [102]. In particular, the use of discrete computational models for biological modelling is motivated by the analogy which can be
drawn between biological systems and discrete-information-processing systems .
In fact, according to the originally motivation, membrane systems were introduced to
investigate the computational nature of various features of living cells and, in a sense,
they already provide an abstract model for the cell. In particular, membranes have
been identified as one of the main components of every cells, and many features of P
systems are inspired by some basic concepts concerning the biology of the cell (e.g., catalysts, symport/antiport, promoters/inhibitors, membrane dissolution, membrane division). This naturally leads to consider the issue of investigating at what extent P systems
could be used to model, and possibly simulate, biological phenomena in order to return
meaningful and useful information to biology.
Early attempts in this direction are represented by the work done in [128],[100] where
the authors essentially re-interpreted the basic notion of multiset rewriting systems in
terms of systems of bio-chemical reactions. That is, multiset rewriting rules are considered as describing bio-chemical reactions which consume a certain amount of the
chemicals on the left side of the rule and produce a certain amount of the chemicals
produced on right side of the rules. In particular, this approach is used in [128] to model
and simulate the behaviour of simple bio-chemical oscillators like the Brusselator and
the Lotka-Volterra system. Subsequently, in [29], membrane systems, and in particular
the formalism of boundary rules presented in Chapter 3, Section 3.3, page 45, were used
to model the activity of mechanosensitive channels in bacteria. This approach can be
seen as a first step in two main directions of research: using membrane systems as a
“language” for representing/describing in a formal setting a particular biological phenomenon, and, in the same time, making the membranes of P systems more “realistic”
by precisely capturing the notion of a channel of communication embedded in such a
membrane. In particular, the model proposed in [29] consider rules where membranes
appears explicitly both in their left side and in their right side, and these membranes
have associated a value of tension describing the state of a particular membrane channel; the application of these rules may depend on the “concentration” of certain objects
inside and outside the membrane, and it may also depend on certain values of prob-
107
abilities associated with the rules. More recently, in [30], [108], [109] (see also [31]),
the approach originally proposed in [128], [100] was somehow re-considered by again
interpreting the rule as bio-chemical reaction acting upon chemicals distributed across
the various compartments of the system. In particular, in [30], [108], [109] a notion
of a “rate” of application is explicitly associated with the rules that can vary step by
step depending on the distribution of objects (i.e., interpreted as being chemicals) in the
region surrounding the membrane where one particular rule is applied. Then, specific
algorithms for the simulation of membranes and implementations of these algorithms
have been developed in [30], [108], [109]. In this way, through simulation, they are able
to provide snapshots of the dynamics of biological systems of various relevance.
Therefore, in this framework of biological modelling, two main research directions for
membrane computing can be identified in the following sense.
• Studying membrane systems as a mathematical model for biological systems in
order to uncover the general principles underlying the functioning of fundamental
biological processes and mechanisms; this also relates to the usage of membranes as
a language for describing/representing, and possibly explaining, within a specific
formal setting the aforementioned fundamental processes and mechanisms; progresses in this direction may in turn enhance the interactions between researchers
in different areas of biology and computer science.
• Defining computational models based on P systems to be used for running in silico
experiments once appropriate implementations are provided.
For what concerns the first issue, it has been pointed out in several places (e.g., see
[29], [30], [108]) that some extra features have to be introduced in the model in order to
close the gap between the “reality” to be modelled and the abstractness of the standard
notions of membrane systems. On the other hand, in terms of computational models,
we have to say that, although a number of tools have already been produced (some of
them are available from [3]), correct implementation and simulation techniques are yet
to be identified.
This chapter aims at contributing to both these main research directions by presenting
a general framework for modelling with P systems. This is done by introducing in a
class of P systems containing generalised boundary rules which allow us to express in
a compact form the essential features of transformation and communication of objects
usually considered in membrane systems. These rules have associated a finite set of
attributes and a corresponding function; attributes and functions are meant to be used
for expressing generic properties of the processes encoded by the rules which can influence
the behaviour of the rules themselves (Section 6.2). The behaviour of such P systems
is characterised in Section 6.3 in terms of parallelism of type (k, q): in each step, at
most k membranes evolve in parallel at the same time and, inside each membrane, at
most q rules are applied in parallel at the same time. In particular the k components
and the q are supposed to be returned by a generic procedure to select membranes and
programs. In this respect, in a way somehow similar to the approaches proposed [30],
[108], [109], an example of such a strategy to select membranes and rules for P systems
108
is reported in Section 6.4 where each rule has associated a real constant and a specific
function to compute step by step a value of probability for each rule. Finally in Section
6.5, a case-study for modelling with membrane systems is presented which illustrates
a P system model for the quorum sensing mechanism of cell-to-cell communication in
bacteria.
6.2 The model
As we have seen in all the previous chapters, a membrane system is usually defined as a
hierarchical arrangement of a number of membranes identifying a corresponding number
of regions inside the system, and with these regions having associated a finite multiset
of objects and a finite set of rules. Moreover, one can also consider membrane systems
where the underlying structure is defined as an arbitrary graph like in tissue P systems
[105], and in population P systems (Chapter 5, page 79). In this chapter, we only focus
on membrane systems of the former type where the underlying structure is defined as
being a tree of nested membranes.
Rules of many different forms have been considered for membrane systems in order
to encode the operation of modifying the objects inside the membranes and the operation of moving objects from one place to the other. In particular, for communicating
objects, one can use either the targets here, in, out (Chapter 2, Section 2.2, page 16), or
symport/antiport rules (Chapter 3, Section 3.2, page 35), or boundary rules (Chapter 3,
Section 3.3, page 45).
Here, in order to capture the features of most of these rules, we consider rules of the
form:
u [ v ] → u0 [ v 0 ]
(6.1)
with u, v, u0 , v 0 four multisets. These rules are generalised boundary rules operating
as multiset rewriting rules which simultaneously replace a multiset of objects placed
outside the membrane and a multiset of objects placed inside the membrane with two
new multisets placed in the respective places. In this way, we are able to capture in
a concise way the essential features of transformation and communication of objects
usually considered in the area of membrane computing. Moreover, from a modelling
point of view, rules like (6.1) allow us to express any sort of interactions occurring at the
membrane level, like, for instance, the binding of a signal molecule to a specific receptor
which occurs at cell-surface level (e.g., see [108]).
Then, in a similar way to what done in [29], [30], [108], [31], we associate to each rule
a finite set of attributes in order to be able to capture specific quantitative aspects of the
phenomenon to be modelled. Specifically, these attributes turn to be useful to associate
to the rules different reactions rates and/or different probabilities which overall affects
the strategy of the application of the rules.
Definition 6.1 (program). Let V, L be alphabets, let D be a set (possibly infinite),
and let A be a finite subset of D. The set D is called the set of values and the set A is
called the set of attributes. Let F = {f 1 , f2 , . . . , fp } be a finite set of functions such that,
109
for all 1 ≤ t ≤ p, ft : P(D) × P(D) × V ∗ × V ∗ × V ∗ × V ∗ −→ D, with P(D) the family
of all subsets of D. A program (over V, L, D, A, F) is a construct h u [ v ] → u 0 [ v 0 ], σ, fi il
where: u, v, u0 , u, v 0 ∈ O ∗ , σ ⊆ A, fi ∈ F, for some 1 ≤ i ≤ p, and l ∈ L.
Thus, a program is a rule with associated a finite set of attributes and a function
which, given this set of attributes, a set of values, and four multisets, returns a value
from a certain chosen set. In particular, the set of values may represent “quantitative”
properties of a given membrane, the first two multisets are usually considered as being
the two multisets placed on the left side of the rule, whereas the two remaining multisets
are instead supposed to be the multisets placed respectively inside and outside a given
membrane. That is, each function is expected to compute a particular value depending
on the rule and on the contents of the outside and the inside defining the “context”
where the rule is applied.
Here our main focus is in modelling systems consisting of many different bio-chemical
reactions distributed across different compartments. Therefore, the following interpretation for programs will be predominantly used throughout the chapter. Objects represent
chemicals and multisets of objects are interpreted as “bags” or “soups” of chemicals.
Rules model transformations involving these chemicals which may result from the interaction between the inside and the outside of a compartment (i.e., a region delimited
by a membrane). Each rule has associated a finite set of attributes and a corresponding function defining particular properties that affect the behaviour of the rule itself;
these properties are usually said to define the reactivity of the rule (e.g., see [30], [108]).
Moreover, since we want to have systems consisting of many different compartments, we
assign to each program a label to differentiate the set of programs from one compartment
to the other.
Remark 6.1. Although the aforementioned interpretation will be mainly used in this
chapter, it is not the unique possible and that is why we introduce the notions of set
of values and set of attributes in a more generic fashion. For instance, one may use
attributes to model properties inherent to the membranes and may use the corresponding
function to update these attributes every time a rule is applied. An example in this
direction is represented by the work done in [29] for modelling bacterial mechanosensitive
channels. In such a model, a membrane has in fact associated a value of tension (defining
the state of the channel) which is updated every time a rule is applied depending on the
presence of certain objects inside and outside the membranes. Alternatively, one may
consider hybrid models where the attributes represent continuous variables which are
updated through the use of certain functions (e.g., see [54] for hybrid X machines, and
[93] for hybrid Petri nets).
Next, we introduce the notion of P specification which makes explicit the basic ingredients necessary to define a particular P system model.
Definition 6.2 (P specification). A P specification is a construct
S = (V, K, D, A, F, P )
where:
110
1. V is an alphabet; its elements are called objects;
2. K is an alphabet; its elements are called labels;
3. D is a set of values;
4. A ⊆ D is a finite set of attributes;
5. F = {f1 , f2 , . . . , fp } be a finite set of functions as in Definition 6.1.
6. P is a finite set of programs over V, K, D, A, F of the form specified in Definition 6.1.
Thus, a P specification provides a “scheme” for the definition of P systems with
programs defined over the sets V , K, D, A, and F . In particular, from a modelling
point of view, we can say that: the alphabet V of objects specifies different “sorts” for
the chemicals possibly present inside a certain system, the alphabet K of labels specifies
different “types” for the membranes possibly present inside a certain system, and the
set D specifies the domain of interpretation for the attributes and the corresponding
functions.
A P system is then obtained by augmenting a certain P specification with an initial
configuration. In particular, we recall from Chapter 2, Section 2.2, page 16, that the
structure of a P system is given by a membrane structure consisting in a hierarchical
arrangement of some n ≥ 1 membranes labelled in a one-to-one manner with values in
{1, 2, . . . , n}. However, since here we use labels from a given alphabet to identify the
“type” of a membrane, the value from {1, 2, . . . , n} assigned to a membrane is called the
index of the membrane; the membrane structure is then said to be indexed by the values
1, 2, . . . , n.
Definition 6.3 (P system). A P system of degree n ≥ 1 is a construct:
Π = (S, N , µ, M1 , M2 , . . . , Mn )
where: S = (V, K, D, A, F, P ) is a P specification with V, K, D, A, F, P as in Definition 6.2, N ⊆ D is a finite set of membrane attributes, µ a membrane containing n
membranes indexed by the values 1, 2, . . . , n, and, for all 1 ≤ i ≤ n, M i = (wi , li , ρi ),
with wi ∈ V ∗ the content of membrane i, li ∈ K the label of membrane i, and ρi ⊆ N
the attributes of membrane i.
As usual, a P system of degree n ≥ 1 is defined as consisting in a membrane structure containing n membranes delimiting a corresponding number of regions (Chapter 2,
Section 2.2, page 16). Each membrane contains a multiset of objects, gets assigned a
label from the set K, and has some attributes from N . This label is particularly useful
for retrieving from the given specification the set of programs which can be used inside
each membrane in the system. In other words, this label precisely identifies the “type”
of the membrane in terms of the rules which can be applied in its inside.
111
Remark 6.2. We stress once more that, due to the particular choice of the rules which
are of the form u [l v ] → u0 [l v 0 ], transition P systems (Chapter 2, Section 2.2, page
2.2), P systems with symport/antiport (Chapter 3, Section 3.2, page 35), and P systems
with boundary rules (Chapter 3, Section 3.3, page 45) turn to be particular instances
of the model of P systems introduced in Definition 6.3, page 111. In all these variants,
each program is just a rule with no attributes and no functions. Moreover, the set of
labels K could be removed by explicitly associating to each membrane its own set of
rules. Labels are essentially used to define in a compact way, through the notion of P
specification, the basic ingredients necessary to construct a P system with an arbitrary
membrane structure where there can be many different membranes having the same set
of rules.
Remark 6.3. An example of P systems where membranes have associated some attributes is given by P systems with active membranes from Definition 2.11, page 28;
in such a variant every membrane has in fact associated a polarisation which can be
either positive (+), negative (−) or neuter (0). This feature of P systems with active
membranes can be captured in the present context by setting N = {+, −, 0}, and by
associating one such a value to each membrane in the initial membrane structure. Moreover, the polarisation that appears in every rule of a P system with active membranes
(Definition 2.11, page 28) can be considered as being an attribute for the programs, and
the corresponding functions used to determine whether the rules is applicable or not
depending on the current value of the polarisation associated with the membrane where
the rule is applied.
In all the previous chapters, in accordance to the original definitions from [105], we
have considered P systems as being distributed and maximal parallel rewriting systems.
This means, in each step, in each membrane, all the objects that can evolve by means of
some rules must evolve in parallel at the same time by means of these rules, with the sole
restriction that the same occurrence of the same object cannot be used by more than
one rule at a time. That is, in each step, for each membrane, a maximal set of rules to
be applied is non-deterministically selected by making sure that no further rules can be
applied to the objects left inside the membranes. On the other hand, a few recent works
[94], [30], [109], [108], have addressed the issue of introducing new strategies for the
application of the rules where the set of rules to be applied in any step is not maximal,
but it is somehow bounded. The reasons for the introduction of new derivation/evolution
strategies may be different, but, in the context of modelling biological systems, one can
say that restrictions to maximal parallelism are often required in order to close the
gap between the abstractness of the model and the “reality” of the phenomenon to be
modelled [30], [109], [108]. In this respect, the key issues that need to be addressed in
order to define a strategy for the application of the rules in a P system are: a) how
to select the next rule to be applied inside a given membrane, b) how many different
rules can be applied in parallel at the same time inside the membrane, and c) how many
different membranes can evolve in parallel at the same time.
Section 6.3 of this chapter is then dedicated to the formalisation of the behaviour of
P systems where, given k, q ≥ 1, in each step, at most k membranes evolve in parallel
112
at the same time and, inside each membrane, at most q rules are applied in parallel
at the same time. Thus, with respect to the usual notion of maximal parallelism, the
level of parallelism is bounded both in what concerns the number of membranes that
can evolve in parallel at the same time and in what concerns the number of rules that
can be applied in parallel at the same time inside a membrane. This form of bounded
parallelism is called parallelism of type (k, q).
6.3 Parallelism of type (k, q)
We formalise here the notion of a transition step in P systems evolving in a (k, q)−parallel
manner: in each step, at most k membranes evolve in parallel at the same time and, inside
each membrane, at most q rules are applied in parallel at the same time. Moreover, in a
given step, if k membranes can evolve by means of some rules, then exactly k membranes
evolve in parallel in that step; inside each membrane, if q rules can be applied, then
exactly q rules are applied in parallel inside that membrane. In other words, parallelism
of type (k, q) is assumed to be maximal and exhaustive with respect to k and q.
Our formalisation makes use of some concepts of the operational semantics for P
systems introduced in [42] and it is based on the explicit assignment of the rules contained
to the programs to the respective membranes; this is obtained by assigning the index of
a membrane to each object possibly present inside the system.
Let Π = (S, N , µ, M1 , M2 , . . . , Mn ) with S = (V, K, D, A, F, P ) and Mi = (wi , li , ρi ),
for all 1 ≤ i ≤ n, be a P system as specified in Definition 6.3, page 111. The following
extra notions are associated to the P system Π:
• the indexed alphabet (of Π) denoted by V̄ is the set V̄ = { ai | a ∈ V, 1 ≤ i ≤ n };
• for all 1 ≤ i ≤ n, and for all u ∈ V ∗ , the i-version of u is the multiset denoted by
ui ∈ V̄ such that, for all a ∈ V , for all 1 ≤ j 6= i ≤ n, |u i |ai = |u|a and |uaj | = 0;
• the set of membrane rules (of Π) is the set of programs denoted by M R and such
that: M R = { uj vi → u0j vi0 | h u [ v ] → u0 [ v 0 ], σ, f ili ∈ P, j = upper(µ, i) }.
Thus, the indexed alphabet of Π is the alphabet of symbols from V with attached
indexes of the membranes in the system. The i-version of a multiset u, with 1 ≤ i ≤ n
and u ∈ V ∗ , is the multiset obtained by assigning the index i to all the objects in u.
The set M R explicitly identifies, for each membrane, the set of rules which can be used
inside that membrane by replacing the multisets in the rules with the corresponding
indexed versions. In particular, for all 1 ≤ i ≤ n, the set of rules which can be used
inside membrane i are the rules contained in programs labelled by l i .
Moreover, for all 1 ≤ i ≤ n, a multiset of rules for membrane i, is a collection of
membrane rules r1 , r2 , . . . , rki , with ki ≥ 0 and with these rules not necessarily distinct,
such that, for all 1 ≤ h ≤ ki , rh is a membrane rule in M R of the form uj vi → u0j vi0
with vi 6= λ. The size of Ri , denoted by |Ri |, is the number of rules in Ri .
A multiset of rules in Π is a collection of membranes rules of the form R 1 , R2 , . . . , Rn
such that, for all 1 ≤ i ≤ n, Ri is a multiset of rules for membrane i.
113
Then, a configuration of a P system is defined as being a multiset over the indexed
alphabet.
Definition 6.4 (Configuration). Let Π = (S, N , µ, M 1 , M2 , . . . , Mn ) be a P system
as in Definition 6.3 where S = (V, K, D, A, F, P ) and M i = (wi , li , ρi ), for all 1 ≤ i ≤ n.
A configuration (of Π) is a multiset C ∈ V̄ . The initial configuration (of Π), denoted by
C0 , is the multiset u1 u2 . . . un such that, for all 1 ≤ i ≤ n, ui is the i-version of wi .
Notice that, with the notions introduced in this section so far, we have essentially
reduced a P system of degree n ≥ 1 to an equivalent one of degree 1 where the objects
have an index specifying the membrane which they are assigned to in the original system.
Thus, the behaviour of such a system can be defined as being a multiset rewriting system
where the rules are selected according to a certain strategy depending on the indexes
assigned to the objects. In fact, according to Definition 6.4, a configuration of a P system
is just a multiset of objects and the membrane rules are usual multiset rewriting rules
of the form introduced in Chapter 1, Section 1.7, page 12.
To this aim, we first introduce the concepts of i-irreducibility and the concept of
(C, k, q)-consistency.
Definition 6.5 (i-irreducibility). Let Π = (S, N , µ, M 1 , M2 , . . . , Mn ) be a P system
as in Definition 6.3 where S = (V, K, D, A, F, P ), and let β be a finite multiset over
V̄ . Let M R be the set of membrane rules in Π. Given 1 ≤ i ≤ n, we say that β is
i-irreducible if, for all uj vi → u0j vi0 ∈ M P with vi0 6= λ, we have β 6w uj vj .
Thus, given a P system of degree n ≥ 1, for all 1 ≤ i ≤ n, a multiset over the
indexed alphabet is i-irreducible if there are no more rules which can be applied to the
objects with index i. In other words, if we interpret these objects as being the content of
membrane i, this means that there are no more rules that can be applied to the objects
placed inside membrane i.
Definition 6.6 ((C, k, q)-consistency). Let Π = (S, N , µ, M 1 , M2 , . . . , Mn ) be a P
system as in Definition 6.3 where S = (V, K, D, A, F, P ), and let R be a multiset of rules
in Π. Let C ∈ V̄ ∗ be a configuration of Π, and let k, p 6= 0 be positive integers with
k ≤ n. We say that R is (C, k, q)-consistent if, there exists {i 1 , i2 , . . . , ig } ⊆ {1, 2, . . . , n}
with g ≤ k such that R can be written as a collection of rules R i1 , Ri2 , . . . , Rig with Rih
a multiset of rules for membrane ih , and
1. if g < k, then, for all i ∈ ({1, 2, . . . , n} \ {i 1 , i2 , . . . , ig }), C is i-irreducible;
2. for all i ∈ {i1 , i2 , . . . , ik }, if Ri = u1j vi1 → zj1 wi1 , . . . , upj vip → zjp wip , then we have
C = x u1j vi1 . . . upj vip , for some x ∈ V̄ ∗ ;
3. for all i ∈ {i1 , i2 , . . . , ik }, |Ri | ≤ q, and if Ri = u1j vi1 → zj1 wi1 , . . . , upj vip → zjp wip
with p < q, then C = x u1j vi1 . . . upj vip , for some i-irreducible x ∈ V̄ ∗ .
The notion of (C, k, q)-consistency precisely characterises the multisets of rules which
can be applied to a given configuration C in accordance to the parallelism of type
114
(k, q). In fact, such a multiset of rules must contain a multiset of rules for at most k
distinct membranes; if there are not k membranes that can evolve by means of some
rules, then a smaller but maximal number of membranes must be selected (Condition
1 of Definition 6.6). The rules contained in the selected multiset must be applicable to
the objects currently contained inside each membrane (Condition 2 of Definition 6.6).
Moreover, for each membrane, at most q rules must be selected; if inside some membrane
there are less than q rules that can be applied, then all of them (Condition 3 of Definition
6.6).
Therefore, in order to perform a (k, q)-parallel step in a given P system, it is necessary
to first select a multiset of rules R to be applied to the current configuration C such
that R is (C, k, q)-consistent. In this respect, we assume to have defined an algorithm to
select programs and membranes Ak,q such that, given a set a configuration of a P system
Π and its set of programs, returns a multiset of rules which is (C, k, q) consistent. In all
the previous chapters, this selection has been defined as being non-deterministic but, in
general, one may identify other strategies which, in particular, should take into account
the attributes associated with the rules. Approaches in this direction are considered in
[30], [109], [108] where strategies for the selection of the rules are defined which depend
on a notion of rate of application of the rules, or on certain probabilities associated with
the rules. In Section 6.4, we present one such strategy where the rules to be applied in the
next step are selected depending on a particular distribution of probabilities computed
step by step.
Here, we define the notion of a (k, q)-parallel step of computation by assuming a
generic algorithm for the selection of the rules.
Definition 6.7 ((k, q)-parallel step). Let Π = (S, N , µ, M 1 , M2 , . . . , Mn ) be a P system as in Definition 6.3 where S = (V, K, D, A, F, P ), and let C 1 , C2 be configurations
of Π. Let Ak,q be an algorithm for the selection of the rules which is able to return a
(C1 , k, q)-consistent multiset of rules in Π. We say that C 2 can be obtained from C1 in
(k,q)
a (k, q)-parallel step, denoted by C 1 ⇒Π C2 , if, there exists a multiset R of rules in Π
such that:
1. Ak,q (C, P ) = R;
2. R = uj1 vi1 → zj1 wi1 , . . . , ujp vip → zjp wip ;
3. C1 = x uj1 vi1 . . . ujp vip and C2 = x zj1 wi1 . . . zjp wip , for p = |R| and some x ∈ V̄ ∗ .
(k,q)
If that is the case, then we write C1 ⇒Π
C2 .
Thus, a (k, q)-parallel step in a P system consists in the parallel application of a
(C, k, q)-consistent multiset of rules to a certain configuration C. The multiset of rules
to be applied is supposed to be returned by a particular algorithm to select membranes
and programs, and this has to be done before every step depending on the current
configuration of the system.
Then, similarly to Definition 2.7, page 21 and Definition 2.8, page 21, we introduce
the notion of sequence of (k, q)-parallel steps and (k, q)-parallel execution of a P system.
115
Definition 6.8 (sequence of (k, q)-parallel steps). Let Π = (S, N , µ, M 1 , M2 , . . . , Mn )
be a P system as in Definition 6.3. A sequence of (k, q)-parallel steps in Π is a sequence
σ such that:
σ = C 1 , C2 , . . . , C h
(k,q)
where, for all 1 ≤ i ≤ h, Ci is a configuration of Π, and, if i 6= k, then C i ⇒Π Ci+1 . If
that is case, we say that σ is a sequence of (k, q)-parallel steps in Π that starts from C 1
(k,q),h
and that Ch is obtained from C1 in h steps; we also write C1 ⇒Π
Ch .
Definition 6.9 ((k, q)-parallel execution). Let Π = (S, N , µ, M 1 , M2 , . . . , Mn ) be a
P system as in Definition 6.3. An (k, q)-parallel execution of Π is a sequence of (k, q)parallel steps in Π which starts from the initial configuration of Π.
Thus, we have characterised the behaviour of P systems operating according to a
bounded parallelism where the number of membranes and the number of rules which
can be used in every step are overall bounded by some given constants.
Remark 6.4. From a computational point of view, the introduction of bounded parallelism in membrane systems does not affect the fundamental universality results concerning the computational power of P systems with catalysts (Chapter 2, Section 2.3,
page 23), P systems with symport/antiport (Chapter 3, Subsection 3.2.2, page 39), and
P systems with boundary rules (Chapter 3, Subsection 3.3.2, page 48). In fact, it is easy
to see that, in all those results, the simulation of counter machines is achieved by means
of P systems where the number of rules applied in parallel in each step is actually overall
bounded (e.g., see [74]). On the other hand, it is shown in [50], [58] that P systems with
catalysts operating in sequential mode and P systems with symport/antiport operating in sequential mode (i.e., with parallelism of type (1, 1)) are strictly less powerful of
their corresponding parallel versions. Moreover, one can also notice that, whenever k is
equal to the number of membranes in the system, our notion of parallelism of type (k, q)
coincides with the notion of q-Max-Parallelism introduced in [74].
6.4 An algorithm to select membranes and programs
We present an algorithm to select membranes and programs for P systems operating with
parallelism of type (1, 1) (i.e., in sequential mode) where the next membrane to evolve
and the next rule to be applied inside this membrane is randomly selected according to
a certain distribution of probabilities. However, with respect to Definition 6.3, page 111,
the algorithm is here defined only for a restricted model of P systems where rules are all
of the forms:
u [ ] → [ v ], [ v ] → u[ ], [ v ] → [ v 0 ]
(6.2)
that is, there is a distinction between transformation rules and communication rules,
communication is only unidirectional, and there is no interaction between the inside and
the outside of a membrane.
Our strategy for selecting membranes and programs is based on Gillespie’s algorithm
[68]. This algorithm [68] provides an exact method for the stochastic simulation of
116
systems of bio-chemical reactions; the validity of the method is rigorously proved and
it has been already successfully used to simulate various biochemical processes [96]. As
well as this, Gillespie’s algorithm is used in the implementation of stochastic π-calculus
[110] and in its application to the modelling of biological systems [111], [117].
We follow a similar approach to associate a stochastic behaviour to membrane systems
by considering P systems where each rule has associated a real constant which defines
its rate of application and which is used to compute the probability of the rule to be
applied in the next step in the same way as in Gillespie’s algorithm. More precisely, we
consider a class of P systems where, with respect to Definition 6.3, page 111, the set of
values it the set of non-negative real numbers denoted by R +
0 , each programs contains:
a rule like (6.2), a real constant as an attribute, and a function to compute a probability
depending on the value of this constant. For short, such a P system is called PPR (i.e.,
a P systems with Probabilities associated with the Rules).
In order to compute the probability values, we use, for all the programs, the same
+
∗
∗
function denoted by φ and such that φ : R +
0 × V × V −→ R0 with:
φ(k, u, α) = k ·
Y
a∈alph(u)
|α|a !
|u|a ! · (|α|a − |u|a )!
(6.3)
for all k ≥ 0, u, α ∈ V ∗ and u v α; φ(k, u, α) = 0 for all k ≥ 0, u, α ∈ V ∗ and u 6v α.
That is, given a rule [ v ] → u[ ], or a rule [ v ] → [ v 0 ] with an associated attribute
k, and given a multiset α w v, expression (6.3) returns the number of different ways
of choosing |v|a occurrences of a from the multiset α, for all a such that |a| ≥ 0. In
particular, the multiset α is supposed to be the multiset of objects placed inside the
membrane where the rule is going to be used. In a similar way, given a rule u [ ] → [ v ]
with attribute k, expression (6.3) is used to compute a probability value for this rule by
considering the multiset u and the multiset of objects placed in the outside region.
Remark 6.5. The function given by expression (6.3) is already used in [109] to compute
probability values for rules. However, this is done in the context of a different algorithm
to select rules and programs which is not directly related to Gillespie’s algorithm.
Next, we provide a formal definition for the notion of a PPR.
Definition 6.10 (PPR). A P P R of degree n ≥ 1 is a construct
Π = (V, K, R+
0 , A, φ, P, µ, M1 , M2 , . . . , Mn )
where:
• (V, K, R+
0 , A, φ, P ) is a P specification with φ the function given by expression (6.3),
and all the programs in P having the form h r, k, φi l for r a rule like (6.2), and
k ∈ A;
• µ, and M1 , M2 , . . . , Mn are as in Definition 6.3.
117
Notice that, with respect to Definition 6.3, page 111, we do not consider the fatures
of membrane attibutes. Moreover, the function φ is used to compute the probabilities
associated with the rules in a slightly different form with respect to the type of functions
considered in Definition 6.1, page 109: only two multisets instead of four are used by the
function φ. This is because we are restricted to rules of the forms u [ ] → [ v ], [ v ] → u[ ],
[ v ] → [ v 0 ] containing only one multiset on the left side. However, our approach could
be easily generalised to the case of rules of the form u [ v ] → u 0 [ v 0 ] with u, v 6= λ by
considering a function φ0 such that
φ0 (k, u, v, wout , win ) = φ(k, u, wout ) · φ(1, v, win )
where wout , win denote the multisets of objects placed respectively inside and outside
the membrane where the rule is going to be applied.
Let Π be a PPR, and let C be a configuration of Π. For all 1 ≤ i ≤ n, we define the
multiset Oi ∈ V ∗ as being multiset of objects such that |O i |a = |C|ai , for all a ∈ V (i.e.,
Oi is the multiset of objects contained inside membrane i in the configuration C).
We associate to membrane i, with 1 ≤ i ≤ n, a set T R i containing all the triples:
• (t, vi → uj , pt ), with h [ v ] → u[ ], k, φili , li the label of membrane i, j = upper(µ, i),
and pt = φ(k, v, Oi );
• (t0 , vi → vi0 , pt0 ), with h [ v ] → [ v 0 ], k, φili , li the label of membrane i, and pt0 =
φ(k, v, Oi );
• (t00 , ui → vj , pt00 ), with h u [ ] → [ v ], kh , φilj , i = upper(µ, j), lj the label of membrane j, and pt00 = φ(k, u, Oi ).
Thus, for each membrane i, the set T R i is supposed to contain all the rules that can
be used inside membrane i with these rules having associated a corresponding value of
probability. In particular, if a certain rule is not applicable inside membrane i, then
the probability of this rule to be applied turns to be equal to 0. Moreover, notice that
rules which send a multiset inside a certain membrane are considered as rules to be used
inside the surrounding region.
The following algorithm is then defined to select membranes and programs for P
systems with parallelism of type (1, 1).
First, for each membrane i, we compute the index of the next program to be used
inside membrane i and its waiting time by using the classical Gillespie’s algorithm:
P
1. calculate a0 = pj , for all (j, r, pj ) ∈ T Ri ;
2. generate two random numbers r1 and r2 uniformly distributed over the unit interval
(0, 1);
3. calculate the waiting time for the next reaction as τ i =
4. take the index j, of the program such that
j−1
X
k=1
118
1
1
ln( )
a0
r1
pk < r 2 a0 ≤
j
X
k=1
pk ;
5. return the triple (τi , j, i).
Notice that the larger the real constant associated with a rule and the number of occurrences of the objects placed on the left-side of the rule inside a membrane are, the
greater the chance that a given rule will be applied in the next step of the simulation.
There is no constant time-step in the simulation. The time-step is determined in every
iteration and it takes different values depending on the configuration of the system.
Next, a step of application of the rules is simulated by using the following procedure:
• Initialisation
◦ set time of the simulation t = 0;
◦ for each membrane i in µ compute a triple (τ i , j, i) by using the procedure
described above; construct a list containing all such triples;
◦ sort the list of triple (τi , j, i) according to τi ;
• Iteration
◦ extract the first triple, (τm , j, m) from the list;
◦ set time of the simulation t = t + τm ;
◦ update the waiting time for the rest of the triples in the list by subtracting
τm ;
◦ apply the rule contained in the program j only once changing the number of
objects in the membranes affected by the application of the rule;
◦ for each membrane m0 affected by the application of the rule remove the
0 , j 0 , m0 ) from the list;
corresponding triple (τm
0
◦ for each membrane m0 affected by the application of the rule j re-run the
00 , j 00 , m0 ), the next
Gillespie algorithm for the new context in m 0 to obtain (τm
0
00
0
00 ;
program j , to be used inside membrane m and its waiting time τm
0
00 , r 00 , m0 ) in the list and sort this list according to each
◦ add the new triples (τm
0
waiting time and iterate the process.
• Termination
◦ Terminate simulation when time of the simulation t reaches or exceeds a preset
maximal time of simulation, or no more rules can be applied to the objects
left inside the membranes.
Therefore, in this approach, it is the waiting time computed by the Gillespie’s algorithm to be used to select the membrane which is allowed to evolve in the next step of
computation. Specifically, in each step, the membrane associated to the rule with the
same minimal waiting time is selected to evolve by means of this rule. If there are more
than one rule with the same waiting time, then we assume one of them to be randomly
selected to be used in the next step.
119
Moreover, since the application of a rule can affect more than one membrane at the
same time (e.g., some objects may be moved from one place to another), we need to
reconsider a new rule for each one of these membranes by taking into account the new
distribution of objects inside them.
Remark 6.6. The use of a variable time-unit for each step does not affect the semantics
of our model; in each step, a single rule at a time is applied inside a specific membrane.
This means the behaviour of the systems is still synchronous although each application
of the rule has associated a different time-unit. In fact, the waiting time is mainly
used as a parameter necessary to determine the rule to be applied in the next step of
computation.
Remark 6.7. The current algorithms brings some improvements with respect to the
notion of step introduced in Definition 6.7, page 115. In fact, in the iteration phase,
we need not to recompute all the probabilities associated with each program applicable
inside each membrane, but we can do that only for those membranes which are actually affected by the last application of a program. That is because the value of the
probabilities associated with the other rules remain unchanged.
Remark 6.8. The use of the waiting time parameters leads to selecting a membrane
using the minimum waiting time principle. Getting rid of this parameter will lead to a
variant of this algorithm that is associated to a (n, 1)−parallel behaviour of the system,
where n is the total number of membranes. Indeed, in this case there is no way to
distinguish between membranes and all of them will be selected.
6.5 A case-study: bacterial quorum sensing
We present an application of membrane systems to the modelling of quorum sensing in
bacteria (QS, for short).
The QS mechanism is a communication strategy based on diffusible signals which
kick-in under high cellular density. Bacteria use this mechanism to obtain a populationwide coordination of infection, invasion and evasion of a host’s defence. We refer to
[134], [79], [132] for further details about the biology of QS. Moreover, a comprehensive
bibliography of QS-related research can be found at the web pages [2] maintained by the
Nottingham Quorum Sensing Group.
QS bacteria produce and release chemical signal molecules, called autoinducers, whose
external concentration increases as a function of increasing cell-population density. Bacteria detect the accumulation of a minimal threshold stimulatory concentration of these
autoinducers and alter their gene expression, and therefore their behaviour in response
to the variation of the concentration of autoinducers. Using these signal-response systems, bacteria synchronise particular behaviours on a population-wide scale and thus
function as multicellular organisms.
The first described quorum-sensing system is that of the bioluminescent marine bacterium Vibrio fischeri, and it is considered the basic paradigm for quorum sensing in
120
most (gram-negative) bacteria [98]. Vibrio fischeri colonise the light organ of the Hawaiian squid Euprymna scolopes. In this organ, the bacteria grow to high cell density and
induce the expression of genes for bioluminescence. The squid uses the light provided
by the bacteria for counter-illumination to mask its shadow and avoid predation. The
bacteria benefit because the light organ is rich in nutrients and allow proliferation in
numbers unachievable in seawater. Two proteins, named LuxI and LuxR, control the
expression of the luciferase operon (luxICDABE) required for light production. LuxI
is the autoinducer synthase, which produces the autoinducer 3OC6-homoserine lactone
(OHHL, for short), and LuxR acts as a receptor for these autoinducers. OHHL freely
diffuses in and out of the cell and increases in concentration in correspondence of the increasing of the cell density. When this concentration reaches a critical threshold, OHHL
binds to LuxR and this complex activates the transcription of the operon encoding luciferase. As well as this, the LuxR-OHHL complex also induces the expression of luxI
because it is encoded in the luciferase operon. This regulatory configuration floods the
environment with the signal. This creates a positive feedback loop that causes the entire
population to switch into “quorum-sensing mode”, and produce light; in this case, it is
also said that the population is quorated.
QS systems have then been identified in other bacterial populations, for instance,
Pseudomonas aeruginosa, Vibrio harveyi and Bacillus subtillis, where the existence of
quorum-sensing networks relying on multiple signalling circuits acting synergistically has
also been observed.
6.5.1 A P system model of QS
A P system model for the QS system of Vibrio fischeri is here defined where a colony of
such bacteria is represented by means of a membrane structure consisting of a number of
elementary membranes, each one of them representing a bacterium, included in a unique
membrane (the skin) representing a common shared environment. In particular, each
membrane will contain a set of programs modelling the QS regulatory circuits responsible
for the production of light.
To this aim, we use: the symbol OHHL to denote the autoinducer, the symbol LuxR
to denote the receptor for the autoinducer OHHL, the symbol LuxR−OHHL to denote
the complex formed by the binding of the autoinducer OHHL to the receptor LuxR, the
symbol LuxBox to denote the luciferase operon in its down-regulated state (i.e., when
it is not active for the production of light), and the symbol LuxBox − LuxR − OHHL
to denote the luciferase operon in its up-regulated state (i.e., when it is active for the
production of light). Then, we define the following P signature for QS in Vibrio Fischeri.
BS(A) = (V, K, R+
0 , φ, A, P )
where: A = {k1 , k2 , k4 , k3 , k5 , k6 , k7 , k8 , k9 , k10 , k11 , k12 , k13 , k14 } is a set of real constants,
V = {OHHL, LuxR, LuxR−OHHL, LuxBox, LuxBox−LuxR−OHHL}, K = {e, b},
φ is the function given by expression 6.2, and P is finite set containing all the following
programs:
121
• h [ LuxBox ] → [ LuxBox LuxR ], k1 , φib ,
h [ LuxBox ] → [ LuxBox OHHL ], k2 , φib
(at low cell density the autoinducer OHHL and the receptor LuxR are produced
at a basal rate);
• h [ OHHL LuxR ] → [ LuxR − OHHL ], k3 , φib ,
h [ LuxR − OHHL ] → [ OHHL LuxR ], k4 , φib
(the autoinducer OHHL and the receptor LuxR bind together to form the complex
LuxR − OHHL which, in turn, dissociates in its components);
• h [ LuxR − OHHL LuxBox ] → [ LuxBox − LuxR − OHHL ], k 5 , φib ,
h [ LuxBox − LuxR − OHHL ] → [ LuxR − OHHL LuxBox ], k 6 , φib
(the complex LuxR − OHHL binds to the region of DNA responsible for the production of light; such a complex can also dissociate from that region by returning
the luciferase operon to a down-regulated state);
• h [ LuxBox − LuxR − OHHL ] → [ LuxBox − LuxR − OHHL OHHL ], k 7 , φib ,
h [ LuxBox − LuxR − OHHL ] → [ LuxBox − LuxR − OHHL LuxR ], k 8 , φib
(the binding of the complex to the corresponding region of DNA produces an
increase in the production of the autoinducer OHHL and in the production of the
receptor LuxR);
• h [ OHHL ] → OHHL [ ], k9 , φib
(the autoinducer OHHL freely diffuses outside the bacterium and accumulates in
the environment);
• h [ OHHL ] → [ ], k10 , φib ,
h [ LuxR ] → [ ], k11 , φib ,
h [ LuxR − OHHL ] → [ ], k11 , φib
(the autoinducer OHHL, the receptor LuxR and the complex LuxR − OHHL
undergo a process of degradation inside the bacterium);
• h OHHL [ ] → [ OHHL ], k12 , φib
(the autoinducer OHHL diffuse back from the environment into the bacterium);
• h [ OHHL ] → [ ], k13 , φie
(the autoinducer OHHL is degraded in the environment).
Thus, we have identified 14 rules which model the main transformations involved in the
QS system of Vibrio Fischeri. Notice that the signature BS is parametric with respect
to the particular constants associated with the rules.
Next, we define a parametric PPR system Π(n, A) to represent a colony of n ≥ 1
bacteria interacting by means of the QS system described by the aforementioned rules.
Specifically, we have
Π(n, A) = (BS(A), µ(n), M1 , . . . , Mn , Mn+1 )
where:
122
• A = {k1 , k2 , k4 , k3 , k5 , k6 , k7 , k8 , k9 , k10 , k11 , k12 , k13 , k14 };
• µ(n) = [n+1 [1 ]1 . . . [n ]n ]n+1 ;
• Mi = (LuxBox, b), for all 1 ≤ i ≤ n;
• Mn+1 = (λ, e).
Thus, in the initial configuration, we assume all the bacteria in the colony to contain
only one occurrence of the object LuxBox representing the portion of DNA responsible
for the production of the autoinducer OHHL and the receptor LuxR; the environment
is instead supposed to be initially empty. Moroever, notice that, by having the notion
of P specification, we can represent an arbitrary large colony in a very compact way by
avoiding repeating the same set of programs for every membrane in the system.
6.5.2 Simulation Results
We implemented the algorithm to select membranes and programs of Section 6.4, page 116,
in Scilab [4], which is a freely avaliable software package with functionalities similar to
MatLab. More precisely, we implemented a simulator for PPR’s and we used it to simulate the behaviour of the PPR modelling QS system of Vibrio fischeri which has been
illustrated in the previous sub-section.
In order to do so, we have chosen the following set of real constant k 1 = 2, k2 =
2, k3 = 9, k4 = 1, k5 = 10, k6 = 2, k7 = 250, k8 = 200, k9 = 1, k10 = 50, k11 = 30, k12 =
15, k13 = 20, k14 = 20. These values have been set such that the degradation rates
(k11 , k12 , k13 , k14 ) compensate the basal production of the signal and the protein (k 1 , k2 )
and such that the production rates when the regulatory region is occupied (k 7 , k8 ) produce a massive increase in the transcription of the signal and the protein.
We have studied the behaviour of the system for populations of different sizes to
examine how bacteria can sense the number of bacteria in the population and produce
light only when the number of individuals is big enough. First we have considered a
population of 300 bacteria.
Figure 6.1 shows the evolution over time of the number of quorated bacteria and the
number of signal (OHHL) in the environment. We say a bacterium is quorated if and
only if, the LuxBox is occupied by the complex LuxR-OHHL. In this respect, it may
be observed that the signal, OHHL, accumulates in the environment until saturation
and then, when this threshold is reached, bacteria are able to detect that the size of
the population is big enough. At the beginning, a few bacteria get quorated and then
they accelerate a process of recruitment that makes the whole population behave in
a coordinated way. There exists a correlation between the number of signals in the
environment and the number of quorated bacteria such that, when the number of signals
in the environment drops, so does the number of quorated bacteria and when the signal
goes up it produces a recruitment of more bacteria.
Figure 6.2 instated shows the evolution over time of the average bacterium across the
population of the number of signal (OHHL), protein (LuxR) and the complex (LuxROHHL). Note that on average there is a correlation among the signal OHHL, the protein
123
240
200
160
120
80
40
Time
0
0
4
8
12
OHHL
Quorated Bacteria
16
20
24
28
32
36
40
Figure 6.1: Evolution over time of the number of quorated bacteria and number of signals
in the environment in a colony of 300 bacteria.
LuxR and the complex LuxR-OHHL. Moreover, the patterns in the evolution of the average number of complexes across the population and the number of quorated bacteria are
similar. In our approach the behaviour of each individual in the colony can be tracked.
Number of Molecules
5
4
3
2
1
Time
0
0
4
8
OHHL
LuxR
LuxR-OHHL
12
16
20
24
28
32
36
40
Figure 6.2: Evolution over time of the number of OHHL, LuxR and complexes in the
average bacterium.
We have taken a sample of two bacteria (Figure 6.3) and have studied the correlation
between the amount of signal inside each bacterium (first row) and the occupation of
the LuxBox by the complex (second row) which represents that the bacterium has been
quorated.
In Figure 6.3, it is shown that the number of signal molecules inside the bacterium
has to exceed a threshold in order to recruit the bacterium. It may be observed that
124
OHHL
OHHL
12
12
10
10
8
8
6
6
4
4
2
2
Time
0
0
4
8
12
16
20
24
28
32
36
Time
0
40
0
LuxBox occupped
4
8
12
16
20
24
28
32
36
40
4
8
12
16
20
24
28
32
36
40
LuxBox occupied
2.0
2.0
1.8
1.8
1.6
1.6
1.4
1.4
1.2
1.2
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
Time
0.0
0
4
8
12
16
20
24
28
32
36
Time
0.0
40
0
Figure 6.3: Number of signals and occupation of the LuxBox in a sample of two bacteria
from a colony of 300 bacteria.
when the number of molecules is greater than the threshold the bacterium gets quorated
or up-regulated, but when there are less signal molecules the bacterium switches off the
system and goes down-regulated.
We can also study how rules are applied across the evolution of the system. For
instance, we can show the evolution of the number of applications of the rule representing
the basal production of the signal OHHL (Figure 6.4) and the number of applications
of the rules representing the production of the signal OHHL after the binding of the
complex to the LuxBox (Figure 6.5).
This can be compared with the number of applications of the rules representing the
production of the signal OHHL after the binding of the complex to the LuxBox. In this
way, we can show how at the beginning the basal production rule is the most applied
rule while the other one is seldomly applied. Then, as a result of the recruitment process
the bacteria sense the size of the population and they behave in a coordinate way by
applying massively the third rule. Thus, the system moves from a down-regulated state
to an up-regulated one where the bacteria collectively emit light. Specifically, this can
be clearly seen if you compare Figure 6.4 with Figure 6.5. Two similar graphs can be
obtained for the rules producing the protein LuxR.
Finally, in order to study how bacteria can sense the number of individuals in the
colony and get quorated only when the size of the colony is big enough, we have examined
the behaviour of a population of only 10 bacteria. In this case, as shown in Figure 6.6,
we observed that the recruitment process does not take place. Only one of the bacteria
guessed wrong the size of the population and got up-regulated but then it switches
off after sensing that the signal does not accumulate in the environment. The average
125
[ LuxBox ]b −−> [ LuxBox, OHHL ]b
Number of Applications
240
200
160
120
80
40
Time
0
0
4
8
12
16
20
24
28
32
36
40
Figure 6.4: Number of application of the rule representing the production of signals at
a basal rate in a colony of 300 bacteria.
number of molecules shows no pattern which means that the colony is not coordinating
its behaviour.
Furthermore, we tracked the behaviour of two bacteria in the colony (Figure 6.7) by
obtaining that one never got quorated whereas the other one got quorated. Observe that
this bacterium got quorated because the amount of signal inside exceeded the threshold.
Finally, in Figure 6.8 it may be observed that in this situation the system remains in
a down-regulated state only applying the rules representing the basal productions while
the rules associated with the production of light are seldomly applied.
Summing up, our simulations show that Vibrio fischeri has a quorum sensing system
where a single bacterium can guess that the size of the population is big enough and starts
to produce light. Then this bacterium starts to massively produce signals, if the signal
does not accumulate in the environment meaning that the guess was wrong it switches
off. On the other hand if the signal does accumulate in the environment, meaning that
the number of bacteria in the colony is big, then a recruitment process takes place that
makes the whole population of bacteria to luminesce. These results agree well with in
vitro experiments and with results obtained by using differential equations [79].
6.6 Discussion
As we have seen, there is a growing interest in membrane computing in using P systems
for modelling biological systems. This often requires the introduction in the membrane
system model of some extra features especially when the quantitative aspects characterising the “reality” of the biological phenomenon to be modelled are considered.
Here we have addressed these issues by specifically introducing the notion of a program consisting of a rule with a finite set of attributes and a function from a given set
(Definition 6.1, page 109). Then, in Section 6.4, page 116, we have shown how attributes
126
Number of Applications
[ LuxBox−LuxR−OHHL ]b −−> [ LuxBox−LuxR−OHHL , OHHL ]b
360
320
280
240
200
160
120
80
40
Time
0
0
4
8
12
16
20
24
28
32
36
40
Figure 6.5: Number of applications of the rule representing the production of signals at
a high rate in a colony of 300 bacteria.
Quorated Bacteria
Number of Molecules
10
1.0
9
0.9
8
0.8
7
0.7
6
0.6
5
0.5
4
0.4
3
0.3
2
0.2
1
0
0.00
0.1
Time
4.29
8.57
12.86
17.14
21.43
25.71
30.00
0.0
0.00
Time
4.29
OHHL
LuxR
LuxR-OHHL
8.57
12.86
17.14
21.43
25.71
30.00
Figure 6.6: Evolution over time of the number of quorated bacteria and number of signals
in the environment in a colony of 10 bacteria.
and functions can be used to define P system models for bio-chemical systems consisting
of a number of bio-chemical reactions distributed across various compartments of the
system. A precise strategy for the application of the rules has also been defined for this
class of P systems which makes possible to associate a stochastic behaviour to such P
systems. Our approach is based on the well-known Gillespie’s algorithm and it is developed alongside the work done in [30], [108], [109] where alternative strategies for the
application of the rules are defined.
In general, our approach points out some key-issues which need to be addressed every
time a new model for a biological system is developed:
• How do we represent the ”reality” of the phenomenon in a P system model? Which
variant of P systems must we consider?
• Which strategy for the application of the rules do we intend to adopt? What
127
BACTERIUM 1
OHHL
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
0
0.00
1
Time
4.29
8.57
LuxBox occupied
12.86
17.14
21.43
25.71
30.00
BACTERIUM 1
0
0.00
Time
4.29
8.57
2.0
1.8
1.8
1.6
1.6
1.4
1.4
1.2
1.2
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
12.86
17.14
21.43
25.71
30.00
21.43
25.71
30.00
BACTERIUM 2
LuxBox occupied
2.0
0.0
0.00
BACTERIUM 2
OHHL
10
0.2
Time
4.29
8.57
12.86
17.14
21.43
25.71
30.00
0.0
0.00
Time
4.29
8.57
12.86
17.14
Figure 6.7: Number of signals and occupation of the LuxBox in a sample of two bacteria
from a colony of 10 bacteria.
are the alternatives? How do we implement them? How do we evaluate their
performances?
• If a particular simulation does not reproduce the “expected” behaviour, what do
we need to change? Do we need to change the model or do we need to try a different
strategy for the application of the rules? How does the choice of parameters affect
the result of a simulation?
For the moment, these questions can be answered only through empirical research which
attempts at matching the results of a P system simulation with the results of biological
experiments and/or the evidences resulting from other well-consolidated mathematical
models. This is what has been done in Sub-section 6.5.2, page 123, for the case of quorum
sensing in bacteria: we have shown through simulations, that our model is able to “reproduce” the behaviour of the quorum sensing system of Vibrio fischeri usually observed
in laboratory experiments and previously derived by means of differential equation models. Nevertheless, such an approach based on P systems may provide some benefits with
respect to the traditional mathematical modelling in terms of a more direct and intuitive formalism for representing the biological mechanisms and in terms of modularity,
flexibility and scalability of the model.
128
[ LuxBox ]b −−> [ LuxBox , OHHL ]b
Number of Applications
[ LuxBox−LuxR−OHHL ]b −−> [ LuxBox−LuxR−OHHL , OHHL ]b
Number of Applications
14
14
12
12
10
10
8
8
6
6
4
4
2
2
Time
0
0
4
8
12
16
20
24
28
32
Time
0
0
4
8
12
16
20
24
28
32
Figure 6.8: Number of applications of the rules representing the production of signals at
basal and high rates in a colony of 10 bacteria.
129
Conclusions
Membrane computing is a branch of molecular computing that aims at defining computing devices, called membrane systems or P systems, which abstract from the structure
and functioning of the cell. A membrane system consists in a hierarchical arrangement
of membranes delimiting regions, which represent various compartments of a cell, and
with each region having associated rules, which model bio-chemical processes taking
place inside the cell. These rules typically encode both operations for modifying the
objects placed inside the membranes (evolution/transformation rules) and operations
for moving these objects from one region to another one (communication rules). In
a sense, membrane systems provide an abstract framework for reasoning about localisation/distribution of computing resources between different components of a larger
system and for reasoning about the way interactions between these components take
place. Many variants of membrane systems have been proposed in the literature by
considering different aspects of the cell functioning
Membrane systems were originally introduced with the aim of investigating the computational nature of model inspired by biological membranes. More recent researches have
been instead dedicated to the study of membrane systems as a formalism for modelling
biological systems, and possibly simulating their behaviour. This thesis deals with both
these two approaches to the research in membrane computing. Every chapter contains
a final section where several topics for future research have been outlined and, hence, it
is not our intention to present these details again. Here we only summarise the main
contributions of the thesis.
The power of evolution and communication
Recall from Chapter 2, Section 2.3 page 23 that, non-cooperative P systems with communication controlled by targets here, in, out are not computationally complete even
when they are equipped with the additional features of a priority relationship between
the rules or with an operation for dissolving the membranes. In fact, in order to achieve
the universality of transition P systems, we need at least a form of cooperation between
objects based on the the use of catalysts. This is a core result in the area of membrane
computing, which naturally leads to some important questions concerning the role of
evolution and communication in membrane systems.
What are the simplest communication rules which achieve the full power of Turing
machines? What is the power of membrane systems where communication rules are the
only rules present in the system (i.e., purely communicative models)?
In this thesis, we have first considered purely communicative P systems, and, in the
case of P systems with symport/antiport, we have shown how to achieve universality
130
by using rules of a minimal size. That is, P systems with symport/antiport where both
symport rules and antiport rules are of size 1 turn out to be computationally complete.
Purely communicative P systems with symport/antiport were already known to be universal but, before the result reported in [14], all the existing results were based on P
systems with rules of size at least 2. In this thesis, we have shown how to obtain the universality of P systems with minimal symport/antiport by using only 5 membranes. Such
a result has been recently improved in [9] by showing that 3 membranes suffice. However,
the optimality of this result is not know and, specifically, it is not known whether P systems with minimal symport/antiport and two membranes are computationally complete
or not.
Subsequently, we have considered P systems with boundary rules as an evolutioncommunication model of P systems. In this case, we have proved the universality for P
systems where non-cooperative transformation rules are considered together with communication rules where only one object at a time is moved in any direction but possibly
with the help of another one operating as an activator. Once again, this represents a
form of “minimal” cooperation in communication rules where at most 2 objects appear
on the left side of each rule. However, unlike symport rules of size 2 and antiport rules of
size 1, in the aforementioned rules, only one of the two objects in the left side is moved
in one direction by a single application of a rule, whereas the other one is left where it
is. An important issue, related to this model, concerns the investigation of the power of
purely communicative P systems where communication rules move only one objects at
a time in any direction but possibly with the help of another one. The power of such
systems is not known
Moreover, the study of PX systems, as a model combining directly P systems and X
machines, has led to a further confirmation of the core result concerning the power of noncooperative P systems: non-cooperative P systems are not computationally complete
even when equipped with the features of an underlying state-transition diagram which
controls the application of the rules. PX systems are in fact equivalent in power to E0L
systems.
The power of membrane creation, division and duplication
P systems with active membranes represent an important class of membrane systems
where rules, besides moving and transforming the objects, are able to modify the membrane structure itself by using a specific set of membrane operations like membrane
division or membrane creation. P systems with active membranes were mainly investigated in order to reveal “efficient” solutions to NP complete problems. Membrane
division and membrane creation when combined with maximal parallelism provide efficient mechanisms for generating an exponential space in polynomial time. However,
in terms of computational power, P systems with active membranes were proved to be
computationally complete without using the operation of membrane division. Such a
universality result relies only on transformation rules and communication rules whose
power is enhanced by the special feature of a polarisation associated to the membranes
(Chapter 2, Sub-section 2.4.3 , page 28). In general, the role of membrane operations in
defining successful and meaningful computations in membrane systems is rarely inves-
131
tigated in the existing literature. Moreover, since the output is usually collected inside
a specific membrane, it often turns out that the hierarchy on the number of membranes
collapses at a particular level, typically given by a small number of membranes.
In this thesis, we have proposed a new approach to computing with membranes where
a computation produces as an output a string (or a set of strings) which is encoded in the
membrane structure considered as a whole. In this way, we have been able to show how to
generate languages by means of P systems with active membranes. Specifically, we have
considered a general class of P systems where rules encode the operations of membrane
division, membrane creation and membrane duplication. Then, three output modes have
been identified: visiting the tree associated with the membrane structure, following the
traces of a specific object, called traveller, or collecting the objects in the order they are
sent out of the skin membrane (external mode). For each one of these output modes, we
have provided characterisations of recursively enumerable languages based on P systems
that use different sets of operations for modifying the membrane structure. Nevertheless,
there are classes of P systems with active membranes whose computational power is yet
to be investigated: P systems with membrane creation and membrane dissolution (or
membrane division and membrane dissolution) operating according to the external mode
or the traces mode; P systems without membrane dissolution operating according to any
of the three identified output modes; P systems with membrane creation and membrane
dissolution restricted to elementary membranes. These represent open problems which
will be addressed by future research.
Population P systems
A natural generalisation of membrane systems is represented by tissue P systems [105]
which represent a class of membrane systems where the structure of the system is defined
as an arbitrary graph. From a biological point view, they can be interpreted as an
abstract model of tissues in multicellular organisms. In a tissue P system, each node
in the graph corresponds to an elementary membrane containing a multiset of objects;
these membranes can communicate objects alongside the edges of the graph and they
may have direct access to the environment.
Population P systems furtherly develop this idea of networks of membranes by starting
from the observation that biological systems at various levels share the important feature
of being composed by many individual components that cooperate each other for the
benefit of the system as a whole. In this way, higher levels of organisation are obtained
by means of local interactions among different individuals and between an individual and
the environment. Moreover mechanisms enabling new individuals to be introduced in
the system, to update links between them or to remove them from the system often play
a fundamental role in the evolution of a complex biological system. From a technical
point of view, population P systems re-consider the features of P systems with active
membranes in the context of tissue P systems in order to have systems with a dynamic
structure of the underlying graph.
In this thesis, we have defined a model of population P systems where the structure of the underlying graph is continuously modified after each step of transformationcommunication according to a specific set of bond-making rules, which are able to
132
add/remove edges from the graph defining the structure of the system. A transformationcommunication step mainly consists in applying rules for modifying the objects and
communicating them from a cell to another one. In particular, a communication rule
allows a cell to use an object as a receptor for bringing in an object taken from one of
the neighbouring cells non-deterministically chosen. As well as this, cell division rules
for duplicating the existing nodes in the graph, cell differentiation rules for changing
the type of the cells associated with the nodes in the graph, and cell death rules for
removing nodes from the graph can also be applied in a transformation-communication
step. Moreover, all the cells in the system have direct access to an external environment
which they can exchange with.
The thesis essentially reports universality results obtained by using different combinations of the aforementioned features of population P systems; the relevance of these
results has been discussed in Chapter 5, Section 5.5, page 104. Here, we only recall
two main results: unstructured population P systems where cells communicate only
through the environment turn to be computationally complete when they are equipped
with communication rules operating according to the signal-receptor mechanism; population P systems with no cooperation neither in the transformation rules nor in the
communication rules turn to be computationally complete when they are equipped with
bond-making rules of size at least 2.
Finally, we remark that population P systems open opportunities for future research
in different directions. On one hand, one can consider population P systems as a model
for communities of individual bio-entities which cooperate/interact each other through
a common shared environment. Specifically, individual components can be interpreted
as being autonomous agents, each one characterised by its own behaviour which, in
general, depends both on the internal state of the agent and on the interactions with
the environment and with the other individuals present in the system. Thus, one may
introduce and investigate various notions of “computing at population level” where cooperation/interaction between individuals of a larger system plays a central role to achieve
meaningful and successful computations. In this respect, it becomes important to limit
the computational capabilities of each individual cell in a population P system so that
the hierarchy on the number of cells would not trivially collapse at a low level. That is,
“computations at population level” should rely more on coopeartion/interaction between
cells and less on the internal mechanisms of a single cell. On the other hand, population
P systems can be interpreted as being a model for networks of cells with a dynamic
structure of the underlying graph structure in analogy with P systems with active membranes. In general, we believe the comparison between P systems with active membranes
and population P systems deserves deeper and further investigations. For instance, the
efficiency of population P systems in solving NP-complete problems is an important issue
which has not been addressed in this thesis. Furthermore, we have already mentioned
the possibility of using population P systems as a model for self-assembly and some
preliminary work is reported in [22]. Another potential research topic is represented by
the usage of population P systems as a paradigm for modelling complex systems with
agent-based approaches. Investigations in this direction have already been reported in
[126], [127].
133
Membrane systems for biological modelling
As we have seen, the study of membrane systems as a mathematical model for biological
systems is now becoming an important research topic in the area of membrane computing. This means using membrane systems for different purposes: representing/describing
biological systems and devising computational model for running simulations of biological systems of various interest. In this respect, membrane systems already provide a
sort of an abstract model for the cell as they were introduced as bio-inspired computing
devices; most of the essential features of membrane systems have a biological motivation. However, it clearly appears that extra-features need to be introduced in membrane
systems in order to close the “gap” between the abstractness of the model and the “reality” of the phenomenon to be modelled. In other words, one has to look for variants
of membrane systems which are as realistic as possible and, at the same time, which are
suitable for running in silico experiments. Thus, an important related issue concerns the
identification of appropriate implementation and simulation techniques for some classes
of P system models.
In this thesis, we have presented a general model of membrane systems where rules
allow us to express in a compact form the essential features of transformation and communication of objects usually considered in membrane systems. Moreover, we have
advocated the use of attributes and functions associated with the rules as a mean for
expressing generic properties of the processes encoded by the rules which can influence
the behaviour of the rules themselves. In particular, we have shown how to use these
attributes and these function to associate a real constant to the rules together with
a function to compute the probability of this rule to be applied in the next step of
execution.
The introduction of this model of P systems containing rules, attributes, and functions
can be seen as first step towards the definition of a P-system-based specification language
to be used to represent in a formal way biological systems based on different entities. In
this respect, future work should aim at clarifying the rôle of attributes and functions,
and it should also be dedicated to the introduction of other rules encoding membrane
operations for modifying the membrane structure itself. In this framework, a central
issue is the integration of the specification at an individual level with the specification
at the population level such as to allow us to model more complex and larger biological
systems.
As well as this, we have formalised the behaviour of the aforementioned P systems in
terms of bounded parallelism of type (k, q): in each step, at most k membranes evolve
in parallel at the same time and, inside each membrane, at most q rules are applied
in parallel at the same time. We believe bounded parallelism is more “realistic” and
more suitable for modelling biological systems and running reasonable simulations of P
system models than the notion of maximal parallelism which assumes the possibility of
consuming all the objects present inside a membrane in one single step of application of
the rules irrespective of the number of occurrences of these objects. Moreover, bounded
parallelism can be used in combination with a particular strategy to select rules and
membranes. In this respect, an example of a strategy to select membranes and rules for
P systems has been reported where each rule has associated a real constant and a specific
134
function to compute step by step a value of probability for each rule. Such a strategy
has then led to an implementation of a tool for executing P system models which has
been used to simulate the behaviour of a colony of bacteria interacting by means of a
signalling mechanism based on autoinducers.
135
Bibliography
[1] Molecular X machines web pages.
http://www.dcs.shef.ac.uk/~marian/research/molxm/.
[2] Nottingham quorum sensing web pages. http://www.nottingham.ac.uk/quorum/.
[3] The P systems web page. http://psystems.disco.unimib.it.
[4] Scilab web pages. http://scilabsoft.inria.fr/.
[5] L.M. Adleman. Molecular computation of solutions to combinatiorial problems.
Science, 226:1021–1024, 1994.
[6] B. Alberts, A. Johnson, J. Lewis, M. Raff, K. Roberts, and P. Walter. The Molecular Biology of the Cell. Garland Publ. Inc., London, 4th edition, 2002.
[7] A. Alhazov. Minimizing evolution-communication P systems and automata. New
Generation Computing, 22(4):299–310, August 2004.
[8] A. Alhazov, R. Freund, and M. Oswald. Symbol/membrane complexity of P systems with symport/antiport. In R. Freund, G. Lojka, M. Oswald, and Gh. Păun,
editors, Pre-Proceedings of the 6th International Workshop on Membrane Computing (WMC6), pages 123–146. Vienna, July 18-21, 2005.
[9] A. Alhazov, M. Margenstern, V. Roghozin, Y. Roghozin, and S. Verlan. Communicative P systems with minimal cooperation. In G. Mauri, Gh. Păun, M.J.
Pérez-Jiménez, G. Rozenberg, and A. Salomaa, editors, Membrane Computing.
International Workshop, WMC 2004, Milan, Italy, June 2004. Revised and Invited Papers, number 3365 in Lecture Notes in Computer Science, pages 161–177.
Springer, 2005.
[10] A. Alhazov, L. Pan, and Gh. Păun. Trading polarizations for labels in P systems
with active membranes. Acta Informatica, 41(2–3):111–144, 2004.
[11] A. Alhazov and Y. Rogozhin. Mininmal cooperation in symport/antiport with one
membrane. In M.A. Gutiérrez-Navarro, Gh. Păun, and M.J. Pérez-Jiménez, editors, Proceeding of the ESF Exploratory Workshop on Cellular Computing (Complexity Aspects), pages 29–34. Fénix Editora, Sevilla, 2005.
136
[12] A. Alhazov, Y. Rogozhin, and S. Verlan. Symport/antiport tissue P systems with
minimal cooperation. In M.A. Gutiérrez-Navarro, Gh. Păun, and M.J. PérezJiménez, editors, Proceedings of the ESF Exploratory Workshop on Cellular Computing (Complexity Aspects), pages 35–52. Fénix Editora, Sevilla, 2005.
[13] I. Ardelean, M. Cavaliere, and D. Sburlan. Computing with signals: From cells to
P systems. Soft Computing, 9(9):631–639, 2005.
[14] F. Bernardini and M. Gheorghe. On the power of minimal symport/antiport. In
A. Alhazov, C. Martı́n-Vide, and Gh. Păun, editors, Pre-Proceedings of Workshop on Membrane Computing 2003. Tarragona, July 17-22, 2003, pages 72–83.
Technical Report 28/03, Universitat Rovira i Virgili, Tarragona, 2003.
[15] F. Bernardini and M. Gheorghe. Cell communication in tissue P systems and cell
division in population P systems. In Gh. Păun, A. Riscos-Nunez, A. RomeroJiménez, and F. Sancho-Caparrini, editors, Second Brainstorming Week on Membrane Computing. Seville 2-7 February 2004, Technical Report 01/2004, pages
74–91. Dept. of Computer Sciences and Artificial Intelligence, Univ. of Sevilla,
2004.
[16] F. Bernardini and M. Gheorghe. Languages generated by P systems with active
membranes. New Generation Computing, 22(4):311–330, 2004.
[17] F. Bernardini and M. Gheorghe. Population P systems. Journal of Universal
Computer Science, 10(5):509–539, May 2004.
[18] F. Bernardini and M. Gheorghe. Population P systems and grammar systems.
In E. Csuhaj-Varjú and G. Vaszil, editors, Proceedings of The Grammar System
Week 2004. Budapest, July 5-9, 2004, pages 66–77. Technical Report 2004/05,
MTA SZTAKI, Budapest, 2004.
[19] F. Bernardini and M. Gheorghe. Cell communication in tissue P systems: Universality results. Soft Computing, 9(9):640–649, 2005.
[20] F. Bernardini, M. Gheorghe, and M. Holcombe. PX systems = P systems + X
machines. Natural Computing, 2(3):201–213, August 2003.
[21] F. Bernardini, M. Gheorghe, and M. Holcombe. Eilenberg P systems with symbolobjects. In N. Jonoska, Gh. Păun, and G. Rozenberg, editors, Aspects of Molecular
Computing, number 2950 in Lecture Notes in Computer Science, pages 49–60.
Springer, 2004.
[22] F. Bernardini, M. Gheorghe, N. Krasnogor, and J.L. Giavitto. On self-assembly
in population P systems. In C.S Calude, M.J. Dinneen, Gh. Păun, M. J. PérezJiménez, and G. Rozenberg, editors, Uncoventional Computation. 4th International Conference, UC 2005, Sevilla, Spain, October 2005, Proceedings, number
3365 in Lecture Notes in Computer Science, pages 46–57. Springer, 2005.
137
[23] F. Bernardini, M. Gheorghe, N. Krasnogor, R.C. Muniyandi, M. Pérez-Jiménez,
and F.J. Romero-Campero. On P systems as a modelling tool for biological systems. In R. Freund, G. Lojka, M. Oswald, and Gh. Păun, editors, Pre-Proceedings
of the 6th International Workshop on Membrane Computing (WMC6), pages 193–
213. TU Wien, Vienna, July 18-21, 2005.
[24] F. Bernardini, M. Gheorghe, N. Krasnogor, and G. Terrazas. Membrane computing
- Current results and future problems. In S.B. Cooper, B. Löwe, and L.Torenvilet,
editors, New Computational Paradigms. First Conference on Computability in Europe, CiE2005, Amsterdam, The Netherlands, June 2005, Proceedings, number
3526 in Lecture Notes in Computer Science, pages 49–53. Springer, 2005.
[25] F. Bernardini, M. Gheorghe, and V. Manca. On P systems and almost periodicity.
Fundamenta Informaticae, 64(1–4):29–42, 2005.
[26] F. Bernardini and V. Manca. P systems with boundary rules. In Gh. Păun,
G. Rozenberg, A. Salomaa, and C. Zandron, editors, Membrane Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş, Romania, August 19-23,
2002. Revised Papers, number 2597 in Lecture Notes in Computer Science, pages
107–118. Springer, 2003.
[27] F. Bernardini and A. Păun. Universality of minimal symport/antiport: Five membranes suffice. In C. Martı́n-Vide, G. Mauri, Gh. Păun, G. Rozenberg, and A. Salomaa, editors, Membrane Computing, International Workshop, WMC 2003, Tarragona, Spain, July, 17-22, 2003, Revised Papers, number 2933 in Lecture Notes
in Computer Science, pages 43–54. Springer, 2004.
[28] F. Bernardini, F.J. Romero-Campero, M. Gheorghe, M. Pérez-Jiménez, M. Margenstern, S. Verlan, and N. Krasnogor. On P systems with bounded parallelism. In
G. Ciobanu and Gh. Păun, editors, Proceedings of the 1st International Workshop
on Theory and Application of P Systems (TAPS ’05), pages 31–36. IeAT Technical
Report 05-11, Timişoara, September 25-29, 2005.
[29] D. Besozzi. Computational and Modelling Power of P Systems. PhD thesis, Universitá degli Studi di Milano, Milan, Italy, 2004.
[30] L. Bianco, F. Fontana, G. Franco, and V. Manca. P systems for biological dynamics. In G. Ciobanu, Gh. Păun, and M.J. Pérez-Jiménez, editors, Applications of
Membrane Computing, pages 81–126. Springer, 2005.
[31] L. Bianco, F. Fontana, and V. Manca. P systems and the modelling of biochemical
oscillation. In R. Freund, G. Lojka, M. Oswald, and Gh. Păun, editors, PreProceedings of the 6th International Workshop on Membrane Computing (WMC6),
pages 214–225. TU Wien, Vienna, July 18-21, 2005.
[32] V. Brendel and H. Busse. Genome structure described by formal languages. Nucleic
Acid Research, 12:2561–2568, 1984.
138
[33] T. Bălănescu, T. Cowling, H. Georgescu, M. Gheorghe, M. Holcombe, and C. Vertan. Communicating X machines are no more than X machines. Journal of Universal Computer Science, 5(9):494–507, 1999.
[34] T. Bălănescu, M. Gheorghe, M. Holcombe, and F. Ipate. Eilenberg P systems.
In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors, Membrane
Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş, Romania,
August 19-23, 2002. Revised Papers, number 2597 in Lecture Notes in Computer
Science, pages 43–57. Springer, 2003.
[35] L. Cardelli. Brane calculi - Interactions of biological membranes. In V. Danos and
V. Schachter, editors, Computational Methods in System Biology (CSMB2004).
Paris, France, May 2004. Revised Papers, number 3082 in Lecture Notes in Computer Science, pages 257–280. Springer, 2005.
[36] L. Cardelli and Gh. Păun. An universality result for a (mem)brane calculus based
on mate/drip operations. to appear in International Journal of Foundations of
Computer Science, 2005.
[37] M. Cavaliere. Evolution-communication P systems. In Gh. Păun, G. Rozenberg,
A. Salomaa, and C. Zandron, editors, Membrane Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş, Romania, August 19-23, 2002. Revised
Papers, Lecture Notes in Computer Science, pages 134–145. Springer, 2003.
[38] R. Ceterchi, R. Gramatovici, and N. Jonoska. Tiling rectangular pictures with P
systems. In C. Martı́n-Vide, G. Mauri, Gh. Păun, G. Rozenberg, and A. Salomaa,
editors, Membrane Computing, International Workshop, WMC 2003, Tarragona,
Spain, July, 17-22, 2003, Revised Papers, number 2933 in Lecture Notes in Computer Science, pages 88–103. Springer, 2004.
[39] R. Ceterchi and C. Martı́n-Vide. Dynamic P systems. In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors, Membrane Computing. International
Workshop, WMC-CdeA 02, Curteă de Argeş, Romania, August 19-23, 2002. Revised Papers, number 2597 in Lecture Notes in Computer Science, pages 146–186.
Springer, 2003.
[40] J. Chen and J. Reif, editors. 9th International Workshop on DNA Based Computers, DNA9, Madison, WI, USA, June 2003. Revised Papers. Number 2943 in
Lectures Notes in Computer Science. Springer, 2004.
[41] N. Chomsky. Three models for the description of languages. IRE Transactions on
Information Theory, 2:113–124, 1956.
[42] G. Ciobanu, O. Andrei, and D. Locanu. Structural operational semantics of P systems. In R. Freund, G. Lojka, M. Oswald, and Gh. Păun, editors, Pre-Proceedings
of the 6th International Workshop on Membrane Computing (WMC6), pages 1–23.
TU Wien, Vienna, July 18-21, 2005.
139
[43] G. Ciobanu, Gh. Păun, and M.J. Pérez-Jiménez, editors. Applications of Membrane Computing. Springer, 2005.
[44] J. Collado-Vides, R.M. Gutierrez-Rios, and G. Bel-Enguix. Networks of transcriptional regulation encoded in a grammatical model. Biosystems, 47:103–118, 1998.
[45] M. Conrad. On design principles for a molecular computer. Communication of
ACM, 28:464–480, 1985.
[46] M. Conrad. The price of programmability. In ed. R. Herken, editor, The Universal
Turing Machine: A Fifty Years’ Survey, pages 285–397. Oxford Univ. Press, 1988.
[47] E. Csuhaj-Varjú, J. Dassow, J. Kelemen, and Gh. Păun. Grammar Systems. A
Grammatical Approach to Distribution and Cooperation. Gordon and Breach, London, 1994.
[48] E. Csuhaj-Varjú, J. Kelemen, A. Kelemenova, and Gh. Păun. Eco-grammar systems: A grammatical framework for studying life-like interactions. Artificial Life,
3:1–28, 1997.
[49] E. Csuhaj-Varjú and G. Vaszil. P automata or purely communicating accepting
P systems. In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors,
Membrane Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş,
Romania, August 19-23, 2002. Revised Papers, number 2597 in Lecture Notes in
Computer Science, pages 219–233. Springer, 2003.
[50] Z. Dang and O.H. Ibarra. On P systems operating in sequential mode. to appear
in International Journal of Foundations of Computer Science.
[51] V. Danos and C. Laneve. Formal molecular biology. Theoretical Computer Science,
325(1), September 2004.
[52] J. Dassow and Gh. Păun.
Springer, Berlin, 1984.
Regulated Rewriting in Formal Language Theory.
[53] K.S. Dersanambika, K. Krithivasan, and K.G. Subramanian. P systems generating
hexagonal picture languages. In C. Martı́n-Vide, G. Mauri, Gh. Păun, G. Rozenberg, and A. Salomaa, editors, Membrane Computing, International Workshop,
WMC 2003, Tarragona, Spain, July, 17-22, 2003, Revised Papers, number 2933
in Lecture Notes in Computer Science, pages 168–180. Springer, 2004.
[54] Z. Duan, M. Holcombe, and A. Bell. A logic for biological systems. Biosystems,
53:93–155, 2000.
[55] S. Eilenberg. Automata, Languages and Machines, volume B. Academic Press,
1976.
140
[56] C. Ferretti, G. Mauri, and C. Zandron, editors. 10th International Workshop on
DNA Based Computers, DNA10, Milan, Italy, June 2004. Revised Selected Papers.
Number 3384 in Lectures Notes in Computer Science. Springer, 2005.
[57] M.J. Fischer, R.C. Paton, and K. Matsuno. Intracellular signalling proteins as
smart agents in parallel distributed processes. Biosystems, 50(3):159–171, June
1999.
[58] R. Freund. Asynchronous P systems and P systems working in the sequential mode.
In G. Mauri, Gh. Păun, M. J. Pérez-Jiménez, G. Rozenberg, and A. Salomaa,
editors, Membrane Computing. International Workshop, WMC 2004, Milan, Italy,
June 2004. Revised and Invited Papers, number 3365 in Lecture Notes in Computer
Science, pages 36–62. Springer, 2005.
[59] R. Freund, L. Kari, M. Oswald, and P. Sosı́k. Computationally universal P systems
without priorities: Two catalysts are sufficient. Theoretical Computer Science,
330(2):251–266, 2005.
[60] R. Freund and M. Oswald. P systems with activated/prohibited membrane channels. In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors, Membrane
Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş, Romania,
August 19-23, 2002. Revised Papers, number 2597 in Lecture Notes in Computer
Science, pages 261–269. Springer, 2003.
[61] R. Freund and M. Oswald. P colonies working in the maximally parallel and
sequential mode. Submitted, 2005.
[62] R. Freund and A. Păun. Membrane systems with symport/antiport: Universality results. In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors,
Membrane Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş,
Romania, August 19-23, 2002. Revised Papers, number 2597 in Lecture Notes in
Computer Science, pages 270–287. Springer, 2003.
[63] R. Freund and Gh. Păun. On deterministic P systems. Submitted, 2005.
[64] P. Frisco and J.H. Hoogeboom. Simulating counter automata by P systems with
symport/antiport. In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron,
editors, Membrane Computing. International Workshop, WMC-CdeA 02, Curteă
de Argeş, Romania, August 19-23, 2002. Revised Papers, number 2597 in Lecture
Notes in Computer Science, pages 288–301. Springer, 2003.
[65] H.R. Gardner and A. Pertsemlidis. Computational biology: Biological insights
from 1’s and 0’s. Biosilico, 1:27–35, 2003.
[66] M. Gheorghe. Generalised stream X machines and cooperating grammar systems.
Formal Aspects of Computing, 12:459–472, 200.
141
[67] M. Gheorghe, N. Krasnogor, and F. Bernardini. Bacterial quorum sensing: A
computational framework. In IPCAT 2005. Sixth International Workshop on Information Processing in Cells and Tissues, pages 99–118. The University of York,
2005.
[68] D.T. Gillespie. Exact stochastic simulation of coupled chemical reactions. The
Journal of Physical Chemistry, 81(25):2340–2361, 1977.
[69] T. Head. Formal languages theory and DNA: An analysis of the generative capacity
of specific recombinant behaviour. Bulletin of Mathematical Biology, 49:115–133,
1987.
[70] M. Holcombe. X machines as a basis for dynamic system specification. Software
Engineering Journal, 3:69–76, 1988.
[71] M. Holcombe and F. Ipate. Correct Systems. Building a Business Process Solution.
Applied Computing Series. Springer, 1998.
[72] J.H. Holland. Adaption in Natural and Artificial Systems. University of Michigan
Press, Ann Harbor, 1975.
[73] J. Hopcroft and J. Ulmann. Introduction to Automata Theory, Languages, and
Computation. Addison-Wesley, 1979.
[74] O.H. Ibarra, H.C. Yen, and Z. Dang. On various notions of parallelism in P systems.
International Journal of Foundations of Computer Science, 16(4):693–705, 2005.
[75] M. Ionescu, C. Martı́n-Vide, and Gh. Păun. P systems with symport/antiport
rules: The traces of objects. In Gh. Păun and C. Zandron, editors, Pre-proceedings
of Workshop on Membrane Computing (WMC-CdeA02), pages 283–296. Molconet
Project-IST-2001-32008, Publications No. 1, 2002.
[76] F. Ipate. Theory of X Machines with Applications in Specification and Testing. PhD thesis, Department of Computer Science, The University of Sheffield,
Sheffield, United Kingdom, 1995.
[77] D. Jackson, M. Gheorghe, M. Holcombe, and F. Bernardini. An agent-based behavioural model of monomorium pharaonis colonies. In C. Martı́n-Vide, G. Mauri,
Gh. Păun, G. Rozenberg, and A. Salomaa, editors, Membrane Computing, International Workshop, WMC 2003, Tarragona, Spain, July, 17-22, 2003, Revised Papers, number 2933 in Lecture Notes in Computer Science, pages 232–240. Springer,
2004.
[78] D. Jackson, M. Holcombe, and F. Ratneitks. Coupled computational simulation
and empirical research into the foraging system of pharaoh’s ant (monomorium
pharaonis). Biosystems, 76(1–3):101–112, August-October 2004.
142
[79] S. James, P. Nilsson, G. James, S. Kjelleberg, and T. Fargenströn. Luminescence
control in the marine bacterium vibrio fischeri: An analysis of the dynamics of lux
regulation. Journal of Molecular Biology, 296:1127–1137, 2000.
[80] S. Ji. The cell as the smallest DNA-based computer. Biosystems, 52:737–759,
1999.
[81] N. Kam, I.R. Cohen, and D. Harel. The immune system as a reactive systems:
Modelling T cell activation with statecharts. Technical report, The Weizmann
Institute of Science, Israel, 2001.
[82] G. Kampis. Self-modifying systems: A model for the constructive origin of information. Biosystems, 39:119–125, 1996.
[83] L. Kari, C. Martı́n-Vide, and A. Păun. On the universality of P systems with
minimal symport/antiport rules. In N. Jonoska, Gh. Păun, and G. Rozenberg, editors, Aspects of Molecular Computing, number 2950 in Lecture Notes in Computer
Science, pages 254–265. Springer, 2004.
[84] J. Kelemen, A. Kelemenova, and Gh. Păun. P colonies. In M. Bed, editor, Workshop on Artificial Chemistry - ALIFE9, pages 82–86. Boston, USA, 2004.
[85] H. Kitano. Computational system biology. Nature, 420:206–210, 2002.
[86] S.N. Krishna and A. Păun. Results on catalytic and evolution-communication P
systems. New Generation Computing, 22(4):377–394, August 2004.
[87] A. Lindenmayer. Mathematical models for cellular interactions in development, I
and II. Journal of Theoretical Biology, 18:280–315, 1968.
[88] V. Manca, C. Martı́n-Vide, and Gh. Păun. Iterated GSM mappings: A collapsing
hierarchy. In J. Karhumaki, G. Rozenberg, Gh. Păun, and H. Mauer, editors,
Jewels are Forever, pages 182–199. Springer, Berlin, 1999.
[89] C. Martı́n-Vide, G. Mauri, Gh. Păun, G. Rozenberg, and A. Salomaa, editors.
Membrane Computing. International Workshop, WMC 2003, Tarragona, Spain,
July 2003. Revised Papers. Number 2933 in Lectures Notes in Computer Science.
Springer, 2004.
[90] C. Martı́n-Vide, A. Păun, and Gh. Păun. Membrane computing: New results, new
problems. Bulletin of EATCS, 78:204–212, 2002.
[91] C. Martı́n-Vide, A. Păun, Gh. Păun, and G. Rozenberg. Membrane systems with
coupled transport: Universality and normal forms. Fundamenta Informaticae,
49(1–3):1–15, 2002.
[92] C. Martı́n-Vide, Gh. Păun, and G. Rozenberg. Membrane systems with carriers.
Theoretical Computer Science, 270(1–2):779–796, 2002.
143
[93] H. Matsuno, A. Doi, M. Nagasaki, and S. Miyano. Hybrid Petri Net representation
of gene regulatory networks. In Pacific Symposium on Biocompting, pages 338–349.
World Scientific, 2000.
[94] G. Mauri, Gh. Păun, M. J. Pérez-Jiménez, G. Rozenberg, and A. Salomaa, editors.
Membrane Computing. International Workshop, WMC 2004, Milan, Italy, June
2004. Revised and Invited Papers. Number 3365 in Lectures Notes in Computer
Science. Springer, 2005.
[95] W.S. McCulloch and W.H. Pitts. A logical calculus for the ideas immanent in
nervous activity. Bulletin of Mathematical Biophysics, 5:115–133, 1943.
[96] T.C Meng, S. Somani, and P. Dhar. Modelling and simulation of biological systems
with stochasticity. In Silico Biology, 4(0024), 2004.
[97] M. Minsky. Finite and Infinite Machines. Prentice Hall, Englewood Cliffs, New
Jersey, 1967.
[98] K.H. Nealson and J.W. Hastings. Bacterial bioluminescence: Its control and ecological significance. Microbiology Review, 43:496–518, 1979.
[99] J. Von Neumann. Theory of Self-Reproducing Automata. The Univeristy of Illinois
Press, Champaign, Illinois, 1966.
[100] T.Y. Nishida. Simulations of photosynthesis by a K-subset transforming system
with membranes. Fundamenta Informaticae, 49:249–259, 2002.
[101] M. Oswald. P Automata. PhD thesis, Faculty of Computer Science. TU Vienna,
Vienna, Austria, November 2003.
[102] R.C. Paton, R. Gregory, C. Vlachos, J.W. Palmer, J. Saunders, and Q.H. Wu.
Evolvable social agents for bacterial systems modelling. IEEE Transactions on
Nanobioscience, 3(3):208–216, 2004.
[103] A. Păun and Gh. Păun. The power of communication: P systems with symport/antiport. New Generation Computing, 20(3):295–305, May 2002.
[104] Gh. Păun. Computing with membranes. Journal of Computer and System Sciences, 61(1):108–143, 2000.
[105] Gh. Păun. Membrane Computing. An Introduction. Springer, Berlin, 2002.
[106] Gh. Păun and G. Rozenberg. A guide to membrane computing. Theoretical Computer Science, 287(1):73–100, September 2002.
[107] M. J. Pérez-Jiménez. An approach to computational complexity in membrane
computing. In G. Mauri, Gh. Păun, M. J. Pérez-Jiménez, G. Rozenberg, and
A. Salomaa, editors, Membrane Computing. International Workshop, WMC 2004,
Milan, Italy, June 2004. Revised and Invited Papers, number 3365 in Lecture Notes
in Computer Science, pages 85–109. Springer, 2005.
144
[108] M.J Pérez-Jiménez and F.J. Romero-Campero. Modelling EGFR signalling cascade using continuous membrane systems. In G. Plotkin, editor, Proceedings of
the Third International Workshop on Computational Models in System Biology
(CSMB 2005), Edinburgh, United Kingdom, 2005. University of Edinburgh.
[109] D. Pescini, D. Besozzi, C. Zandron, and G. Mauri. Dynamical probabilistic P
systems. to appear in International Journal of Foundations of Computer Science,
2005.
[110] A. Philips and L. Cardelli. A correct abstract machine for the stochastic picalculus. to appear in Electronic Notes in Theoretical Computer Science, 2004.
[111] C. Priami, A. Regev, E. Shapiro, and W. Silverman. Application of a stochastic
name-passing calculus to representation and simulation of molecular processes.
Informaion Processing Letters, 80:25–31, 2001.
[112] Gh. Păun. Further open problems in membrane computing. Available on-line at
http://psystems.disco.unimib.it, 2004.
[113] Gh. Păun. Further twentysix open problems in membrane computing. Available
on-line at http://psystems.disco.unimib.it, 2005.
[114] Gh. Păun, G. Rozenberg, and A. Salomaa. DNA Computing. New Computing
Paradigm. Springer, 2005.
[115] Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors. Membrane Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş, Romania, August 19-23, 2002. Revised Papers. Number 2597 in Lectures Notes in Computer
Science. Springer, 2003.
[116] A. Regev, E.M. Panina, W. Silverman, L. Cardelli, and E. Shapiro. Bioambients: An abstraction for biological compartments. Theoretical Computer Science,
325:141–167, 2004.
[117] A. Regev, W. Silverman, and E. Shapiro. Representation and simulation of biochemical processes using the π-calculus process algebra. In R. Altman, A.K.
Dunker, L. Hunter, and T.E. Klein, editors, Pacific Symposium on Biocomputing, volume 6, pages 459–470. World Scientific, 2001.
[118] Y. Rogozhin, A. Alhazov, and R. Freund. Computational power of symport/antiport: History, advances and open problems. In R. Freund, G. Lojka,
M. Oswald, and Gh. Păun, editors, Pre-Proceeding of the 6th International Workshop on Membrane Computing (WMC6), pages 44–78. TU Wien, Vienna, July
18-21, 2005.
[119] G. Rozenberg and A. Salomaa. The Mathematical Theory of L Systems. Academic
Press, New York, 1980.
145
[120] G. Rozenberg and A. Salomaa, editors. Handbook of Formal Languages, volume
1–3. Springer, 1997.
[121] A. Salomaa. Formal Languages. Academic press, New York, 1973.
[122] D. Sburlan. Non-cooperative P systems with priorities characterize PsET0L. In
R. Freund, G. Lojka, M. Oswald, and Gh. Păun, editors, Pre-Proceedings of the
6th International Workshop on Membrane Computing (WMC6), pages 530–549.
TU Wien, Vienna, July 18-21, 2005.
[123] I.H. Segel. Biochemical Calculations: How to Solve Mathematical Problems in
General Biochemistry. John Viley and Sons, 2nd edition, 1976.
[124] R. Sha and et al. Stuctural DNA nanotechnology. In C.S Calude, M.J. Dinneen,
Gh. Păun, M. J. Pérez-Jiménez, and G. Rozenberg, editors, Uncoventional Computation. 4th International Conference, UC 2005, Sevilla, Spain, October 2005,
Proceedings, number 3365 in Lecture Notes in Computer Science, pages 20–31.
Springer, 2005.
[125] P. Sosı́k and R. Freund. P systems without priorities are computationally complete.
In Gh. Păun, G. Rozenberg, A. Salomaa, and C. Zandron, editors, Membrane
Computing. International Workshop, WMC-CdeA 02, Curteă de Argeş, Romania,
August 19-23, 2002. Revised Papers, number 2597 in Lecture Notes in Computer
Science, pages 400–409. Springer, 2003.
[126] I. Stamatopolou, M. Gheorghe, and Petros Kefalas. Modelling dynamic organization of biology-inspired multi-agent systems with communicating X machines and
population P systems. In G. Mauri, Gh. Păun, M. J. Pérez-Jiménez, G. Rozenberg, and A. Salomaa, editors, Membrane Computing. International Workshop,
WMC 2004, Milan, Italy, June 2004. Revised and Invited Papers, number 3365 in
Lecture Notes in Computer Science, pages 389–403. Springer, 2005.
[127] I. Stamatopolou, P. Kefalas, and M. Gheorghe. Modelling the dynamic structure
of biological state-based systems. In IPCAT 2005. Sixth International Workshop
on Information Processing in Cells and Tissues, pages 84–98. The University of
York, 2005.
[128] Y. Suzuki, Y. Fujivara, and H. Tanaka. Artificial life applications of a class of
P systems: Abstract rewriting systems on multisets. In C.S. Calude, Gh. Păun,
G. Rozenberg, and A. Salomaa, editors, Multiset Processing. The Mathematical,
Computer Science and Molecular Computing Point of View, number 2235 in Lecture Notes in Computer Science, pages 299–346. Springer, 2001.
[129] G. Terrazas, N. Krasnogor, M. Gheorghe, F. Bernardini, S. Diggle, and M. Camara. An environment aware P system model of quorum sensing. In S.B. Cooper,
Benedikt Löwe, and Leen Torenvilet, editors, New Computational Paradigms. First
Conference onf Computability in Europe, CiE2005, Amsterdam, The Netherlands,
146
June 2005, Proceedings, number 3526 in Lecture Notes in Computer Science, pages
479–485. Springer, 2005.
[130] J.E. Till, F. McCulloch, and L. Siminovitch. A stochastic model of stem cell
proliferation based on the growth of spleen colony-forming cells. Proc. National
Academy of Science USA, 51:117–128, 1964.
[131] D. Walker, M. Holcombe, J. Southgate, S. McNeil, and R. Smalwood. The epitheliome: Agent-based modelling of the social behaviour of cells. Biosystems,
76(1–3):89–100, August-October 2004.
[132] C.M. Waters and B.L. Bassler. Quorum sensing: Cell-to-cell communication in
bacteria. Annual Review of Cell and Developmental Biology, 21:319–346, 2005.
[133] E.C. Way. The role of computation in modelling evolution. Biosystems, 60:85–94,
2001.
[134] K. Winzer, K.R. Hardie, and P. Williams. Bacterial cell-to-cell communication:
Sorry, can’t talk now - gone to lunch. Current Opinion in Microbiology, 5:216–222,
2002.
[135] C. Zandron, C. Ferretti, and G. Mauri. Solving NP-complete problems using P
systems with active membranes. In I. Antoniou, C.S. Calude, and M.J. Dinneen,
editors, Unconventional Models of Computation, pages 289–301. Springer, 2000.
147
© Copyright 2026 Paperzz