Abstract
A novel variant of NSN P systems, called numerical spiking neural P systems with a variable consumption strategy (NSNVC P systems), is proposed. Like the spiking rules consuming spikes in spiking neural P systems, NSNVC P systems introduce a variable consumption strategy by modifying the form of the production functions used in NSN P systems. Similar to the delay feature of the spiking rules, NSNVC P systems introduce a postponement feature into the production functions. The execution of the production functions in NSNVC P systems is controlled by two, i.e., polarization and threshold, conditions. Multiple synaptic channels are used to transmit the charges and the production values in NSNVC P systems. The proposed NSNVC P systems are a type of distributed parallel computing models with a directed graphical structure. The Turing universality of the proposed NSNVC P systems is proved as number generating/accepting devices. Detailed descriptions are provided for NSNVC P systems as number generating/accepting devices. In addition, a universal NSNVC P system with 66 neurons is constructed as a function computing device.
1. Introduction
Membrane computing is a class of distributed parallel-computing models introduced by Păun [1], which is inspired by the structure and function of living cells and their cooperation in tissues, organs, and biological neural networks. These computing models are called P systems or membrane systems [2]. There are three main types of P systems, i.e., cell-like P systems, tissue-like P systems and neural-like P systems. Specifically, the cell-like P systems were proposed based on the hierarchical structure of biological membranes in cells, the tissue-like P systems were abstracted from the communication and cooperation of cells in biological tissues, and the neural-like P systems were inspired by the facts that neurons communicate with each other by firing short electrical impulses or spikes.
Spiking neural P (SN P) systems, proposed by Ionescu et al. [3], are a main form of neural-like P systems. A SN P system consists of a network of neurons connected together in a directed graph and can be regarded as the third generation of neural network models. In the past few years, many variants of SN P systems have been proposed and studied as being inspired by various biological activities and/or by combining methods and ideas in computer science and mathematics. SN P systems with astrocytes, having excitatory and inhibitory influences on synapses, were discussed by Păun [4] and Pan et al. [5]. SN P systems with anti-spikes were constructed by Pan and Păun [6] with anti-spikes abstracted from inhibitory impulses that participate in spiking and forgetting rules and annihilate spikes when they are in the same neuron. Motivated by the biological phenomenon that each neuron has a positive or negative charge, SN P systems with polarizations are established by Wu et al. [7]. SN P systems with rules on synapses were proposed by Song et al. [8], which is different from most P systems where the rules are located in neurons. Considering the biological fact that a synapse has one or more chemical channels, Peng et al. [9] and Song et al. [10] studied SN P systems with multiple channels. Wang et al. [11] and Zeng et al. [12] proposed SN P systems with weights and thresholds, respectively. Recently, coupled neural P systems [13] and dynamic threshold neural P systems [14] have also been proposed one after another. Most SN P systems are synchronous under the control of a global clock, but many SN P systems are asynchronous [15,16,17]. Many variants of SN P systems have been proven to be Turing universal as number generating/accepting devices [18,19,20], language generating devices [21,22], and function computing devices [23,24,25].
In SN P systems with polarizations (PSN P systems) [7], the polarization associated with neurons can also control the firing of the spiking rules. Hence, the regular expressions are no longer the only conditions controlling the firing of the spiking rules. Three types of polarizations, i.e., positive, neutral, and negative, corresponding to three kinds of electrical charges, i.e., +, 0 and −, respectively, exist in PSN P systems. Specifically, each neuron contains an initial charge and each spiking rule also has a charge. A rule can apply only when the charge of the rule is the same as the charge of the neuron where the rule is located.
Different from the above P systems, numerical P (NP) systems are another special type of P systems [26], having a similar architecture to those of many cell-like P systems. NP systems are composed of hierarchically arranged membranes and compartments formed by adjacent membranes. Numerical variables are configured in the compartment instead of being treated as multisets of chemical objects as used in most P systems. The variables evolve through programs consisting of production functions and repartition protocols, which is fundamentally different from most P systems that use multiset rewriting rules to evolve. In order to more effectively control the application of the programs, many variants of NP systems, such as enzymatic NP systems [27], NP systems with production thresholds [28], and NP systems with Boolean conditions [29] have been proposed.
These biologically inspired P systems have both advantages and disadvantages for solving real-world problems. Most P systems are distributed parallel computing models, in which each neuron can act as an independent processor, and neurons communicate through the spikes represented by unique symbols. The evolution rules in the P systems are usually applied non-deterministically and in maximally parallel, i.e., the order in which the rules are applied is random and all possible rules must be performed in each step of the computation. Therefore, the P systems have the characteristics of simple representation of knowledge, non-determinism, and parallelism. These advantages make them very attractive for solving real-world problems such as image processing [30,31,32], robots [33,34], fault detection [35,36,37] and data clustering [38,39,40]. Under the control of a global clock, the application of rules in the P systems is synchronized. However, from a computational point of view, the synchronization of the process leads to higher costs. SN P systems and their variants encode information through spikes in neurons and neurons can only fire when the number of spikes reaches a certain value, which makes these systems discrete computing models. However, practical applications involve numerical representation of information and require precise and quantitative modeling of data. Therefore, it is difficult for these systems to solve these practical problems. In order to overcome this difficulty, Wu et al. [41] proposed numerical spiking neural P (NSN P) systems by introducing numerical variables and production functions used in NP systems into SN P systems. In this way, NSN P systems are equipped with numerical capabilities, making them more capable of solving real-world problems.
A novel variant of NSN P systems, called numerical spiking neural P systems with a variable consumption strategy (NSNVC P systems), is proposed in this study. The Turing universality of NSNVC P systems is investigated as number generating/accepting devices. Moreover, a universal NSNVC P system with 66 neurons is also constructed as a function computing device. NSN P systems use continuous production functions to replace the usual spiking rules. After the execution of a production function, the values of the variables involved in the production function will all return to 0 in NSN P systems. The variable resetting may cut down the controlling ability and the operating efficiency of NSN P systems. In addition, NSN P systems lose the firing feature of SN P systems and the real biological systems. Hence, it is necessary and feasible for NSNVC P systems to make improvements. In order to regain the firing feature, each production function is assigned a threshold in NSNVC P systems. Considering that polarizations can control the firing of spiking rules, NSNVC P systems use polarizations and threshold to simultaneously control the execution of the production functions. As in NSN P systems, NSNVC P systems also use multiple synaptic channels to transmit the charges and production values to other neurons.
Compared with NSN P systems, the improvements in NSNVC P systems are as follows.
- By modifying the form of the production functions, NSNVC P systems adopt a new variable consumption strategy, in which the values of the variables involved will have a prescribed consumption rate without all being set to 0 after a production function execution.
- In addition to assigning a threshold to each production function to control the firing of the neurons, polarizations of the neurons, where the production functions are located, are also used to control production function executions in NSNVC P systems. Therefore, both the polarization and the threshold can control the execution of a production function.
- The proposed NSNVC P systems also introduce postponement features and multiple synaptic channels to reduce the complexity and the number of computing units, i.e., neurons, of the systems.
Some variants of P systems with their abbreviations and full names cited in this work are listed in Table 1. Comparisons of performances of the proposed NSNVC P systems with some of these variants of P systems listed in Table 1 are given in Section 5.
Table 1.
Abbreviations and corresponding full names of some P systems cited in this work.
The main motivation of this work is to design NSNVC P systems to improve the computation performance of NSN P systems. In NSNVC P systems, a new variable consumption strategy is proposed, which not only improves the computation mechanism, but also increases the controlling ability of NSN P systems. In addition, the improvement in the computation performance of NSN P systems will be investigated when both polarization and threshold are used to control the execution of the production functions. The improvement in computation performance of NSN P systems is made by enhancing their controlling ability, improving their operating efficiency, and reducing the number of neurons used. As a result, the new variant of NSN P systems, i.e., the NSNVC P systems, is expected to be more suitable for solving real-world problems.
The rest of this paper is organized as follows. A formal definition and an illustrative example of NSNVC P systems are presented in Section 2. The proof of the universality of NSNVC P systems as number accepting/generating devices is given in Section 3. Section 4 investigates the universality of NSNVC P systems as function computing devices. Section 5 draws conclusions and outlines future research directions.
2. NSNVC P Systems
A formal definition of the proposed NSNVC P systems is presented and notations used in NSNVC P systems are defined in this section. An example is then given to facilitate the understanding of the proposed NSNVC P systems. The set of natural numbers, the set of positive integers, and the set of integers are represented by , and , respectively.
2.1. The Definition of NSNVC P Systems
A NSNVC P system composed of neurons is represented by the tuple , where:
- represents the set of channel labels.
- represents neurons with the form , for . The specifics of a neuron are given below.
- (a)
- refers to the initial charge of neuron , where +, 0 and − indicate the positive, neutral and negative polarizations, respectively.
- (b)
- is a finite set of channel labels of neuron , indicating its synaptic channels. A synaptic channel of neuron may involve one or more synapses connecting neuron to other neurons and a synapse may be involved in a number of synaptic channels.
- (c)
- is the set of variables in neuron .
- (d)
- is the set of initial values of the variables in neuron .
- (e)
- represents a finite set of production functions associated with neuron . The form of a production function is , where ; is the channel label indicating the synaptic channel of neuron associated with the function; is used to distinguish the production functions contained in neuron ; is the consumption rate of the variables when the production function . executes; refers to the threshold at which the production function can execute; and indicates the postponement future of the production function. If , the form of production function is simplified to .
- with is the set of synapses among the neurons with their channel labels, where means that neuron connects to neuron via synaptic channel . If a synapse connects from neuron to neuron , neuron is called a presynaptic neuron of neuron and neuron is called a postsynaptic neuron of neuron .
- indicates the input neuron.
- indicates the output neuron.
Numerical variables in NSNVC P systems are represented by with subscripts. Specifically, the first subscript of a variable indicates the order of the variable among all the variables in the same neuron, and the second subscript is the label of the neuron. For example, variable represents variable in neuron . The value of variable at time is expressed as for and . Usually, the values of the variables are real numbers. This work restricts the values of the variables to an interval of integers in order to simplify the computation, although NSNVC P systems have the computational capability of processing real umbers. The subscripts of the production functions are used in the same ways as those of the numerical variables, e.g., production function represents function in neuron . In fact, production functions can be any mathematical functions. However, NSNVC P systems are able to achieve the same capabilities as Turing machines under the condition of only using linear functions.
Two forms of, i.e., non-threshold and threshold , production functions exist in NSN P systems. When , the threshold production function can execute, i.e., the neuron where the production function is located can fire. However, the neuron where the non-threshold production function is located lost the firing feature. In addition, the values of all variables involved in the production function, whether threshold or non-threshold, will be reset to 0 immediately after the function execution.
The execution of production functions in NSNVC P systems will be described below. At time , the execution of a production function in neuron can be roughly divided into three, i.e., comparison, production and distribution, stages.
- Comparison stage: Only when neuron contains just charge and the current values of the variables involved in the production function are all equal to the threshold , i.e., , the production function can apply. Otherwise, the production function cannot apply.
- Production stage: If production function can be applied at time , then its production value is calculated based on the current values of the variables .
- Distribution stage: The distribution of the production value and a charge is based on the repartition protocol, which is stated in the following. The production value and the charge are transmitted to all postsynaptic neurons of neuron through synaptic channel at time . If , the transmission happens immediately at time . If , then neuron is dormant, i.e., cannot fire nor receive new production values, at time . At time , neuron becomes active again and the transmission occurs. In particular, the value received by neuron will be immediately passed to its variables, which will increase or decrease the values of the variables.
Based on the variable consumption strategy, after the execution of production function , all variables involved will “consume” a value of , while the variables not involved will keep their current values. Moreover, the condition must be satisfied before the execution of the production function. If neuron receives several production values at time , will be the sum of all these production values. Then, the value of variable in neuron at time is updated according to (1) in the following:
At the same time, neuron also receives the charges delivered by all its presynaptic neurons. The charge calculation rules are as follows:
- Multiple positive, neutral and negative charges will degenerate to a single charge of the same kind.
- A positive charge plus a negative charge will produce a neutral charge.
- A positive or negative charge will not change after a neutral charge is added to it.
In NSNVC P systems, at most one production function can execute in a single neuron at each time moment, and all neurons in system work in parallel. At a certain time moment, when more than one production function can satisfy the condition to execute in a neuron, one production function in the neuron will be chosen non-deterministically to apply.
A configuration of system is represented by the polarizations of all neurons and the current values of all the variables contained therein. At time , the configuration of system is represented by a vector , where indicates the charge of neuron , and is the current value of , for and . Therefore, the initial configuration of the system is .
A transition of system is defined as an update from one configuration to another, i.e., This transition is realized by the system by applying production functions in parallel. Starting from the initial configuration , a series of finite or infinite transitions of system , i.e., with , is called a system calculation. When system progresses to a configuration where no production functions can apply, the system halts and the calculation terminates.
A NSNVC P system can be used as a number generating device, also called a number generator, and can generate a number . In this case, the output neuron is used to output the computation result. The number generated by system is related to the moments when the output neuron fires. Specifically, if and are the first two time moments when the output neuron emits a nonzero value to the environment, then the time interval is defined as the computation result, i.e., the number generated by system . In this way, the entire system needs a global clock to pace the time for all neurons, and system is assumed to start working at time . All computation results produced by system are represented by , where the subscript represents the interval between the first two time moments when the output neuron fires.
A NSNVC P system can also be used as a number accepting device, also called a number acceptor. In this case, the input neuron is used to introduce numbers into the system. The output neuron is removed from the system when it is used as a number accepting device. The number introduced into the system is encoded by the time interval between the first two time moments when the input neuron fires. When the system computation stops, the number is accepted by the system. The set of all numbers accepted by system is represented by .
The family of all sets of numbers generated/accepted by NSNVC P systems is represented by , where , indicates that the system uses at most charges, and indicates that each production function is a polynomial with a degree of at most and with at most variables.
2.2. An Illustrative Example
The example system shown in Figure 1 is used to clarify the components, the definitions, and the functions of NSNVC P systems. System consists of four neurons , , and , represented by four rectangles and labeled with 1, 2, 3, and out, respectively. Each neuron contains one or more production functions and a list, where the first item in the list is the initial charge of the neuron, and the other items are the variables with the initial values in parentheses. A neuron may contain multiple variables. The output neuron is used to transmit calculation results to the environment. A synapse is represented by an arrow connecting two neurons. A synaptic channel of a neuron is represented by the channel label marked on one or more synapses connecting from the neuron to other neurons.
Figure 1.
An example NSNVC P system .
Apparently, the initial configuration of system is . Since neuron contains the initial charge + and the initial value of variable is equal to the threshold 2, the production function can be enabled. At time , without a postponement feature, i.e., , production function executes and neuron immediately transmits a value of 1 and a positive charge to neurons and via synaptic channel (1). According to the variable consumption strategy, the value of variable will decrease by 1 after production function executes. Similarly, production function in output neuron also meets the execution condition at time , so that output neuron sends the first nonzero value of 1 to the environment and the value of variable becomes 0. However, neurons and cannot fire because their functions do not satisfy their execution conditions.
Due to the firing of neuron , neurons and both receive a positive charge and the values of variables , and all increase by 1. Therefore, the configuration of system at time becomes . Accordingly, production function of neuron satisfies the execution condition and neuron sends a value of 1 and a neutral charge to neurons and via synaptic channel (1) at time . From the charge calculation rules, the transmission of neutral charges does not have any effect on the polarization of the postsynaptic neurons. Therefore, the polarizations of neurons and do not change but the values of variables and increase by 1.
The two production functions and of neuron also satisfy their execution conditions at time , but only one of them will be selected non-deterministically for application. Assuming production function is selected, neuron sends a value of −1 and a neutral charge to neuron via synaptic channel (1). Since neurons and send values of 1 and −1, respectively, to neuron at the same time, the value of variable in neuron does not change. Therefore, neuron will not fire. The configuration of system at time becomes .
At time , only production function in neuron meets the execution condition, so that neuron sends a positive charge and a value of 1 to neurons and . As a result of this transmission, only the values of the variables change. Thus, the configuration of system at time becomes . Obviously, the configuration of system at time is the same as that at time . If the production function in neuron continues to execute, system will loop between these two configurations indefinitely.
Suppose production function in neuron is chosen to execute at time for . However, since production function needs to postpone the execution for a time span of , it will execute at time . Thus, the configuration of system at time becomes . At time , neuron fires and sends the second nonzero value to the environment. At the same time, production functions in neurons and also satisfy their execution conditions. Therefore, neuron sends a neutral charge and a value of −1 to neurons , and via synaptic channel (2), and neuron transmits a positive charge and a value of 1 to neurons and via synaptic channel (1). Thus, the configuration of system at time becomes .
At time , neuron faces two choices again, but neuron will not fire no matter which production function is applied. The final configuration of system becomes if production function is selected, or becomes if production function is selected.
Figure 2 shows the configuration dynamics of system . Each configuration in turn involves variables in neurons and . The number generated by system is the time interval between the first two time moments when the output neuron sends non-zero values to the environment, i.e., , with . In other words, system can generate even numbers other than 0. Hence, system can be used as a number generating device.
Figure 2.
Configuration dynamics of system .
3. Turing Universality of NSNVC P Systems as Number Generating/Accepting Devices
The focus of this section is on the computation power of NSNVC P systems as number generating/accepting devices. Specifically, the Turing universality of NSNVC P systems is proved as number generators and number acceptors by simulating register machines, i.e., NSNVC P systems can generate/accept all recursively enumerable sets of numbers. The family of all recursively enumerable sets of numbers is represented by NRE.
A register machine is usually represented as a five-tuple , where:
- is the number of registers.
- represents a limited set of instruction labels.
- correspond to the START and HALT instruction labels, respectively.
- is a set of labeled instructions. The instructions in have the following three forms:
- (a)
- ADD instructions , whose function is to add 1 to the value in register , and move non-deterministically to one of the instructions with labels and ;
- (b)
- SUB instructions , whose function is to subtract 1 from the value of register , and then go to the instruction marked by if the number stored in is nonzero, or go to the instruction marked by otherwise;
- (c)
- The HALT instruction , whose function is to terminate the operation of the register machine.
3.1. NSNVC P Systems as Number Generating Devices
The register machine can generate a set of numbers in the generating mode. When all the registers are empty, machine continuously executes a series of instructions starting from the initial instruction . When reaches the HALT instruction, the number stored in the first register is considered to be the number generated by . In addition, it is well known that register machines can characterize the family.
Theorem 1.
.
Proof.
Based on the characterization of , the proof of the inclusion can be obtained by simulating nondeterministic register machines running in the generating mode, while the converse inclusion is achieved by the Turing-Church thesis [41]. □
A NSNVC P system is constructed to simulate the register machine . Generally, register 1 is used as an output register, and the number that it stores is never decremented during the computation. Specifically, system contains three types of modules, i.e., an ADD module to simulate the ADD instruction, a SUB module to simulate the SUB instruction, and a FIN module to output the computation result.
Considering that each production function of any neuron in system is only related to one variable, the first index of the variables is omitted and only the second index identifying the neuron housing the variable is retained. For example, the variable in neuron is simplified to . Similarly, when a neuron contains only one production function, its first index will also be omitted. Although the value of a variable changes dynamically, it is always an integer during the entire computation process of system , i.e., with . In addition, all production functions in system are polynomial functions.
In order to simulate correctly, there is a correspondence between the elements, i.e., the neurons, of system and the elements, i.e., the registers and the instructions, of . Each register of corresponds to a neuron in system . If register stores a number , then the value of variable in neuron is . Each labeled instruction is also associated with a neuron, e.g., an instruction with label is related to a unique neuron . Moreover, some auxiliary neurons are also introduced into system .
The values of all the variables are 0 in the initial configuration of system . System starts the simulation of when variable in neuron is assigned a value of 4. Similarly, the ADD module and the SUB module will simulate the corresponding instructions and , respectively, once the value of variable in neuron is equal to 4 in the simulation process. System starts to simulate the HALT instruction and the entire simulation terminates when variable in neuron receives a value of 4 at any time moment. Then the FIN module is activated to output the computation results.
To better clarify the whole process of using system to simulate , the ADD, SUB, and FIN modules are shown step by step to simulate the relevant instructions of .
3.1.1. Module ADD—Simulating an ADD Instruction
Figure 3 displays the architecture of the ADD module and the state of the neurons it contains. When neuron receives a value of 4 at a certain time moment , system then starts simulating the ADD instruction . At this moment, the values of all the variables except in neuron are all 0. The configuration of system at time is , which involves neurons and .
Figure 3.
The ADD module in system .
At time , both production functions and can execute. Because production function has a postponement feature, production function will execute first. Thus, neuron fires to transmit a positive charge and a value of 1 to neuron via synaptic channel . After production function executes, the value of variable will decrease by 1 according to the variable consumption strategy. Thus, the configuration of system at time becomes .
After a one-step delay, i.e., at time , production function executes and neuron transmits a neutral charge and a value of −3 to neuron via synaptic channel , indicating that system has completed the operation of adding 1 to the value stored in register . According to the charge calculation rules, the neutral charge has no effect on the polarization of a neuron, so that the descriptions of the neutral charges will be omitted below. Meanwhile, neuron fires by executing one of the production functions and non-deterministically.
- If production function is selected for execution at time , then neuron sends a positive charge and a value of 1 to neuron . As a result, the polarization of neuron becomes positive and variable gets a value of 1. Therefore, the configuration of system at time becomes . At time , production function satisfies the execution condition, so that neuron transmits a value of 4 to neuron , causing system to start simulating the instruction with label in .
- If production function is selected for execution at time , neuron sends a value of 1 to neuron . Therefore, the configuration of system at time becomes . At time , neuron transmits a value of 4 to neuron , causing system to start simulating the instruction with label in .
As described above, the ADD module shown in Figure 3 can correctly simulate the ADD instruction of . Specifically, system is activated when variable receives the value of 4, and then 1 is added to the value stored in register . Subsequently, an instruction, or , is selected non-deterministically for simulation.
3.1.2. Module SUB—Simulating an SUB Instruction
Figure 4 displays the architecture of the SUB module and the state of the neurons it contains. Suppose system starts to simulate the SUB instruction at a certain time moment after variable of neuron has received a value of 4. Thus, production functions and satisfy the application condition. Production function executes first and neuron sends a value of 3 to neuron , indicating that system has completed the operation of subtracting 1 from the value stored in register . The following two situations will occur for neuron .
Figure 4.
The SUB module in system .
- One situation is that the value of variable , i.e., the number stored in register , is 0 at time . Production function satisfies the threshold condition after variable receives a value of 3. At time , with the execution of this production function, neuron transmits a positive charge and a value of 1 to neurons and , respectively. Since production function has a postponement feature, neuron sends a value of 3 to neuron at time . After production functions and execute, the polarization of neuron becomes positive, and the value of variable becomes 4. Therefore, production function executes at time . Then, neuron transmits a value of 7 to neuron via synaptic channel . Consequently, the polarization of neuron becomes positive and the value of variable accumulates to 8, causing neuron to transmit a value of 4 to neuron . Since neuron receives a value of 4, system starts to simulate instruction .
- The other situation is that the value of variable is − with at time , i.e., the value stored in register is greater than 0. After getting a value of 3 from neuron , the value of variable becomes , which does not satisfy the threshold condition of production function . Thus, neuron will not fire at time . However, due to the execution of production function , variable receives a value of 3 from neuron at time , causing production function to execute at time . Ultimately neuron receives a value of 4 from neuron , leading system to start simulating instruction .
Consequently, the SUB module can simulate the SUB instruction correctly. Specifically, system is activated when variable receives the value of 4, then 1 is subtracted from the value stored in register , and finally an instruction, or , is selected non-deterministically for simulation according to the value contained in register .
3.1.3. Module FIN—Simulating a HALT Instruction
Figure 5 shows the architecture of the FIN module. At time , the FIN module is activated after variable receives a value of 4. This step also indicates that system has reached the HALT instruction , i.e., the simulation of register machine has completed.
Figure 5.
The FIN module in system .
Assuming the value of variable in neuron is with at time , meaning that a number is stored in register 1. At time , due to the execution of production function , both variables and get a value of 3. At the next time moment , both production functions and can apply. With the execution of production function , variable gets a value of 3, indicating that 1 is subtracted from the number stored in register 1. Because production function needs to postpone by three steps to execute, neuron emits the first nonzero value of 3 to the environment at time . Since the consumption rate of variable is 0, i.e., the value of variable is still 3 at time , production function in neuron can continue to execute until time .
From time to time , variable gets a total value of . Therefore, the value of variable at time is 3, which is equal to the threshold of production function . With the execution of production function , a value of and a positive charge are transmitted to neuron . Thus, production function is activated at time . Since the polarization of neuron becomes positive and variable gets a value of 4, production function executes and neuron emits the second nonzero value of 3 into the environment via synaptic channel at time . Production function in neuron can also execute at time , leading the value of variable to become −2. At this point, the system runs to the final configuration because the values of the variables in the neurons no longer satisfy the conditions for the production functions to execute.
From the above discussions, the time interval between the two firings of the output neuron is , which is exactly the same as the number stored in register 1. As specified in the definition, the computation result of system is equal to .
Through the discussions of the operating mechanism of the ADD, SUB, and FIN modules, system is verified to simulate register machine correctly in its generating mode, i.e., . In addition, system uses only two types of, i.e., neutral and positive, polarizations, and all production functions are linear with at most one variable. Accordingly, holds.
3.2. NSNVC P Systems as Number Accepting Devices
When used as a number accepting device, a NSNVC P system can accept a number . In this situation, the function of the input neuron is to accept values from the external environment. Initially, the number to be computed is accepted by system in the form , where 4 and 0 are the values introduced into the system. Specifically, assuming that input variable receives a value of 4 at time and respectively, the time interval between and , i.e., is defined as the number accepted by system . Afterwards, the number is processed by a series of instructions. When it runs to the final configuration, system is considered to have accepted the number .
Theorem 2.
.
Proof.
The proof of the inclusion is verified by simulating deterministic register machines working in the accepting mode, while the converse inclusion is directly confirmed by the Turing-Church thesis [41]. □
The form of a deterministic register machine is . Each element of has the same meaning as that of the corresponding element of the non-deterministic register machine working in the generating mode. The only difference between and is in the form of the ADD instructions. The ADD instructions in are defined as a deterministic form . In addition, the set consisting of all the numbers accepted by is represented by .
A NSNVC P system is designed to simulate machine with a similar structure to that of system in the generating mode. Especially, system consists of a deterministic ADD module, a SUB module, and an INPUT module. The INPUT module is used to introduce numbers to be processed into system . The functions of the other two modules remain the same as those in system .
The architecture of the INPUT module is shown in Figure 6. In the initial configuration, the values of all the variables in system are 0. The input variable is assumed to have a value of 4 at time , so that production function satisfies the execution condition. Consequently, neuron sends a positive charge and a value of 4 to neuron via synaptic channel . Because the consumption rate of variable is 0, the value of variable is still 4 at time . Therefore, production function will continue to execute at each subsequent time moment until variable again has a value of 4.
Figure 6.
The INPUT module in system .
At time , neuron executes production function and transmits a value of −3 to neuron , simulating the addition of 1 to the number stored in register 1. Simultaneously, variable receives a value of 4 from neuron . Accordingly, neuron will send a value of −3 to neuron at time again. In fact, neuron receives a value of −3 at every step from time to time . Thus, variable gets a total value of , i.e., register 1 stores the number .
At time , the value of variable becomes 8 because it receives another value of 4 from the external environment. In this way, production function of neuron can execute. Consequently, neuron sends a value of 4 to neuron via synaptic channel , indicating that system is about to simulate instruction of machine .
The configuration dynamics of the INPUT module is shown in Figure 7. The configuration at each time moment involves variables and in that order.
Figure 7.
Configuration dynamics of the INPUT module.
The deterministic ADD module, illustrated in Figure 8, is used to simulate a deterministic ADD instruction . The simulation starts when neuron receives a value of 4. Suppose that neuron receives a value of 4 at time , then production function executes and neuron sends a value of 4 to neuron via synaptic channel . Since the consumption rate of variable is 1, production function meets the application conditions. Consequently, register receives a value of 3 at time . So far, system has completed the simulation of instruction and finished the operation of adding 1 to the number stored in register .
Figure 8.
The deterministic ADD module in system .
Moreover, the SUB module in system is exactly the same as that in system . System does not have a FIN module, but has neuron . System has completed the simulation of if variable in neuron gets a value of 4 at any point of time. At this time point, system has reached the HALT instruction and has accepted the number .
The above discussions show that system working in the accepting mode can successfully simulate , i.e., . In addition, the structures of the three modules show that all the production functions are linear each with at most one variable and the neurons have only two types of, i.e., neutral and positive, polarizations in system . Consequently, holds.
4. Turing Universality of NSNVC P Systems for Computing Functions
The lower limit on the number of neurons needed in a NSNVC P system as a universal function computing device is discussed in this section. In order to compute function , a register machine works as follows. First, generally registers 1 to of machine store the values of the arguments, and all other registers are empty. Then, machine starts a computation by executing the instruction labeled , and executes a series of instructions to continue the computation. Finally, the value of function computed by is stored in another specific register when the HALT instruction is reached. Assume is a fixed admissible enumeration of a unary partially recursive function. If a recursive function satisfies for natural numbers and , then the register machine is considered universal.
Korec [45] introduced a small universal register machine for function computing, as illustrated in Figure 9. The register machine consists of 23 instructions and 8 registers numbered from 0 to 7. Initially, two arguments and are introduced into registers 1 and 2, respectively, which enable machine to compute any . Moreover, when the computation of halts, the number stored in register 0 is the computation result of function . A NSNVC P system is designed to simulate machine . For this purpose, is modified as follows. A new register 8 is added, and the original HALT instruction is replaced by three instructions , and . In this way, the calculation result is stored in register 8. The modified register machine is represented by , which consists of 9 registers, labeled from 0 to 8, and 25 instructions, including 14 SUB instructions, 10 ADD instructions and 1 HALT instruction.
Figure 9.
The universal register machine .
Theorem 3.
There is a Turing universal NSNVC P System with 66 neurons to be used as a function computing device.
Proof.
A NSNVC P system is designed to simulate the computation functions of register machine . System is composed of an INPUT module, an OUTPUT module, 10 ADD modules, and 14 SUB modules. The ADD modules adopt a deterministic form. Assume that the values of all the variables in system are 0 initially. A correspondence exists between the elements, i.e., the registers and instructions, of and the elements, i.e., the neurons, of system . □
The INPUT module of system is shown in Figure 10. The function of this module is to introduce two natural numbers and into neurons and , respectively, through the sequence in the form , where 4 and 0 are the values introduced into the system. The configuration dynamics of the INPUT module is shown in Figure 11. Each configuration involves neurons and in that order.
Figure 10.
The INPUT module in system .
Figure 11.
Configuration dynamics of the INPUT module in system .
The input neuron is used to read the sequence . Assuming that input variable gets a value of 4 at time , then production function executes and neuron transmits a positive charge and a value of 4 to neuron . At time , production function in neuron satisfies the execution condition and neuron sends a value of −3 to neuron . As a result, the value stored in neuron increases by 1. In addition, since the value of variable will not be consumed after production function executes, neuron sends the value of 4 to neuron at each time moment after time . This process continues until neuron receives a value of 4 again. Therefore, from time to time , neuron receives a total value of from neuron , i.e., the number stored in register 1 is .
Suppose the input neuron receives a value of 4 again and the value of variable accumulates to 8 at time , (in fact, ). Production function executes and neuron sends a value of 4 to neuron via synaptic channel . At time , with the execution of production function , neuron sends a value of −3 to neuron for the first time. Similarly, because the accumulated value received by neuron from neuron is from time to time , the number stored in register 2 is .
The value of variable becomes 12 after neuron receives the value of 4 for the third time at time , (in fact, ). When production function executes, variable gets a value of 4, causing system to start the simulation of the initial instruction .
Thereafter, no production function can be applied and system starts to use the ADD and SUB modules to simulate machine . All the ADD instructions in machine are of the form as shown in Figure 9. Therefore, the deterministic ADD module in the number accepting device system , as shown in Figure 8, can be used to simulate these instructions. Moreover, the SUB module shown in Figure 4 is used to simulate the SUB instructions . Hence, the discussions of the ADD and SUB modules are not repeated. The OUTPUT module is constructed by modifying the FIN module shown in Figure 4. Specifically, neuron in the FIN module shown in Figure 4 is replaced by neuron in the OUTPUT module. The process of NSNVC P system simulating register machine is illustrated in Figure 12.
Figure 12.
An illustration of using NSNVC P system to simulate .
Through the above discussion, NSNVC P system can correctly simulate register machine . The system contains 66 neurons in total, and has the following details for the neurons:
- 25 neurons associated with 25 instruction labels;
- 9 neurons associated with 9 registers;
- auxiliary neurons for 14 SUB modules;
- 3 neurons in the INPUT module;
- 2 neurons in the OUTPUT module.
In fact, some optimization techniques such as combining some consecutive ADD and/or SUB instructions can further decrease the number of neurons. Neuron in system can be omitted by combining consecutive instructions and . The combined instructions can be simulated with the ADD-ADD module shown in Figure 13. Because the value required to start the simulation of an instruction is inconsistent with the value required for a register to add or subtract 1, the combined ADD and/or SUB instructions will not be further discussed in this work. Therefore, a universal NSNVC P system requiring only 66 neurons is obtained as a function computing device.
Figure 13.
The ADD-ADD model simulating consecutive ADD-ADD instructions and .
Compared with NSN P systems, each module of NSNVC P systems needs fewer neurons, indicating that a series of improvements to NSN P systems are successful. These improvements include the proposed variable consumption strategy, the use of polarization and threshold as two conditions to control the execution of production functions, the postponement feature assigned to production functions and the introduction of multiple synaptic channels.
Some of the latest computing models [17,42,43,44] and a classic computing model [13] as function computing devices are listed in Table 2 along with their numbers of computing units, i.e., neurons. As shown in Table 2, NSNVC P systems need fewer neurons than SNP-IR systems [42], PASN P systems [43], PSNRS P systems [44], and DTNP systems [13] to obtain Turing universality as function computing devices. Although SNP-MC systems [17] need only 38 neurons, fewer than that of NSNVC P systems, to obtain Turing universality as function computing devices, they are in the type of discrete computing models due to the use of spiking rules. However, NSNVC P systems are in the type of continuous computing models with numerical attributes and are more suitable for solving practical problems due to the use of production functions instead of spiking rules. The comparison in Table 2 shows the computational power of NSNVC P systems. Apparently, NSNVC P systems have better computing capability and performance than most other P systems.
Table 2.
Comparison of different computing models in the number of neurons.
5. Conclusions
A new variant of NSN P systems, called NSNVC P systems, is proposed by improving the NSN P systems. The improvements are the proposed variable consumption strategy, the use of polarization and threshold, the postponement features of the production functions, and the use of multiple synaptic channels. By simulating register machines, the computational completeness of NSNVC P systems as number generating/accepting devices is proved. Furthermore, a universal NSNVC P system with 66 neurons is constructed to compute Turing computable functions.
The new variable consumption strategy makes NSNVC P systems more flexible and practical. Different from NSN P systems, each production function in NSNVC P systems is assigned a threshold and a polarization. A production function must simultaneously satisfy the threshold and polarization conditions to execute. It is precisely because of these two conditions, NSNVC P systems achieved Turing universality by using only positive and neutral polarizations. These two conditions do not inhibit the operation, but complement each other and enhance the controlling ability, of NSNVC P systems.
The introduction of multiple synaptic channels has contributed to the flexibility of operations of NSNVC P systems. This is particularly evident in the INPUT module shown in Figure 9. The postponement feature assigned to production functions also plays an important role in NSNVC P systems. For example, if production function of neuron in the FIN module does not have the postponement feature, neuron will need more production functions, or the FIN module will need more neurons, to achieve the same result.
The universality of NSNVC P systems is studied in this work, and further works are needed to use NSNVC P systems to solve some specific real-world problems. By introducing polarizations, multiple synaptic channels, the variable consumption strategy and the postponement feature, the dimension of the coded information in NSNVC P systems increases. Therefore, NSNVC P systems are more suitable for solving practical problems, such as image processing, fault diagnosis, and robots, which requires more ways for information representation.
Author Contributions
Conceptualization, X.Y. and M.S.; methodology, X.Y.; formal analysis, X.Y.; writing—original draft preparation, X.Y.; writing—review and editing, X.Y. and M.S.; visualization, X.Y.; supervision, M.S., X.L., and Q.R.; funding acquisition, X.L. All authors have read and agreed to the published version of the manuscript.
Funding
This research project was funded by the National Natural Science Foundation of China (61876101, 61802234, 61806114), Social Science Fund Project of Shandong Province, China (16BGLJ06, 11CGLJ22), Natural Science Fund Project of Shandong Province, China (ZR2019QF007), Postdoctoral Project, China (2017M612339, 2018M642695), Humanities and Social Sciences Youth Fund of the Ministry of Education, China (19YJCZH244), and Postdoctoral Special Funding Project, China (2019T120607).
Conflicts of Interest
The authors declare no conflict of interest.
References
- Păun, G. Computing with membranes. J. Comput. Syst. Sci. 2000, 61, 108–143. [Google Scholar] [CrossRef]
- Song, T.; Gong, F.; Liu, X. Spiking neural P systems with white hole neurons. IEEE Trans. NanoBiosci. 2016, 15, 666–673. [Google Scholar] [CrossRef] [PubMed]
- Ionescu, M.; Păun, G.; Yokomori, T. Spiking neural P systems. Fund. Inform. 2006, 71, 279–308. [Google Scholar]
- Păun, G. Spiking neural P systems with astrocyte-like control. J. UCS 2007, 13, 1707–1721. [Google Scholar]
- Pan, L.; Wang, J.; Hoogeboom, H. Spiking neural P systems with astrocytes. Neural Comput. 2012, 24, 805–825. [Google Scholar] [CrossRef] [PubMed]
- Pan, L.; Păun, G. Spiking neural P systems with anti-spikes. Int. J. Comput. Commun. Control 2009, 4, 273–282. [Google Scholar] [CrossRef]
- Wu, T.; Păun, A.; Zhang, Z.; Pan, L. Spiking neural P systems with polarizations. IEEE Trans. Neural Netw. Learn. Syst. 2018, 29, 3349–3360. [Google Scholar]
- Song, T.; Pan, L.; Păun, G. Spiking neural P systems with rules on synapses. Theoret. Comput. Sci. 2014, 529, 82–95. [Google Scholar] [CrossRef]
- Peng, H.; Yang, J.; Wang, J.; Wang, T.; Sun, Z.; Song, X.; Luo, X.; Huang, X. Spiking neural P systems with multiple channels. Neural Netw. 2017, 95, 66–71. [Google Scholar] [CrossRef]
- Song, X.; Wang, J.; Peng, H.; Ning, G.; Sun, Z.; Wang, T.; Yang, F. Spiking neural P systems with multiple channels and anti-spikes. Biosystems 2018, 169, 13–19. [Google Scholar] [CrossRef]
- Wang, J.; Hoogeboom, H.; Pan, L.; Păun, G.; Pérez-Jiménez, M. Spiking neural P systems with weights. Neural Comput. 2010, 22, 2615–2646. [Google Scholar] [CrossRef] [PubMed]
- Zeng, X.; Zhang, X.; Song, T.; Pan, L. Spiking neural P systems with thresholds. Neural Comput. 2014, 26, 1340–1361. [Google Scholar] [CrossRef]
- Peng, H.; Wang, J.; Pérez-Jiménez, M.J.; Riscos-Núñez, A. Dynamic threshold neural P systems. Knowl. Based Syst. 2019, 163, 875–884. [Google Scholar] [CrossRef]
- Peng, H.; Wang, J. Coupled Neural P Systems. IEEE Trans. Neural Netw. Learn. Syst. 2019, 30, 1672–1682. [Google Scholar] [CrossRef]
- Cavaliere, M.; Ibarra, O.H.; Păun, G.; Egecioglu, O.; Ionescu, M.; Woodworth, S. Asynchronous spiking neural P systems. Theor. Comput. Sci. 2009, 410, 2352–2364. [Google Scholar] [CrossRef]
- Song, T.; Pan, L.; Păun, G. Asynchronous spiking neural P systems with local synchronization. Inf. Sci. 2013, 219, 197–207. [Google Scholar] [CrossRef]
- Song, X.; Peng, H.; Wang, J.; Ning, G.; Sun, Z. Small universal asynchronous spiking neural P systems with multiple channels. Neurocomputing 2020, 378, 1–8. [Google Scholar] [CrossRef]
- Cabarle, F.G.C.; Adorna, H.N.; Jiang, M.; Zeng, X. Spiking neural P systems with scheduled synapses. IEEE Trans. Nanobiosci. 2017, 16, 792–801. [Google Scholar] [CrossRef] [PubMed]
- Pan, L.; Păun, G.; Zhang, G.; Neri, F. Spiking neural P systems with communication on request. Int. J. Neural Syst. 2017, 27, 1750042. [Google Scholar] [CrossRef]
- Yin, X.; Liu, X. Dynamic Threshold Neural P Systems with Multiple Channels and Inhibitory Rules. Processes 2020, 8, 1281. [Google Scholar] [CrossRef]
- Kong, Y.; Zheng, Z.; Liu, Y. On string languages generated by spiking neural P systems with astrocytes. Fundam. Inform. 2015, 136, 231–240. [Google Scholar] [CrossRef]
- Zhang, X.; Zeng, X.; Pan, L. On string languages generated by spiking neural P systems with exhaustive use of rules. Nat. Comput. 2008, 7, 535–549. [Google Scholar] [CrossRef]
- Cabarle, F.; Adorna, H.; Pérez-Jiménez, M.; Song, T. Spiking neuron P systems with structural plasticity. Neural Comput. Appl. 2015, 26, 1905–1917. [Google Scholar] [CrossRef]
- Peng, H.; Chen, R.; Wang, J.; Song, X.; Wang, T.; Yang, F.; Sun, Z. Competitive spiking neural P systems with rules on synapses. IEEE Trans. NanoBiosci. 2017, 16, 888–895. [Google Scholar] [CrossRef]
- Ren, Q.; Liu, X.; Sun, M. Turing Universality of Weighted Spiking Neural P Systems with Anti-spikes. Comput. Intell. Neurosci. 2020, 2020, 1–10. [Google Scholar] [CrossRef]
- Păun, G.; Păun, R. Membrane computing and economics: Numerical P systems. Fundam. Inform. 2006, 73, 213–227. [Google Scholar]
- Zhang, Z.; Su, Y.; Pan, L. The computational power of enzymatic numerical P systems working in the sequential mode. Theor. Comput. Sci. 2018, 724, 3–12. [Google Scholar] [CrossRef]
- Pan, L.; Zhang, Z.; Wu, T.; Xu, J. Numerical P systems with production thresholds. Theor. Comput. Sci. 2017, 673, 30–41. [Google Scholar] [CrossRef]
- Liu, L.; Yi, W.; Yang, Q.; Peng, H.; Wang, J. Numerical P systems with Boolean condition. Theor. Comput. Sci. 2019, 785, 140–149. [Google Scholar] [CrossRef]
- Díaz-Pernil, D.; Peña-Cantillana, F.; Gutiérrez-Naranjo, M.A. A parallel algorithm for skeletonizing images by using spiking neural P systems. Neurocomputing 2013, 115, 81–91. [Google Scholar] [CrossRef]
- Xiang, M.; Dan, S.; Ashfaq, K. Image Segmentation and Classification Based on a 2D Distributed Hidden Markov Model. Proc. Int. Soc. Opt. Eng. 2008, 6822, 51. [Google Scholar]
- Zhang, G.; Gheorghe, M.; Li, Y. A membrane algorithm with quantum-inspired subalgorithms and its application to image processing. Natural Comput. 2012, 11, 701–717. [Google Scholar] [CrossRef]
- Buiu, C.; Vasile, C.; Arsene, O. Development of membrane controllers for mobile robots. Inf. Sci. 2012, 187, 33–51. [Google Scholar] [CrossRef]
- Wang, X.; Zhang, G. Design and implementation of membrane controllers for trajectory tracking of nonholonomic wheeled mobile robots. Integr. Comput. Aided Eng. 2016, 23, 15–30. [Google Scholar] [CrossRef]
- Xiong, G.; Shi, D.; Zhu, L.; Duan, X. A new approach to fault diagnosis of power systems using fuzzy reasoning spiking neural P systems. Math. Probl. Eng. 2013, 2013, 211–244. [Google Scholar] [CrossRef]
- Wang, T.; Zhang, G.; Zhao, J.; He, Z.; Wang, J.; Pérez-Jiménez, M.J. Fault diagnosis of electric power systems based on fuzzy reasoning spiking neural P systems. IEEE Trans. Power Syst. 2014, 30, 1182–1194. [Google Scholar] [CrossRef]
- Peng, H.; Wang, J.; Ming, J.; Shi, P.; Pérez-Jiménez, M.J.; Yu, W.; Tao, C. Fault diagnosis of power systems using intuitionistic fuzzy spiking neural P systems. IEEE Trans. Smart Grid. 2018, 9, 4777–4784. [Google Scholar] [CrossRef]
- Peng, H.; Wang, J.; Shi, P.; Pérez-Jiménez, M.J.; Riscos-Núñez, A. An extended membrane system with active membrane to solve automatic fuzzy clustering problems. Int. J. Neural Syst. 2015, 26, 1650004. [Google Scholar] [CrossRef] [PubMed]
- Peng, H.; Shi, P.; Wang, J.; Riscos-Núñez, A.; Pérez-Jiménez, M.J. Multiobjective fuzzy clustering approach based on tissue-like membrane systems. Knowl. Based Syst. 2017, 125, 74–82. [Google Scholar] [CrossRef]
- Han, L.; Xiang, L.; Liu, X.; Luan, J. The K-medoids Algorithm with Initial Centers Optimized Based on a P System. J. Inf. Comput. Sci. 2014, 11, 1765–1774. [Google Scholar] [CrossRef]
- Wu, T.; Pan, L.; Yu, Q.; Tan, K.C. Numerical Spiking Neural P Systems. IEEE Transact. Neural Netw. Learn. Syst. 2020, 1–15. [Google Scholar] [CrossRef]
- Peng, H.; Li, B.; Wang, J. Spiking neural P systems with inhibitory rules. Knowl. Based Syst. 2020, 188, 105064. [Google Scholar] [CrossRef]
- Wu, T.; Zhang, T.; Xu, F. Simplified and yet Turing universal spiking neural P systems with polarizations optimized by anti-spikes. Neurocomputing 2020, 414, 255–266. [Google Scholar] [CrossRef]
- Jiang, S.; Fan, J.; Liu, Y.; Wang, Y.; Xu, F. Spiking Neural P Systems with Polarizations and Rules on Synapses. Complexity 2020, 2020, 1–12. [Google Scholar] [CrossRef]
- Korec, I. Small universal register machines. Theor. Comput. Sci. 1996, 168, 267–301. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).












