1 Introduction

In recent years, with the development of systems biology and medical science, there have been a lot of computational models to simulate gene regulatory networks (GRNs) [1, 2]. In 1969, Kauffman [3] firstly proposed the concept of Boolean networks to model GRNs. From then on, the study of Boolean networks has attracted attention of many scholars [47]. In a Boolean network, genes are simulated as 1 and 0 for studying the activity of genes. Since the dynamics of Boolean networks does not contain parameters, we can use Boolean networks to model large-scale GRNs.

Recently, a semitensor product method [8] has been proposed for the study of Boolean networks. Using this novel method, we can convert a Boolean (control) network into a linear (bilinear) form. Then, we can conveniently investigate Boolean networks with the help of classical control theory. This framework is called the algebraic state space representation (ASSR) of logical systems. Up to now, many scholars have applied the ASSR framework to the analysis and control of Boolean networks and obtained lots of interesting results [923]. Moreover, the semitensor product method has also been applied to networked evolutionary games [24, 25] and feedback shift registers [26].

As one of the most important issues in the study of GRNs, the stabilization of Boolean control networks (BCNs) has been found to be widely applied in the design of therapeutic interventions and the explanation of some living phenomena [27]. The state feedback stabilization of BCNs was studied in [28, 29], and a novel design procedure was established. Later, the design of output feedback stabilizers of BCNs was investigated [3032], and some necessary and sufficient conditions were presented.

Note that the pinning control problem has been introduced to the study of Boolean networks in some recent works [33, 34]. With the pinning control, we can realize the control objective by controlling a small number of nodes. Using the ASSR framework, the pinning control design for the stabilization of Boolean networks was studied in [34], and a novel design procedure was established. Moreover, in GRNs, some states and inputs are undesirable because they may lead to a dangerous situation such as the deterioration of a disease, the metastasis of a cancer [7, 35], and so on. Hence, we need put some constraints to the undesirable states and inputs in BCNs. It should be noticed that the pinning control design for feedback stabilization of constrained BCNs is still a challenging problem, and there are fewer results on this problem. In addition, the pinning stabilization control design procedure proposed in [34] cannot be directly applied to the pinning control design for feedback stabilization of constrained BCNs. This motivates us to study the pinning control design for feedback stabilization of constrained BCNs.

In this paper, using the ASSR framework, we investigate the pinning control design for feedback stabilization of constrained BCNs and present a number of new results. The main contributions of this paper are as follows. On one hand, we convert the dynamics of constrained BCNs with pinning control into a constrained algebraic form, which facilitates the reachability analysis and control design of constrained BCNs with pinning control. On the other hand, we present some necessary and sufficient conditions for the pinning control design of feedback stabilizers of constrained BCNs, which can be easily verified with the help of MATLAB.

The rest of this paper is organized as follows. In Section 2, we give some preliminaries on the semitensor product of matrices. In Section 3, we investigate the pinning control design for feedback stabilization of constrained BCNs and present the main results of this paper. Two illustrative examples are worked out to verify the obtained new results in Section 4, which is followed by a brief conclusion in Section 5.

Notation

\(\mathbb{R}\), \(\mathbb{N}\), and \(\mathbb{Z}_{+}\) denote the sets of real numbers, natural numbers, and positive integers, respectively; \(\mathcal{D}:=\{1,0\}\), \(\mathcal {D}^{n}:=\underbrace{\mathcal{D}\times\cdots\times\mathcal {D}}_{n}\), \(\Delta _{n}:=\{\delta _{n}^{k} \mid 1\leq k\leq n\}\), where \(\delta _{n}^{k}\) denotes the kth column of \(I_{n}\), and for compactness, \(\Delta :=\Delta_{2}\). An \(n\times t\) matrix M is called a logical matrix if \(M=[\delta _{n}^{i_{1}}\ \delta _{n}^{i_{2}}\ \cdots\ \delta _{n}^{i_{t}}]\). We express M briefly as \(M=\delta _{n}[i_{1}\ i_{2}\ \cdots\ i_{t}]\). Denote the set of \(n\times t\) logical matrices by \({\mathcal {L}}_{n\times t}\). An \(n\times t\) matrix \(M=(M_{i,j})\) is called a Boolean matrix if \(M_{i,j}\in\mathcal{D}\), \(i=1,\ldots,n\), \(j=1,\ldots,t\). Denote the set of \(n\times t\) Boolean matrices by \({\mathcal {B}}_{n\times t}\). Given a real matrix \(A\in\mathbb{R}^{m\times n}\), \(\operatorname{Col}_{i}(A)\) denotes the ith column of A, and \(\operatorname{Row}_{i}(A)\) denotes the ith row of A; ‘∗’ denotes the Khatri-Rao product of matrices.

2 Preliminaries

First of all, we give some fundamental preliminaries on the semitensor product of matrices. For details, we refer to [8].

Definition 1

([8])

The semitensor product of two matrices \(A\in\mathbb{R}^{m\times n}\) and \(B\in \mathbb{R}^{p\times q}\) is

$$ A\ltimes B=(A\otimes I_{\frac{\alpha}{n}}) (B\otimes I_{\frac{\alpha}{p}}), $$
(1)

where \(\alpha=\operatorname{lcm}(n,p)\) represents the least common multiple of n and p, and ⊗ is the Kronecker product.

Obviously, when \(n=p\), the semitensor product of A and B becomes the conventional matrix product. Thus, we can simply call it ‘product’ and omit the symbol ‘⋉’ if no confusion arises.

Proposition 1

([8])

Let \(X\in \mathbb{R}^{t\times1}\) be a column vector, and \(A\in\mathbb {R}^{m\times n}\). Then

$$ X\ltimes A=(I_{t}\otimes A)\ltimes X. $$
(2)

Proposition 2

([8])

Let \(X\in \mathbb{R}^{m\times1}\) and \(Y\in\mathbb{R}^{n\times1}\) be two column vectors. Then

$$ Y\ltimes X=W_{[m,n]}\ltimes X\ltimes Y, $$
(3)

where \(W_{[m,n]}\in\mathcal{L}_{mn\times mn}\) is the so-called swap matrix defined as

$$\textstyle\begin{array}{@{}r@{\quad}c@{\quad}c@{\quad}l@{}} W_{[m,n]}=\delta _{mn}\bigl[1& m+1& \cdots &(n-1)m+1 \\ 2& m+2& \cdots &(n-1)m+2 \\ && \cdots& \\ m& m+m& \cdots&(n-1)m+m\bigr]. \end{array} $$

Proposition 3

([8])

Define the matrix, \(M_{r,k}\), called the k-valued power-reducing matrix, as

$$ M_{r,k} = \left [ \textstyle\begin{array}{@{}c@{\quad}c@{\quad}c@{\quad}c@{}} \delta_{k}^{1} & 0_{k} & \cdots& 0_{k} \\ 0_{k} & \delta_{k}^{2} & \cdots & 0_{k} \\ \vdots& & & \\ 0_{k} & 0_{k} & \cdots & \delta_{k}^{k} \end{array}\displaystyle \right ], $$
(4)

where \(0_{k}\in\mathbb{R}^{k}\) is the zero vector.

Denoting \(1\sim\delta _{2}^{1}\) and \(0\sim\delta _{2}^{2}\), we have \(\Delta \sim\mathcal{D}\), where ‘∼’ denotes two different forms of the same object. In most places of this paper, we use \(\delta _{2}^{1}\) and \(\delta _{2}^{2}\) to express logical variables and call them the vector form of logical variables. The following lemma is fundamental for the matrix expression of logical functions.

Lemma 1

([8])

Let \(f(x_{1}, x_{2}, \ldots, x_{s}): \mathcal{D}^{s}\mapsto\mathcal{D}\) be a logical function. Then, there exists a unique matrix \(M_{f}\in{\mathcal {L}}_{2\times2^{s}}\), called the structural matrix of f, such that

$$ f(x_{1},x_{2},\ldots,x_{s})=M_{f} \ltimes x_{1}\ltimes\cdots\ltimes x_{s}:=M_{f} \ltimes_{i=1}^{s}x_{i},\quad x_{i}\in \Delta . $$
(5)

For example, the structural matrices for negation (¬), conjunction (∧), disjunction (∨), conditional (→), biconditional (↔), and exclusive Or (\(\bar{\vee}\)) are \(M_{n}=\delta _{2}[2\ 1]\), \(M_{c}=\delta _{2}[1\ 2\ 2\ 2]\), \(M_{d}=\delta _{2}[1\ 1\ 1\ 2]\), \(M_{i}=\delta _{2}[1\ 2\ 1\ 1]\), \(M_{e}=\delta _{2}[1\ 2\ 2\ 1]\) and \(M_{p}=\delta _{2}[2\ 1\ 1\ 2]\), respectively.

Based on Lemma 1, we can convert a BCN into an algebraic representation. For details, refer to [8].

3 Main results

In this section, we give the main results of this paper. Firstly, we convert the dynamics of a constrained Boolean network with pinning control into its equivalent constrained algebraic form, based on which we obtain a necessary and sufficient condition for the reachability of constrained BCNs with pinning control. Secondly, we present the pinning control design procedure for the feedback stabilization of constrained BCNs.

3.1 Constrained algebraic form

A Boolean network with n network nodes and r pinning controls can be described as

$$ \textstyle\begin{cases} x_{1}(t+1)=f_{1}(x_{1}(t),\ldots,x_{n}(t),u_{1}(t)), \\ \vdots \\ x_{r}(t+1)=f_{r}(x_{1}(t),\ldots,x_{n}(t),u_{r}(t)), \\ x_{r+1}(t+1)=f_{r+1}(x_{1}(t),\ldots,x_{n}(t)), \\ \vdots \\ x_{n}(t+1)=f_{n}(x_{1}(t),\ldots,x_{n}(t)), \\ y_{i}(t)=h_{i}(x_{1}(t),\ldots,x_{n}(t)),\quad i=1,\ldots,p, \end{cases} $$
(6)

where nodes \(i_{1},\ldots,i_{r}\) are selected to be pinning controlled, and \(1\leq r< n \). Without loss of generality, we assume that \(i_{s}=s\), \(s=1,\ldots, r\). \(x_{i}(t)\in\mathcal{D}\), \(i=1,\ldots ,n\), \(u_{i}(t)\in\mathcal{D}\), \(i=1,\ldots,r\), and \(y_{i}(t)\in\mathcal {D}\), \(i=1,\ldots,p\), are the states, the control inputs, and the outputs of system (6), respectively, and \(f_{i}: \mathcal {D}^{n+1}\mapsto\mathcal{D}\), \(i=1,\ldots,r\), \(f_{i}: \mathcal {D}^{n}\mapsto\mathcal{D}\), \(i=r+1,\ldots,n\), and \(h_{i}: \mathcal {D}^{n}\mapsto\mathcal{D}\), \(i=1,\ldots,p\), are logical functions.

In order to convert system (6) into an algebraic form, we define \(x(t)=\ltimes_{i=1}^{n}x_{i}(t)\in\Delta_{2^{n}}\), \(x^{1}(t)=\ltimes_{i=1}^{r}x_{i}(t)\in\Delta_{2^{r}}\), \(x^{2}(t)=\ltimes_{i=r+1}^{n}x_{i}(t)\in\Delta_{2^{n-r}}\), \(u(t)=\ltimes_{i=1}^{r}u_{i}(t)\in\Delta_{2^{r}}\), and \(y(t)=\ltimes _{i=1}^{p}y_{i}(t)\in\Delta_{2^{p}}\). Assume that the structural matrix of \(f_{i}\) and \(h_{i}\) are \(F_{i}\), \(i=1,\ldots, n\), and \(H_{i}\), \(i=1,\ldots,p\), respectively. Using Lemma 1, system (6) can be expressed as

$$\begin{aligned} &\begin{aligned}[b] x^{1}(t+1)={}& F_{1}x(t)u_{1}(t)F_{2}x(t)u_{2}(t) \cdots F_{r}x(t)u_{r}(t) \\ ={}& F_{1}(I_{2^{n+1}}\otimes F_{2})x(t)u_{1}(t)x(t)u_{2}(t)F_{3}x(t)u_{3}(t) \cdots F_{r}x(t)u_{r}(t) \\ ={}& F_{1}(I_{2^{n+1}}\otimes F_{2})W_{[2^{n},2^{n+1}]}M_{r,2^{n}}x(t)u_{1}(t)u_{2}(t) \\ &{}\ltimes F_{3}x(t)u_{3}(t)\cdots F_{r}x(t)u_{r}(t) \\ ={}&F_{1}\prod_{i=2}^{r} \bigl[(I_{2^{n+i-1}}\otimes F_{i}) W_{[2^{n},2^{n+i-1}]}M_{r,2^{n}} \bigr]x(t)u(t) \\ :={}&L_{1}x(t)u(t), \end{aligned} \end{aligned}$$
(7)
$$\begin{aligned} &\begin{aligned}[b] x^{2}(t+1)={}&F_{r+1}x(t)F_{r+2}x(t) \cdots F_{n}x(t) \\ ={}&F_{r+1}\ast F_{r+2}\ast\cdots\ast F_{n}x(t) \\ :={}&L_{2}x(t), \end{aligned} \end{aligned}$$
(8)

and

$$ \begin{aligned}[b] y(t)={}&H_{1}x(t)H_{2}x(t)\cdots H_{p}x(t) \\ ={}&H_{1}\ast H_{2}\ast\cdots\ast H_{p}x(t) \\ :={}&Hx(t), \end{aligned} $$
(9)

where

$$\begin{aligned}& L_{1}=F_{1}\prod_{i=2}^{r} \bigl[(I_{2^{n+i-1}}\otimes F_{i}) W_{[2^{n},2^{n+i-1}]}M_{r,2^{n}} \bigr]\in\mathcal{L}_{2^{r}\times2^{n+r}}, \\& M_{r,2^{n}}=\operatorname{diag}\bigl\{ \delta_{2^{n}}^{1}, \delta_{2^{n}}^{2},\ldots ,\delta_{2^{n}}^{2^{n}} \bigr\} \in\mathcal{L}_{2^{2n}\times2^{n}}, \\& L_{2}=F_{r+1}\ast F_{r+2}\ast\cdots\ast F_{n}\in\mathcal {L}_{2^{n-r}\times2^{n}}, \end{aligned}$$

and

$$H=H_{1}\ast H_{2}\ast\cdots\ast H_{p}\in \mathcal{L}_{2^{p}\times2^{n}}. $$

Summarizing, we obtain the following algebraic form of system (6):

$$ \textstyle\begin{cases} x(t+1)=Qu(t)x(t), \\ y(t)=Hx(t), \end{cases} $$
(10)

where \(Q=L_{1}(I_{2^{n+r}}\otimes L_{2})W_{[2^{n},2^{n+r}]}M_{r,2^{n}}W_{[2^{r},2^{n}]}\in\mathcal {L}_{2^{n}\times2^{n+r}}\).

Now, we consider system (10) with state and input constraints. For any \(t\in\mathbb{N}\), we assume that \(x(t)\in S_{x}\subseteq\bigtriangleup_{2^{n}}\) and \(u(t)\in S_{u}\subseteq \bigtriangleup_{2^{r}}\). Let \(|S_{x}|=n_{1}\leq2^{n}\) and \(|S_{u}|=r_{1}\leq2^{r}\), where \(|S_{x}|\) denotes the cardinality of the set \(S_{x}\). Then, \(S_{x}\) and \(S_{u}\) can be expressed as

$$\begin{aligned}& S_{x}=\bigl\{ \delta _{2^{n}}^{i_{k}}:k=1, \ldots,n_{1}; 1\leq i_{1}< \cdots< i_{n_{1}}\leq 2^{n}\bigr\} , \end{aligned}$$
(11)
$$\begin{aligned}& S_{u}=\bigl\{ \delta _{2^{r}}^{j_{k}}:k=1, \ldots,r_{1};1\leq j_{1}< \cdots< j_{r_{1}}\leq 2^{r}\bigr\} . \end{aligned}$$
(12)

Denote the trajectory of system (10) with a pinning control sequence \(\{(u_{1}(t), u_{2}(t),\ldots, u_{r}(t)):t \in\mathbb{N}\} \subseteq S_{u}\) and an initial state \(x_{0}\in S_{x}\) by \(x(t;x_{0},(u_{1}(t), u_{2}(t),\ldots, u_{r}(t)))\).

In the following, we convert system (10) with state and input constraints into an equivalent constrained algebraic form.

Define the following set of matrices:

$$ J_{i}^{(p,q)}:= [\underbrace{0_{q\times q}\quad \cdots\quad 0_{q\times q}\quad \underbrace{I_{q}}_{i\mathrm{th}}\quad 0_{q\times q}\quad \cdots\quad 0_{q\times q}}_{p} ], $$
(13)

where \(J_{i}^{(p,q)}\in\mathbb{R}^{q\times pq}\), \(i=1,2,\ldots,p\), \(0_{q\times q}\) denotes the \(q\times q\) zero matrix, and \(I_{q}\in \mathcal{L}_{q\times q}\) is the \(q\times q\) identity matrix.

Proposition 4

([35])

1. Given a matrix \(A\in\mathbb{R}^{pq\times r}\), split A as

$$ A=\left [ \textstyle\begin{array}{c} A_{1}\\ \vdots\\ A_{p} \end{array}\displaystyle \right ], $$
(14)

where \(A_{i}\in\mathbb{R}^{q\times r}\). Then,

$$ J_{i}^{(p,q)}A=A_{i}. $$
(15)

2. Given a matrix \(B\in\mathbb{R}^{r\times pq}\), split B as

$$ B=[B_{1}\quad \cdots\quad B_{p}], $$
(16)

where \(B_{i}\in\mathbb{R}^{r\times q}\). Then,

$$ B\bigl(J_{i}^{(p,q)}\bigr)^{T}=B_{i}. $$
(17)

Based on Proposition 4, set

$$\begin{aligned}& \Psi_{x}= \left [ \textstyle\begin{array}{c} J_{i_{1}}^{(2^{n},1)}\\ \vdots\\ J_{i_{n_{1}}}^{(2^{n},1)} \end{array}\displaystyle \right ], \end{aligned}$$
(18)
$$\begin{aligned}& \Psi_{u}= \left [ \textstyle\begin{array}{ccc} J_{j_{1}}^{(2^{r},1)}\\ \vdots\\ J_{j_{r_{1}}}^{(2^{r},1)} \end{array}\displaystyle \right ]. \end{aligned}$$
(19)

Denote \(\delta_{n_{1}}^{0}=0_{n_{1}\times1}\) and \(\delta _{r_{1}}^{0}=0_{r_{1}\times1}\). Then, we convert the state \(x(t)\in \Delta _{2^{n}}\) and input \(u(t)\in \Delta _{2^{r}}\) of the constrained system into the following form:

$$\begin{aligned}& \widehat{x}(t)=\Psi_{x}x(t)\in \widehat{S}_{x}, \end{aligned}$$
(20)
$$\begin{aligned}& \widehat{u}(t)=\Psi_{u}u(t)\in \widehat{S}_{u}, \end{aligned}$$
(21)

where \(\widehat{S}_{x}=\{\delta_{n_{1}}^{1},\delta _{n_{1}}^{2},\ldots,\delta_{n_{1}}^{n_{1}}\}\cup\{\delta _{n_{1}}^{0}\}\) and \(\widehat{S}_{u}=\{\delta_{r_{1}}^{1},\delta _{r_{1}}^{2},\ldots,\delta_{r_{1}}^{r_{1}}\}\cup\{\delta _{r_{1}}^{0}\}\).

For system (10), let \(Q=[Q_{1},\ldots,Q_{2^{r}}]\), \(Q_{l}\in \mathcal{L}_{2^{n}\times2^{n}}\), \(l\in\{1,\ldots,2^{r}\}\). Set

$$\begin{aligned}& \widehat{Q}= [\widehat{Q}_{1}\quad \cdots\quad \widehat{Q}_{2^{r}} ]\ltimes \bigl[\bigl(J_{j_{1}}^{(2^{r},n_{1})} \bigr)^{T}\quad \cdots \quad\bigl(J_{j_{r_{1}}}^{(2^{r},n_{1})} \bigr)^{T} \bigr]\in\mathcal{B}_{n_{1}\times n_{1}r_{1}}, \end{aligned}$$
(22)
$$\begin{aligned}& \widehat{H}=H\Psi_{x}^{T}\in\mathcal {L}_{2^{p}\times n_{1}}, \end{aligned}$$
(23)

where

$$ \widehat{Q}_{l}=\Psi_{x}Q_{l} \Psi _{x}^{T}\in\mathcal{B}_{n_{1}\times n_{1}},\quad l\in\bigl\{ 1, \ldots,2^{r}\bigr\} . $$
(24)

Remark 1

Since Q is a logical matrix, we can easily conclude that each column of has at most one element ‘1’.

Based on the above transformation, we convert system (10) into the following form:

$$ \textstyle\begin{cases} \widehat{x}(t+1)=\widehat{Q}\widehat{u}(t)\widehat{x}(t), \\ \widehat{y}(t)=\widehat{H}\widehat{x}(t). \end{cases} $$
(25)

Proposition 5

The state trajectories of system (10) with \(S_{x}\) and \(S_{u}\) are equivalent to that of system (25) with \(\widehat{S}_{x}\) and \(\widehat{S}_{u}\).

Proof

On one hand, \(\forall t\in\mathbb{N}\), \(\forall u(t)=\delta _{2^{r}}^{j_{s}}\in S_{u}\), and \(\forall x(t)=\delta_{2^{n}}^{i_{\alpha}}\in S_{x}\), if \(x(t+1)=Qu(t)x(t)\in S_{x}\), say, \(x(t+1)=\delta_{2^{n}}^{i_{\beta }}\), \(\beta\in\{1, \ldots, n_{1}\}\), a simple calculation shows that

$$\widehat{x}(t+1)=\widehat{Q}\widehat{u}(t)\widehat{x}(t)=\delta _{n_{1}}^{\beta}\in\widehat{S}_{x}\setminus\bigl\{ \delta_{n_{1}}^{0}\bigr\} , $$

where \(\widehat{x}(t)=\delta_{n_{1}}^{\alpha}\in\widehat{S}_{x}\) and \(\widehat{u}(t)=\delta_{r_{1}}^{s}\in\widehat{S}_{u}\). If \(x(t+1)=Qu(t)x(t)=\delta_{2^{n}}^{i}\notin S_{x}\), then \(\widehat {x}(t+1)=\widehat{Q}\widehat{u}(t)\widehat{x}(t)=\delta_{n_{1}}^{0}\). Hence, in both cases, \(\widehat{x}(t+1)=\Psi_{x}x(t+1)\).

On the other hand, \(\forall t\in\mathbb{N}\), \(\forall \widehat {u}(t)=\delta_{r_{1}}^{s}\in\widehat{S}_{u}\setminus\{\delta _{r_{1}}^{0}\}\), and \(\forall\widehat{x}(t)=\delta_{n_{1}}^{\alpha}\in\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\), if \(\widehat {x}(t+1)=\widehat{Q}\widehat{u}(t)\widehat{x}(t)\in\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\), say, \(\widehat {x}(t+1)=\delta_{n_{1}}^{\beta}\), \(\beta\in\{1, \ldots, n_{1}\}\), we can obtain that

$$x(t+1)=Qu(t)x(t)=\delta_{2^{n}}^{i_{\beta}}\in S_{x}. $$

If \(\widehat{x}(t+1)=\widehat{Q}\widehat{u}(t)\widehat{x}(t)=\delta _{n_{1}}^{0}\), then

$$x(t+1)=Qu(t)x(t)\notin S_{x}. $$

Hence, we have \(\widehat{x}(t+1)=\Psi_{x}x(t+1)\).

Therefore, the state trajectories of system (10) with \(S_{x}\) and \(S_{u}\) are equivalent to that of system (25) with \(\widehat{S}_{x}\) and \(\widehat{S}_{u}\). □

Remark 2

We call (25) the constrained algebraic form of the original system. Based on Proposition 5, we can convert the feedback stabilization of the original system to that of system (25).

3.2 Reachability analysis

In this subsection, we study the reachability of system (25), which is crucial to pinning control design for the feedback stabilization.

We give the definition of the reachability for system (25) as follows.

Definition 2

For system (25), given two states \(\widehat{x}_{0}, \widehat{x}_{d} \in\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\) and a integer \(k>0\), \(\widehat{x}_{d}\) is said to be reachable from \(\widehat{x}_{0}\) at time k if there is a pinning control sequence \((\widehat{u}_{1}(t), \widehat{u}_{2}(t),\ldots,\widehat{u}_{r}(t))\) with \(\widehat {u}(t)=\ltimes_{i=1}^{r}\widehat{u}_{i}(t)\in\widehat{S}_{u}\setminus \{\delta_{r_{1}}^{0}\}\), \(t\in\{1,2,\ldots,k-1\}\), such that \(\widehat{x}(k; \widehat{x}_{0}, (\widehat{u}_{1}(t), \widehat {u}_{2}(t),\ldots,\widehat{u}_{r}(t)))=\widehat{x}_{d}\).

For system (25), consider two given states \(\widehat {x}_{0}=\delta_{n_{1}}^{\alpha}\in\widehat{S}_{x}\setminus\{\delta _{n_{1}}^{0}\}\), \(\widehat{x}_{d}=\delta_{n_{1}}^{\beta}\in\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\) and a given integer \(k>0\). Let \(P(k;\widehat{x}_{0}, \widehat{x}_{d})\) denote the number of different paths such that \(\widehat{x}_{d}\) is reachable from \(\widehat{x}_{0}\) at time k.

Lemma 2

Consider system (25) with two given states \(\widehat{x}_{0}=\delta_{n_{1}}^{\alpha}\in\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\), \(\widehat{x}_{d}=\delta _{n_{1}}^{\beta}\in\widehat{S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\) and a given integer \(k>0\). Then,

$$ P(k;\widehat{x}_{0},\widehat {x}_{d})= \bigl(\widehat{x}_{d}^{T}\bigr) (\overline{Q})^{k}( \widehat{x}_{0}), $$
(26)

where \(\overline{Q}=\sum_{i=1}^{r_{1}}\widehat{Q}_{i}\), and \(\widehat{Q}_{i}\) is defined in (24).

Proof

We prove this lemma by induction.

Firstly, letting \(k=1\), assume that \(\widehat{u}^{1}=\delta _{r_{1}}^{\rho_{1}},\widehat{u}^{2}=\delta_{r_{1}}^{\rho _{2}},\ldots,\widehat{u}^{s}=\delta_{r_{1}}^{\rho_{s}}\in\widehat {S}_{u}\setminus\{\delta_{r_{1}}^{0}\}\) are different control sequences such that \(\widehat{x}_{d}\) is reachable from \(\widehat {x}_{0}\) at one step. Let \(\widehat{u}^{s+1}=\delta_{r_{1}}^{\rho _{s+1}},\widehat{u}^{s+2}=\delta_{r_{1}}^{\rho_{s+2}},\ldots ,\widehat{u}^{r_{1}}=\delta_{r_{1}}^{\rho_{r_{1}}}\in\widehat {S}_{u}\setminus\{\delta_{r_{1}}^{0}\}\) be different control sequences such that \(\widehat{x}_{0}\) cannot reach \(\widehat{x}_{d}\) in one step. Hence, it is easy to see that \((\widehat{Q}_{\rho_{l}})_{\beta ,\alpha}=1\), \(\forall l\in\{1,\ldots,s\}\), and \((\widehat{Q}_{\rho _{l}})_{\beta,\alpha}=0\), \(\forall l\in\{s+1,\ldots,r_{1}\}\), which implies that \((\sum_{i=1}^{r_{1}}\widehat{Q}_{i} )_{\beta ,\alpha}=s\). Since \((\widehat{x}_{d}^{T})(\overline{Q})(\widehat {x}_{0})= (\sum_{i=1}^{r_{1}}\widehat{Q}_{i} )_{\beta,\alpha }\), we have

$$P(1;\widehat{x}_{0},\widehat{x}_{d})=s=\bigl(\widehat {x}_{d}^{T}\bigr) (\overline{Q}) (\widehat{x}_{0}). $$

Thus, (26) holds for \(k=1\).

Suppose that (26) holds for an integer \(k\geq1\). Then, we consider the case of \(k+1\). It is easy to see that

$$\begin{aligned} \widehat{x}_{d}^{T}(\overline{Q})^{k+1}\widehat {x}_{0} =&\bigl(\delta_{n_{1}}^{\beta} \bigr)^{T}(\overline{Q})^{k+1}\delta _{n_{1}}^{\alpha}= \bigl(\overline{Q}^{k}\overline{Q}\bigr)_{(\beta,\alpha )} \\ =&\sum_{p=1}^{n_{1}}\bigl( \delta_{n_{1}}^{\beta}\bigr)^{T}\bigl(\overline {Q}^{k}\bigr) \bigl(\delta_{n_{1}}^{p}\bigr) \bigl( \delta_{n_{1}}^{p}\bigr)^{T}(\overline {Q}) \delta_{n_{1}}^{\alpha} \\ =&\sum_{p=1}^{n_{1}}P\bigl(k; \delta_{n_{1}}^{p},\widehat {x}_{d}\bigr)P\bigl(1; \widehat{x}_{0},\delta_{n_{1}}^{p}\bigr) \\ =&P(k+1;\widehat{x}_{0},\widehat{x}_{d}), \end{aligned}$$
(27)

which shows that (26) holds for \(k+1\).

By induction, (26) holds for any integer \(k>0\). This completes the proof. □

Based on Lemma 2, we give the following result on the reachability of system (25).

Theorem 1

For system (25), \(\widehat {x}_{d}=\delta_{n_{1}}^{\beta}\in\widehat{S}_{x}\setminus\{\delta _{n_{1}}^{0}\}\) is reachable from \(\widehat{x}_{0}=\delta_{n_{1}}^{\alpha}\in\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\) at time k if and only if

$$\bigl(\overline{Q}^{k} \bigr)_{\beta,\alpha}>0. $$

Proof

By Lemma 2 we get \(P(k;\widehat{x}_{0},\widehat {x}_{d})=(\delta_{n_{1}}^{\beta})^{T}(\overline{Q})^{k}(\delta _{n_{1}}^{\alpha})= (\overline{Q}^{k} )_{\beta,\alpha}\). Therefore, \(P(k;\widehat{x}_{0},\widehat{x}_{d})\) denotes the number of different paths from \(\widehat{x}_{0}\) to \(\widehat{x}_{d}\) at time k. If \((\overline{Q}^{k})_{\beta,\alpha}>0\), then there are \((\overline{Q}^{k})_{\beta,\alpha}\) different paths from \(\widehat {x}_{0}\) to \(\widehat{x}_{d}\). Thus, \(\widehat{x}_{d}\) can be reached from \(\widehat{x}_{0}\) at time k. Conversely, if \(\widehat{x}_{d}\) is reachable from \(\widehat{x}_{0}\) at time k, then we can find at least one pinning control sequence \((\widehat{u}_{1}(t), \widehat {u}_{2}(t),\ldots,\widehat{u}_{r}(t))\) with \(\widehat{u}(t)=\ltimes _{i=1}^{r}\widehat{u}_{i}(t)\in\widehat{S}_{u}\setminus\{\delta _{r_{1}}^{0}\}\), \(t\in\{1,2,\ldots,k-1\}\), such that \(\widehat{x}(k; \widehat{x}_{0}, (\widehat{u}_{1}(t), \widehat{u}_{2}(t),\ldots ,\widehat{u}_{r}(t)))=\widehat{x}_{d}\), which implies that \((\overline{Q}^{k} )_{\beta,\alpha}=P(k;\widehat{x}_{0},\widehat {x}_{d})>0\). □

Remark 3

From the proof of Theorem 1 we easily see that

$$P(k;\widehat{x}_{0},\widehat{x}_{d})=\bigl( \delta_{n_{1}}^{\beta }\bigr)^{T}(\overline{Q})^{k} \bigl(\delta_{n_{1}}^{\alpha}\bigr) = \bigl(\overline{Q}^{k} \bigr)_{\beta,\alpha}. $$

All of them denote the number of different paths such that \(\widehat {x}_{d}\) is reachable from \(\widehat{x}_{0}\) at time k.

3.3 Feedback stabilization pinning control design

In this part, we study the pinning control design for the feedback stabilization of constrained BCNs. By Proposition 5 we consider the feedback stabilization of system (25) based on the reachability analysis.

Firstly, we give the definition of stabilization for system (10) with \(S_{x}\) and \(S_{u}\).

Definition 3

System (10) with \(S_{x}\) and \(S_{u}\) is said to be stabilizable to a given equilibrium \(x_{e}\in S_{x}\) if there exists a pinning control sequence \(\{(u_{1}(t), u_{2}(t),\ldots,u_{r}(t)):t\in\mathbb{N}\}\subset S_{u}\) under which the trajectory initialized at any \(x_{0}\in S_{x}\) converges to \(x_{e}\) and \(x(t;x_{0},(u_{1}(t), u_{2}(t),\ldots, u_{r}(t)))\in S_{x}\), \(\forall t \in\mathbb{N}\).

In this paper, we study the following two kinds of feedback pinning controls:

  1. 1.

    State feedback pinning control:

    $$ u_{i}(t)=K_{i}x(t), $$
    (28)

    where \(K_{i}\in\mathcal{L}_{2\times2^{n}}\), \(i=1,\ldots,r\).

  2. 2.

    Output feedback pinning control:

    $$ u_{i}(t)=G_{i}y(t), $$
    (29)

    where \(G_{i}\in\mathcal{L}_{2\times2^{p}}\), \(i=1,\ldots,r\).

In the following, we consider the pinning control design for the state feedback stabilization of system (10) with \(S_{x}\) and \(S_{u}\) based on the constrained algebraic form.

For system (25), let \(\widehat{x}_{e}=\Psi_{x}x_{e}=\delta _{n_{1}}^{\alpha}\in\widehat{S}_{x}\setminus\{\delta_{n_{1}}^{0}\} \). For any integer \(k>0\), define

$$\begin{aligned} \Lambda_{k}(\widehat{x}_{e}) =& \bigl\{ \delta_{n_{1}}^{\beta}\in \widehat{S}_{x} \setminus\bigl\{ \delta_{n_{1}}^{0}\bigr\} : \mbox{there exists a control sequence} \\ &\widehat{u}(0), \widehat{u}(1),\ldots,\widehat{u}(k-1)\in \widehat{S}_{u}\setminus\bigl\{ \delta_{r_{1}}^{0} \bigr\} \mbox{ such that} \\ &\widehat{x}\bigl(k;\delta_{n_{1}}^{\beta}, \widehat{u}(0), \ldots ,\widehat{u}(k-1)\bigr)=\delta_{n_{1}}^{\alpha} \mbox{ and} \\ &\widehat{x}\bigl(l;\delta_{n_{1}}^{\beta},\widehat{u}(0), \ldots ,\widehat{u}(l-1)\bigr)\in\widehat{S}_{x}\setminus\bigl\{ \delta_{n_{1}}^{0}\bigr\} , \forall l\in\{1,\ldots,k\} \bigr\} . \end{aligned}$$
(30)

Proposition 6

System (25) is stabilized to \(\widehat{x}_{e}=\delta_{n_{1}}^{\alpha}\) by a state feedback control if and only if there exists a positive integer \(\sigma\leq n_{1}\) such that

  1. 1.

    \((\overline{Q})_{\alpha,\alpha}>0\),

  2. 2.

    \(\operatorname{Row}_{\alpha}(\overline{Q}^{\sigma})>0\).

Proof

(Sufficiency) We can see from Condition 1 and Theorem 1 that \(\widehat{x}_{e}\in\Lambda_{1}(\widehat{x}_{e})\), which implies that \(\Lambda_{k}(\widehat{x}_{e})\neq\emptyset\), \(\forall k=1,\ldots,\sigma\).

Denote

$$ \Lambda_{k}^{\circ}(\widehat {x}_{e})= \Lambda_{k}(\widehat{x}_{e})\setminus\Lambda _{k-1}(\widehat{x}_{e}), $$
(31)

where \(\Lambda_{0}(\widehat{x}_{e}):=\emptyset\). Then, we obtain \(\Lambda_{k_{1}}^{\circ}(\widehat{x}_{e})\cap\Lambda _{k_{2}}^{\circ}(\widehat{x}_{e})=\emptyset\), \(\forall k_{1},k_{2}\in\{1,\ldots,\sigma\}\), \(k_{1}\neq k_{2}\). Moreover, by Condition 2 and Theorem 1 we have \(\bigcup_{k=1}^{\sigma}\Lambda_{k}^{\circ}(\widehat{x}_{e})=\widehat {S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\). Thus, for any integer i satisfying \(1\leq i\leq n_{1}\), we can find the unique integer \(1\leq k_{i}\leq\sigma\) such that \(\delta _{n_{1}}^{i}\in\Lambda_{k_{i}}^{\circ}(\widehat{x}_{e})\).

For system (25), set \(\widehat{Q}=\delta_{n_{1}}[\mu _{1},\mu_{2},\ldots,\mu_{n_{1}r_{1}}]\). When \(k_{i}=1\), we can find an integer \(1\leq\omega_{i}\leq r_{1}\) such that \(\widehat{Q}\ltimes\delta_{r_{1}}^{\omega_{i}}\ltimes \delta_{n_{1}}^{i}=\delta_{n_{1}}^{\mu_{(\omega _{i}-1)n_{1}+i}}=\widehat{x}_{e}\). When \(2\leq k_{i}\leq\sigma\), we can find an integer \(1\leq\omega _{i}\leq r_{1}\) such that \(\widehat{Q}\ltimes\delta_{r_{1}}^{\omega _{i}}\ltimes\delta_{n_{1}}^{i}=\delta_{n_{1}}^{\mu_{(\omega _{i}-1)n_{1}+i}}\in\Lambda_{k_{i}-1}(\widehat{x}_{e})\).

Let

$$ \widehat{K}=\delta_{r_{1}}[\omega _{1}, \omega_{2},\ldots,\omega_{n_{1}}]\in\mathcal{L}_{r_{1}\times n_{1}}. $$
(32)

Then, for any initial state \(\widehat{x}_{0}=\delta_{n_{1}}^{i}\in \widehat{S}_{x}\setminus\{\delta_{n_{1}}^{0}\}\), if \(k_{i}=1\), then we obtain

$$\widehat{x}(1;\widehat{x}_{0},\widehat{u})=\widehat{Q}\widehat {u} \widehat{x}_{0}=\widehat{Q}\widehat{K}\widehat{x}_{0} \widehat {x}_{0}=\delta_{n_{1}}^{\mu_{(\omega_{i}-1)n_{1}+i}}= \widehat{x}_{e}; $$

if \(2\leq k_{i}\leq\sigma\), we have

$$\widehat{x}(1;\widehat{x}_{0},\widehat{u})=\widehat{Q}\widehat {u} \widehat{x}_{0}=\widehat{Q}\widehat{K}\widehat{x}_{0} \widehat {x}_{0}=\delta_{n_{1}}^{\mu_{(\omega_{i}-1)n_{1}+i}}\in\Lambda _{k_{i}-1}(\widehat{x}_{e}). $$

Hence, \(\widehat{x}(k_{i};\widehat{x}_{0},\widehat{u})=\widehat {x}_{e}\), \(\forall1\leq i\leq n_{1}\), and \(\widehat{x}(t;\widehat {x}_{0},\widehat{u})\in\widehat{S}_{x}\setminus\{\delta _{n_{1}}^{0}\}\), \(\forall0\leq t\leq k_{i}-1\). Since \(\widehat {x}_{e}\in\Lambda_{1}(\widehat{x}_{e})\), we obtain

$$\widehat{x}(t;\widehat{x}_{0},\widehat{u})=\widehat{x}_{e},\quad \forall t\geq\sigma,\forall\widehat{x}_{0}\in\widehat{S}_{x} \setminus\bigl\{ \delta_{n_{1}}^{0}\bigr\} , $$

which implies that system (25) is stabilized to \(\widehat {x}_{e}=\delta_{n_{1}}^{\alpha}\) by the state feedback control \(\widehat{u}(t)=\widehat{K}\widehat{x}(t)\).

(Necessity) The proof of this part is based on a straightforward calculation, and thus we omit it here. □

Based on Propositions 5 and 6, we have the following result.

Theorem 2

System (6) with \(S_{x}\) and \(S_{u}\) is stabilized to \(x_{e}\) by a state feedback control if and only if there exists a positive integer \(\sigma\leq n_{1}\) such that \((\overline{Q})_{\alpha,\alpha}>0\) and \(\operatorname{Row}_{\alpha}(\overline {Q}^{\sigma})>0\).

From the proof of Proposition 6 we get the following procedure for the pinning control design of state feedback stabilization of constrained BCNs.

Remark 4

The procedure contains the following steps:

  1. 1.

    Calculate \(\Lambda_{k}(\widehat{x}_{e})\) and \(\Lambda _{k}^{\circ}(\widehat{x}_{e})\), \(k=1,\ldots,\sigma\).

  2. 2.

    For every integer \(1\leq i\leq n_{1}\), find the unique integer \(1\leq k_{i}\leq\sigma\) satisfying \(\delta_{n_{1}}^{i}\in\Lambda_{k_{i}}^{\circ}(\widehat{x}_{e})\).

  3. 3.

    Find an integer \(1\leq\omega_{i}\leq r_{1}\) such that if \(k_{i}=1\), then \(\delta_{n_{1}}^{\mu_{(\omega _{i}-1)n_{1}+i}}=\widehat{x}_{e}\); if \(k_{i}\geq2\), then \(\delta _{n_{1}}^{\mu_{(\omega_{i}-1)n_{1}+i}}\in\Lambda_{k_{i}-1}(\widehat {x}_{e})\).

  4. 4.

    The state feedback pinning control can be designed as \(u_{i}(t)=K_{i}x(t)\), \(i=1,\ldots,r\), with \(K_{1}\ast K_{2}\ast\cdots\ast K_{r}=K\), where \(K=\delta_{2^{r}}[p_{1},\ldots,p_{2^{n}}]\), and

    $$ \textstyle\begin{cases} p_{t}=j_{\omega_{\rho}} &\mbox{if }t=i_{\rho}, \rho\in\{1,\ldots,n_{1}\} , \\ p_{t}\in\{j_{1},\ldots,j_{r_{1}}\} &\mbox{otherwise}. \end{cases} $$
    (33)

Finally, we discuss the pinning control design for the output feedback stabilization of constrained BCNs. To this end, we recall the definition of a nilpotent matrix.

Definition 4

A nilpotent matrix N is a square matrix such that \(N^{k}=0\) for some positive integer k. The smallest such k is called the degree of N.

For system (25) with an output feedback control \(\widehat {u}(t)=\widehat{G}\widehat{y}(t)\), \(\widehat{G}\in\mathcal {L}_{r_{1}\times2^{p}}\), we have

$$ \widehat{x}(t+1)=\widehat {Q}\widehat{u}(t)\widehat{x}(t)= \widehat{Q}\widehat{G}\widehat {y}(t)\widehat{x}(t)=\widehat{Q}\widehat{G}\widehat {H}M_{r,n_{1}}\widehat{x}(t), $$
(34)

where \(M_{r,n_{1}}=\operatorname{diag}\{\delta_{n_{1}}^{1},\delta_{n_{1}}^{2},\ldots ,\delta_{n_{1}}^{n_{1}}\}\). Then, we have the following result on the output feedback stabilization of system (25).

Theorem 3

System (25) is stabilizable to \(\widehat{x}_{e}=\delta_{n_{1}}^{\alpha}\) by an output feedback control if and only if there exist a logical matrix \(\widehat{G}\in \mathcal{L}_{r_{1}\times2^{p}}\) and an integer \(1\leq\tau\leq n_{1}\) such that

$$ \widehat{Q}\widehat{G}\widehat{H}M_{r,n_{1}}=\left [ \textstyle\begin{array}{@{}c@{\quad}c@{\quad}c@{}} A_{1}& \zeta_{3} &A_{2}\\ \zeta_{1}& 1& \zeta_{2}\\ A_{3} &\zeta_{4}& A_{4} \end{array}\displaystyle \right ] $$
(35)

and

$$ \left [ \textstyle\begin{array}{@{}c@{\quad}c@{}} A_{1} &A_{2}\\ A_{3} &A_{4} \end{array}\displaystyle \right ] $$
(36)

is a nilpotent matrix of degree τ, where \(A_{1}\in\mathcal {B}_{(\alpha-1)\times(\alpha-1)}\), \(A_{2}\in\mathcal{B}_{(\alpha -1)\times(n_{1}-\alpha)}\), \(A_{3}\in \mathcal{B}_{(n_{1}-\alpha )\times(\alpha-1)}\), \(A_{4}\in\mathcal{B}_{(n_{1}-\alpha)\times (n_{1}-\alpha)}\), \(\zeta_{1}\) and \(\zeta_{2}\) are some proper Boolean row vectors, and \(\zeta_{3}\) and \(\zeta_{4}\) are zero column vectors.

Proof

(Sufficiency) Since

$$ \left [ \textstyle\begin{array}{@{}c@{\quad}c@{}} A_{1} &A_{2}\\ A_{3} &A_{4} \end{array}\displaystyle \right ] $$
(37)

is a nilpotent matrix of degree τ, we see that

$$ \left [ \textstyle\begin{array}{@{}c@{\quad}c@{}} A_{1}& A_{2}\\ A_{3}& A_{4} \end{array}\displaystyle \right ]^{t}=0 $$
(38)

for any integer \(t\geq\tau\), which, together with a simple calculation, shows that

$$ (\widehat{Q}\widehat{G}\widehat {H}M_{r,n_{1}})^{t}=\left [ \textstyle\begin{array}{@{}c@{\quad}c@{\quad}c@{\quad}c@{}} 0& 0& \cdots&0\\ 1& 1& \cdots&1\\ 0 &0 &\cdots&0 \end{array}\displaystyle \right ]=\delta_{n_{1}}[\alpha,\alpha, \ldots,\alpha] $$
(39)

for any integer \(t\geq\tau\).

Hence, we obtain from (34) that

$$ \widehat{x}(t)=(\widehat{Q}\widehat {G}\widehat{H}M_{r,n_{1}})^{t} \widehat{x}(0)=\widehat{x}_{e} $$
(40)

for any \(\widehat{x}(0)\in\widehat{S}_{x}\setminus\{\delta _{n_{1}}^{0}\}\) and any integer \(t\geq\tau\).

Therefore, system (25) is stabilizable to \(\widehat {x}_{e}=\delta_{n_{1}}^{\alpha}\) by the output feedback control \(\widehat{u}(t)=\widehat{G}\widehat{y}(t)\).

(Necessity) Suppose that system (25) is stabilizable to \(\widehat{x}_{e}=\delta_{n_{1}}^{\alpha}\) by an output feedback control, say, \(\widehat{u}(t)=\widehat{G}\widehat{y}(t)\). Then, we can find the smallest integer \(1\leq\tau\leq n_{1}\) such that (40) holds for any \(\widehat{x}(0)\in\widehat{S}_{x}\setminus\{ \delta_{n_{1}}^{0}\}\) and any integer \(t\geq\tau\). Hence, \((\widehat {Q}\widehat{G}\widehat{H}M_{r,n_{1}})^{\tau}=\delta_{n_{1}}[\alpha ,\alpha,\ldots,\alpha]\).

Split \(\widehat{Q}\widehat{G}\widehat{H}M_{r,n_{1}}\in\mathcal {L}_{n_{1}\times n_{1}}\) into the following blocks:

$$\widehat{Q}\widehat{G}\widehat{H}M_{r,n_{1}}=\left [ \textstyle\begin{array}{@{}c@{\quad}c@{\quad}c@{}} A_{1}& \zeta_{3} &A_{2}\\ \zeta_{1}& \lambda&\zeta_{2}\\ A_{3}& \zeta_{4}& A_{4} \end{array}\displaystyle \right ], $$

where \(\lambda\in\{0,1\}\), \(A_{1}\in\mathcal{B}_{(\alpha-1)\times (\alpha-1)}\), \(A_{2}\in\mathcal{B}_{(\alpha-1)\times(n_{1}-\alpha )}\), \(A_{3}\in\mathcal{B}_{(n_{1}-\alpha)\times(\alpha-1)}\), \(A_{4}\in\mathcal{B}_{(n_{1}-\alpha)\times(n_{1}-\alpha)}\), \(\zeta_{1}\) and \(\zeta_{2}\) are some proper Boolean row vectors, and \(\zeta_{3}\) and \(\zeta_{4}\) are some proper Boolean column vectors.

It is easy to see from \(\widehat{Q}\widehat{G}\widehat {H}M_{r,n_{1}}\widehat{x}_{e}=\widehat{x}_{e}\) that \(\lambda=1\), and \(\zeta_{3}\) and \(\zeta_{4}\) are zero column vectors.

In the following, we prove that

$$\widehat{A}:=\left [ \textstyle\begin{array}{@{}c@{\quad}c@{}} A_{1}& A_{2}\\ A_{3}& A_{4} \end{array}\displaystyle \right ] $$

is a nilpotent matrix of degree τ.

We can easily see from \((\widehat{Q}\widehat{G}\widehat {H}M_{r,n_{1}})^{\tau}=\delta_{n_{1}}[\alpha,\alpha,\ldots,\alpha ]\) that \(\widehat{A}^{\tau}=0\), which shows that  is a nilpotent matrix. If its degree is less than τ, then there exists a positive integer \(\tau'<\tau\) such that \(\widehat{A}^{\tau '}=0\), and thus

$$(\widehat{Q}\widehat{G}\widehat{H}M_{r,n_{1}})^{\tau'}=\delta _{n_{1}}[\alpha,\alpha,\ldots,\alpha], $$

which is a contradiction to the minimality of τ. This completes the proof. □

Remark 5

Based on Theorem 3 and Algorithm 1 presented in [32], we can design an output feedback gain matrix, say, \(\widehat{G}=\delta _{r_{1}}[w_{1},w_{2},\ldots,w_{2^{p}}]\), under which system (25) is stabilizable to \(\widehat{x}_{e}=\delta _{n_{1}}^{\alpha}\). Then, the output feedback pinning control can be designed as \(u_{i}(t)=G_{i}y(t)\), \(i=1,\ldots,r\), with \(G_{1}\ast G_{2}\ast \cdots\ast G_{r}=G\), where \(G=\delta_{2^{r}}[j_{w_{1}},\ldots,j_{w_{2^{p}}}]\).

Remark 6

It should be pointed out that the pinning control design for the state feedback stabilization of Boolean networks was studied in [34], and a novel design procedure was established. Compared with [34], our main results have the following advantages: (i) we established some necessary and sufficient conditions for the pinning control design of both state feedback and output feedback stabilization problems, whereas [34] only considered the state feedback stabilization problem; (ii) our results are applicable to the pinning control design for the state feedback stabilization of constrained BCNs.

4 Illustrative examples

In the section, we give two illustrative examples to show how to use the obtained results to design pinning control for feedback stabilization of constrained BCNs.

Example 1

Consider the following Boolean model to simulate the λ phage, which is a virus growing on a bacterium. The virus can only follow one of two different pathways: lysogeny or lysis, after injecting chromosome into the bacterium cell. The molecular mechanism responsible for the lysogeny/lysis decision is known as λ switch [36]. For example, two genes, cI and cro, directly affect the decision. When cI is active (inactive) and cro is inactive (active), the phage is in the lysogenic (lytic) state, and whether lysogenic state will be established or not depends on five phage genes, cI, cro, cII, cIII, N, and the environmental state. More details can be found in [37]. Its dynamic can be described in the form

$$ \textstyle\begin{cases} \mathit{cII}(t+1)=(\neg \mathit{cI}(t))\wedge(N(t)\vee \mathit{cIII}(t))\wedge u(t), \\ \mathit{cIII}(t+1)=(\neg \mathit{cI}(t))\wedge N(t)\wedge u(t), \\ N(t+1)=(\neg \mathit{cI}(t))\wedge(\neg \mathit{cro}(t)), \\ \mathit{cI}(t+1)=(\neg \mathit{cro}(t))\wedge(\mathit{cI}(t)\vee \mathit{cII}(t) ), \\ \mathit{cro}(t+1)=(\neg \mathit{cI}(t))\wedge(\neg \mathit{cII}(t)), \end{cases} $$
(41)

where \(u(t)\) is a binary input that represents whether environmental condition is favorable or not.

Letting \(x(t)=\mathit{cII}(t)\mathit{cIII}(t)N(t)\mathit{cI}(t)\mathit{cro}(t)\), we obtain the following algebraic form:

$$ x(t+1)=Qu(t)x(t), $$
(42)

where

$$\textstyle\begin{array}{@{}r@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c@{\ }l@{}} Q=\delta_{32}[32& 30 &8 &2 &32& 30 &16 &10 &32 &30& 8& 2& 32 &30 &16 &10 \\ 32 &30& 7& 3& 32 &30 &31 &27& 32& 30& 7 &3& 32& 30& 31& 27 \\ 32& 30& 32& 26& 32& 30& 32& 26 &32& 30 &32& 26 &32& 30 &32& 26 \\ 32& 30 &31& 27 &32 &30 &31& 27& 32 &30& 31 &27& 32& 30 &31 &27]. \end{array} $$

In this example, several environmental conditions including concentration of nutrition, growth rate, temperature, and multiplicity of infection can influence the cII and cIII genes. If the environmental conditions are favorable, then the cII and cIII genes are highly active, and the cII gene product turns the cI gene on. The cI gene inhibits all other genes including cro, and the lysogenic state is established. If the environmental conditions are not favorable, then the genes cII and cIII are not activated, the cro gene remains active, and its product represses the cI gene. Thus, the lytic state is established.

Due to the limitation of the environmental conditions, we constrain the state in \(S_{x}=\{\delta_{32}^{19},\delta_{32}^{23},\delta _{32}^{27},\delta_{32}^{31}\}\).

By Theorem 2 and Remark 4 we can design 230 state feedback pinning controls that stabilize system (41) with \(S_{x}\) to the equilibrium \(\delta _{32}^{31}\) (the lytic state), and one of them is

$$u(t)=\delta_{2}[1\ 2\ 1\ 2\ 1\ 2\ 1\ 2\ 1\ 2\ 1\ 2\ 1\ 2\ 1\ 2\ 1\ 2\ 2\ 1\ 1\ 2\ 2\ 1\ 1\ 2\ 2\ 1\ 1\ 2\ 2\ 1]x(t). $$

Example 2

Consider the following BCN:

$$ \textstyle\begin{cases} x_{1}(t+1)=x_{2}(t)\vee u_{1}(t), \\ x_{2}(t+1)=(x_{3}(t)\rightarrow x_{1}(t))\vee u_{2}(t), \\ x_{3}(t+1)=\neg x_{3}(t); \\ y_{1}(t)=x_{2}(t)\vee x_{3}(t), \\ y_{2}(t)=(x_{1}(t)\wedge x_{2}(t))\vee(\neg x_{1}(t)\wedge (x_{2}(t)\leftrightarrow x_{3}(t))). \end{cases} $$
(43)

Setting \(x(t)=\ltimes_{i=1}^{3}x_{i}(t)\), \(u(t)=\ltimes _{i=1}^{2}u_{i}(t)\), and \(y(t)=\ltimes_{i=1}^{2}y_{i}(t)\), we obtain the following algebraic form:

$$ \textstyle\begin{cases} x(t+1)=Qu(t)x(t), \\ y(t)=Hx(t), \end{cases} $$
(44)

where

$$Q=\delta_{8}[2\ 2 \ 2\ 2\ 1\ 1\ 1\ 1\ 2\ 2\ 6\ 6\ 1\ 1\ 5\ 5\ 2\ 4\ 2\ 4\ 1\ 1\ 1\ 1\ 2\ 4\ 6\ 8\ 1\ 1\ 5\ 5] $$

and

$$H=\delta_{4}[1\ 1\ 2 \ 4\ 1\ 2\ 2\ 3]. $$

We assume that \(S_{x}=\{\delta_{8}^{1},\delta_{8}^{2},\delta _{8}^{3},\delta_{8}^{4},\delta_{8}^{5},\delta_{8}^{8}\}\), and \(S_{u}=\{\delta_{4}^{1},\delta_{4}^{2},\delta_{4}^{3},\delta _{4}^{4}\}\). We aim to design an output feedback pinning control such that system (43) with \(S_{x}\) and \(S_{u}\) is stabilized to \(x_{e}=\delta_{8}^{2}\).

Based on Theorem 3 and Algorithm 1 presented in [32], we can obtain eight output feedback pinning control gain matrices; one of them is \(K_{1}=\delta_{2}[1\ 1\ 2\ 1]\), \(K_{2}=\delta_{2}[1\ 1\ 1\ 1]\).

5 Conclusion

In this paper, we have studied the pinning control design for feedback stabilization of constrained BCNs. We have obtained the constrained algebraic form for constrained BCNs with pinning control via the semitensor product of matrices. We have given a necessary and sufficient condition for the reachability of constrained BCNs. We have proposed a procedure for the pinning control design of state feedback stabilization of constrained BCNs. Moreover, we have presented a necessary and sufficient condition for the output feedback stabilization of constrained BCNs with pinning control. The study of two illustrative examples has shown that the new results obtained in this paper are very effective.