arXiv is now an independent nonprofit! Learn more
License: arXiv.org perpetual non-exclusive license
arXiv:1809.03135v1 [eess.SY] 10 Sep 2018

A Linear Approach to Fault Analysis and Intervention in Boolean Systems

Anuj Deshpande and Ritwik Kumar Layek Thanks: The authors are with the Department of Electronics and Electrical Communication Engineering, Indian Institute of Technology - Kharagpur, Kharagpur, WB, 721302 India. e-mail: deshpande.anuj@ece.iitkgp.ernet.in; ritwik@ece.iitkgp.ernet.in

Abstract

The mutations of a complex systemic disease like cancer can be modeled as stuck-at faults in the Boolean system paradigm. For a class of multiple faults, the fault identification is exceptionally significant under the incomplete access of all the underlying proteins of the system. A comprehensive linear framework has been developed in this manuscript to identify the class of faults under a set of homeostatic input conditions. An algorithm is developed to design new reporters to improve the observability. The other aspect of this manuscript lies in controlling the manifestation of the mutations, which is the essential objective of systems medicine research. The primary goal is to synthesize a cocktail of drug molecules (combination therapy) from a set of existing targeted drugs. The controllability results are included in this paper to understand the problem formally. An improvement of controllability algorithm is discussed to design new target drugs if the available drugs fail to accommodate the underlying fault set. The results are presented for Boolean maps and Boolean control networks. Biological examples are given to highlight the relevant results.

Keywords: Boolean control networks, cancer, inhibitory drugs, semi-tensor product, controllability, observability.

1 Introduction

The emergence of ‘systems biology’ opens up new frontiers in medicine and biology. One of the major challenges in modern medical science has been to provide a cure for complex systemic diseases like cancer, Alzheimer’s, and Parkinson’s, to name a few. Cancer is taken as the model system for the work in this manuscript. The futility of traditional therapeutic procedures in developing one wonder-drug to cure cancer has forced physicians to look into targeted combination therapy [1, 2, 3]. For the effective efforts towards the design of optimal combination therapy, it is required to have a reliable modeling scheme of the cancerous system such that a ‘healthy’ response, ‘proliferating’ response, and ‘post-therapy’ response can be compared quantitatively. With such modeling scheme, a drug optimization problems can be defined which bring all these responses quantitatively closer to minimize effects of a disease.

Kauffman [4] stated the possibility of modeling gene interactions with the Boolean network. The quantized states (ON and OFF) of the gene were represented as 0 and 1 in the logical domain. Since then, the Boolean modeling style has become famous among researchers [5, 6, 7] because of its discrete nature. The discrete nature helps to keep the computational complexity tractable for biological problems. Therefore, Boolean map (BM) and Boolean control network (BCN) have been taken as standard Boolean systems for modeling gene-regulatory networks in this manuscript.

A detailed study of the biological aspect of cancer was given by [8]. Systemic diseases like cancer begin with random mutations in somatic cells [8, 9, 10] causing faults in the model and alter its desired dynamics. The altered dynamics of the system often results in an undesirable output vector (disease phenotypes). Depending on the nature of mutation, these mutations are mapped as different stuck-at faults in the Boolean systems [11, 12]. These faults can be categorized into three types. If the mutated gene gets deleted or becomes incapable of transcribing and translating into the protein, the fault is of ‘stuck-at 0’ (sa-0) type. Sometimes the mutation is such that the folded protein becomes constitutively active in the relevant signaling pathway. Then, the fault is considered to be of ‘stuck-at 1’ (sa-1) type. The ‘no-fault’ scenario appears when the mutation does not alter the kinase binding residues of the protein and the wild-type behavior continues [11]. The available targeted drugs for cancer are mostly small inhibitory molecules capable of blocking cell signaling in transduction pathways [11]. Hence, the drugs can be modeled as de-novo inputs to the Boolean system. These drugs control the network behavior; however, the problem of finding suitable drugs is entirely dependent on the ability to estimate the possible mutations (faults). The detail description of the mentioned biological terms is given in [8].

With such fault and drug modeling in the Boolean domain, a method to obtain optimal drugs was chalked out by [11], which showed a promising preliminary result towards predictive combination therapy design for single fault scenario (SSF). However, the possibility of the number of mutations is arbitrary in a general biological system. Therefore, methods are required to detect the presence of multiple stuck-at faults (MSF). Such fault detection problems are NP-complete [13, 14]. An interesting approach to fault analysis in Boolean networks was given by [15]. However, the assumption of ‘fault sequence’ used by them was perhaps unnecessary for real biological systems because the timescale of variation in fault vector (via random mutation) is the order of magnitude higher than the timescale of any fault diagnosis or therapy of the faulty system. Also, a trajectory-based design is not completely reliable in biological systems, as the experimental samples are usually collected non-uniformly. There is a possibility of missing certain critical transient states in such experiments. Li and Wang [16] developed a ‘test set’ design approach for combinational networks or Boolean maps (BMs). Liu et al. [17] extended this method for multi-valued logical maps. However, both of these papers did not consider the sequential networks or Boolean control networks (BCNs) which are considerably more complicated than a BM, especially for the multiple fault detection [12]. Apart from this, an important class of ‘no-fault’ (absence of a fault) was not considered in [15, 16, 17]. All these aspects have been considered for the work in this manuscript.

Unlike Boolean models, it may not always be possible to fix the specific ‘test patterns’ in the biological network for the detection of faults (mutations). For this reason, the test set based methods like [18, 16, 19] may not be used in a real biological scenario. For undetectable faults, an algorithm for improvement in observability is given in this manuscript. Some earlier aspects of observability problems were considered in [20, 21, 22, 23]. In this manuscript, the optimal drugs are estimated with this fault information. If available drugs are unable to provide a suitable cure, an improvement in controllability has been suggested which provide new target locations.

With the above background, the motivation behind the underlying work resides in attempting a unified model based approach towards the realistic fault identification and intervention problems for the two classes of Boolean systems, namely the BM and the BCN. The initial results of this work were published in [24]. Note that, the terms of drug (vector) and intervention are used with the same meaning interchangeably in this paper.

2 Preliminaries

2.1 Variables in logical domain

Let a logical domain be defined as

={True=1,False=0}.{\mathcal{L}}=\{True=1,False=0\}.

Let uu be the input variable and yy be the output variable. For the logical domain,{u,y}\{u,y\}\in{\mathcal{L}}. dd is a logical variable for a drug such that d=1d=1 means the drug is applied and d=0d=0 means the drug is not applied, i.e., dd\in{\mathcal{L}}. ff is a ternary variable for a fault with values {sa-1, sa-0, no-fault} which are represented as f{1,0,1}f\in\{-1,0,1\}.

For α\alpha number of primary inputs, the input state (Boolean vector) is defined as U=(u1,,uα)U=(u_{1},\ldots,u_{\alpha}), U{0,1}αU\in\{0,1\}^{\alpha}. Similarly, for β\beta number of primary outputs, the output state is Y{0,1}βY\in\{0,1\}^{\beta}; for λ\lambda number of drugs, the drugs state is D{0,1}λD\in\{0,1\}^{\lambda}; and for γ\gamma number of faults, the fault state is F{1,0,1}γF\in\{-1,0,1\}^{\gamma}. The notations α,β,γ,\alpha,\beta,\gamma, and λ\lambda are used in this same context throughout the manuscript.

2.2 Boolean control network and Boolean map

2.2.1 Boolean control network

A Boolean control network (BCN) [4, 25, 26, 27] is a discrete-time, discrete-state, deterministic system. Due to the presence of a feedback loop, it can be perceived similar to a sequential network in Boolean domain.

Definition 2.1.

: A BCN is a uniformly sampled discrete state dynamical system represented as:

X(τ)=Ψ(U(τ),X(τ1)),X(0)=X0,Y(τ)=Γ(U(τ),X(τ)),\displaystyle\begin{aligned} X(\tau)&=\Psi^{\ast}\big(U(\tau),X(\tau-1)\big),X(0)=X_{0},\\ Y(\tau)&=\Gamma^{\ast}\big(U(\tau),X(\tau)\big),\end{aligned} (1)

where Ψ:{0,1}α×{0,1}N{0,1}N\Psi^{\ast}:\{0,1\}^{\alpha}\times\{0,1\}^{N}\rightarrow\{0,1\}^{N} and Γ:{0,1}α×{0,1}N{0,1}β\Gamma^{\ast}:\{0,1\}^{\alpha}\times\{0,1\}^{N}\rightarrow\{0,1\}^{\beta} are two Boolean operators governing the dynamics of the BCN. NN is the number of feedback variables, τ𝒵+\tau\in{\mathcal{Z}^{+}} is a non-negative discrete time index, and the feedback state X(τ){0,1}NX(\tau)\in\{0,1\}^{N}. The input state U(τ){0,1}αU(\tau)\in\{0,1\}^{\alpha}, and the output state Y(τ){0,1}βY(\tau)\in\{0,1\}^{\beta} are the Boolean vectors as defined in Section 2.1.

2.2.2 Boolean map

A Boolean map (BM) is obtained by removing the feedback path from BCN, i.e., it behaves like a combinational network in Boolean domain.

Definition 2.2.

: A BM is a non-feedback form of a BCN which relaxes a requirement for discrete uniform sampling, represented as:

Y(t)=Γ(U(t)),\displaystyle\begin{aligned} Y(t)&=\Gamma^{\ast}\big(U(t)\big),\end{aligned} (2)

where Γ:{0,1}α{0,1}β\Gamma^{\ast}:\{0,1\}^{\alpha}\rightarrow\{0,1\}^{\beta} is the Boolean operator. t+t\in{\mathcal{R}}^{+} is a non-negative continuous time index.

Functions (Ψ\Psi^{\ast}, Γ\Gamma^{\ast}) for BCN and a function Γ\Gamma^{\ast} for BM are derived from biological information [11]. Therefore, they are assumed to be known for the work in this paper.

2.3 Problem formulation in Boolean systems

A faulty BCN can be modeled by considering the faults as separate inputs to the system provided a fault-free BCN and the probable gene mutations (fault points). The drugs are also treated as external input variables in the known BCN topology. Without loss of generality, it is assumed that a fault-free BCN shown in (1) can be converted to define a faulty BCN as:

X(τ)\displaystyle X(\tau) =Ψ^(U(τ),F,D,X(τ1)),X(0)=X0,\displaystyle=\widehat{\Psi}\big(U(\tau),F,D,X(\tau-1)\big),X(0)=X_{0}, (3)
Y(τ)\displaystyle Y(\tau) =Γ^(U(τ),X(τ)),\displaystyle=\widehat{\Gamma}(U(\tau),X(\tau)),

where Ψ^:{0,1}α×{1,0,1}γ×{0,1}λ×{0,1}N{0,1}N\widehat{\Psi}:\{0,1\}^{\alpha}\times\{-1,0,1\}^{\gamma}\times\{0,1\}^{\lambda}\times\{0,1\}^{N}\rightarrow\{0,1\}^{N} and Γ^:{0,1}α×{0,1}N{0,1}β\widehat{\Gamma}:\{0,1\}^{\alpha}\times\{0,1\}^{N}\rightarrow\{0,1\}^{\beta}. Here (Ψ^,Γ^)(\widehat{\Psi},\widehat{\Gamma}) is a faulty version of a fault-free BCN (Ψ,Γ)(\Psi^{\ast},\Gamma^{\ast}). The faults (FF) and drugs (DD) are assumed to be constant over time, hence, the time stamp is not mentioned.

Similarly, a fault-free BM shown in (2) can be converted to define the faulty BM as:

Y\displaystyle Y =Γ^(U,F,D),\displaystyle=\widehat{\Gamma}(U,F,D), (4)

where Γ^:{0,1}α×{1,0,1}γ×{0,1}λ{0,1}β\widehat{\Gamma}:\{0,1\}^{\alpha}\times\{-1,0,1\}^{\gamma}\times\{0,1\}^{\lambda}\rightarrow\{0,1\}^{\beta}. Γ^\widehat{\Gamma} is a modified BM after introduction of faults. Since the time indices of the input and output vectors of the BM are continuous in nature and devoid of causality, the indices can be omitted for all purposes. Hence (4) and all the subsequent analysis of BM no longer have a time stamp.

The drugs (DD) are inhibitory and are inherently different from the inputs (UU). The input UU is mostly not under the control of the therapist for in situ modeling of a gene regulatory system. The inputs can be growth factors, hormones, oxygen, or different kind of molecular stresses [8], whereas, drugs are user designed molecules targeted at known locations in Boolean systems. Hence the problem of control design in biological systems is finding drugs DD. In both cases shown in (3) and (4), Ψ^\widehat{\Psi} and Γ^\widehat{\Gamma} are assumed to be known because Ψ\Psi^{\ast} and Γ\Gamma^{\ast} are known from their construction.

2.4 Semi-tensor products

For the conversion of logical expression into the linear form, the variables in the logical domain are required to map in the vector form. Let a vector (delta) set Δk\Delta_{k} be defined as Δk={δki|i=1,2,,k}\Delta_{k}=\{\delta^{i}_{k}|\,i=1,2,\ldots,k\}, where δki\delta^{i}_{k} is the ii-th column of an identity matrix Ik{\rm{I}}_{k}. A set Δ2\Delta_{2} is used to denote the binary values, such that {1,0}{δ21,δ22}\{1,0\}\sim\{\delta_{2}^{1},\delta_{2}^{2}\} respectively. Therefore, the variables defined in the logical domain are defined in the vector form given as, {𝐮,𝐲,𝐝}Δ2\{{\mathbf{u,y,d}}\}\in\Delta_{2}. Similarly, a vector set Δ3\Delta_{3} is required to show a ternary variable in the vector form. Therefore, a vector form of fault variable is defined as 𝐟Δ3{\mathbf{f}}\in\Delta_{3}, where δ31\delta_{3}^{1} shows a sa-1 fault, δ32\delta_{3}^{2} shows a sa-0 fault, and δ33\delta_{3}^{3} shows a no-fault condition. Although ff is not a binary variable, such multi-valued mapping has been done earlier in the literature [17].

The logical operators Ψ^\widehat{\Psi} and Γ^\widehat{\Gamma} are converted into linear operators using the semi-tensor product (STP) approach formulated in [28, 29, 30, 31, 32].

Definition 2.3.

: Let {\mathcal{M}} be the set of all matrices. Consider a matrix Am×n{\rm{A}}\in{\mathcal{M}}_{m\times n} and a matrix Mp×q{\rm{M}}\in{\mathcal{B}}_{p\times q}. Let cc be the least common multiple of nn and pp. Then the STP of A{\rm{A}} and B{\rm{B}} is defined as

AB=(AIc/n)(BIc/p),{\rm{A}}\ltimes{\rm{B}}=({\rm{A}}\otimes{\rm{I}}_{c/n})({\rm{B}}\otimes{\rm{I}}_{c/p}),

where \otimes is the Kronecker product of matrices.

Remark 2.1.

: Every matrix product has been assumed to be an STP throughout the paper. Therefore, the notation “\ltimes” is mostly excluded.

For an STP of pp k-valued logical variables, a mapping i=1p:ΔkΔkp\ltimes_{i=1}^{p}:\Delta_{k}\rightarrow\Delta_{k^{p}}. For α\alpha number of input variables, an input state UU is represented by a vector 𝐔=𝐮1𝐮α=αi=1𝐮i{\mathbf{U}}={\mathbf{u}}_{1}\cdots{\mathbf{u}}_{\alpha}=\ltimes^{\alpha}_{i=1}\mathbf{u}_{i}. As 𝐮iΔ2{\mathbf{u}}_{i}\in\Delta_{2}, 𝐔Δ2α{\mathbf{U}}\in\Delta_{2^{\alpha}}. Similarly, the output vector 𝐘Δ2β{\mathbf{Y}}\in\Delta_{2^{\beta}}, the fault vector 𝐅Δ3γ{\mathbf{F}}\in\Delta_{3^{\gamma}}, and the drug vector 𝐃Δ2λ{\mathbf{D}}\in\Delta_{2^{\lambda}}.

2.5 Structure matrix

A structure matrix is derived from the network structure, and thus represents the characteristics of the network.

Definition 2.4.

: For a logical function σ:nm\sigma:{\mathcal{L}}^{n}\rightarrow{\mathcal{L}}^{m}, a matrix Mσ2m×2n{\rm{M}}_{\sigma}\in{\mathcal{B}}_{2^{m}\times 2^{n}} is defined as a structure matrix if

σ(x1,,xn)Mσ𝐱1𝐱nxi and 𝐱iΔ2\sigma(x_{1},\ldots,x_{n})\equiv{\rm{M}}_{\sigma}{\mathbf{x}}_{1}\cdots{\mathbf{x}}_{n}\quad\forall x_{i}\in{\mathcal{L}}\text{ and }{\mathbf{x}}_{i}\in\Delta_{2}

The dimensions of a structure matrix depend upon the dimensions of individual 𝐱i{\mathbf{x}}_{i}. In the matrix form, Mσ=[δ2mi1,{\rm{M}}_{\sigma}=[\delta_{2^{m}}^{i_{1}}, OPEN,δ2mi2n]=δ2m[i1,,i2n]\ldots,\delta_{2^{m}}^{i_{2^{n}}}]=\delta_{2^{m}}[i_{1},\ldots,{i_{2^{n}}}].

3 Methodology

3.1 Structure matrix for faults and drugs

As mentioned in Section 2.3, a fault is modeled as an external input. Therefore, each fault changes the structure matrix of the network. If a node xx is observed (by gene sequencing) to be mutated, its value is modified to xx^{\ast}. If the observed mutation is mapped as fault ff, then the change in the value of xx is given by the relation in matrix form as 𝐱=Mf𝐱𝐟\mathbf{x}^{\ast}={\rm{M}}_{f}\,\mathbf{x\,f}, where {𝐱,𝐱}Δ2,𝐟Δ3\{\mathbf{x}^{\ast},\mathbf{x}\}\in\Delta_{2},\mathbf{f}\in\Delta_{3}. In this expression, Mf=δ2[1,2,1,1,2,2]\rm{M}_{f}=\delta_{2}[1,2,1,1,2,2] is the structure matrix showing the effect of fault for different values of node xx. For instance, if the original value of a node xx is 0 (𝐱=δ22{\mathbf{x}}=\delta_{2}^{2}) and the fault observed is sa-1 (𝐟=δ31{\mathbf{f}}=\delta_{3}^{1}), then 𝐱=Mfδ22δ31=δ21{\mathbf{x}}^{\ast}={\rm{M}}_{f}\delta_{2}^{2}\delta_{3}^{1}=\delta_{2}^{1}. i.e., the value of xx changes to 1 as an effect of fault.

Similarly, the application of an inhibitory drug dd blocks the node xx by changing its value to 0. When the drug is not applied, the node xx retains its value. In logical form, it is represented as x=xd¯x^{\ast}=x\cdot\bar{d} [11]. Using the STP techniques [31], this expression can be written in vector form as 𝐱=MD𝐱𝐝\mathbf{x}^{\ast}={\rm{M}}_{D}\,\mathbf{x\,d}, where {𝐱,𝐱,𝐝}Δ2\{\mathbf{x}^{\ast},\mathbf{x,d}\}\in\Delta_{2} and MD=δ2[2,1,2,2]{\rm{M}}_{D}=\delta_{2}[2,1,2,2]. MD{\rm{M}}_{D} shows a structure matrix incorporating the effect of a drug applied at node xx. The derivation of structure matrices Mf{\rm{M}}_{f} and Md{\rm{M}}_{d} are provided in Section A of the Appendix.

The matrices Mf{\rm{M}}_{f} and MD{\rm{M}}_{D} are constant. For every fault ff at a node xx, 𝐱{\mathbf{x}} has to be replaced by Mf𝐱𝐟{\rm{M}}_{f}{\mathbf{xf}} to obtain a linear form. Similarly, for every inhibitory drug dd at a node xx, 𝐱{\mathbf{x}} has to be replaced by MD𝐱𝐝{\rm{M}}_{D}{\mathbf{xd}}.

3.2 A linear form representation of BM and BCN

Let {\mathcal{B}} be a set of matrices with all binary elements.

3.2.1 Boolean map

A linear form equation for BM is obtained by applying STP properties [31] on (4) to get a linear form representation as:

𝐘\displaystyle{\mathbf{Y}} =Γ𝐔𝐅𝐃,\displaystyle=\Gamma{\mathbf{UFD}}, (5)

where Γ2β×2α+λ3γ\Gamma\in{\mathcal{B}}_{2^{\beta}\times 2^{\alpha+\lambda}3^{\gamma}} is a structure matrix of the BM.

3.2.2 Boolean control networks

Similar to BM, STP properties [31] are applied on (3) to get a linear form equation as:

𝐗(τ)\displaystyle{\mathbf{X}}(\tau) =Ψ𝐔(τ)𝐅𝐃𝐗(τ1),\displaystyle=\Psi{\mathbf{U}}(\tau){\mathbf{FD}}{\mathbf{X}}(\tau-1), (6)
𝐘(τ)\displaystyle{\mathbf{Y}}(\tau) =Γ𝐔(τ)𝐗(τ),\displaystyle=\Gamma{\mathbf{U}}(\tau){\mathbf{X}}(\tau),

where Ψ2N×2α+λ+N3γ\Psi\in{\mathcal{B}}_{2^{N}\times 2^{\alpha+\lambda+N}3^{\gamma}} and Γ2β×2α+N\Gamma\in{\mathcal{B}}_{2^{\beta}\times 2^{\alpha+N}} are the structure matrices of the BCN.

It is important to modify the system representation for extension applications like improvement in observability and controllability in such a way that the extensions become computationally tractable. Since the possible locations of the mutations are known in the BCN, a BCN model is divided into blocks. Block diagram for a BCN is given in Fig. 1. Such block-wise division is possible with all the BCN and BM.

Figure 1: Blockwise design of a BCN

The block diagram for the BCN consists of two main parts: primary block (indicated by L\rm{L} matrices) and the secondary block (indicated by H\rm{H} matrices). The primary block is further divided into sub-blocks, which are arranged level-wise based on the following rules:

Level 1 contains n1n_{1} number of sub-blocks (with structure matrices Li1,i=1,,n1{\rm{L}}^{1}_{i},i=1,\ldots,n_{1}) such that each sub-block depends on the input (including the state feedback), and only one fault or one drug. xi1x_{i}^{1} shows the output of block Li1{\rm{L}}_{i}^{1}. Level 2 contains n2n_{2} number of sub-blocks (with structure matrices Li2,i=1,,n2{\rm{L}}^{2}_{i},i=1,\ldots,n_{2}) such that each sub-block depends on the input (including the state feedback), only one fault or one drug and at least one output from level 1 (i.e, at least one of x11,,xn11x_{1}^{1},\ldots,x^{1}_{n_{1}}). Level mm contains nmn_{m} number of sub-blocks (with structure matrices Lim,i=1,,nm{\rm{L}}^{m}_{i},i=1,\ldots,n_{m}) such that each sub-block depends on the input (including the state feedback), only one fault or one drug and at least one output from level (m1)(m-1) (i.e, at least one of x1m,,xnmmx_{1}^{m},\ldots,x^{m}_{n_{m}}).

The secondary block is divided into the sub-blocks according to the following rules. Each sub-block (H1,,Hβ{\rm{H}}_{1},\ldots,{\rm{H}}_{\beta}) depends upon the input and at least one output from level mm (i.e. X1,,XmX^{1},\ldots,X^{m}). Each sub-block has a single output, which is one of the primary outputs, and no sub-block has any fault or drug.

The feedback input (X(τ1){\rm{X}}(\tau-1)) is taken from last level (Lm{\rm{L}}^{m}) of the sub-blocks and then it is applied to all sub-blocks of the primary block. The total number of sub-blocks in the network is given by:

𝒩=i=1mni+β=γ+λ+β\displaystyle{\mathcal{N}}=\sum^{m}_{i=1}{n_{i}}+\beta=\gamma+\lambda+\beta (7)

This shows that the number of accessible nodes is limited. Since only one fault or one drug per sub-block is allowed in the block-wise separation, the generation of modified structure matrix for any choice of faults and drugs becomes straightforward. It also becomes possible to directly access the important internal nodes (either the node is a mutation site or the node is a target for an available drug). A structure matrix is derived for a BCN using this block-wise design.

For the BM, the construction is identical except the state feedback link. The structure matrix calculations for BM are provided in Section B the Appendix. A similar process can be followed to obtain the structure matrices for BCN. The final form of the linear equation of BM can be represented as:

𝐘=H𝐔𝐅𝐃,{\mathbf{Y}}={\rm{H}}{\mathbf{UFD}}, (8)

where H2β×2α+λ3γ{\rm{H}}\in{\mathcal{B}}_{2^{\beta}\times 2^{\alpha+\lambda}3^{\gamma}} is a structure matrix of the BM. In comparison with (5), Γ=H\Gamma={\rm{H}} for the BM structure.

The final form of the linear equation of BCN can be expressed as:

𝐗(τ)\displaystyle{\mathbf{X}}(\tau) =L𝐔𝐅𝐃𝐗(τ1)\displaystyle={\rm{L}}{\mathbf{U}}{\mathbf{FDX}}(\tau-1) (9)
𝐘(τ)\displaystyle{\mathbf{Y}}(\tau) =H𝐔𝐅𝐃𝐗(τ),\displaystyle={\rm{H}}{\mathbf{U}}{\mathbf{FDX}}(\tau),

where L2N×2α+λ+N3γ{\rm{L}}\in{\mathcal{B}}_{2^{N}\times 2^{\alpha+\lambda+N}3^{\gamma}} and H2β×2α+N{\rm{H}}\in{\mathcal{B}}_{2^{\beta}\times 2^{\alpha+N}} are the structure matrices of BCN. (9) shows that effect of faults and drugs on the next state and on the output vector. The input remains unchanged with the state transitions; therefore, the time index for the input vector is neglected. In comparison with (6), Ψ=L\Psi={\rm{L}} and Γ=HW[2λ3γ,2α]𝐅𝐃\Gamma={\rm{HW}}_{[2^{\lambda}3^{\gamma},2^{\alpha}]}{\mathbf{FD}} for the BCN structure. W[p,q]{\rm{W}}_{[p,q]} is a swap matrix of dimensions pq×pqpq\times pq [31].

4 Results

The results for fault analysis and intervention for BM and BCN are derived from their structure matrices shown in (8) and (9) respectively. The inputs of the biological network are assumed to be experimentally readable. Therefore, the set of input vectors is assumed to be known experimentally. Before going to the theorems, let us introduce some variables. 𝐅0\mathbf{F}_{0} represents a fault vector, where all the γ\gamma faults are in ‘no-fault’ state. Hence, 𝐅0=γj=1δ33=δ3γ3γ\mathbf{F}_{0}=\ltimes^{\gamma}_{j=1}\delta_{3}^{3}=\delta_{3^{\gamma}}^{3^{\gamma}}. 𝐃0\mathbf{D}_{0} represents a drug vector when no drug is applied. Hence, 𝐃0=λj=1δ22=δ2λ2λ\mathbf{D}_{0}=\ltimes^{\lambda}_{j=1}\delta_{2}^{2}=\delta_{2^{\lambda}}^{2^{\lambda}}. Let {\mathcal{F}} represent the set of all (3γ3^{\gamma}) fault vectors. However in biology, the number of hazardous fault vectors is much less than 3γ3^{\gamma}. Thus, the set of hazardous faults is defined as ^\widehat{\mathcal{F}}\subseteq{\mathcal{F}}. Let 𝒰{\mathcal{U}} represent the set of all (2α2^{\alpha}) input vectors. In the input space, only some inputs are homeostatic inputs, which are achievable in real biological systems. Thus, 𝒰^𝒰\widehat{\mathcal{U}}\subseteq{\mathcal{U}} represents the set of such permissible inputs. Let 𝒟{\mathcal{D}} be the set of all (2λ2^{\lambda}) drugs.

The next section discusses the main results of fault estimation and intervention along with some corollaries and proposition derived. If the available set of inputs fails to identify a particular fault uniquely, then it requires designing new output (reporters) to improve the observability. Similarly, if the drugs are not available for the estimated faults, the improvement in controllability is required. Algorithms 1 and 2 show such a possibility of improvement in observability and controllability of the network. The results are initially developed for the Boolean map and then extended for the Boolean control networks.

Remark 4.2.

: Proofs of the two main theorems are given. All the other proofs are omitted as those proofs can be given following the same arguments.

4.1 Boolean map

The network information of BM is available in the structure matrix H{\rm{H}} represented by (8). Therefore, the fault analysis and intervention results are derived from the structure matrix H{\rm{H}}.

Theorem 4.1.

: Existence theorem
For a given input vector 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}} in a BM in (8), the existence of fault vector 𝐅i\mathbf{F}_{i} is assured iff

H~𝐔~𝐅iH~𝐔~𝐅0,\widetilde{\rm{H}}\mathbf{\widetilde{U}F}_{i}\neq\widetilde{\rm{H}}\mathbf{\widetilde{U}F}_{0},

where H~=HW[2λ,2α3γ]𝐃0\widetilde{\rm{H}}={\rm{HW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0} and W[p,q]{\rm{W}}_{[p,q]} is a swap matrix of dimensions pq×pqpq\times pq [31].

Proof.

: Necessary condition: For the specified input vector 𝐔~𝒰^{\widetilde{\mathbf{U}}}\in{\widehat{\mathcal{U}}}, a null-drug vector 𝐃0\mathbf{D}_{0}, and an arbitrary fault vector 𝐅i\mathbf{F}_{i} in a BM, output 𝐘(𝐔~,𝐅i,𝐃0)\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{i},\mathbf{D}_{0}) of the system is given by:

𝐘(𝐔~,𝐅i,𝐃0)=H𝐔~𝐅i𝐃0=HW[2λ,2α3γ]𝐃0𝐔~𝐅i=H~𝐔~𝐅i,\displaystyle\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{i},\mathbf{D}_{0})={\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{i}{\mathbf{D}_{0}}={\rm{HW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}\widetilde{\mathbf{U}}\mathbf{F}_{i}=\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{i},

where H~=HW[2λ,2α3γ]𝐃0\widetilde{\rm{H}}={\rm{HW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}. H~2β×2α3γ{\widetilde{\rm{H}}}\in{\mathcal{B}}_{2^{\beta}\times 2^{\alpha}3^{\gamma}}. If a system with structure matrix H\rm{H} is fault-free or under the influence of null-fault vector 𝐅0\mathbf{F}_{0}, the output is given by:

𝐘(𝐔~,𝐅0,𝐃0)=H𝐔~𝐅0𝐃0=HW[2λ,2α3γ]𝐃0𝐔~𝐅0=H~𝐔~𝐅0,\displaystyle\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{0},\mathbf{D}_{0})={\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{0}{\mathbf{D}_{0}}={\rm{HW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}\widetilde{\mathbf{U}}\mathbf{F}_{0}=\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{0},

where all input conditions are kept identical. If 𝐘(𝐔~,𝐅i,𝐃0)\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{i},\mathbf{D}_{0}) = 𝐘(𝐔~,𝐅0,𝐃0)\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{0},\mathbf{D}_{0}), the fault vectors 𝐅i\mathbf{F}_{i} and 𝐅0\mathbf{F}_{0} become indistinguishable. Hence, the necessary condition of the existence of 𝐅i\mathbf{F}_{i} is 𝐘(𝐔~,𝐅i,𝐃0)𝐘(𝐔~,𝐅0,𝐃0)\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{i},\mathbf{D}_{0})\neq\mathbf{Y}(\widetilde{\mathbf{U}},\mathbf{F}_{0},\mathbf{D}_{0}). Therefore,

H~𝐔~𝐅i\displaystyle\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{i} H~𝐔~𝐅0.\displaystyle\neq\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{0}.

Sufficient condition: Suppose,

H~𝐔~𝐅i\displaystyle\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{i} H~𝐔~𝐅0,\displaystyle\neq\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{0},

where H~=HW[2λ,2α3γ]𝐃0\widetilde{\rm{H}}={\rm{HW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}. H~\widetilde{\rm{H}} is the modified structure matrix of the BM under null-drug vector 𝐃0\mathbf{D}_{0}. The above inequality trivially establishes that 𝐅i𝐅0\mathbf{F}_{i}\neq\mathbf{F}_{0}. Hence it is sufficient to say that the inequality guaranties existence of fault vector 𝐅i\mathbf{F}_{i}. This completes the proof. ∎

Corollary 4.1.

: For a given fault vector 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in a BM in (8), there exists an input vector 𝐔j𝒰^\mathbf{U}_{j}\in\widehat{\mathcal{U}} capable of detecting a fault vector 𝐅~\widetilde{\mathbf{F}} iff

H~𝐅~𝐔jH~𝐅0𝐔j,\widetilde{\rm{H}}^{{}^{\prime}}\widetilde{\mathbf{F}}\mathbf{U}_{j}\neq\widetilde{\rm{H}}^{{}^{\prime}}{\mathbf{F}_{0}}\mathbf{U}_{j},

where H~=HW[3γ2λ,2α]W[2λ,3γ]𝐃0\widetilde{\rm{H}}^{{}^{\prime}}={\rm{HW}}_{[3^{\gamma}2^{\lambda},2^{\alpha}]}{\rm{W}}_{[2^{\lambda},3^{\gamma}]}\mathbf{D}_{0}.

Proposition 4.2.

: For a specified input vector 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}} in BM in (8), a set of fault vectors 𝐔~^{\mathcal{F}_{\widetilde{\mathbf{U}}}}\subseteq\widehat{\mathcal{F}} which is detectable by input vector 𝐔~\widetilde{\mathbf{U}} is given by

𝐔~={𝐅iH~𝐔~𝐅iH~𝐔~𝐅0;𝐅i^},\displaystyle{\mathcal{F}_{\widetilde{\mathbf{U}}}}=\{\mathbf{F}_{i}\,\mid\,\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{i}\neq\widetilde{\rm{H}}\widetilde{\mathbf{U}}{\mathbf{F}_{0}}\,;\mathbf{F}_{i}\in\widehat{\mathcal{F}}\},

where H~=HW[2λ,2α3γ]𝐃0\widetilde{\rm{H}}={\rm{HW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}. For existence, 𝐔~{\mathcal{F}_{\widetilde{\mathbf{U}}}}\neq\emptyset.

The following results discuss the necessary and sufficient conditions for detecting the existence of a particular fault using an arbitrary input.

Proposition 4.3.

: For a specified fault vector 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in a BM in (8), a set of input vectors 𝒰𝐅~𝒰^{\mathcal{U}_{\widetilde{\mathbf{F}}}}\subseteq\widehat{\mathcal{U}} which can detect the fault vector is given by:

𝒰𝐅~={𝐔iH~𝐅~𝐔iH~𝐅0𝐔i;𝐔i𝒰^},{\mathcal{U}_{\widetilde{\mathbf{F}}}}=\{\mathbf{U}_{i}\,\mid\,\widetilde{\rm{H}}^{{}^{\prime}}\widetilde{\mathbf{F}}\mathbf{U}_{i}\neq\widetilde{\rm{H}}^{{}^{\prime}}\mathbf{F}_{0}\mathbf{U}_{i}\,;\mathbf{U}_{i}\in\widehat{\mathcal{U}}\},

where H~=HW[3γ2λ,2α]W[2λ,3γ]𝐃0\widetilde{\rm{H}}^{{}^{\prime}}={\rm{HW}}_{[3^{\gamma}2^{\lambda},2^{\alpha}]}{\rm{W}}_{[2^{\lambda},3^{\gamma}]}\mathbf{D}_{0}.

Theorem 4.4.

: Uniqueness theorem
For a specific fault 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in a BM in (8), input 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}} can uniquely identify fault vector 𝐅~\widetilde{\mathbf{F}} iff

H~𝐔~𝐅~\displaystyle\widetilde{\rm{H}}\widetilde{\mathbf{U}}\widetilde{\mathbf{F}} H~𝐔~𝐅0,\displaystyle\neq\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{0},
and H~𝐔~𝐅j\displaystyle\text{ and }\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{j} =H~𝐔~𝐅0;𝐅j𝐅~,𝐅j^.\displaystyle=\widetilde{\rm{H}}\widetilde{\mathbf{U}}\mathbf{F}_{0};\quad\forall\mathbf{F}_{j}\neq\widetilde{\mathbf{F}},\mathbf{F}_{j}\in\widehat{\mathcal{F}}.
Proposition 4.5.

: For a specified fault vector 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in a BM in (8), a set of input vectors 𝒰𝐅~𝒰^{\mathcal{U}_{\widetilde{\mathbf{F}}}}\subseteq\widehat{\mathcal{U}} which can uniquely identify a fault vector 𝐅~\widetilde{\mathbf{F}} is given by:

𝒰𝐅~={𝐔j|𝐔j𝒰^,H~𝐔j𝐅~\displaystyle{\mathcal{U}_{\widetilde{\mathbf{F}}}}=\{\mathbf{U}_{j}|\mathbf{U}_{j}\in\widehat{\mathcal{U}},\widetilde{\rm{H}}\mathbf{U}_{j}\widetilde{\mathbf{F}} H~𝐔j𝐅0,\displaystyle\neq\widetilde{\rm{H}}\mathbf{U}_{j}\mathbf{F}_{0},
H~𝐔j𝐅k\displaystyle\widetilde{\rm{H}}\mathbf{U}_{j}\mathbf{F}_{k} =H~𝐔j𝐅0𝐅k𝐅~,𝐅k^}.\displaystyle=\widetilde{\rm{H}}\mathbf{U}_{j}\mathbf{F}_{0}\quad\forall\mathbf{F}_{k}\neq\widetilde{\mathbf{F}},\mathbf{F}_{k}\in\widehat{\mathcal{F}}\}.
Proposition 4.6.

: For a given set of input vectors 𝒰𝒰^{\mathcal{U}}^{\ast}\subseteq\widehat{\mathcal{U}}, any input vector 𝐔i𝒰\mathbf{U}_{i}\in{\mathcal{U^{*}}} can detect a set of fault vectors 𝐔i{\mathcal{F}_{{\mathbf{U}}_{i}}} (Proposition 4.2). The set of common fault vectors detectable by a set of given input vectors can be estimated as:

𝒰=i=1ξ𝐔i;𝐔i𝒰,{\mathcal{F}_{{\mathcal{U}}^{\ast}}}=\bigcap_{i=1}^{\xi}{\mathcal{F}_{{\mathbf{U}}_{i}}}\,;\,\mathbf{U}_{i}\in{\mathcal{U}}^{\ast},

where ξ=card(𝒰)\xi=card({\mathcal{U}}^{\ast}) is the cardinality of the set 𝒰{\mathcal{U}}^{\ast}.

Proposition 4.7.

: Let ^\widehat{\mathcal{F}} be a set of permissible fault vectors for a BM in (8) and a fault vector 𝐅i^\mathbf{F}_{i}\in\widehat{\mathcal{F}}. Let 𝒰𝐅i{\mathcal{U}_{{\mathbf{F}}_{i}}} be a set of input vectors that can detect a fault vector 𝐅i\mathbf{F}_{i} (see Proposition 4.3). Then, an input test set 𝒰T{\mathcal{U}}_{\text{T}} can be generated as:

𝒰T=i=1μ𝒰𝐅i;𝐅i^,{\mathcal{U}}_{\rm{T}}=\bigcup_{i=1}^{\mu}{\mathcal{U}_{{\mathbf{F}}_{i}}}\,;\,\mathbf{F}_{i}\in\widehat{\mathcal{F}},

where μ=card(^)\mu=card(\widehat{\mathcal{F}}).

The test set generated by this method is not optimal, but it is useful to know the important homeostatic inputs and the fault coverage.

Proposition 4.8.

: For a test set 𝒰T{\mathcal{U}}_{\text{T}} for a BM in (8), fault coverage C^{\mathcal{F}}_{C}\subseteq\widehat{\mathcal{F}} is given by

C=i=1ζ𝐔i,{\mathcal{F}}_{C}=\bigcup_{i=1}^{\zeta}{\mathcal{F}_{{\mathbf{U}}_{i}}},

where ζ=card(𝒰T)\zeta=card({\mathcal{U}}_{\text{T}}) and 𝐔i{\mathcal{F}_{{\mathbf{U}}_{i}}} is set of faults detectable by input vector 𝐔i𝒰T\mathbf{U}_{i}\in{\mathcal{U}}_{\text{T}} (see Proposition 4.2).

Due to the limited number of homeostatic inputs, many of the fault vectors may remain undetectable in a real biological system. This affects the fault coverage. The following theorem provides a way to use multiple input vectors for unique fault detection.

Corollary 4.2.

: Generalized uniqueness
A set of input vectors 𝒰𝒰^{\mathcal{U}}^{\ast}\subseteq\widehat{\mathcal{U}} can uniquely determine a fault vector 𝐅~\widetilde{\mathbf{F}}\in{\mathcal{F}} iff 𝒰={𝐅~}{\mathcal{F}_{{\mathcal{U}}^{\ast}}}=\{\widetilde{\mathbf{F}}\}.

Proposition 4.9.

: If 𝒰={\mathcal{F}_{{\mathcal{U}}^{\ast}}}=\emptyset, a set of input vectors 𝒰{\mathcal{U}}^{\ast} cannot detect any fault vector.

Proposition 4.10.

: If card(𝒰)1card({\mathcal{F}_{{\mathcal{U}}^{\ast}}})\neq 1, a set of input vectors 𝒰{\mathcal{U}}^{\ast} cannot detect any fault vector uniquely.

Definition 4.1.

: If card(𝒰)>1card({\mathcal{F}_{{\mathcal{U}}^{\ast}}})>1, a members of the set 𝒰{\mathcal{F}_{{\mathcal{U}}^{\ast}}} are called indistinguishable faults under a set of input vectors 𝒰\mathcal{U^{*}}.

Definition 4.2.

: If two fault vectors 𝐅j\mathbf{F}_{j} and 𝐅k\mathbf{F}_{k} are indistinguishable and

H~𝐔j𝐅i=H~𝐔j𝐅k;𝐔j𝒰,𝐅i,𝐅k𝒰,𝐅i𝐅k,\widetilde{\rm{H}}\mathbf{U}_{j}\mathbf{F}_{i}=\widetilde{\rm{H}}\mathbf{U}_{j}\mathbf{F}_{k}\,;\,\forall\mathbf{U}_{j}\in\mathcal{U^{*}}\,,\,\mathbf{F}_{i},\mathbf{F}_{k}\in{\mathcal{F}_{{\mathcal{U}}^{\ast}}}\,,\,\mathbf{F}_{i}\neq\mathbf{F}_{k},

then fault vectors 𝐅i\mathbf{F}_{i} and 𝐅k\mathbf{F}_{k} are defined as equivalent. Symbolically 𝐅i𝐅k\mathbf{F}_{i}\equiv\mathbf{F}_{k}.

In Proposition 4.3, if some fault vector results in 𝒰𝐅={\mathcal{U}_{\mathbf{F}}}=\emptyset then that fault vector is said to be undetectable. Such faults may not be harmful in the pathways under consideration, but may be harmful in other dependent pathways. Therefore it is important to detect such faults. In Corollary 4.2, if set 𝒰{\mathcal{F}_{{\mathcal{U}}^{\ast}}} represents equivalent fault vectors, then fault detection becomes ambiguous or undetectable. For these conditions, a new reporter design is necessary. Some faults may not be detectable at primary outputs, but may be detectable at the output of internal blocks. Therefore, observability of faults at every internal node is used to decide a new reporter.

Let a set of undetectable fault vectors for a set of input vectors 𝒰\mathcal{U} be denoted as ¯𝒰\overline{\mathcal{F}}_{\mathcal{U}}. Set ¯𝒰\overline{\mathcal{F}}_{\mathcal{U}} contains all the faults for which 𝒰𝐅={\mathcal{U}_{\mathbf{F}}}=\emptyset and the faults which are equivalent. Algorithm 1 results into best possible reporter(s) for improved fault detection. 𝒰ij{\mathcal{F}^{ij}_{\mathcal{U}}} indicates a set of detectable faults considering node xjix^{i}_{j} as ‘reporter’. Reporter is an additional input of the network which provides additional information for fault detection. Selection of each reporter augments the output vector by one. Algorithm 1 results in the set of best possible reporters, 𝒳{\mathcal{X}} (best reporter at 𝒳(1){\mathcal{X}}(1)). It is clear from Algorithm 1 that the complexity of this algorithm is O(2i=1mni)O(2^{\sum^{m}_{i=1}{n_{i}}}) or O(2γ+λ)O(2^{\gamma+\lambda}) (using (7)). The modular design keeps the structure matrices for the individual blocks accessible for algebraic manipulation.

Define i:=1,,mi:=1,\ldots,m; j:=1,,nij:=1,\ldots,n_{i}; k=0k=0 ; 𝒳={\mathcal{X}}=\emptyset ; 1
Augment xjix^{i}_{j} as the (β+1)th(\beta+1)^{\text{th}} output ; 2
Compute a set of detectable faults 𝒰ij¯𝒰i,j{\mathcal{F}}^{ij}_{\mathcal{U}}\subseteq\overline{\mathcal{F}}_{\mathcal{U}}\,\forall i,j (Proposition  4.6) ; 3
while ¯𝒰\overline{\mathcal{F}}_{\mathcal{U}}\neq\emptyset or card(¯𝒰)card(\overline{\mathcal{F}}_{\mathcal{U}}) decreases do 4
(ip,jp)=argmaxi,j({i_{p}},{j_{p}})=\underset{\forall i,j}{\mathrm{argmax}} card(𝒰ij)card({\mathcal{F}}^{ij}_{\mathcal{U}}) ; 5
   Select xjpipx^{{i_{p}}}_{{j_{p}}} as reporter ; 6
 ¯𝒰¯𝒰𝒰ipjp\overline{\mathcal{F}}_{\mathcal{U}}\leftarrow\overline{\mathcal{F}}_{\mathcal{U}}\setminus{\mathcal{F}}^{{i_{p}}{j_{p}}}_{\mathcal{U}} ; 7
 𝒰ij𝒰ij¯𝒰{\mathcal{F}}^{ij}_{\mathcal{U}}\leftarrow{\mathcal{F}}^{ij}_{\mathcal{U}}\subseteq\overline{\mathcal{F}}_{\mathcal{U}} ; 8
 𝒳(k)xjpip{\mathcal{X}}(k)\leftarrow{x^{i_{p}}_{j_{p}}} ; 9
 kk+1k\leftarrow k+1 ; 10
   end while 11
return 𝒳{\mathcal{X}} ; 12
Algorithm 1 Improvement in observability

It is possible in principle to put some additional constraints depending on some prior biological knowledge of certain nodes in choosing the best reporter in each iteration. The accessibility of the new reporters is restricted to the output nodes of the primary sub-blocks only. The number of such sub-blocks is γ+λ\gamma+\lambda, which is small compared to the total number of internal nodes in the system keeping the computational complexity of the algorithm manageable.

Theorem 4.11.

: Existence of Intervention
For a BM in (8) with a fault vector 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} and an input vector 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}}, a drug vector 𝐃i𝒟\mathbf{D}_{i}\in\mathcal{D} exists if

H~𝐅~𝐔~𝐃i=H~𝐅0𝐔~𝐃0,\widetilde{\rm{H}}\widetilde{\mathbf{F}}\widetilde{\mathbf{U}}\mathbf{D}_{i}=\widetilde{\rm{H}}\mathbf{F}_{0}\widetilde{\mathbf{U}}\mathbf{D}_{0},

where H~=HW[3γ,2α]\widetilde{\rm{H}}={\rm{HW}}_{[3^{\gamma},2^{\alpha}]}, and λ\lambda is a number of available drugs.

Proposition 4.12.

: For a fault vector 𝐅~\widetilde{\mathbf{F}}\in\mathcal{F} and a set of input vectors 𝒰^\widehat{\mathcal{U}} in BM in (8), a set of drug vector 𝒟𝐅~{\mathcal{D}_{\widetilde{\mathbf{F}}}} which can control the network is given by:

𝒟𝐅~={𝐃jH~𝐅~𝐔~𝐃j=H~𝐅0𝐔~𝐃0;𝐃j𝒟 and 𝐔~𝒰^}.{\mathcal{D}_{\widetilde{\mathbf{F}}}}=\{\mathbf{D}_{j}\,\mid\,\widetilde{\rm{H}}\widetilde{\mathbf{F}}\widetilde{\mathbf{U}}\mathbf{D}_{j}=\widetilde{\rm{H}}\mathbf{F}_{0}\widetilde{\mathbf{U}}\mathbf{D}_{0}\,;\mathbf{D}_{j}\in\mathcal{D}\text{ and }\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}}\}.
Example 4.1.

: Consider a BM as shown in Fig. 2.

Figure 2: Example 1: Boolean map

From the network, α=2\alpha=2, β=2\beta=2, γ=2\gamma=2, λ=2\lambda=2, m=2m=2, n1=2n_{1}=2, and n2=2n_{2}=2. For 𝐘=H~𝐅𝐔𝐃\mathbf{Y}=\widetilde{\rm{H}}\mathbf{FUD}, structure matrix H~=HW[9,4]\widetilde{\rm{H}}=\rm{HW}_{[9,4]} for the system using (8) can be easily calculated as:

H~\displaystyle\widetilde{\rm{H}} =δ4[4,4,4,4,4,4,4,4,3,4,3,4,4,4,4,43,3,3,3,4,\displaystyle=\delta_{4}\big[4,4,4,4,4,4,4,4,3,4,3,4,4,4,4,4\mid 3,3,3,3,4,
4,4,4,3,3,3,3,4,4,4,4|3,4,3,4,4,4,4,4,3,4,3,4,4,\displaystyle\hskip 0.0pt4,4,4,3,3,3,3,4,4,4,4\mid 3,4,3,4,4,4,4,4,3,4,3,4,4,
4,4,4|4,4,2,2,4,4,4,4,3,4,1,2,4,4,4,4|3,3,1,1,4,\displaystyle\hskip 0.0pt4,4,4\mid 4,4,2,2,4,4,4,4,3,4,1,2,4,4,4,4\mid 3,3,1,1,4,
4,4,4,3,3,1,1,4,4,4,4|3,4,1,2,4,4,4,4,3,4,1,2,4,\displaystyle\hskip 0.0pt4,4,4,3,3,1,1,4,4,4,4\mid 3,4,1,2,4,4,4,4,3,4,1,2,4,
4,4,4|4,4,4,4,4,4,4,4,3,4,3,4,4,4,4,4|3,3,3,3,4,\displaystyle\hskip 0.0pt4,4,4\mid 4,4,4,4,4,4,4,4,3,4,3,4,4,4,4,4\mid 3,3,3,3,4,
4,4,4,3,3,3,3,4,4,4,4|3,4,3,4,4,4,4,4,3,4,3,4,4,\displaystyle\hskip 0.0pt4,4,4,3,3,3,3,4,4,4,4\mid 3,4,3,4,4,4,4,4,3,4,3,4,4,
4,4,4]\displaystyle 4,4,4\big]

If no drugs are applied (i.e., 𝐃0=δ44\mathbf{D}_{0}=\delta_{4}^{4}), the system equation can be written as 𝐘=H^𝐅𝐔\mathbf{Y}=\widehat{\rm{H}}\mathbf{FU}, where

H^\displaystyle\widehat{\rm{H}} =δ4[4,4,4,43,4,3,44,4,4,42,4,2,4\displaystyle=\delta_{4}\big[4,4,4,4\mid 3,4,3,4\mid 4,4,4,4\mid 2,4,2,4\mid
1,4,1,42,4,2,44,4,4,43,4,3,44,4,4,4]\displaystyle\hskip-11.38092pt1,4,1,4\mid 2,4,2,4\mid 4,4,4,4\mid 3,4,3,4\mid 4,4,4,4\big]

Let us assume an input vector 𝐔~=δ43\widetilde{\mathbf{U}}=\delta_{4}^{3}. From Proposition 4.2, a set of detectable faults vectors can be obtained as 𝐔~=δ9{2,4,5,6,8}{\mathcal{F}_{\widetilde{\mathbf{U}}}}=\delta_{9}\{2,4,5,6,8\}. Similarly, for a fault vector 𝐅~=δ94\widetilde{\mathbf{F}}=\delta_{9}^{4}, using Proposition 4.3, a set of input vectors which can detect the fault vector 𝐅~\widetilde{\mathbf{F}} is given by 𝒰𝐅~=δ4{1,3}{\mathcal{U}_{\widetilde{\mathbf{F}}}}=\delta_{4}\{1,3\}. Suppose a set of fault vectors ^=δ9{1,2,3,7}\widehat{\mathcal{F}}=\delta_{9}\{1,2,3,7\} is known. Using Theorem 4.4, an input vector 𝐔~=δ43\widetilde{\mathbf{U}}=\delta_{4}^{3} can uniquely identify fault 𝐅~=δ92\widetilde{\mathbf{F}}=\delta_{9}^{2}. For the set of given input vectors 𝒰^=δ4{1,2,3}\widehat{\mathcal{U}}=\delta_{4}\{1,2,3\}, the fault coverage (Proposition  4.8) is C=δ9{2,4,5,6,8}{\mathcal{F}}_{C}=\delta_{9}\{2,4,5,6,8\}. However, for the set of input vectors 𝒰^=δ4{2,4}\widehat{\mathcal{U}}=\delta_{4}\{2,4\}, fault coverage is C={\mathcal{F}}_{C}=\emptyset. If a given set of fault vectors is ^=δ9{1,2,3,4,8}\widehat{\mathcal{F}}=\delta_{9}\{1,2,3,4,8\}, Corollary 4.2 says that using 𝐔~=δ43\widetilde{\mathbf{U}}=\delta_{4}^{3}, there is no uniquely detectable fault vectors. In fact all the detectable fault vectors, i.e, 𝐔~=δ9{2,4,8}{\mathcal{F}_{\widetilde{\mathbf{U}}}}=\delta_{9}\{2,4,8\} are indistinguishable and δ92δ98\delta_{9}^{2}\equiv\delta_{9}^{8}.
Improvement in observability: It is evident from the matrix H~\widetilde{\rm{H}} that fault vectors in the set ¯𝒰=δ9{1,3,7}\overline{\mathcal{F}}_{\mathcal{U}}=\delta_{9}\{1,3,7\} are undetectable for control inputs 𝒰^\widehat{\mathcal{U}}. It is required to improve the observability of the network to detect these faults. Therefore from Algorithm 1, a reporter can be designed as follows:

At node x11 : 𝐔411\displaystyle\text{At node $x_{1}^{1}$ : }{\mathcal{F}_{\mathbf{U}_{4}}^{11}} =δ9{1,3},\displaystyle=\delta_{9}\{1,3\},
at node x22 : 𝐔222\displaystyle\text{at node $x_{2}^{2}$ : }{\mathcal{F}_{\mathbf{U}_{2}}^{22}} =δ9{1,7},\displaystyle=\delta_{9}\{1,7\},

where 𝐔2=δ42\mathbf{U}_{2}=\delta^{2}_{4} and 𝐔4=δ44\mathbf{U}_{4}=\delta^{4}_{4}. Therefore, node x11x^{1}_{1} can be selected as primary reporter. Now, the set of undetectable faults is reduced to ¯𝒰=δ97\overline{\mathcal{F}}_{\mathcal{U}}=\delta_{9}^{7}. Selecting node x22x^{2}_{2} as secondary reporter guarantees detection of all faults. However, for constrained input set 𝒰^=δ4{1,3}\widehat{\mathcal{U}}=\delta_{4}\{1,3\}, observability cannot be improved.
Controllable faults: The faults for which drugs are available are called controllable faults. Assume a set of input vectors as 𝒰^=δ4{1,3}\widehat{\mathcal{U}}=\delta_{4}\{1,3\}. Assume the detected faults using fault estimation method as 𝐟1=δ32\mathbf{f}_{1}=\delta_{3}^{2} (‘stuck-at 0’) and 𝐟2=δ33\mathbf{f}_{2}=\delta_{3}^{3} (no fault), i.e., the fault vector 𝐅~=δ96\widetilde{\mathbf{F}}=\delta_{9}^{6}. For an input vector 𝐔~=δ41\widetilde{\mathbf{U}}=\delta_{4}^{1} or 𝐔~=δ43\widetilde{\mathbf{U}}=\delta_{4}^{3}:

H~𝐅~𝐔~\displaystyle\widetilde{\rm{H}}\widetilde{\mathbf{F}}\widetilde{\mathbf{U}} =δ4[3,4,1,2].\displaystyle=\delta_{4}[3,4,1,2].

For a fault-free network without drugs:

H~𝐅0𝐔~𝐃0\displaystyle\widetilde{\rm{H}}\mathbf{F}_{0}\widetilde{\mathbf{U}}\mathbf{D}_{0} =H~δ99𝐔~δ44=δ44.\displaystyle=\widetilde{\rm{H}}\delta_{9}^{9}\widetilde{\mathbf{U}}\delta_{4}^{4}=\delta_{4}^{4}.
For 𝐃=δ42 : H~𝐅~𝐔~𝐃\displaystyle\text{For $\mathbf{D}=\delta_{4}^{2}$ : }\widetilde{\rm{H}}\widetilde{\mathbf{F}}\widetilde{\mathbf{U}}\mathbf{D} =H~δ99𝐔~δ44.\displaystyle=\widetilde{\rm{H}}\delta_{9}^{9}\widetilde{\mathbf{U}}\delta_{4}^{4}.

i.e., 𝒟𝐅~={δ42}{\mathcal{D}_{\widetilde{\mathbf{F}}}}=\{\delta_{4}^{2}\}, or 𝐝1=δ21\mathbf{d}_{1}=\delta_{2}^{1} and 𝐝2=δ22\mathbf{d}_{2}=\delta_{2}^{2}. This shows that for the given fault scenario 𝐅~=δ96\widetilde{\mathbf{F}}=\delta_{9}^{6}, only drug 𝐝1\mathbf{d}_{1} is sufficient for nullifying the effect of the fault vector.
Uncontrollable faults: The faults for which drugs are not available are called uncontrollable faults. Let detected faults using fault estimation method be 𝐟1=δ32\mathbf{f}_{1}=\delta_{3}^{2} (‘stuck-at 0’) and 𝐟2=δ32\mathbf{f}_{2}=\delta_{3}^{2} (‘stuck-at 0’). i.e.fault vector 𝐅~=δ95\widetilde{\mathbf{F}}=\delta_{9}^{5}. For input vector 𝐔~=δ41\widetilde{\mathbf{U}}=\delta_{4}^{1} or 𝐔~=δ43\widetilde{\mathbf{U}}=\delta_{4}^{3}:

H~𝐅~𝐔~\displaystyle\widetilde{\rm{H}}\widetilde{\mathbf{F}}\widetilde{\mathbf{U}} =δ4[3,3,1,1]\displaystyle=\delta_{4}[3,3,1,1]
H~δ99𝐔~δ44\displaystyle\widetilde{\rm{H}}\delta_{9}^{9}\widetilde{\mathbf{U}}\delta_{4}^{4} =δ44\displaystyle=\delta_{4}^{4}
For any 𝐃 : H~𝐅~𝐔~𝐃\displaystyle\text{For any $\mathbf{D}$ : }\widetilde{\rm{H}}\widetilde{\mathbf{F}}\widetilde{\mathbf{U}}\mathbf{D} H~δ99𝐔~δ44\displaystyle\neq\widetilde{\rm{H}}\delta_{9}^{9}\widetilde{\mathbf{U}}\delta_{4}^{4}

Therefore the effects of the fault cannot be controlled with the available set of drugs. \blacksquare

Improvement in controllability: For Proposition 4.12, if 𝒟𝐅~={\mathcal{D}_{\widetilde{\mathbf{F}}}}=\emptyset, then a new drug is required such that it can eliminate the effects of the faults. Let 𝐝λ+1\mathbf{d}_{\lambda+1} be a new drug. Then,

𝐃^=𝐝1𝐝2𝐝λ+1=𝐃𝐝λ+1=λ+1j=1𝐝j\hat{\mathbf{D}}=\mathbf{d}_{1}\,\mathbf{d}_{2}\cdots\mathbf{d}_{\lambda+1}={\mathbf{D\,d}_{\lambda+1}}=\ltimes^{\lambda+1}_{j=1}\mathbf{d}_{j}

Naturally, the effect of faults will be maximum at the downstream protein(s) in the pathways. Although the secondary block does not have any fault or drug, a new drug can be targetted at the primary output of that block. These targets facilitate better possibilities of the drug intervention. Therefore, the best possible target site for the drug is searched from output towards input, level wise. Depending upon the target location of the drug, there are two possibilities. (i) Target point is internal node (xjix^{i}_{j} from primary block) of a BM, and (ii) target point is one of the primary outputs (secondary block) of a BM. For these two cases, similar to (8), equation of the output can be written as

𝐘=H^𝐔𝐅𝐃^.\mathbf{Y}=\widehat{\rm{H}}\mathbf{UF}\hat{\mathbf{D}}. (10)

Details of the derivation process are provided in the Appendix (Section C). Algorithm 2 shows the process of improvement in controllability. However, all faults cannot be controlled with inhibitor type drugs. Some activator drugs are also required for improved control.

while 𝒟𝐅~={\mathcal{D}_{\widetilde{\mathbf{F}}}}=\emptyset do 1
Derive YY for chosen case ; 2
   Find control set 𝒟𝐅~{\mathcal{D}_{\widetilde{\mathbf{F}}}} using Proposition 4.12 ; 3
 if 𝒟𝐅~={\mathcal{D}_{\widetilde{\mathbf{F}}}}=\emptyset then 4
   Change target point ; 5
      Repeat all steps ; 6
      end if 7
 if 𝒟𝐅~{\mathcal{D}_{\widetilde{\mathbf{F}}}}\neq\emptyset or all target points considered then 8
   Stop ; 9
      end if 10
   end while 11
return 𝒟𝐅~{\mathcal{D}_{\widetilde{\mathbf{F}}}} ; 12
Algorithm 2 Improvement in controllability

4.2 Boolean control network

In (9), the information about network dynamics is shown by structure matrix L{\rm{L}}. As the secondary block is fault-free, a structure matrix L{\rm{L}} alone is sufficient for the fault analysis. The cyclic attractors in the state transitions of the BCN can be calculated from the diagonal of its structure matrix [31]. The number and sizes of the attractor cycles in the network change with the fault present. For each input vector and fault vector, a structure matrix L𝐔𝐅{\rm{L}}_{\mathbf{UF}} and its corresponding cycles are estimated. Assume that there are ss different attractor cycles in the network. The cycles are numbered in the increasing size of their lengths. The length of an ithi^{th} cycle is lil_{i}. For a cycle of length kk, the corresponding diagonal elements of the structure matrix (L𝐔𝐅)k({\rm{L}}_{\mathbf{UF}})^{k} become one [31]. Therefore, the diagonal values are used to identify changes in the attractor cycles for different conditions of the inputs and faults.

Note that AB{\rm{A}}\vartriangle{\rm{B}} is the symmetric difference between the matrices A{\rm{A}} and B{\rm{B}}. Tr(A)Tr({\rm{A}}) is the trace of a matrix A{\rm{A}}.

Theorem 4.13.

: Existence theorem
For a given input 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}} in BCN L\rm{L} (9), the existence of a fault vector 𝐅i\mathbf{F}_{i} is ensured iff

Tr((L𝐔~𝐅i)k(L𝐔~𝐅0)k)0 for any k{l1,l2,,ls},Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)\neq 0\text{ for any }k\in\{l_{1},l_{2},\ldots,l_{s}\},

where L𝐔~𝐅i{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} indicates resultant structure matrix L\rm{L} in the presence of input 𝐔~\widetilde{\mathbf{U}} and fault 𝐅i\mathbf{F}_{i}, lpl_{p} is the length of a cycle in BCN L𝐔𝐅{\rm{L}}_{\mathbf{UF}}(lp<lp+1;p{1,,s}l_{p}<l_{p+1};\forall p\in\{1,\ldots,s\}), and lsl_{s} is the length of a largest cycle among all L𝐔𝐅{\rm{L}}_{\mathbf{UF}}.

Proof.

: Necessary condition: For the specified input 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}}, drug 𝐃0\mathbf{D}_{0} and the arbitrary fault 𝐅i\mathbf{F}_{i} in the BCN L\rm{L}, the state dynamics of the system is given by:

𝐗(τ)=L𝐔~𝐅i𝐃0𝐗(τ1)=L𝐔~𝐅i𝐗(τ1),\displaystyle\mathbf{X}(\tau)={\rm{L}}\widetilde{\mathbf{U}}\mathbf{F}_{i}{\mathbf{D}_{0}}\mathbf{X}({\tau-1})={\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}}\mathbf{X}({\tau-1}),

where L𝐔~𝐅i=LW[2λ,2α3γ]𝐃0𝐔~𝐅i{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}}={\rm{LW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}\widetilde{\mathbf{U}}\mathbf{F}_{i}. L𝐔~𝐅i\rm{L}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} is a matrix of dimension 2N×2N2^{N}\times 2^{N}, where NN is the number of feedback nodes in the BCN. If the system L\rm{L} is fault-free, the state equation is

𝐗(τ)=L𝐔~𝐅0𝐃0𝐗(τ1)=L𝐔~𝐅0𝐗(τ1),\displaystyle\mathbf{X}(\tau)={\rm{L}}\widetilde{\mathbf{U}}\mathbf{F}_{0}{\mathbf{D}_{0}}\mathbf{X}({\tau-1})={\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}}\mathbf{X}({\tau-1}),

where all input conditions are kept identical.

L𝐔~𝐅i{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} and L𝐔~𝐅0{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}} represent state transition matrices of the network. The diagonal of matrix (L𝐔~𝐅i)k({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k} represents states involved in cycles of length kk and its proper factors. Therefore estimation of Tr((L𝐔~𝐅i)k(L𝐔~𝐅0)k)Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big) for increasing k{l1,l2,,ls}k\in\{l_{1},l_{2},\ldots,l_{s}\} shows mismatch in the cycles. If Tr((L𝐔~𝐅i)k(L𝐔~𝐅0)k)=0Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)=0, difference between cycles cannot be estimated, and faults 𝐅i\mathbf{F}_{i} and 𝐅0\mathbf{F}_{0} become indistinguishable. If any value of kk makes Tr((L𝐔~𝐅i)k(L𝐔~𝐅0)k)0Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)\neq 0, fault 𝐅i\mathbf{F}_{i} becomes distinguishable. Therefore, the necessary condition for existence of fault 𝐅i\mathbf{F}_{i} is Tr((L𝐔~𝐅i)k(L𝐔~𝐅0)k)0 for any k{l1,l2,,ls}Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)\neq 0\text{ for any }k\in\{l_{1},l_{2},\ldots,l_{s}\}.
Sufficient condition: Suppose,

Tr((L𝐔~𝐅i)k(L𝐔~𝐅0)k)0 for any k{l1,l2,,ls},\displaystyle T_{r}\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)\neq 0\text{ for any }k\in\{l_{1},l_{2},\ldots,l_{s}\},

where L𝐔~𝐅i=LW[2λ,2α3γ]𝐃0𝐔~𝐅i{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}}={\rm{LW}}_{[2^{\lambda},2^{\alpha}3^{\gamma}]}\mathbf{D}_{0}\widetilde{\mathbf{U}}\mathbf{F}_{i}. The above inequality states that attractor cycles produced in presence of fault 𝐅i\mathbf{F}_{i} and that of fault-free network are not same. Therefore it trivially establishes 𝐅i𝐅0\mathbf{F}_{i}\neq\mathbf{F}_{0}. Hence it is sufficient to say that the inequality guaranties the existence of fault 𝐅i\mathbf{F}_{i}. This completes the proof. ∎

Example 4.2.

: Let number of feedback nodes (NN) inside the network be 3. Therefore, dimensions of matrix L𝐔~𝐅i{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} or L𝐔~𝐅0{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}} become 8×88\times 8. Assume that for some network, known input condition 𝐔~\widetilde{\mathbf{U}} and fault 𝐅i\mathbf{F}_{i}, the structure matrix is reduced to

L𝐔~𝐅i\displaystyle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} =δ8[3,4,6,1,1,6,8,7]\displaystyle=\delta_{8}[3,4,6,1,1,6,8,7]
and L𝐔~𝐅0\displaystyle\text{ and }{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}} =δ8[5,4,6,3,1,6,2,3]\displaystyle=\delta_{8}[5,4,6,3,1,6,2,3]

For k=1k=1, Tr(L𝐔~𝐅iL𝐔~𝐅0)=0Tr\Big({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}}\vartriangle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}}\Big)=0.
For k=2k=2, Tr((L𝐔~𝐅i)2(L𝐔~𝐅0)2)0Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}})^{2}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{2}\Big)\neq 0. This ensures existence of fault 𝐅i\mathbf{F}_{i}. \blacksquare

Corollary 4.3.

: For a given fault 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in BCN L\rm{L} (9), there exists an input 𝐔j𝒰^\mathbf{U}_{j}\in\widehat{\mathcal{U}} capable of detecting fault 𝐅~\widetilde{\mathbf{F}} iff

Tr((L𝐅~𝐔j)k(L𝐅0𝐔j)k)0 for any k{l1,l2,,ls},Tr\Big(({\rm{L}}_{\widetilde{\mathbf{F}}\mathbf{U}_{j}})^{k}\vartriangle({\rm{L}}_{\mathbf{F}_{0}\mathbf{U}_{j}})^{k}\Big)\neq 0\text{ for any }k\in\{l_{1},l_{2},\ldots,l_{s}\},\\

where L𝐅~𝐔j{\rm{L}}_{\widetilde{\mathbf{F}}\mathbf{U}_{j}} indicates resultant structure matrix L\rm{L} in presence of input 𝐔j\mathbf{U}_{j}, fault 𝐅~\widetilde{\mathbf{F}}, lpl_{p} is the length of a cycle in BCN L𝐅𝐔{\rm{L}}_{\mathbf{FU}}(lp<lp+1;p{1,,s}l_{p}<l_{p+1};\forall p\in\{1,\ldots,s\}), and lsl_{s} is the size of a largest cycle among all L𝐅𝐔{\rm{L}}_{\mathbf{FU}}.

Assume that the cardinality of the permissible input set 𝒰^{\widehat{\mathcal{U}}} is κ\kappa. A sequence π\pi of inputs is a subset of 𝒰^{\widehat{\mathcal{U}}}. Therefore, card(π)κcard(\pi)\leq\kappa. The detection of the fault and design of intervention is more reliable when multiple input vectors are available. Hence, the fault analysis and intervention procedures are derived from the sequence of inputs.

Corollary 4.4.

: For a given fault 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in BCN L\rm{L} (9), there exists a sequence π\pi (card(π)κcard(\pi)\leq\kappa) of inputs 𝐔j𝒰^(j=1,,κ)\mathbf{U}_{j}\in\widehat{\mathcal{U}}\,\,(j=1,\ldots,\kappa) capable of detecting fault 𝐅~\widetilde{\mathbf{F}} iff

Tr(κj=1L𝐔j𝐅~κj=1L𝐔j𝐅0)0,Tr\Bigg(\underset{j=1}{\stackrel{{\scriptstyle\kappa}}{{\prod}}}{\rm{L}}_{\mathbf{U}_{j}\widetilde{\mathbf{F}}}\vartriangle\underset{j=1}{\stackrel{{\scriptstyle\kappa}}{{\prod}}}{\rm{L}}_{\mathbf{U}_{j}\mathbf{F}_{0}}\Bigg)\neq 0,

where L𝐔j𝐅~{\rm{L}}_{\mathbf{U}_{j}\widetilde{\mathbf{F}}} indicates the resultant structure matrix L\rm{L} in presence of input 𝐔j\mathbf{U}_{j} and fault 𝐅~\widetilde{\mathbf{F}}. Note that the sequence of size card(π)card(\pi) is sufficient to detect the fault, and full sequence {𝐔j,j=1,,κ}\{\mathbf{U}_{j},j=1,\ldots,\kappa\} may not be required.

Theorem 4.14.

: Uniqueness theorem
For a specific fault 𝐅~^\widetilde{\mathbf{F}}\in\widehat{\mathcal{F}} in BCN L\rm{L} (9), input 𝐔~𝒰^\widetilde{\mathbf{U}}\in\widehat{\mathcal{U}} can uniquely identify fault 𝐅~\widetilde{\mathbf{F}} iff

Tr((L𝐔~𝐅~)k(L𝐔~𝐅0)k)0 for any k{l1,,ls},\displaystyle Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\widetilde{\mathbf{F}}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)\neq 0\text{ for any }k\in\{l_{1},\ldots,l_{s}\},
and Tr((L𝐔~𝐅j)k(L𝐔~𝐅0)k)=0;k{l1,l2,,ls};\displaystyle Tr\Big(({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{j}})^{k}\vartriangle({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}})^{k}\Big)=0;\quad\forall k\in\{l_{1},l_{2},\ldots,l_{s}\};
𝐅j𝐅~,𝐅j^.\displaystyle\hskip 135.14455pt\forall\mathbf{F}_{j}\neq\widetilde{\mathbf{F}},\mathbf{F}_{j}\in\widehat{\mathcal{F}}.
Theorem 4.15.

: Existence of control
For BCN of (9) with fault vector 𝐅~\widetilde{\mathbf{F}}\in{\mathcal{F}} and sequence π\pi of control inputs, a drug vector 𝐃i𝒟\mathbf{D}_{i}\in{\mathcal{D}} exists if

Tr(1j=card(π)L𝐅~𝐔j𝐃i1j=card(π)L𝐅0𝐔j𝐃0)=0,Tr\Bigg(\underset{j=card(\pi)}{\stackrel{{\scriptstyle 1}}{{\prod}}}{\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{i}\vartriangle\underset{j=card(\pi)}{\stackrel{{\scriptstyle 1}}{{\prod}}}{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0}\Bigg)=0,

where L𝐅~{\rm{L}}_{\widetilde{\mathbf{F}}} indicates the resultant structure matrix L{\rm{L}} in presence of fault 𝐅~\widetilde{\mathbf{F}}.

Other result like the generalized uniqueness, improvement in observability, and improvement in controllability can be easily modified for BCN. Thus, those results for BCN are not shown in this manuscript.

Example 4.3.

: Boolean equations for p53 pathways are given as [11] :

ATMnext\displaystyle ATM_{next} =Wip1¯(ATM+DNA_dsb),\displaystyle=\overline{Wip1}\big(ATM+DNA\_dsb\big),
p53next\displaystyle p53_{next} =Mdm2¯(ATM+Wip1),\displaystyle=\overline{Mdm2}\big(ATM+Wip1\big),
Wip1next\displaystyle Wip1_{next} =p53,\displaystyle=p53,
Mdm2next\displaystyle Mdm2_{next} =ATM¯(p53+Wip1).\displaystyle=\overline{ATM}\big(p53+Wip1\big).

In these pathways, when p53 is ‘active’, it acts as a tumor suppressor (plausible fault location f1f_{1}) and Mdm2 is one of the target sites for application of drugs (d1d_{1}). Therefore, α=1\alpha=1, λ=1\lambda=1, γ=1\gamma=1, and N=4N=4. Structure matrix L\rm{L} for the above equations is estimated as shown.

L\displaystyle{\rm{L}} =δ16[10,10,2,2,10,10,2,2,9,9,5,5,9,9,5,5,|14,10,\displaystyle=\delta_{16}\big[10,10,2,2,10,10,2,2,9,9,5,5,9,9,5,5,|14,10,
6,2,14,10,6,2,13,9,5,5,13,9,5,5,|12,12,4,4,\displaystyle\hskip 28.45274pt6,2,14,10,6,2,13,9,5,5,13,9,5,5,|12,12,4,4,
12,12,4,4,11,11,8,8,11,11,8,8,|16,12,8,4,16,\displaystyle\hskip 28.45274pt12,12,4,4,11,11,8,8,11,11,8,8,|16,12,8,4,16,
12,8,4,15,11,8,8,15,11,8,8,|10,10,2,2,12,12,\displaystyle\hskip 28.45274pt12,8,4,15,11,8,8,15,11,8,8,|10,10,2,2,12,12,
4,4,9,9,5,5,11,11,8,8,|14,10,6,2,16,12,8,4,\displaystyle\hskip 28.45274pt4,4,9,9,5,5,11,11,8,8,|14,10,6,2,16,12,8,4,
13,9,5,5,15,11,8,8,|10,10,2,2,10,10,2,2,9,9,\displaystyle\hskip 28.45274pt13,9,5,5,15,11,8,8,|10,10,2,2,10,10,2,2,9,9,
13,13,9,9,13,13,|14,10,6,2,14,10,6,2,13,9,13,\displaystyle\hskip 28.45274pt13,13,9,9,13,13,|14,10,6,2,14,10,6,2,13,9,13,
13,13,9,13,13,|12,12,4,4,12,12,4,4,11,11,16,\displaystyle\hskip 28.45274pt13,13,9,13,13,|12,12,4,4,12,12,4,4,11,11,16,
16,11,11,16,16,|16,12,8,4,16,12,8,4,15,11,16,\displaystyle\hskip 28.45274pt16,11,11,16,16,|16,12,8,4,16,12,8,4,15,11,16,
16,15,11,16,16,|10,10,2,2,12,12,4,4,9,9,13,\displaystyle\hskip 28.45274pt16,15,11,16,16,|10,10,2,2,12,12,4,4,9,9,13,
13,11,11,16,16,|14,10,6,2,16,12,8,4,13,9,13,\displaystyle\hskip 28.45274pt13,11,11,16,16,|14,10,6,2,16,12,8,4,13,9,13,
13,15,11,16,16].\displaystyle\hskip 28.45274pt13,15,11,16,16\big].

p53 having ‘stuck-at 0’ results in proliferation. Therefore, it is important to detect this fault.
Existence theorem:
Case 1 : Let 𝐃=𝐃0\mathbf{D}=\mathbf{D}_{0}, 𝐔~=δ22\widetilde{\mathbf{U}}=\delta_{2}^{2}, and 𝐅i=δ32\mathbf{F}_{i}=\delta_{3}^{2} (‘stuck-at 0’). Structure matrix is reduced to

L𝐔~𝐅i\displaystyle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} =δ16[16,12,8,4,16,12,8,4,\displaystyle=\delta_{16}[16,12,8,4,16,12,8,4,
15,11,16,16,15,11,16,16],\displaystyle\hskip 28.45274pt15,11,16,16,15,11,16,16],
L𝐔~𝐅0\displaystyle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}} =δ16[14,10,6,2,16,12,8,4,\displaystyle=\delta_{16}[14,10,6,2,16,12,8,4,
13,9,13,13,15,11,16,16],\displaystyle\hskip 28.45274pt13,9,13,13,15,11,16,16],
and k\displaystyle\text{ and }k ={1}.\displaystyle=\{1\}.

For k=1k=1, Tr(L𝐔~𝐅iL𝐔~𝐅0)=1Tr\big({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}}\vartriangle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}}\big)=1. This ensures the existence of fault 𝐅i=δ32\mathbf{F}_{i}=\delta_{3}^{2}.
Case 2 : Let 𝐔~=δ21\widetilde{\mathbf{U}}=\delta_{2}^{1}. Keeping other parameters same, structure matrix is reduced to

L𝐔~𝐅i\displaystyle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}} =δ16[16, 12, 8, 4, 16, 12, 8, 4,\displaystyle=\delta_{16}[16,\,12,\,8,\,4,\,16,\,12,\,8,\,4,\,
15, 11, 8, 8, 15, 11, 8, 8],\displaystyle\hskip 28.45274pt15,\,11,\,8,\,8,\,15,\,11,\,8,\,8],
L𝐔~𝐅0\displaystyle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}} =δ16[14, 10, 6, 2, 16, 12, 8, 4,\displaystyle=\delta_{16}[14,\,10,\,6,\,2,\,16,\,12,\,8,\,4,\,
13, 9, 5, 5, 15, 11, 8, 8],\displaystyle\hskip 28.45274pt13,\,9,\,5,\,5,\,15,\,11,\,8,\,8],
and k\displaystyle\text{ and }k ={1,7}.\displaystyle=\{1,7\}.

For k=1k=1, Tr(L𝐔~𝐅iL𝐔~𝐅0)=1Tr\big({\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{i}}\vartriangle{\rm{L}}_{\widetilde{\mathbf{U}}\mathbf{F}_{0}}\big)=1. This ensures the existence of fault 𝐅i=δ32\mathbf{F}_{i}=\delta_{3}^{2}.
Improvement in observability : Improvement is not required as ‘stuck-at 0’ fault is detectable.
Existence of intervention:
Case 1: Let 𝐔j=δ22\mathbf{U}_{j}=\delta_{2}^{2}, and fault 𝐅~=δ32\widetilde{\mathbf{F}}=\delta_{3}^{2} (‘stuck-at 0’) is detected. Let 𝐃i=δ21\mathbf{D}_{i}=\delta_{2}^{1}

L𝐅~𝐔j𝐃i\displaystyle{\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{i} =δ16[12,12,4,4,12,12,4,4,\displaystyle=\delta_{16}[12,12,4,4,12,12,4,4,
11,11,16,16,11,11,16,16],\displaystyle\hskip 28.45274pt11,11,16,16,11,11,16,16],
L𝐅0𝐔j𝐃0\displaystyle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0} =δ16[14,10,6,2,16,12,8,4,\displaystyle=\delta_{16}[14,10,6,2,16,12,8,4,
13,9,13,13,15,11,16,16],\displaystyle\hskip 28.45274pt13,9,13,13,15,11,16,16],
and k\displaystyle\text{ and }k ={1}.\displaystyle=\{1\}.

For k=1k=1, Tr(L𝐅~𝐔j𝐃iL𝐅0𝐔j𝐃0)=1Tr\big({\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{i}\vartriangle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0}\big)=1. Therefore, drug 𝐃i=δ21\mathbf{D}_{i}=\delta_{2}^{1} is not useful.
Case 2: Let 𝐔j=δ21\mathbf{U}_{j}=\delta_{2}^{1}, and fault 𝐅~=δ32\widetilde{\mathbf{F}}=\delta_{3}^{2} (‘stuck-at 0’) is detected. Let 𝐃i=δ21\mathbf{D}_{i}=\delta_{2}^{1}

L𝐅~𝐔j𝐃i\displaystyle{\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{i} =δ16[12,12,4,4,12,12,4,4,\displaystyle=\delta_{16}[12,12,4,4,12,12,4,4,
11,11,8,8,11,11,8,8],\displaystyle\hskip 28.45274pt11,11,8,8,11,11,8,8],
L𝐅0𝐔j𝐃0\displaystyle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0} =δ16[14,10,6,2,16,12,8,4,\displaystyle=\delta_{16}[14,10,6,2,16,12,8,4,
13,9,5,5,15,11,8,8],\displaystyle\hskip 28.45274pt13,9,5,5,15,11,8,8],
and k\displaystyle\text{ and }k ={1,7}.\displaystyle=\{1,7\}.

For k={1,7}k=\{1,7\}, Tr((L𝐅~𝐔j𝐃i)k(L𝐅0𝐔j𝐃0)k)0Tr\big(({\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{i})^{k}\vartriangle({\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0})^{k}\big)\neq 0. Therefore, drug 𝐃i=δ21\mathbf{D}_{i}=\delta_{2}^{1} is not useful.
Improvement in controllability: Let the target for new drug d2d_{2} be ATMATM, p53p53, or Wip1Wip1. Applying Algorithm 2, it is observed that target ATMATM shows some improvement in controllability. When DNA_dsb=0DNA\_dsb=0 and p53p53 is stuck-at 0, for target ATMATM, results obtained are as follows:
Assume 𝐅~=δ32{\widetilde{\mathbf{F}}}=\delta_{3}^{2} and 𝐔j=δ22\mathbf{U}_{j}=\delta_{2}^{2}. Let 𝐃3=δ41\mathbf{D}_{3}=\delta_{4}^{1}, 𝐃2=δ42\mathbf{D}_{2}=\delta_{4}^{2}, 𝐃1=δ43\mathbf{D}_{1}=\delta_{4}^{3}. Therefore,

L𝐅~𝐔j𝐃3\displaystyle{\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{3} =δ16[11,11,16,16,11,11,16,16,\displaystyle=\delta_{16}[11,11,16,16,11,11,16,16,
11,11,16,16,11,11,16,16],\displaystyle\hskip 28.45274pt11,11,16,16,11,11,16,16],
L𝐅~𝐔j𝐃2\displaystyle{\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{2} =δ16[12,12,4,4,12,12,4,4,\displaystyle=\delta_{16}[12,12,4,4,12,12,4,4,
11,11,16,16,11,11,16,16],\displaystyle\hskip 28.45274pt11,11,16,16,11,11,16,16],
L𝐅~𝐔j𝐃1\displaystyle{\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{1} =δ16[15,11,16,16,15,11,16,16,\displaystyle=\delta_{16}[15,11,16,16,15,11,16,16,
15,11,16,16,15,11,16,16],\displaystyle\hskip 28.45274pt15,11,16,16,15,11,16,16],
L𝐅0𝐔j𝐃0\displaystyle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0} =δ16[14,10,6,2,16,12,8,4,\displaystyle=\delta_{16}[14,10,6,2,16,12,8,4,
13,9,13,13,15,11,16,16],\displaystyle\hskip 28.45274pt13,9,13,13,15,11,16,16],
and k\displaystyle\text{ and }k ={1}.\displaystyle=\{1\}.

For k=1k=1,

Tr(L𝐅~𝐔j𝐃3L𝐅0𝐔j𝐃0)\displaystyle T_{r}\big({\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{3}\vartriangle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0}\big) =0,\displaystyle=0,
Tr(L𝐅~𝐔j𝐃2L𝐅0𝐔j𝐃0)\displaystyle T_{r}\big({\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{2}\vartriangle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0}\big) =1,\displaystyle=1,
Tr(L𝐅~𝐔j𝐃1L𝐅0𝐔j𝐃0)\displaystyle T_{r}\big({\rm{L}}_{\widetilde{\mathbf{F}}}\mathbf{U}_{j}\mathbf{D}_{1}\vartriangle{\rm{L}}_{\mathbf{F}_{0}}\mathbf{U}_{j}\mathbf{D}_{0}\big) =0.\displaystyle=0.

Therefore drugs 𝐃3\mathbf{D}_{3} and 𝐃1\mathbf{D}_{1} are useful interventions. In logical equivalence, D3(1 1)D_{3}\sim(1\,1) and D1(0 1)D_{1}\sim(0\,1). Therefore, only drug d2d_{2} is effective. This shows the effectiveness of the method in discarding certain drugs and selecting an appropriate therapeutic intervention. A suitable inhibitory drug at ATM may be useful for the stuck-at 0 fault at p53. This prediction shows that the method may prove to be helpful to decide the future research towards drugs discovery. \blacksquare

5 Conclusion

The manuscript describes a linear approach towards fault analysis and intervention in Boolean systems. The methodology opens up new problems towards fault analysis and intervention in Boolean systems. The proposed study considers the possibility of multiple faults (mutations) in feedback networks. The method does not require any test set considering the experimental difficulty in assigning test inputs to biological networks.

The objective of this work is to obtain the optimal therapeutic intervention with the available input-output information. In some cases, extra reporters may be required to analyze the mutations. If the none of drugs are useful from the available set, the improvement in controllability procedure suggests the new possible targets for the drugs. Although the method is exponential, the drug estimation time is still less than the treatment time of the patient. Also, the drugs obtained with the proposed work can be used to improve the lifespan of a patient and save the experimentation cost. Future work can be on the output based fault identification and control of BCN and the corresponding improvement in observability and controllability which have been described in this study. Fault analysis and control in the paradigms of asynchronous Boolean networks and probabilistic Boolean networks can also be taken into consideration in the near future.

Acknowledgment

The work was supported by the project ‘WBC’ funded by Indian Institute of Technology, Kharagpur.

References

  • [1] R. de Freitas Saito, T. C. Tortelli, M. D. Jacomassi, A. H. Otake, and R. Chammas, “Emerging targets for combination therapy in melanomas,” FEBS letters, vol. 589, no. 22, pp. 3438–3448, 2015.
  • [2] G. V. Sherbet, “Therapeutic potential of thalidomide and its analogues in the treatment of cancer,” Anticancer Research, vol. 35, no. 11, pp. 5767–5772, 2015.
  • [3] D. A. Reardon, M. R. Gilbert, W. Wick, and L. Liau, “Immunotherapy for neuro-oncology: The critical rationale for combinatorial therapy,” Neuro-oncology, vol. 17, no. suppl_7, pp. vii32–vii40, 2015.
  • [4] S. A. Kauffman, “Metabolic stability and epigenesis in randomly constructed genetic nets,” Journal of Theoretical Biology, vol. 22, no. 3, pp. 437–467, 1969.
  • [5] I. Shmulevich, E. R. Dougherty, and W. Zhang, “From Boolean to probabilistic Boolean networks as models of genetic regulatory networks,” Proceedings of the IEEE, vol. 90, no. 11, pp. 1778–1792, 2002.
  • [6] I. Shmulevich, E. R. Dougherty, S. Kim, and W. Zhang, “Probabilistic Boolean networks: A rule-based uncertainty model for gene regulatory networks,” Bioinformatics, vol. 18, no. 2, pp. 261–274, 2002.
  • [7] R. K. Layek, A. Datta, and E. R. Dougherty, “From biological pathways to regulatory networks,” Molecular BioSystems, vol. 7, no. 3, pp. 843–851, 2011.
  • [8] R. Weinberg, The biology of cancer. Garland Science, 2013.
  • [9] I. Martincorena and P. J. Campbell, “Somatic mutation in cancer and normal cells,” Science, vol. 349, no. 6255, pp. 1483–1489, 2015.
  • [10] J. Shendure and J. M. Akey, “The origins, determinants, and consequences of human mutations,” Science, vol. 349, no. 6255, pp. 1478–1483, 2015.
  • [11] R. Layek, A. Datta, M. Bittner, and E. R. Dougherty, “Cancer therapy design based on pathway logic,” Bioinformatics, vol. 27, no. 4, pp. 548–555, 2011.
  • [12] M. Abramovici, M. A. Breuer, and A. D. Friedman, “Digital systems testing and testable design,” Design for Testability, 1990.
  • [13] H. Fujiwara, “Computational complexity of controllability/observability problems for combinational circuits,” IEEE Transactions on Computers, vol. 39, no. 6, pp. 762–767, 1990.
  • [14] S. A. Cook, “The complexity of theorem-proving procedures,” in Proceedings of the third annual ACM symposium on Theory of computing. ACM, 1971, pp. 151–158.
  • [15] E. Fornasini and M. E. Valcher, “Fault detection analysis of Boolean control networks,” IEEE Transactions on Automatic Control, vol. 60, no. 10, pp. 2734–2739, 2015.
  • [16] H. Li and Y. Wang, “Boolean derivative calculation with application to fault detection of combinational circuits via the semi-tensor product method,” Automatica, vol. 48, no. 4, pp. 688–693, 2012.
  • [17] Z. Liu, Y. Wang, and H. Li, “New approach to derivative calculation of multi-valued logical functions with application to fault detection of digital circuits,” IET Control Theory & Applications, vol. 8, no. 8, pp. 554–560, 2014.
  • [18] P. Lin and S. P. Khatri, “Efficient cancer therapy using Boolean networks and Max-SAT-based ATPG,” in IEEE International Workshop on Genomic Signal Processing and Statistics (GENSIPS). IEEE, 2011, pp. 87–90.
  • [19] R. Layek and A. Datta, “Fault detection and intervention in biological feedback networks,” Journal of Biological Systems, vol. 20, no. 04, pp. 441–453, 2012.
  • [20] X. Xu and Y. Hong, “Observability analysis and observer design for finite automata via matrix approach,” IET Control Theory & Applications, vol. 7, no. 12, pp. 1609–1615, 2013.
  • [21] D. Laschov, M. Margaliot, and G. Even, “Observability of Boolean networks: A graph-theoretic approach,” Automatica, vol. 49, no. 8, pp. 2351–2362, 2013.
  • [22] D. Cheng, H. Qi, T. Liu, and Y. Wang, “A note on observability of Boolean control networks,” Systems & Control Letters, vol. 87, pp. 76–82, 2016.
  • [23] K. Zhang and L. Zhang, “Observability of boolean control networks: A unified approach based on finite automata,” IEEE Transactions on Automatic Control, vol. 61, no. 9, pp. 2733–2738, 2016.
  • [24] A. Deshpande and R. K. Layek, “A linear approach to fault analysis in Boolean networks,” in 2017 American Control Conference (ACC). IEEE, 2017, pp. 4790–4796.
  • [25] S. A. Kauffman, The origins of order: Self-organization and selection in evolution. Oxford university press, 1993.
  • [26] L. Glass and S. A. Kauffman, “The logical analysis of continuous, non-linear biochemical control networks,” Journal of theoretical Biology, vol. 39, no. 1, pp. 103–129, 1973.
  • [27] H. De Jong, “Modeling and simulation of genetic regulatory systems: a literature review,” Journal of Computational Biology, vol. 9, no. 1, pp. 67–103, 2002.
  • [28] D. Cheng, “Semi-tensor product of matrices and its application to Morgen’s problem,” Science in China Series: Information Sciences, vol. 44, no. 3, pp. 195–212, 2001.
  • [29] ——, “Semi-tensor product of matrices and its applications – A survey,” in 4th International Congress of Chinese Mathematicians,Hangzhou, vol. 3, 2007, pp. 641–668.
  • [30] D. Cheng and H. Qi, “Controllability and observability of Boolean control networks,” Automatica, vol. 45, no. 7, pp. 1659–1667, 2009.
  • [31] ——, “A linear representation of dynamics of Boolean networks,” IEEE Transactions on Automatic Control, vol. 55, no. 10, pp. 2251–2258, 2010.
  • [32] D. Cheng, H. Qi, and Z. Li, Analysis and Control of Boolean Networks : A Semi-tensor Product Approach. Springer, London, 2011.

Appendix A Preliminaries

A.1 Generalization of matrices

Lemma A.1.

: Power reduction matrix
Let 𝐚{\mathbf{a}} be the column vector of dimension pp and 𝐀=𝐚1𝐚2𝐚k{\mathbf{A}}={\mathbf{a}}_{1}{\mathbf{a}}_{2}\cdots{\mathbf{a}}_{k}. Then 𝐀2=Φp𝐀{\mathbf{A}}^{2}=\Phi_{p}{\mathbf{A}}, where

Φp=δp2[1,1+(p+1),1+2(p+1),,1+(p1)(p+1)].\Phi_{p}=\delta_{p^{2}}\big[1,1+(p+1),1+2(p+1),\ldots,1+(p-1)(p+1)\big].
Lemma A.2.

: Dummy matrix
For column vectors 𝐀p{\mathbf{A}}\in\mathbb{R}^{p} and 𝐁q{\mathbf{B}}\in\mathbb{R}^{q}, dummy matrix E[p,q]{\rm{E}}_{[p,q]} is defined as

E[p,q]\displaystyle{\rm{E}}_{[p,q]} =[IpIpIpq times ],\displaystyle=[\underbrace{{\rm{I}}_{p}\,{\rm{I}}_{p}\ldots\,{\rm{I}}_{p}}_{q\text{ times }}],

such that 𝐀=E[p,q]𝐁𝐀{\mathbf{A}}={\rm{E}}_{[p,q]}{\mathbf{B\,A}} or 𝐀=E[p,q]W[p,q]𝐀𝐁{\mathbf{A}}={\rm{E}}_{[p,q]}{\rm{W}}_{[p,q]}{\mathbf{A\,B}}. When p=qp=q, it can be simply represented as E[p]{\rm{E}}_{[p]}.

Definition A.1.

(see [31]) If 𝐀{\mathbf{A}} is a vector of dimension kk and 𝐁=M1𝐀M2𝐀{\mathbf{B}}={\rm{M}}_{1}{\mathbf{A}}{\rm{M}}_{2}{\mathbf{A}}\cdots Mq𝐀{\rm{M}}_{q}{\mathbf{A}}, then 𝐁{\mathbf{B}} can be written in simplified form as 𝐁=M𝐀{\mathbf{B}}={\rm{M}}^{\ast}{\mathbf{A}}, where

M=M1qi=2[(IkMi)Φk].{\rm{M}}^{\ast}={\rm{M}}_{1}\,\underset{i=2}{\stackrel{{\scriptstyle q}}{{\prod}}}\Big[\big({\rm{I}}_{k}\otimes{\rm{M}}_{i})\Phi_{k}\Big].

A.2 Derivation of structure matrix for faults

Assume that the fault is expected to strike at some location xx which changes its value to xx^{\ast}. As x{0,1}x\in\{0,1\}, 𝐱Δ2{\mathbf{x}}\in\Delta_{2}. Similarly, 𝐱Δ2{\mathbf{x}}^{\ast}\in\Delta_{2}. Using STP, this condition can be written in linear form as:

𝐱\displaystyle{\mathbf{x}}^{\ast} =Mf𝐱𝐟.\displaystyle={\rm{M}}_{f}{\mathbf{x\,f}}. (11)

In this expression, Mf2×6{\rm{M}}_{f}\in{\mathcal{B}}_{2\times 6} is the structure matrix for the fault model. For x=1x=1 and sa-1 appears at ff, then 𝐱=δ21{\mathbf{x}}=\delta_{2}^{1} and 𝐟=δ31{\mathbf{f}}=\delta_{3}^{1}. Hence, 𝐱𝐟=δ61{\mathbf{x\,f}}=\delta_{6}^{1}. For this combination of xx and ff, the value x=1x^{\ast}=1. Therefore, Mfδ61=δ21{\rm{M}}_{f}\delta_{6}^{1}=\delta_{2}^{1} and δ21\delta_{2}^{1} gives the first column of the structure matrix Mf{\rm{M}}_{f}. Similarly, Mf{\rm{M}}_{f} can be constructed from all combinations of xx and ff. This process gives the structure matrix Mf=δ2[1,2,1,1,2,2]{\rm{M}}_{f}=\delta_{2}[1,2,1,1,2,2].

A.3 Derivation of structure matrix for drugs

Assume that a drug dd be applied at location xx and its value is modified to xx^{\ast} on the application of the drug. The equation for drug intervention in logical form is given as:

x=x(¬d).x^{\ast}=x\wedge(\neg d).

This equation can be written in linear form as:

𝐱=Mc𝐱(Mn𝐝)=Mc(I2Mn)𝐱𝐝=MD𝐱𝐝.\displaystyle{\mathbf{x}}^{\ast}={\rm{M}}_{c}{\mathbf{x}}({\rm{M}}_{n}{\mathbf{d}})={\rm{M}}_{c}({\rm{I}}_{2}\otimes{\rm{M}}_{n}){\mathbf{x\,d}}={\rm{M}}_{D}{\mathbf{x\,d}}. (12)

In this expression, MD2×4{\rm{M}}_{D}\in{\mathcal{B}}_{2\times 4} is the structure matrix for the drug intervention, I2{\rm{I}}_{2} is an identity matrix of size 2×22\times 2. Mc=δ2[1,2,2,2]{\rm{M}}_{c}=\delta_{2}[1,2,2,2] and Mn=δ2[2,1]{\rm{M}}_{n}=\delta_{2}[2,1] are the structure matrices for logical AND operation and logical NOT operation respectively. These matrices are available in [31]. The structure matrix MD{\rm{M}}_{D} is given by:

MD=Mc(I2Mn)=δ2[2,1,2,2].{\rm{M}}_{D}={\rm{M}}_{c}({\rm{I}}_{2}\otimes{\rm{M}}_{n})=\delta_{2}[2,1,2,2].

Appendix B Derivation of structure matrix for Boolean maps

In the manuscript, Fig. 1 represents the block diagram of Boolean control networks (BCN). For Boolean Maps (BM), state feedback link is removed. Procedure to estimate structure matrix H{\rm{H}} in equation (8) of the manuscript is as follows:

Output at level ii (XiX^{i}) in primary block is dependent of overall structure matrix of that level (let us call it Li{\rm{L}}^{i}), and external inputs UU, present faults FF, and drugs DD. In linear form, assume that output 𝐗i{\mathbf{X}}^{i} given by:

𝐗i\displaystyle{\mathbf{X}}^{i} =Li𝐔𝐅𝐃.\displaystyle={\rm{L}}^{i}{\mathbf{UFD}}.

From Fig. 1 in manuscript, equation of individual output for each block jj in level ii can be written as:

𝐱ji\displaystyle{\mathbf{x}}^{i}_{j} =Lij𝐔𝐅𝐃𝐗1𝐗i1,\displaystyle={\rm{L}}^{i}_{j}{\mathbf{UFDX}}^{1}\cdots\,{\mathbf{X}}^{i-1}, (13)
where i=1,,mi=1,\ldots,m and j=1,,nij=1,\ldots,n_{i}. Using earlier assumption,
𝐱ji\displaystyle{\mathbf{x}}^{i}_{j} =Lji𝐔𝐅𝐃(L1𝐔𝐅𝐃)(Li1𝐔𝐅𝐃).\displaystyle={\rm{L}}^{i}_{j}{\mathbf{UFD}}({\rm{L}}^{1}{\mathbf{UFD}})\cdots({\rm{L}}^{i-1}{\mathbf{UFD}}).
From Lemma A.1, (𝐔𝐅𝐃)2=Φω𝐔𝐅𝐃({\mathbf{UFD}})^{2}=\Phi_{\omega}{\mathbf{UFD}} and ω=2α+λ3γ\omega=2^{\alpha+\lambda}3^{\gamma}. Therefore,
𝐱ji\displaystyle{\mathbf{x}}^{i}_{j} =Ljii1k=1[(IωLk)Φω]𝐔𝐅𝐃=Lji𝐔𝐅𝐃,\displaystyle={\rm{L}}^{i}_{j}\,\underset{k=1}{\stackrel{{\scriptstyle i-1}}{{\prod}}}\Big[\big({\rm{I}}_{\omega}\otimes{\rm{L}}^{k}\big)\Phi_{\omega}\Big]{\mathbf{UFD}}={\rm{L}}^{i\ast}_{j}{\mathbf{UFD}}, (14)
where Lij\displaystyle\text{where }{\rm{L}}^{i\ast}_{j} =Ljii1k=1[(IωLk)Φω].\displaystyle={\rm{L}}^{i}_{j}\,\underset{k=1}{\stackrel{{\scriptstyle i-1}}{{\prod}}}\Big[\big({\rm{I}}_{\omega}\otimes{\rm{L}}^{k}\big)\Phi_{\omega}\Big].
Output vector at level ii is given by
𝐗i\displaystyle{\mathbf{X}}^{i} =𝐱i1𝐱i2𝐱ini\displaystyle={\mathbf{x}}^{i}_{1}\,{\mathbf{x}}^{i}_{2}\,\cdots\,{\mathbf{x}}^{i}_{n_{i}}
=(L1i𝐔𝐅𝐃)(L2i𝐔𝐅𝐃)(Lnii𝐔𝐅𝐃)\displaystyle=({\rm{L}}^{i\ast}_{1}{\mathbf{UFD}})\,({\rm{L}}^{i\ast}_{2}{\mathbf{UFD}})\,\cdots\,({\rm{L}}^{i\ast}_{n_{i}}{\mathbf{UFD}})
=Li𝐔𝐅𝐃,\displaystyle={\rm{L}}^{i}{\mathbf{UFD}}, (15)

where Li=L1inij=2[(IωLji)Φω]{\rm{L}}^{i}={\rm{L}}^{i\ast}_{1}\,\underset{j=2}{\stackrel{{\scriptstyle n_{i}}}{{\prod}}}\Big[\big({\rm{I}}_{\omega}\otimes{\rm{L}}^{i\ast}_{j}\big)\Phi_{\omega}\Big].

The resultant output vector of all the mm levels in primary block is STP of the outputs of individual levels in that block. Therefore,

𝐗\displaystyle{\mathbf{X}} =𝐗1𝐗2𝐗m.\displaystyle={\mathbf{X}}^{1}{\mathbf{X}}^{2}\cdots{\mathbf{X}}^{m}. (16)
Substituting values using equation (15),
𝐗\displaystyle{\mathbf{X}} =(L1𝐔𝐅𝐃)(L2𝐔𝐅𝐃)(Lm𝐔𝐅𝐃)\displaystyle=({\rm{L}}^{1}{\mathbf{UFD}})({\rm{L}}^{2}{\mathbf{UFD}})\cdots({\rm{L}}^{m}{\mathbf{UFD}})
=L𝐔𝐅𝐃,\displaystyle={\rm{L}}{\mathbf{UFD}}, (17)
where L\displaystyle\text{where }{\rm{L}} =L1mj=2[(IωLj)Φω].\displaystyle={\rm{L}}^{1}\,\underset{j=2}{\stackrel{{\scriptstyle m}}{{\prod}}}\Big[\big({\rm{I}}_{\omega}\otimes{\rm{L}}^{j}\big)\Phi_{\omega}\Big]. (18)

Primary output vector 𝐘{\mathbf{Y}} of the BM depends on the secondary level. Inputs of secondary level are output vector from primary block and primary inputs of BM. Therefore equation of primary output vector is derived as:

𝐲1\displaystyle{\mathbf{y}}_{1} =H1𝐔𝐗.\displaystyle={\rm{H}}_{1}{\mathbf{UX}}.
Substituting 𝐗{\mathbf{X}} from equation (17),
𝐲1\displaystyle{\mathbf{y}}_{1} =H1𝐔(𝐋𝐔𝐅𝐃)\displaystyle={\rm{H}}_{1}{\mathbf{U(LUFD)}}
=H1𝐔𝐅𝐃,\displaystyle={\rm{H}}_{1}^{\ast}{\mathbf{UFD}}, (19)
where H1=H1(I2αL)Φ2α{\rm{H}}_{1}^{\ast}={\rm{H}}_{1}\big({\rm{I}}_{2^{\alpha}}\otimes{\rm{L}}\big)\Phi_{2^{\alpha}}. Similarly, other primary outputs are defined as:
𝐲2\displaystyle{\mathbf{y}}_{2} =H2𝐔𝐅𝐃\displaystyle={\rm{H}}_{2}^{\ast}{\mathbf{UFD}}
\displaystyle\hskip 5.69046pt\vdots
𝐲β\displaystyle{\mathbf{y}}_{\beta} =Hβ𝐔𝐅𝐃.\displaystyle={\rm{H}}_{\beta}^{\ast}{\mathbf{UFD}}.

Output vector 𝐘{\mathbf{Y}} is given as:

𝐘\displaystyle{\mathbf{Y}} =𝐲1𝐲2𝐲β\displaystyle={\mathbf{y}}_{1}\,{\mathbf{y}}_{2}\,\cdots\,{\mathbf{y}}_{\beta}
=(H1𝐔𝐅𝐃)(H2𝐔𝐅𝐃)(Hβ𝐔𝐅𝐃)\displaystyle=({\rm{H}}_{1}^{\ast}{\mathbf{UFD}})({\rm{H}}_{2}^{\ast}{\mathbf{UFD}})\cdots({\rm{H}}_{\beta}^{\ast}{\mathbf{UFD}})
=H1βj=2[(IωHj)Φω]𝐔𝐅𝐃\displaystyle={\rm{H}}_{1}^{\ast}\,\underset{j=2}{\stackrel{{\scriptstyle\beta}}{{\prod}}}\Big[\big({\rm{I}}_{\omega}\otimes{\rm{H}}_{j}^{\ast}\big)\Phi_{\omega}\Big]{\mathbf{UFD}}
=H𝐔𝐅𝐃,\displaystyle={\rm{H}}{\mathbf{UFD}}, (20)
where H=H1βj=2[(IωHj)Φω]{\rm{H}}={\rm{H}}_{1}^{\ast}\,\underset{j=2}{\stackrel{{\scriptstyle\beta}}{{\prod}}}\Big[\big({\rm{I}}_{\omega}\otimes{\rm{H}}_{j}^{\ast}\big)\Phi_{\omega}\Big].

Appendix C Derivation for improvement in controllability in Boolean maps

Let intermediate output x1mx^{m}_{1} is target location of drug dλ+1d_{\lambda+1}. Then 𝐱1m{\mathbf{x}}^{m}_{1} is modified as, 𝐱m1=MD𝐱m1𝐝λ+1{\mathbf{x}}^{m\ast}_{1}={\rm{M}}_{D}{\mathbf{x}}^{m}_{1}{\mathbf{d}}_{\lambda+1}. Therefore from equations (14) and (15), output of level mm is given by:

𝐗m\displaystyle{\mathbf{X}}^{m} =𝐱m1𝐱m2𝐱mnm\displaystyle={\mathbf{x}}^{m\ast}_{1}\,{\mathbf{x}}^{m}_{2}\,\cdots\,{\mathbf{x}}^{m}_{n_{m}}
=(MD𝐱1m𝐝λ+1)𝐱2m𝐱nmm\displaystyle=({\rm{M}}_{D}{\mathbf{x}}^{m}_{1}{\mathbf{d}}_{\lambda+1})\,{\mathbf{x}}^{m}_{2}\,\cdots\,{\mathbf{x}}^{m}_{n_{m}}
=(MDL1m𝐔𝐅𝐃𝐝λ+1)L2m𝐔𝐅𝐃Lnmm𝐔𝐅𝐃\displaystyle=({\rm{M}}_{D}\,{\rm{L}}^{m\ast}_{1}\,{\mathbf{UFD\,d}}_{\lambda+1})\,{\rm{L}}^{m\ast}_{2}{\mathbf{UFD}}\cdots\,{\rm{L}}^{m\ast}_{n_{m}}{\mathbf{UFD}}
=(MDL1m𝐔𝐅𝐃^)L2m𝐔𝐅𝐃Lnmm𝐔𝐅𝐃.\displaystyle=({\rm{M}}_{D}\,{\rm{L}}^{m\ast}_{1}\,{\mathbf{UF}}\hat{{\mathbf{D}}})\,{\rm{L}}^{m\ast}_{2}{\mathbf{UFD}}\cdots\,{\rm{L}}^{m\ast}_{n_{m}}{\mathbf{UFD}}. (22)

Addition of new drug dλ+1d_{\lambda+1} requires to change STP of input 𝐔𝐅𝐃{\mathbf{UFD}} as:

𝐔𝐅𝐃\displaystyle{\mathbf{UFD}} =𝐔𝐅𝐝1𝐝2𝐝λ\displaystyle={\mathbf{UFd}}_{1}{\mathbf{d}}_{2}\cdots{\mathbf{d}}_{\lambda}
=𝐔𝐅𝐝1𝐝2𝐝λ1E[2]W[2]𝐝λ𝐝λ+1\displaystyle={\mathbf{UFd}}_{1}{\mathbf{d}}_{2}\cdots{\mathbf{d}}_{\lambda-1}{\rm{E}}_{[2]}{\rm{W}}_{[2]}{\mathbf{d}}_{\lambda}{\mathbf{d}}_{\lambda+1}
=(Iω2E[2]W[2])𝐔𝐅𝐝1𝐝2𝐝λ+1\displaystyle=\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big){\mathbf{UFd}}_{1}{\mathbf{d}}_{2}\cdots{\mathbf{d}}_{\lambda+1}
=(Iω2E[2]W[2])𝐔𝐅𝐃^.\displaystyle=\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big){\mathbf{UF}}\hat{{\mathbf{D}}}.

Substituting in equation (22),

𝐗m\displaystyle{\mathbf{X}}^{m} =(MDL1m𝐔𝐅𝐃^)L2m(Iω2E[2]W[2])𝐔𝐅𝐃^\displaystyle=({\rm{M}}_{D}\,{\rm{L}}^{m\ast}_{1}\,{\mathbf{UF}}\hat{{\mathbf{D}}})\,{\rm{L}}^{m\ast}_{2}\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big){\mathbf{UF}}\hat{{\mathbf{D}}}
Lnmm(Iω2E[2]W[2])𝐔𝐅𝐃^\displaystyle~\quad\cdots\,{\rm{L}}^{m\ast}_{n_{m}}\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big){\mathbf{UF}}\hat{{\mathbf{D}}}
=(L^1m𝐔𝐅𝐃^)(L^2m𝐔𝐅𝐃^)(L^nmm𝐔𝐅𝐃^)\displaystyle=(\hat{{\rm{L}}}^{m\ast}_{1}{\mathbf{UF}}\hat{{\mathbf{D}}})(\hat{{\rm{L}}}^{m\ast}_{2}{\mathbf{UF}}\hat{{\mathbf{D}}})\cdots(\hat{{\rm{L}}}^{m\ast}_{n_{m}}{\mathbf{UF}}\hat{{\mathbf{D}}})
=L^1mnmj=2[(I2ωL^jm)Φ2ω]𝐔𝐅𝐃^\displaystyle=\hat{{\rm{L}}}^{m\ast}_{1}\underset{j=2}{\stackrel{{\scriptstyle n_{m}}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{L}}}^{m\ast}_{j}\big)\Phi_{2\omega}\Big]{\mathbf{UF}}\hat{{\mathbf{D}}}
=L^m𝐔𝐅𝐃^,\displaystyle=\hat{{\rm{L}}}^{m}{\mathbf{UF}}\hat{{\mathbf{D}}},

where

L^mi={MDLmi,i=1Lmi(Iω2E[2]W[2]),otherwise\hat{{\rm{L}}}^{m\ast}_{i}=\begin{cases}{\rm{M}}_{D}\,{\rm{L}}^{m\ast}_{i},&i=1\\ {\rm{L}}^{m\ast}_{i}\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big),&\text{otherwise}\end{cases}

and L^m=L^1mnmj=2[(I2ωL^jm)Φ2ω]\hat{{\rm{L}}}^{m}=\hat{{\rm{L}}}^{m\ast}_{1}\underset{j=2}{\stackrel{{\scriptstyle n_{m}}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{L}}}^{m\ast}_{j}\big)\Phi_{2\omega}\Big].

Similarly, any drug location can be selected from outputs of levels in primary block. Generalized form of output vector for level jj for target location xijx_{i}^{j} is given by:

𝐗j\displaystyle{\mathbf{X}}^{j} =𝐱1j𝐱2j𝐱nij\displaystyle={\mathbf{x}}_{1}^{j}{\mathbf{x}}_{2}^{j}\cdots{\mathbf{x}}_{n_{i}}^{j}
=L^1jnjk=2[(I2ωL^kj)Φ2ω]𝐔𝐅𝐃^\displaystyle=\hat{{\rm{L}}}^{j\ast}_{1}\underset{k=2}{\stackrel{{\scriptstyle n_{j}}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{L}}}^{j\ast}_{k}\big)\Phi_{2\omega}\Big]{\mathbf{UF}}\hat{{\mathbf{D}}}
=L^j𝐔𝐅𝐃^,\displaystyle=\hat{{\rm{L}}}^{j}{\mathbf{UF}}\hat{{\mathbf{D}}},

where

L^lk={MDLlk,l=j and k=iLlk(Iω2E[2]W[2]),lj or ki\hat{{\rm{L}}}^{l\ast}_{k}=\begin{cases}{\rm{M}}_{D}\,{\rm{L}}^{l\ast}_{k},&l=j\text{ and }k=i\\ {\rm{L}}^{l\ast}_{k}\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big),&l\neq j\text{ or }k\neq i\end{cases}

and L^j=L^1jnjk=2[(I2ωL^kj)Φ2ω]\hat{{\rm{L}}}^{j}=\hat{{\rm{L}}}^{j\ast}_{1}\underset{k=2}{\stackrel{{\scriptstyle n_{j}}}{{\prod}}}\Big[\big(I_{2\omega}\otimes\hat{{\rm{L}}}^{j\ast}_{k}\big)\Phi_{2\omega}\Big].
From equation (16), equation of output for primary block is given by:

𝐗\displaystyle{\mathbf{X}} =𝐗1𝐗2𝐗m\displaystyle={\mathbf{X}}^{1}{\mathbf{X}}^{2}\cdots{\mathbf{X}}^{m}
=(L^1𝐔𝐅𝐃^)(L^2𝐔𝐅𝐃^)(L^m𝐔𝐅𝐃^)\displaystyle=(\hat{{\rm{L}}}^{1}{\mathbf{UF}}\hat{{\mathbf{D}}})(\hat{{\rm{L}}}^{2}{\mathbf{UF}}\hat{{\mathbf{D}}})\cdots(\hat{{\rm{L}}}^{m}{\mathbf{UF}}\hat{{\mathbf{D}}})
=L^1mj=2[(I2ωL^j)Φ2ω]𝐔𝐅𝐃^\displaystyle=\hat{{\rm{L}}}^{1}\underset{j=2}{\stackrel{{\scriptstyle m}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{L}}}^{j}\big)\Phi_{2\omega}\Big]{\mathbf{UF}}\hat{{\mathbf{D}}}
=L^𝐔𝐅𝐃^,\displaystyle=\widehat{{\rm{L}}}{\mathbf{UF}}\hat{{\mathbf{D}}}, (23)
where L^\displaystyle\text{where }\widehat{{\rm{L}}} =L^1mj=2[(I2ωL^j)Φ2ω].\displaystyle=\hat{{\rm{L}}}^{1}\underset{j=2}{\stackrel{{\scriptstyle m}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{L}}}^{j}\big)\Phi_{2\omega}\Big]. (24)

Let us divide the problem in two parts.

  1. 1.

    The new drug location is selected from primary block: The structure matrix of primary block is represented as equation (24). Similar to equations (19) and (20), net structure matrix of BN can be estimated as:

    H^j\displaystyle\hat{{\rm{H}}}^{\ast}_{j} =Hj(I2αL^)Φ2α𝐔𝐅𝐃^\displaystyle={\rm{H}}_{j}\big({\rm{I}}_{2^{\alpha}}\otimes\widehat{{\rm{L}}}\big)\Phi_{2^{\alpha}}{\mathbf{UF}}\hat{{\mathbf{D}}}
    H^\displaystyle\widehat{{\rm{H}}} =H^1βj=2[(I2ωH^j)Φ2ω]𝐔𝐅𝐃^\displaystyle=\hat{{\rm{H}}}_{1}^{\ast}\,\underset{j=2}{\stackrel{{\scriptstyle\beta}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{H}}}_{j}^{\ast}\big)\Phi_{2\omega}\Big]{\mathbf{UF}}\hat{{\mathbf{D}}}
    𝐘\displaystyle{\mathbf{Y}} =H^𝐔𝐅𝐃^.\displaystyle=\widehat{{\rm{H}}}{\mathbf{UF}}\hat{{\mathbf{D}}}. (25)
  2. 2.

    The new drug location is selected from primary outputs: If target location is selected one of the primary outputs yjy_{j}, the structure matrix L{\rm{L}} of primary blocks remains unaffected. Therefore from equations (19) and (20), equation of primary output can be computed as:

    H^k\displaystyle\hat{{\rm{H}}}_{k}^{\ast} ={MDHk(I2αL)Φ2α,k=jHk(I2αL)Φ2α(Iω2E[2]W[2]),otherwise\displaystyle=\begin{cases}{\rm{M}}_{D}{\rm{H}}_{k}\big({\rm{I}}_{2^{\alpha}}\otimes{\rm{L}}\big)\Phi_{2^{\alpha}},&k=j\\ {\rm{H}}_{k}\big({\rm{I}}_{2^{\alpha}}\otimes{\rm{L}}\big)\Phi_{2^{\alpha}}\big({\rm{I}}_{\frac{\omega}{2}}\otimes{\rm{E}}_{[2]}{\rm{W}}_{[2]}\big),&\text{otherwise }\end{cases}

    and

    H^\displaystyle\widehat{{\rm{H}}} =H^1βj=2[(I2ωH^j)Φ2ω]\displaystyle=\hat{{\rm{H}}}_{1}^{\ast}\,\underset{j=2}{\stackrel{{\scriptstyle\beta}}{{\prod}}}\Big[\big({\rm{I}}_{2\omega}\otimes\hat{{\rm{H}}}_{j}^{\ast}\big)\Phi_{2\omega}\Big]
    𝐘\displaystyle{\mathbf{Y}} =H^𝐔𝐅𝐃^.\displaystyle=\widehat{{\rm{H}}}{\mathbf{UF}}\hat{{\mathbf{D}}}. (26)

The final form of equations (25) and (26) is shown as equation (10) in the manuscript.