# On Applications of Spiking Neural P Systems
## Applications
### Power Systems Fault Diagnosis  
The complexity of power systems has increased significantly with the increasing complexity and size of generators, transmission lines, busbars and transformers. PRs (protective relays) and CBs (circuit breakers) protect these devices. One of the major components associated with the power system is called SCADA (supervisory control and data acquisition) and whenever a fault occurs in a power systems, the SCADA system sends a large number of alarm messages. Additionally, at the same time, the protective devices are capable of quick identification of the faults by activation of the PRs and tripping of the CBs to isolate the fault section. It is also a natural phenomenon that the messages received from the SCADA are incomplete and the uncertainty associated with the tripping of PRs and CBs increases the complexity of the fault diagnosis. The parallel and distributed architecture of bio-computing models provided a theoretical framework which can solve these problems effectively. One of the main advantages of these models is that multiple operations can be performed in a step of computation and it helps to solve many real life problems efficiently as well as quickly. The membrane computing model--i.e., fuzzy reasoning spiking neural P system (FRSNPs)--was introduced by [PERSON], et al. in 2013 [PERSON] et al. (2013) with the purpose to solve the problem of fault diagnosis. This model along with the parallel and distributed architecture has capabilities, such as fuzzy knowledge representation, fuzzy reasoning, non-determinism, non-linearity, dynamic reasoning, high understandability and synchronization. Moreover FRSNPS models can simulate model fuzzy production rules graphically which makes the model more easily understandable. At first we discuss the mathematical structure of the FRSNPS. **Definition 2** ([20]). : _A FRSN P system of degree \(m\geq 1\), is a \((m+4)\)-tuple of the form \(\Pi=(A,\sigma_{1},\ldots,\sigma_{m},syn,I,O)\) where_  
1. \(A=\{a\}\) _is the singleton alphabet (the object_ \(a\) _is called spike)._
2. \(r_{1},\ldots,r_{m}\) _are neurons with the form_ \(r_{i}=(a_{i},\tau_{i},r_{i})\) _with_ \(i\in\{1,\ldots,m\}\) _where_ _(i)_ \(\alpha_{i}\in[0,1]\) _represents the (potential) value of spike contained in neuron_ \(\sigma_{i}\) _(also called pulse value);_ _(ii)_ \(\tau_{i}\in[0,1]\) _represents the truth value associated with neuron_ \(\sigma_{i}\)_;_ _(iii)_ \(r_{i}\) _(firing/spiking rules) contained in neuron_ \(\sigma_{i}\) _are of the form_ \(E/\alpha^{\alpha}\to a^{\beta}\)_, where_ \(\alpha,\beta\in[0,1]\)_._
3. \(syn\subseteq\{1,2,\ldots,m\}\times\{1,2,\ldots,m\}\) _with_ \(i\
eq j\) _for all_ \((i,j)\in syn,1\leq i,j\leq m\) _(synapses between neurons)._
4. \(I,O\subseteq\{\sigma_{1},\sigma_{2},\ldots,\sigma_{m}\}\) _represent the input neuron set and output neuron set, respectively._  
The rules of this model are different from the rules in the SNPS model in [6] and also instead of the number of spikes, the value of the spikes is represented by number \(\alpha_{i}\in[0,1]\). The neurons in fuzzy reasoning spiking neural P systems (FRSNPs) are divided into two categories--i.e., proposition neurons and rule neurons. Moreover, rule neurons are divided into two categories--i.e., AND and OR neurons. Based on the firing mechanism and matrix operations, a reasoning algorithm was introduced in [20]. This matrix reasoning algorithm in the framework of FRSNPS is capable of diagnosing single and multiple faults irrespective of proper functioning of the PRs. Moreover the fault diagnosis method based on FRSNPS has good fault tolerant capacity. This method is also suitable for online applications, since the construction and storing of these models in a file can be done in advance and it only takes five reasoning steps to obtain the results of the diagnosis. Inspired by this model, a new variant of FRSNPS, called MFRSNPs (modified fuzzy reasoning spiking neural P systems) was introduced in [25] by [PERSON] et al.