Networks of splicing processors: simulations between topologies
Journal of Membrane Computing
https://doi.org/10.1007/s41965-023-00120-1
RESEARCH PAPER
Networks of splicing processors: simulations between topologies
José Angel Sanchez Martín1 · Victor Mitrana2 · Mihaela Păun3,4
Received: 30 November 2022 / Accepted: 3 March 2023
© The Author(s) 2023
Abstract
Networks of splicing processors are one of the theoretical computational models that take inspiration from nature to efficiently
solve problems that our current computational knowledge is not able to. One of the issues restricting/hindering is practical
implementation is the arbitrariness of the underlying graph, since our computational systems usually conform to a predefined
topology. We propose simulations of networks of splicing processors having arbitrary underlying graphs by networks whose
underlying graphs are of a predefined topology: complete, star, and grid graphs. We show that all of these simulations are
time efficient in the meaning that they preserve the time complexity of the original network: each computational step in that
network is simulated by a fixed number of computational steps in the new topologic networks. Moreover, these simulations
do not modify the order of magnitude of the network size.
Keywords Splicing processor · Network of splicing processors · Underlying graph · Simulation.
1 Introduction
The formal operation of splicing on strings has been introduced in [5] as an abstraction of the biological phenomenon
of DNA recombination under the effect of restriction and
ligases enzymes. The biological phenomenon is illustrated
in Fig. 1. We give here a few informal explanations. Two
DNA molecules (the blue and the red ones) are cut by a
restriction enzyme (in this case the enzyme is EcoRI). This
process yields fragments with Watson–Crick complementary
* Victor Mitrana
José Angel Sanchez Martín
Mihaela Păun
1
Department of Software Engineering and Artificial
Intelligence, Universidad Complutense de Madrid, Calle del
Prof. José García Santesmases, 9, 28040 Madrid, Spain
2
Department of Information Systems, Universidad Politecnica
de Madrid, Calle Alan Turing s/n, 28031 Madrid, Spain
3
Bioinformatics Department, National Institute for R
&D for Biological Sciences, 296 Independenţei Bd.,
Bucharest 060031, Romania
4
Faculty of Administration and Business, University
of Bucharest, Bucharest, Romania
tails called “sticky ends”. These sticky ends may join again
leading to the recombination of DNA. To fix the new combination, a DNA enzyme called ligase seals the gaps after
the sticky ends are joint.
We follow [15] with the formal definition of splicing as
an operation on pairs of strings. First, we need to define
what a splicing rule is: a quadruple of strings specifying
the subsequences in the two strings where the strings are
cut. Therefore, a splicing rule is intended to abstract the
restriction enzymes and its subsequences indicate the sites
where the enzymes cut. Different computational models
based on the iteration of this operation may be defined.
Thus, a generating splicing system initiates a computation starting from a given finite set of strings (axioms)
and iteratively applying splicing rules, from a given finite
set of such rules, producing eventually a language. This
computational model was introduced in [5]; further on,
the model and its variants have intensively been investigated. Splicing operation, as a formal operation on words
and languages, has been vividly studied for more than two
decades. There have been published a lot of papers as well
as several books containing chapters devoted to this topic.
We mention here just a few of them [6, 9, 16], containing
extensive chapters about splicing, as well as [7, 8], containing chapters that intend to discuss various applications.
There are two types of splicing systems: generating systems, which generates a language by iteratively applying
13
Vol.:(0123456789)
J. A. S. Martín et al.
Several variants of NSP have been considered so far, most
of them being computationally complete, see, e.g., [2, 3,
10–12]. These networks have an ad hoc underlying graph
structure. By different reasons like: possible implementations, uniformity, comparisons, etc., it would be useful to
have networks with a fixed and well known topology as:
complete graph, star, grid, etc. This is actually the aim of
this work: to investigate the possibility of transforming a
given NSP into an equivalent NSP with an underlying graph
of such a predefined structure. We are interested not only in
the construction of these networks but also in comparing
the computational time and size of the constructed networks
with those of the original ones.
2 Basic definitions
Fig. 1 Splicing operation (Klug and Cummings 1997)
splicing rules to the strings obtained starting from a finite
set of strings, and accepting system, which starts out with
just one initial string and a finite set of axioms and an iterative splicing as above is initiated. The computation halts
when at least one string from a predefined set is obtained.
The input string is accepted as soon as the system halts.
The accepting splicing system has been introduced by
Mitrana et al. in [13], while different variants have been
studied in [1, 4, 14], etc.
In [10] a highly parallel and distributed computational
model based on the splicing operation was introduced: network of splicing processors (NSP). This model consists in an
undirected graph whose nodes host a splicing processor. A
splicing processor consists in a finite set of splicing rules, a
finite set of strings (axioms) and four sets of symbols, such
that two of them define the input filter while the other two
define the output filter. A computation in a network of splicing processors (NEP, for short) is a sequence of splicing and
communication steps which alternate with each other. In a
splicing step, each processor applies, in parallel, the splicing
rules it contains to all the strings existing at that moment in
the processor. Note that we assume that each string appearing in a processor at some moment, appears actually in an
unlimited number of identical copies such that different
copies may be rewritten by different splicing rules. In a
communication step, all the strings existing in the network
nodes are simultaneously are expelled from their nodes,
provided that they can pass the output filters of the nodes.
In the same communication step, arbitrary large number of
copies of each string expelled from one node (sender) enter
all the nodes (receivers) connected to the sender, provided
that the string can pass the input filters of the receivers. The
computation halts as soon as a predefined node, called Halt,
contains at least a string.
13
In this section we introduce the main concepts and notations
that will be used in the sequel. For those notions not defined
here we refer to [17].
An alphabet is a finite and nonempty set of symbols. The
cardinality of a finite set A is written card(A). Any finite
seque (...truncated)