广东工业大学学报  2019, Vol. 36Issue (1): 35-41.  DOI: 10.12052/gdutxb.180051.
0

引用本文 

石聪聪, 刘富春. 模糊离散事件系统基于模式的故障诊断[J]. 广东工业大学学报, 2019, 36(1): 35-41. DOI: 10.12052/gdutxb.180051.
Shi Cong-cong, Liu Fu-chun. A Pattern-Based Failure Diagnosis of Fuzzy Discrete-Event Systems[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2019, 36(1): 35-41. DOI: 10.12052/gdutxb.180051.

基金项目:

国家自然科学基金资助项目(61273118, 6167020389);广东省教育厅省级重大项目(2014KZDXM033);广东省公益研究与能力建设专项资金项目(2015A030402006)

作者简介:

石聪聪(1992−),男,硕士研究生,主要研究方向为控制理论与控制工程、算法分析与设计。

通信作者

刘富春(1971−),男,教授,主要研究方向为离散事件系统理论. E-mail:liufch@gdut.edu.cn

文章历史

收稿日期:2018-03-20
模糊离散事件系统基于模式的故障诊断
石聪聪, 刘富春     
广东工业大学 计算机学院,广东 广州  510006
摘要: 以模糊自动机为模型, 研究模糊离散事件系统基于模式的故障诊断问题. 先针对S类型和T类型两种故障模式, 分别对模糊离散事件系统的S类型模式可诊断性和T类型模式可诊断性进行了形式化, 再通过构造S类型模式诊断器和T类型模式诊断器, 分别得到了模糊离散事件系统关于S类型模式可诊断性和T类型模式可诊断性的充分必要条件, 实现了模糊离散事件系统基于模式的故障诊断.
关键词: 模糊离散事件系统    故障诊断    故障模式    诊断器    
A Pattern-Based Failure Diagnosis of Fuzzy Discrete-Event Systems
Shi Cong-cong, Liu Fu-chun     
School of Computers, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Failure diagnosis of discrete event systems (DESs) has received considerable attention in recent years. The failure diagnosis for fuzzy discrete event systems (FDESs) modeled by fuzzy automata is investigated. First, for two kinds of failure patterns: S type pattern and T type pattern, the notions of diagnosability for S type pattern and for T type pattern of FDESs are respectively formalized. Then by constructing S type pattern diagnoser and T type pattern diagnoser, the necessary and sufficient conditions for the diagnosability of S type pattern and T type pattern of FDESs are respectively proposed, and the pattern-based failure diagnosis of FDESs is realized.
Key words: fuzzy discrete event systems    failure diagnosis    failure pattern    diagnoser    

离散事件系统(discrete event system, DES)是由离散事件触发而引起状态迁移的一类动态系统,其运行是由离散事件错综复杂地相互作用所决定的,在现代工业控制系统中有着广泛应用[1]. 为了保证系统的可靠性,通常要求能够在有限时间内判断系统运行是否安全可靠. 因此,故障诊断研究一直是离散事件系统的研究热点[2-9].

自1994年Lin F[2]提出基于状态的离散事件系统在线诊断和离线诊断方法以来,Meera S等[3]相继发表了用基于事件的方式研究DES对动态系统进行故障诊断的方法,它以自动机为系统建模[4],通过构建一个诊断器并根据诊断器的状态信息实现对系统是否可诊断的判断. 但是这种方法的复杂度是关于系统状态数的指数时间,这对于一个复杂系统来说,该故障诊断方法将耗费大量时间和空间. 为此,Jian S B和Yoo T S等[5-6]相继提出了并行自动机故障诊断方法,通过自同步来构造系统的全局twin-plant模型−验证器,从而可以由验证器直接判定系统的可诊断性. 胡芹等[7]使用了离散事件系统来优化控制云资源的分配问题,这是后来不断有人使用DES来解决实际问题的例子.

然而,上述方法只适合于处理规模较小的系统的故障诊断,一旦系统规模较大时,这种通过验证器直接判断其可诊断性的方法相当困难. 为此,许多学者将离散事件系统按照一定规则划分为多个子系统,每个子系统对应为全局系统的一个局部模型,通过对各局部模型构建局部诊断器实现对全局复杂系统的故障诊断. 这种方法最具代表性的有Debouk R等[8]提出的分散式诊断方法和Pencolé Y [9]提出的分步式诊断方法. 分散式诊断方法中各个子系统之间不存在任何信息交互,先对每个子系统建模并得到相应的局部诊断结果,再通过一个协调器来处理各个子系统的局部诊断结果,从而得到整个系统的可诊断性. 而分布式诊断方法的各个局部模型之间有通信事件进行连接,对各个局部模型构建诊断器和检测器并进行可诊断性判定,通过对检测器进行剪枝操作进行同步,得出全局系统的故障诊断结果.

尽管在工业应用中的离散事件系统大多数是经典DES,其状态和事件等信息都是十分明确,得到的故障诊断结果也是一个精确结果. 但是在许多实际应用中,特别是生物医学领域,往往得到的数据具有一定程度的模糊性和不精确性. 例如,将人的身体状况分为“好”“中”“差”是具有一定程度的模糊性,身体好到什么程度就属于“好”、差到什么程度就一定属于“差”,往往不同的人有着不同的观点. 于是,2001年Lin F等[10]将模糊数学与经典DES相结合,提出了一种模糊离散事件系统(Fuzzy Discrete Event System, FDES)[11].

从提出FDES以来,国内外许多学者致力于FDES的研究[12-21]. Cao Y Z[12]首先做了基于FDES的分布式控制的研究,Cao Y Z和Qiu D W[13-14]开始做了基于FDES的监督控制的研究,这时Huq R等[15]则做了用FDES的方式研究移动机器人的行为调制技术的研究. Cao Y Z等[16]然后从基于事件的方式推广到了基于状态控制的FDES的研究,Liu J P[17]紧接着又做了对DES和FDES在能控性上的关联的研究. 在此期间Liu F相继发表了FDES在分布式系统的监督控制[18]和故障诊断[19],然后又有了对FDES集中式诊断的研究[20],最后又有了把FDES的安全诊断的时间复杂度降低到了多项式[21].

本文继续文献[19-20]的研究工作,研究模糊离散事件系统基于模式的故障诊断问题. 在文献[19-20]中,将故障定义为单个事件,所以这种故障诊断方法只要求对单个特定事件(即故障)是否发生做出判断. 但是,在许多情况下,不是单个事件的发生导致系统陷入故障,而是一个事件序列(即模式)的发生才会导致系统发生故障. 例如,在图1所示的并联电路中,只有A开关断开,系统仍然处于正常状态,并且系统不会发出警报,但是会使B开关断开的触发条件成立,这时如果B开关也断开,那么系统就会停止工作. 而只有B开关断开的时候,系统也仍然处于正常状态,但是系统的警报会触发,并且不会使A开关断开的触发条件成立,这时可以及时处理问题,确保系统后面不会陷入异常. 这里的开关A和B都有触发器,只有触发器打开才操作,报警装置和机器分别是C和D.

图 1 举例中的电路图 Figure 1 The circuit diagram in the example

对于经典DES的基于模式故障诊断问题,Genc S和Jéron T等[22-23]都提出了通过构造各自不同的诊断器,实现了经典DES基于模式的可诊断性的判断. Ye L等[24-25]则分别对分布式经典DES的基于模式故障诊断进行了探讨,得到了具有多项式时间复杂度的模式诊断方法. 吉林大学欧阳丹彤教授[26]也对基于模式的经典DES故障诊断的算法实现进行了深入研究.

本文以模糊自动机为模型,研究FDES基于模式的故障诊断问题. 先引入两种故障模式:S类型模式和T类型模式. 然后分别对FDES的S类型模式可诊断性和T类型模式可诊断性进行形式化. 通过构造S类型模式诊断器和T类型模式诊断器,分别得到FDES关于S类型模式和T类型模式可诊断性的充分必要条件,从而实现对FDES基于模式的故障诊断的判断.

1 模糊离散事件系统

有穷状态自动机(Finite State Automaton,FSA)[4]是指一个5元组

$G = (Q,\varSigma ,\delta ,{q_0},{Q_m}),$

其中Q是有限状态集, $\varSigma $ 表示事件集, ${q_0}$ 是初始状态, ${Q_{\rm{m}}} \subseteq Q$ 是标记状态集, $\delta $ 为状态转换函数

$\delta :Q \times \varSigma \to Q. $

对于给定状态 $x,y \in Q$ 和事件 $\sigma \in \varSigma $ $\delta \left( {x,\sigma } \right) = y$ 表示系统在状态x时,在事件 $\sigma $ 的作用下将转移到状态y.

事件集 $\varSigma $ 上所有串的集合记为 ${\varSigma ^{\rm{*}}}$ ,称为 $\varSigma $ 的克林闭包, ${\varSigma ^ * }$ 包含空串 $\varepsilon $ . 通常将事件分为可观事件和不可观事件,分别用 ${\varSigma _{\rm o}}$ ${\varSigma _{{\rm uo}}}$ 表示可观事件集和不可观事件集. 将故障事件集用 ${\varSigma _{\rm f}}$ 表示. $L/s = \{ t \in {\varSigma ^ * }:$ $ st \in L\} $ 是指语言L中,事件串s发生之后将发生的事件串的集合; $\varPsi ({\varSigma _{\rm f}}) = \{ s \in L:{s_{\rm l}} \in {\varSigma _{\rm f}}\} $ 表示以故障事件结尾的事件串的集合; ${s_{\rm l}}$ 代表事件串s的最后一个事件. 为了方便和不至于产生混淆, ${\varSigma _{\rm f}} \in \omega $ 意味着存在 ${\sigma _{\rm{f}}} \in {\varSigma _{\rm f}}$ 使之组成事件串 $\omega $ 的一个事件.

如果经典DES状态集 $Q = {\rm{\{ }}{q_0},{q_1}, \cdots ,{q_{n - 1}}{\rm{\} }}$ ,那么FDES中的状态 $\tilde {{q}}$ 表示为向量 $[{a_0}, {a_1}, \cdots, {a_{n - 1}}]$ ,这里 ${a_i} \in [0,1]$ 代表当前状态是 ${q_i}$ 的可能性. 同理,FDES中的模糊事件 $\tilde {\sigma} $ 是一个矩阵 ${[{a_{ij}}]_{n \times n}}$ ,其中 ${a_{ij}} \in [0,1]$ 表示当事件 $\tilde {\sigma} $ 发生时,系统从状态 ${q_i}$ 转移到 ${q_j}$ 的可能性[11]. 一个FDES定义为如下模糊自动机[19-20]

$\tilde {{G}} = (\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {{\delta}} ,{\tilde {{q}}_0}),$

其中 $\tilde {{Q}}$ 是有限模糊状态集, ${\tilde {{q}}_0}$ 是初始模糊状态, $\tilde {{\varSigma}} $ 是模糊事件集,状态转移函数 $\tilde {{\delta}} :\tilde {{Q}} \times \tilde {{\varSigma}} \to \tilde {{Q}}$ 可表示为 $\tilde { \delta} (\tilde {{ q}},\tilde {\sigma} ) = \tilde {{q}} \odot \tilde {{\sigma}} $ . 这里的 $ \odot $ 是最大最小合成运算:对于矩阵 ${{A}} = {[{b_{ij}}]_{n \times m}}$ ${{B}} = {[{b_{ij}}]_{m \times k}}$ ,定义 ${{A}} \odot {{B}} = {[{c_{ij}}]_{n \times k}}$ ,其中 ${{\rm{c}}_{ij}} = \max \min \{ {a_{il}},{b_{lj}}\} $ .

$L(\tilde {{G}})$ 是由FDES $\tilde {{G}}$ 的生成语言

$L = \{ \tilde {{s}} \in {\tilde {{\varSigma}} ^ * }:(\exists \tilde {{q}} \in \tilde {{Q}})\tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{s}}) = \tilde {{q}}\} .$

$\tilde {{s}}$ 的后继语言是指

$L/\tilde {{s}} = \{ \tilde {{t}} \in {\tilde {{\varSigma}} ^ * }:(\exists \tilde {{q}} \in \tilde {{Q}})\tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{s}}\tilde {{t}}) = \tilde {{q}}\} .$

定义不可观事件模糊集为 ${\tilde {{\varSigma}} _{\rm uo}}:\tilde {{\varSigma}} \to [0,1]$ ,可观事件模糊集为 ${\tilde {{\varSigma}} _{\rm o}}:\tilde {{\varSigma}} \to [0,1]$ ,故障事件模糊集为 ${\tilde {{\varSigma}} _{\rm f}}:\tilde {{\varSigma}} \to [0,1]$ . ${\tilde {{\varSigma}} _{\rm f}}$ 表示模糊事件 $\tilde {{\sigma}} \in \tilde {{\varSigma}} $ 可能的故障程度, ${\tilde {{\varSigma}} _{\rm o}}$ ${\tilde {{\varSigma}} _{\rm uo}}$ 表示模糊事件 $\tilde {{\sigma}} $ 的可观程度,它们满足

${\tilde {{\varSigma}} _{\rm o}}(\tilde {{\sigma}} ) + {\tilde {{\varSigma}} _{\rm uo}}(\tilde {{\sigma}} ) = 1.$

并且,最大可观测事件定义为

${\tilde {{\varSigma}} _{\max - \rm o}} = \{ \tilde {{\sigma}} \in \tilde {{\varSigma}} :(\forall \tilde {{\alpha}} \in \tilde {{\varSigma}} ){\tilde {{\varSigma}} _{\rm o}}(\tilde {{\sigma}} ) \geqslant {\tilde {{\varSigma}} _{\rm o}}(\tilde {{\alpha}} )\} .$

对于 $\tilde {{\sigma}} \in \tilde {{\varSigma}} $ ,模糊事件 $\tilde {{\sigma}} $ 的投影 ${P_{\tilde {{\sigma}} }}:{\tilde {{\varSigma}} ^ * } \to {\tilde {{\varSigma}} ^ * }$ 定义为 ${P_{\tilde {{\sigma}} }}(\varepsilon ) = \varepsilon $ ,并且对于 $\tilde {{a}} \in \tilde {{\varSigma}} $ $\tilde {{s}} \in {\tilde {{\varSigma}} ^ * }$ ,有 $ {P_{\tilde {{\sigma}} }}(\tilde {{s}}\tilde {{a}}) = $ ${P_{\tilde {{\sigma}} }}(\tilde {{s}}){P_{\tilde {{\sigma}} }}(\tilde {{a}})$ ,这里

${P_{\tilde {{\sigma}} }}(\tilde {{a}}) = \left\{ \begin{array}{l}\tilde {{a}}{\rm{, }}\text{如果}\tilde {{a}} \in {{\tilde {{\varSigma}} }_{{\rm{max - o}}}}\text{或者}{{\tilde {{\varSigma}} }_{\rm o}}(\tilde a) > {{\tilde {{\varSigma}} }_{\rm o}}(\tilde {{\sigma}} );\\\varepsilon ,\text{否则}.\end{array} \right.$

其逆映射定义为

$P_{_{\tilde {{\sigma}} }}^{{\rm{ - }}1}(\tilde {{t}}) = \{ \tilde {{s}} \in {\tilde {{\varSigma}} ^ * }:(\exists \tilde {{q}} \in \tilde {{Q}})\tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{s}}) = \tilde {{q}} \wedge {P_{\tilde {{\sigma}} }}(\tilde {{s}}) = \tilde {{t}}\}. $
2 FDES基于模式的可诊断性形式化

给定一个语言L和事件集 $\tilde {{\varSigma}} $ 上的一个有穷串的集合K,本文定义模式KS类型为集合 $S \in L$ ,定义模式KT类型为集合 $T \in L$ ,这里

$S = \{ \tilde {{s}} \in L:(\exists \tilde {{u}} \in K)(\tilde {{u}}\text{是}\tilde {{s}}\text{的子序列})\}, $
$T = \{ \tilde {{s}} \in L:(\exists \tilde {{u}} \in K)(\tilde {{u}}\text{是}\tilde {{s}}\text{的子串})\}. $

定义集合 ${\varPsi _S}(K) \subseteq S$ ,集合 ${\varPsi _T}(K) \subseteq T$ ,这里

${\varPsi _S}(K) = \{ \tilde {{s}}\tilde {{\sigma}} \in S:(\exists \tilde {{u}}\tilde {{\sigma}} \in K)(\tilde {{u}}\tilde {{\sigma}} \text{是}\tilde {{s}}\tilde {{\sigma}} \text{的子序列})\}, $
${\varPsi _T}(K) = \{ \tilde {{s}}\tilde {{\sigma}} \in T:(\exists \tilde {{u}}\tilde {{\sigma}} \in K)(\tilde {{u}}\tilde {{\sigma}} \text{是}\tilde {{s}}\tilde {{\sigma}} \text{的子串})\}. $

由此可见,这两种类型的区别就是S类型是发生某一特定件事之后,再发生另一特定事件,但是中间可以有其他的事件发生;而T类型要求这几个特定的事件必须是紧接着的,中间不可以再发生其他事件.

定义1(S类型模式可诊断性)  $\tilde {{G}}$ 是一个FDES,KL中的一个语言,称L是关于模式KS类型模式可诊断的,如果下列条件满足:

$(\exists n \in \mathbb{N})(\forall \tilde {{s}} \in {\Psi _S}(K))(\forall \tilde {{t}} \in L/\tilde {{s}})(\left\| {\tilde {{t}}} \right\| > n \Rightarrow D_P^S),$

这里 $D_P^S:P_{\tilde \sigma }^{ - 1}P(\tilde {{s}}\tilde {{t}}) \cap L \subseteq S$ .

直观上,L是关于模式KS类型模式可诊断的表示,对任意发生的S类型的模式故障,都能够在有限步之内将其诊断出来.

例1 考虑图2给定的FDES的 $\tilde {{G}}$ ,其中 $\tilde {{G}}$ 的生成语言为 $ L = \overline {\tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}{{\tilde {{d}}}^ * } + (\tilde {{a}}\tilde {{d}} + \tilde {{d}}\tilde {{e}})\tilde {{c}}{{\tilde {{b}}}^ * } + \tilde {{d}}\tilde {{b}}\tilde {{a}}\tilde {{c}}{{\tilde {{d}}}^ * }}.$

图 2 例1中的逻辑自动机 Figure 2 The logical automaton in example 1

假设初始状态为 ${\tilde {{q}}_0} = [0.8,0.1]$ ,并且事件

$\tilde {{a}} = \left[ {\begin{array}{*{20}{c}} {0.7}&{0.1} \\ {0.3}&{0.2} \end{array}} \right],$   $\tilde {{b}} = \left[ {\begin{array}{*{20}{c}} {0.3}&{0.2} \\ {0.2}&{0.3} \end{array}} \right],$   $\tilde {{c}} = \left[ {\begin{array}{*{20}{c}} {0.2}&{0.2} \\ {0.1}&{0.1} \end{array}} \right],$

$\tilde {{d}} = \left[ {\begin{array}{*{20}{c}} 0&{0.9} \\ {0.6}&{0.3} \end{array}} \right],$   $\tilde {{e}} = \left[ {\begin{array}{*{20}{c}} {0.4}&{0.5} \\ 0&{0.7} \end{array}} \right].$

可以得到各个状态为 ${\tilde {{q}}_1}\! =\! [0.1,0.8],$ ${\tilde {{q}}_2}\! =\![0.7,0.1],$ ${\tilde {{q}}_3}\! =\![0.2,0.3],$ ${\tilde {{q}}_4}\! =\![0.1,0.7],$ ${\tilde {{q}}_5}\! =\! [0.3,0.2],$ ${\tilde {{q}}_6}\! =\! [0.1,0.1],$ ${\tilde {{q}}_7}\! =\![0.2,0.2],$ ${\tilde {{q}}_8}\! =\![0.4,0.5],$ ${\tilde {{q}}_9} = [0.5,0.4],$ ${\tilde {{q}}_{10}} = [0.3,0.3].$

并且各种事件的可观程度分别为 ${\tilde {{\varSigma}} _{\rm o}}(\tilde a) \! =\! 0.2,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde b) \! =\! 1,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde c)\! =\! 0.3,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde d) \! =\! 0.8,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde e) \! =\! 0.1.$

各种事件可能的故障程度分别为 ${\tilde {{\varSigma}} _{\rm f}}(\tilde a)\! =\! 0.7,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde b) \! =\! 0.1,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde c) \! =\! 0.8,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde d) \! =\! 0,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde e) \! =\! 0.2.$

假设给定的故障模式为 $K = \{ \tilde {{a}}\tilde {{b}},\tilde {{d}}\tilde {{c}}\} $ ,则模式KS类型为

$S = \{ \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}{\tilde {{d}}^l},\tilde {{a}}\tilde {{d}}\tilde {{c}}{\tilde {{b}}^m},\tilde {{d}}\tilde {{e}}\tilde {{c}}{\tilde {{b}}^p},\tilde {{d}}\tilde {{b}}\tilde {{a}}\tilde {{c}}{\tilde {{d}}^r}:l,m,p,r \geqslant 0\}, $

那么 ${\varPsi _S} = \{ \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}},\tilde {{a}}\tilde {{d}}\tilde {{c}}\tilde {{b}}{\tilde {{b}}^m},\tilde {{d}}\tilde {{e}}\tilde {{c}},\tilde {{d}}\tilde {{b}}\tilde {{a}}\tilde {{c}}:m \geqslant 0\} $ .

下面判断L是否关于模式KS类型模式可诊断的.

根据定义1,先验证 ${\varPsi _S}$ 里面的每一个串 $\tilde {{s}}$ 都满足 $D_P^S:P_{\tilde \sigma }^{ - 1}P(\tilde {{s}}\tilde {{t}}) \cap L \subseteq S$ .

$\tilde {{s}} = \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}$ 时,如果 $\tilde {{t}} \in L/\tilde {{s}}$ 并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ ,其中 ${{l}} \geqslant 0$ ,则有 $ P_{\tilde {{a}}}^{ - 1}{P_{\tilde {{a}}}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L =\{ \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}{\tilde {{d}}^l}\} \subseteq S$ .

$\tilde {{s}} = \tilde {{a}}\tilde {{d}}\tilde {{c}}$ 时,如果 $\tilde {{t}} \in L/\tilde {{s}}$ 并且 $\left\| {\tilde {{t}}} \right\| \geqslant 3$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 3\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ ,其中 $l \geqslant 3$ ,则有 $P_{\tilde c}^{ - 1}{P_{\tilde c}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L = \{ \tilde {{a}}\tilde {{d}}\tilde {{c}}\tilde {{b}}{\tilde {{b}}^l},\tilde {{d}}\tilde {{e}}\tilde {{c}}{\tilde {{b}}^l}\} \subseteq S$ .

$\tilde {{s}} = \tilde {{d}}\tilde {{e}}\tilde {{c}}$ 时,如果 $\tilde {{t}} \in L/\tilde {{s}}$ 并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ ,其中 $l \geqslant 0$ ,则有 $P_{\tilde c}^{ - 1}{P_{\tilde c}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L = \{ \tilde {{a}}\tilde {{d}}\tilde {{c}}\tilde {{b}}{\tilde {{b}}^l},\tilde {{d}}\tilde {{e}}\tilde {{c}}{\tilde {{b}}^l}\} \subseteq S$ .

$\tilde {{s}} = \tilde {{d}}\tilde {{b}}\tilde {{a}}\tilde {{c}}$ 时,如果 $\tilde {{t}} \in L/\tilde {{s}}$ 并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ ,其中 $l \geqslant 0$ ,则有 $P_{\tilde c}^{ - 1}{P_{\tilde c}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L = \{ \tilde {{d}}\tilde {{b}}\tilde {{a}}\tilde {{c}}{\tilde {{d}}^l}\} \subseteq S$ .

因此,根据定义1得,L是关于模式KS类型模式可诊断. 但是,如果将模式改为 $K = \{ \tilde {{e}}\tilde {{b}}\} $ ,则语言L不是关于模式KS类型模式可诊断,因为此时 $S = $ $ \{ \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}{\tilde {{d}}^l},\tilde {{d}}\tilde {{e}}\tilde {{c}}{\tilde {{b}}^p}:l,p \geqslant 0\} $ ${\varPsi _S}{\rm{ = }}\{ \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}},\tilde {{d}}\tilde {{e}}\tilde {{c}}\tilde {{b}}\} $ .

$\tilde {{s}} = \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}$ ,如果 $\tilde {{t}} \in L/\tilde { s}$ 并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ 时,这里 $l \geqslant 0$ ,有 $P_{\tilde {{e}}}^{ - 1}{P_{\tilde {{e}}}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L = \{ \tilde {{a}}\tilde {{e}}\tilde {{d}}\tilde {{b}}{\tilde {{d}}^l},\tilde {{d}}\tilde {{b}}\tilde {{a}}\tilde {{c}}{\tilde {{d}}^l}\} \not\subset S$ . 所以,根据定义1可得,L不是关于模式KS类型模式可诊断.

定义2(T类型模式可诊断性)  $\tilde {{G}}$ 是一个FDES,KL中的一个语言,称L是关于模式KT类型模式可诊断的,如果下列条件满足:

$(\exists n \in \mathbb{N})(\forall \tilde {{s}} \in {\Psi _T}(K))(\forall \tilde {{t}} \in L/\tilde {{s}})(\left\| {\tilde {{t}}} \right\| > n \Rightarrow D_P^T),$

这里 $D_P^T:P_{\tilde \sigma }^{ - 1}P(\tilde {{s}}\tilde {{t}}) \cap L \subseteq T$ .

例2 考虑图3给定的FDES的 $\tilde {{G}}$ ,其中 $\tilde {{G}}$ 的生成语言为 $L = \overline {\tilde {{d}}\tilde {{a}}({{\tilde {{b}}}^ * } + \tilde {{c}}{{\tilde {{d}}}^ * }) + \tilde {{e}}\tilde {{d}}(\tilde {{c}}{{\tilde {{b}}}^ * } + \tilde {{b}}{{\tilde {{d}}}^ * })}. $

图 3 例2中的逻辑自动机 Figure 3 The logical automaton in example 2

假设初始状态为 ${\tilde {{q}}_0} = [0.8,0.2]$ ,并且事件

$\tilde {{a}} = \left[ {\begin{array}{*{20}{c}} {0.5}&{0.1} \\ {0.6}&{0.2} \end{array}} \right],$   $\tilde {{b}} = \left[ {\begin{array}{*{20}{c}} {0.4}&{0.1} \\ 0&{0.2} \end{array}} \right],$   $\tilde {{c}} = \left[ {\begin{array}{*{20}{c}} {0.3}&{0.1} \\ {0.7}&{0.2} \end{array}} \right],$

$\tilde {{d}} = \left[ {\begin{array}{*{20}{c}} {0.6}&{0.1} \\ {0.5}&{0.2} \end{array}} \right],$   $\tilde {{e}} = \left[ {\begin{array}{*{20}{c}} {0.7}&{0.1} \\ {0.4}&{0.1} \end{array}} \right].$

图 3 例2中的逻辑自动机 Figure 3 The logical automaton in example 2

可以得到各个状态分别为 ${\tilde {{q}}_1} \!=\! [0.6,0.2],$ ${\tilde {{q}}_2} \!=\! [0.7,0.1],$ ${\tilde {{q}}_3} \!=\! [0.5,0.2],$ ${\tilde {{q}}_4} \!=\! [0.4,0.2],$ ${\tilde {{q}}_5} \!=\! [0.3,0.2],$ ${\tilde {{q}}_6} \!=\! [0.6,0.1],$ ${\tilde {{q}}_7} \!=\! [0.4,0.1],$ ${\tilde {{q}}_8} \!=\! [0.3,0.1].$

并且各种事件的可观程度分别为 ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{a}}) \!=\! 0.2,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{b}}) \!=\! 1,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{c}}) \!=\! 0.3,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{d}}) \!=\! 0.8,$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{e}}) \!=\! 0.1.$

各种事件可能的故障程度分别为 ${\tilde {{\varSigma}} _{\rm f}}(\tilde {{a}}) \!=\! 0.7,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde {{b}}) \!=\! 0.1,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde {{c}}) \!=\! 0.8,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde {{d}}) \!=\! 0,$ ${\tilde {{\varSigma}} _{\rm f}}(\tilde {{e}}) \!=\! 0.2.$

假设给定模式为 $K = \{ \tilde {{a}}\tilde {{b}},\tilde {{d}}\tilde {{c}}\} $ ,则模式KT类型为 $ T = \{ \tilde {{d}}\tilde {{a}}\tilde {{b}}{\tilde {{b}}^l},\tilde {{e}}\tilde {{d}}\tilde {{c}}{\tilde {{b}}^m}:l,m \geqslant 0\}$ ,并且, ${\varPsi _T}{\rm{ = \{ }}\tilde {{d}}\tilde {{a}}\tilde {{b}},\tilde {{e}}\tilde {{d}}\tilde {{c}}{\rm{\} }}$ .

下面判断L是否关于模式KT类型模式可诊断的.

根据定义2,先验证 ${\varPsi _T}$ 里面的每一个串 $\tilde s$ 都满足 $D_P^T:P_{\tilde \sigma }^{ - 1}P(\tilde {{s}}\tilde {{t}}) \cap L \subseteq T$ .

$\tilde {{s}} = \tilde {{d}}\tilde {{a}}\tilde {{b}}$ 时,如果 $\tilde {{t}} \in L/\tilde {{s}}$ ,并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ ,其中 $l \geqslant 0$ ,则有 $P_{\tilde {{a}}}^{ - 1}{P_{\tilde {{a}}}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L = \{ \tilde {{d}}\tilde {{a}}\tilde {{b}}{\tilde {{b}}^l}\} \subseteq T$ .

$\tilde {{s}} = \tilde {{e}}\tilde {{d}}\tilde {{c}}$ 时,如果 $\tilde {{t}} \in L/\tilde {{s}}$ ,并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}} \in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ ,其中 $l \geqslant 0$ ,则有 $ P_{\tilde {{c}}}^{ - 1}{P_{\tilde {{c}}}}(\tilde {{s}}\tilde {{t}}) \cap$ $ L = \{ \tilde {{d}}\tilde {{a}}\tilde {{b}}{\tilde {{b}}^l},\tilde {{e}}\tilde {{d}}\tilde {{c}}{\tilde {{b}}^l}\} \subseteq T$ .

因此,根据定义2得,L是关于模式KT类型模式可诊断. 但是,如果将模式改为 $K = \{ \tilde {{d}}\tilde {{c}}\} $ ,则语言L不是关于模式KT类型模式可诊断,因为此时 $T = $ $ \{ \tilde {{e}}\tilde {{d}}\tilde {{c}}{\tilde {{b}}^m}:m \geqslant 0\} $ ${\varPsi _T}{\rm{ = \{ }}\tilde {{e}}\tilde {{d}}\tilde {{c}}{\rm{\} }}$ .

$\tilde {{s}} = \tilde {{e}}\tilde {{d}}\tilde {{c}}$ ,如果 $\tilde { t} \in L/\tilde { s}$ ,并且 $\left\| {\tilde {{t}}} \right\| \geqslant 0$ ,那么 $\tilde {{t}}s\in \{ {\tilde {{d}}^l}:l \geqslant 0\} $ . 取 $\tilde {{t}} = {\tilde {{d}}^l}$ 时,这里 $l \geqslant 0$ ,有 $P_{\tilde {{c}}}^{ - 1}{P_{\tilde {{c}}}}(\tilde {{s}}\tilde {{t}}) \cap $ $ L = \{ \tilde {{d}}\tilde {{a}}\tilde {{b}}{\tilde {{b}}^l},\tilde {{e}}\tilde {{d}}\tilde {{c}}{\tilde {{b}}^l}\} \not\subset T$ . 所以,根据定义2可得,L不是关于模式KT类型模式可诊断.

注记1 由定义1和定义2可知,如果一个FDES关于模式KT类型模式可诊断的,则L关于模式K一定是S类型模式可诊断的. 反之,则不一定成立.

注记2 如果 $\forall {{\tilde {{s}}}} \in K,\left\| {\tilde {{s}}} \right\| = 1$ ,则上述T类型模式诊断问题与S类型模式诊断问题等价,都等价于笔者在文献[18]中提出FDES对单个故障事件的故障诊断问题.

3 FDES基于模式可诊断性的充分必要条件

假设 $\tilde {{G}} = (\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {{\delta}} ,{\tilde {{q}}_0})$ 是一个FDES,定义故障标签集为 $ \varDelta = \{ F\} \cup \{ {N^\mu }:\mu = {\tilde {{\varSigma}} _{\rm f}}(\tilde {{a}}),\tilde {{a}} \in \tilde{{ \varSigma}} \} $ ,其中F表示故障发生的可能程度超过了指定上界 ${\tilde {{\varSigma}} _{\rm f}}(\tilde { a})$ ,从而使系统陷入了故障状态, ${N^\mu }$ 则意味着故障发生的可能程度是 $\mu $ ,它并未超过指定上界,从而系统仍处于正常状态[24].

根据S类型模式和T类型模式,本文先构造2个FSA.

对于给定FDES $\tilde {{G}} = (\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {{\delta}} ,{\tilde {{q}}_0})$ 和事件串 $ \tilde {{s}} = {\tilde {{\sigma}} _1}$ ${\tilde {{\sigma}} _2} \cdots {\tilde {{\sigma}} _m} \in {\tilde {{\varSigma}} ^ * }$ ,构造一个S类型FSA:

${H_S}(\tilde {{\varSigma}} ,\tilde {{s}}) = ({\tilde {{Q}}_S},\tilde {{\varSigma}} ,{\tilde {{\delta}} _S},q_0^S,{\tilde {{F}}_S}),$

其中 ${\tilde {{Q}}_S}{\rm{ = }}\{ 0,1,2, \cdots ,\left\| {\tilde {{s}}} \right\|\} $ $q_0^S{\rm{ = }}0$ ${\tilde {{F}}_S}{\rm{ = }}\{ \left\| {\tilde {{s}}} \right\|\} $ ,并且对于任意 $q \in {\tilde {{Q}}_S}\backslash \{ \left\| {\tilde {{s}}} \right\|\} $ $\tilde {{\sigma}} \in \tilde {{\varSigma}} $ ,定义

${\tilde {{\delta}} _S}(q,\tilde {{\sigma}} ) = \left\{ \begin{array}{l}q + 1,\;\;\;\tilde {{\sigma}} = {{\tilde {{\sigma}} }_{q + 1}},\\q,\;\;\;\;\;\;\;\text{否则},\end{array} \right.$

并且 ${\tilde {{\delta}} _S}(\left\| {\tilde {{s}}} \right\|,\tilde {{\sigma}} ) = \left\| {\tilde {{s}}} \right\|$ .

以类似方法,构造一个T类型FSA如下:

${H_T}(\tilde {{\varSigma}} ,\tilde {{s}}) = ({\tilde {{Q}}_T},\tilde {{\varSigma}} ,{\tilde {{\delta}} _T},q_0^T,{\tilde {{F}}_T}),$

其中 ${\tilde {{Q}}_T}{\rm{ = }}\{ 0,1,2, \cdots ,\left\| {\tilde {{s}}} \right\|\} $ $q_0^T = 0$ ${\tilde {{F}}_T}{\rm{ = }}\{ \left\| {\tilde {{s}}} \right\|\} $ ,并且对于任意 $q \in {\tilde {{Q}}_T}\backslash \{ \left\| {\tilde {{s}}} \right\|\} $ $\tilde {{\sigma}} \in \tilde {{\varSigma}} $ ,定义

${\tilde {{\delta}} _S}(q,\tilde {{\sigma}} ) = \left\{ \begin{array}{l}q + 1,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\tilde {{\sigma}} = {{\tilde {{\sigma}} }_{q + 1}}\\{\max _{i \in {\rm{match}}(q)}}i,\;\;\;\;{\rm{match}}(q) \ne \emptyset ,\\0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\text{否则},\end{array} \right.$

其中

$\begin{gathered} {\rm{match}}(q){\rm{ = }}\{ i:[(i = 1) \wedge ({{\tilde {{\sigma}} }_1} = \tilde {{\sigma}} )] \vee \\ [(1 < i \leqslant q) \wedge ({{\tilde {{\sigma}} }_1} \cdots {{\tilde {{\sigma}} }_i} = {{\tilde {{\sigma}} }_{q - i + 1}} \cdots {{\tilde {{\sigma}} }_q})]\},\end{gathered}$

并且 ${\tilde {{\delta}} _T}(\left\| {\tilde {{s}}} \right\|,\tilde {{\sigma}} ) = \left\| {\tilde {{s}}} \right\|$ .

给定两个FSA ${\tilde {{G}}_1} = {\rm{(}}{\tilde {{Q}}_1},{\tilde {{\varSigma}} _1},{\tilde {{\delta}} _1},\tilde {{q}}_0^1,{\tilde {{F}}_1}{\rm{)}}$ ${\tilde {{G}}_2} = $ $ {\rm{(}}{\tilde {{Q}}_2},{\tilde {{\varSigma}} _2},{\tilde {{\delta}} _2},\tilde {{q}}_0^2,{\tilde {{F}}_2}{\rm{)}}$ ,定义 ${\tilde {{G}}_1}$ ${\tilde {{G}}_2}$ 的笛卡尔积为

${\tilde {{G}}_1} \times {\tilde {{G}}_2} = {\rm{(}}\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {{\delta}} ,{\tilde {{q}}_0},\tilde F{\rm{)}},$

其中 $\tilde {{Q}} \subseteq {\tilde {{Q}}_1} \times {\tilde {{Q}}_2}$ $\tilde {{\varSigma}} = {\tilde {{\varSigma}} _1} \cap {\tilde {{\varSigma}} _2}$ ${\tilde {{q}}_0} = ({\tilde {{q}}_1},{\tilde {{q}}_2})$ $\tilde {{F}} = $ $ {\tilde {{F}}_1} \cap {\tilde {{F}}_2}$ ,并且如果 ${\tilde {{\delta}} _1}({\tilde {{q}}_1},\tilde {{\sigma}} )$ ${\tilde {{\delta}} _2}({\tilde {{q}}_2},\tilde {{\sigma}} )$ 都有定义,则 ${{\tilde \delta}} (({\tilde {{q}}_1},{\tilde {{q}}_2}),\tilde {{\sigma}} ) = ({\tilde {{\delta}} _1}({\tilde {{q}}_1},\tilde {{\sigma}} ),{\tilde {{\delta}} _2}({\tilde {{q}}_2},\tilde {{\sigma}} ))$ .

对于 $\tilde {{G}} = (\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {\delta} ,{\tilde {{q}}_0})$ ,定义 $\tilde {{G}}$ 的观测器为

${\rm{Obs}}(\tilde {{G}}) = (\tilde {{X}},{\tilde {{\varSigma}} _0},{\tilde {{\delta}} _0},{\tilde {{x}}_0}),$

其中 $\tilde {{x}} \in \tilde {{X}}$ $\tilde {{Q}}$ 的状态集, ${\tilde {{\varSigma}} _0} \in \tilde {{\varSigma}} $ 是可观事件集,并且 ${\tilde {{x}}_0}$ 是观测器的初始状态[1].

如果 $\tilde {{q}}_{{i}}^x \in \tilde F,i = 1, \cdots ,l$ ,那么观测器的状态 $x = \{ \tilde {{q}}_1^x, \cdots ,\tilde {{q}}_l^x\} $ 称为确定状态;如果存在 $\tilde {{q}}_{{i}}^x \in \tilde {{F}}$ ,并且 $\exists i,j \in \{ 1, \cdots ,l\} \text{使得}\tilde {{q}}_i^x \in \tilde {{Q}}\backslash \tilde {{F}}$ ,那么观测器的状态 $x = \{ \tilde {{q}}_1^x, \cdots ,\tilde {{q}}_l^x\} $ 称为不确定状态.

定义3 (不确定环)  如果状态集 $\{ {\tilde {{x}}_1}, \cdots ,{\tilde {{x}}_l}\} $ 和事件集 ${\tilde {{\sigma}} _{\rm o,1}} \cdots {\tilde {{\sigma}} _{\rm o,l}} \in \tilde {{\varSigma}} _{\rm o}^ * $ 是观测器 ${\rm{Obs}}(\tilde {{G}})$ 中的一个环,如果下面条件满足,则称这个环为不确定环.

(1) ${\tilde {{x}}_i},i = 1, \cdots ,l$ 是不确定状态.

(2) $\exists \tilde {{q}}_i^k,\tilde {{r}}_i^l \in {\tilde {{x}}_i}$ 对于 $i = 1, \cdots ,m$ $k = 1, \cdots ,M$ ,并且 $ l = $ $1, \cdots ,N$ 使得 (a) 对于所有的 $i,k,l$ ,都有 $\tilde {{q}}_i^k$ 是故障状态,并且 $\tilde {{r}}_i^l$ 不是故障状态;(b) $\tilde G$ 里面存在2个对应的环:

$\begin{gathered} \tilde {{q}}_1^1\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},1}}t_1^1}}\tilde {{q}}_2^1 \cdots \xrightarrow{{{{\tilde {\sigma }}_{{\rm o},m - 1}}t_{m - 1}^1}}\tilde {{q}}_m^1\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m}}t_m^1}} \\ \tilde {{q}}_2^2\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m - 1}}t_{m - 1}^2}}\tilde {{q}}_m^2 \cdots \tilde {{q}}_1^M\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},1}}t_1^M}} \\ \tilde {{q}}_2^M\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m - 1}}t_{m - 1}^M}}\tilde {{q}}_m^M\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m}}t_m^M}}\tilde {{q}}_1^1 \\ \end{gathered} $

$\begin{gathered} \tilde {{r}}_1^1\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},1}}u_1^1}}\tilde {{r}}_2^1 \cdots \xrightarrow{{{{\tilde {\sigma }}_{{\rm o},m - 1}}u_{m - 1}^1}}\tilde {{r}}_m^1\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m}}u_m^1}} \\ \tilde {{r}}_2^2\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m - 1}}u_{m - 1}^2}}\tilde {{r}}_m^2 \cdots \tilde {{r}}_1^N\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},1}}u_1^N}} \\ \tilde {{r}}_2^N\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m - 1}}u_{m - 1}^M}}\tilde {{r}}_m^N\xrightarrow{{{{\tilde {\sigma} }_{{\rm o},m}}u_m^M}}\tilde {{r}}_1^1, \\ \end{gathered} $

这里对于所有的 $i,j,k$ ,都有 $t_i^k,u_i^l \in \tilde {{\varSigma}} _{\rm uo}^ * $ .

定理1 (S类型模式可诊断性充分必要条件)  设 $\tilde {{G}}$ 是一个FDES,KL中的一个语言,L关于模式KS类型模式可诊断的当且仅当 $ {\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times$ $ {H_S}(\tilde {{\varSigma}} ,\tilde s)))$ 中不包含任何不确定环.

证明 先证明充分性,假设 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times $ $ {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 不包含任何标记不确定环. 根据定义3,观测器的循环状态对应系统所有的状态要么全处于正常状态,要么全是处于故障状态. ${U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})) = {\rm{(}}\tilde {{Q}},\tilde {{\varSigma}} , $ $\tilde {{\delta}} ,{\tilde {{q}}_0},\tilde {{F}}{\rm{)}}$ $\tilde {{q}} \in \tilde {{Q}}$ . 那么如果 $\tilde {{q}} \in \tilde {{F}}$ ,也就是观测器的循环状态对应系统所有的状态全是处于故障状态,那么肯定 $\exists \tilde {{\omega}} \in L,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,并且 $\tilde {{\omega}} \in S$ ,同时不存在 $\tilde {{\omega}} \notin S,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ . 而如果 $\tilde {{q}} \notin \tilde {{F}}$ ,也就是观测器的循环状态对应系统所有的状态全是处于正常状态,那么 $\forall \tilde {{\omega}} \in L,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,都有 $\tilde {{\omega}} \notin S$ . 根据定义1,知道此系统肯定是关于模式KS类型的模式可诊断.

下面再证明必要性,假设语言L是关于模式K和映射PS类型的模式可诊断,则根据定义1有 $(\exists n \in \mathbb{N})(\forall \tilde {{s}} \in {\varPsi _S}(K))(\forall \tilde {{t}} \in L/\tilde {{s}})(\left\| {\tilde {{t}}} \right\| > n \Rightarrow D_P^S)$ 这里 $D_P^S: $ $P_{\tilde \sigma }^{ - 1}P(\tilde {{s}}\tilde {{t}}) \cap L \subseteq S$ . ${U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})) = {\rm{(}}\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {{\delta}} ,{\tilde {{q}}_0},\tilde {{F}}{\rm{)}}$ $\tilde {{q}} \in \tilde {{Q}}$ . 假设 $\tilde {{q}} \in \tilde {{F}}$ ,如果 $\exists \tilde {{\omega}} \in L$ ,并且 $\tilde {{\omega}} \notin S,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,显然会违背定义1,所以所有的 $\tilde {{\omega}} \in S$ . 假设 $\tilde {{q}} \notin \tilde {{F}}$ ,如果 $\exists \tilde {{\omega}} \in L$ ,并且 $\tilde {{\omega}} \in S,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,同时 $\exists \tilde {{\omega}} \in L$ ,并且 $\tilde {{\omega}} \notin S,\tilde {{q}} = $ $ \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,根据定义1,不能判断L是关于模式 KS类型的模式可诊断,所以 $\forall \tilde {{\omega}} \in L, $ $\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,都有 $\tilde {{\omega}} \notin S$ . 根据定义3就可以得到 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 不包含任何标记不确定环.

定理2 (T类型模式可诊断性充分必要条件)  设 $\tilde {{G}}$ 是一个FDES,KL中的一个语言,L关于模式KT类型模式可诊断的当且仅当 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde s)))$ 中不包含任何不确定环.

证明 先证明充分性,假设 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde s)))$ 不包含任何标记不确定环. 根据定义3,观测器的循环状态对应系统所有的状态要么全处于正常状态,要么全是处于故障状态. $ {U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde s)) = {\rm{(}}\tilde {{Q}},\tilde {{\varSigma}} ,$ $\tilde {{\delta}} ,{\tilde {{q}}_0},\tilde F{\rm{)}}$ $\tilde {{q}} \in \tilde {{Q}}$ . 那么如果 $\tilde {{q}} \in \tilde {{F}}$ ,也就是观测器的循环状态对应系统所有的状态全是处于故障状态,那么肯定 $\exists \tilde {{\omega}} \in L,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,并且 $\tilde {{\omega}} \in T$ ,同时不存在 $\tilde {{\omega}} \notin T,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ . 而如果 $\tilde {{q}} \notin \tilde {{F}}$ ,也就是观测器的循环状态对应系统所有的状态全是处于正常状态,那么 $\forall \tilde {{\omega}} \in L,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,都有 $\tilde {{\omega}} \notin T$ . 根据定义2,可知道此系统肯定是关于模式KT类型的模式可诊断.

下面再证明必要性,假设语言L是关于模式K和映射PT类型的模式可诊断,则根据定义2有 $(\exists n \in \mathbb{N})(\forall \tilde {{s}} \in {\Psi _T}(K))(\forall \tilde t \in L/\tilde {{s}})(\left\| {\tilde {{t}}} \right\| > n \Rightarrow D_P^T)$ 这里 $D_P^T: $ $P_{\tilde {{\sigma}} }^{ - 1}P(\tilde {{s}}\tilde {{t}}) \cap L \subseteq T$ . ${U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})) = {\rm{(}}\tilde {{Q}},\tilde {{\varSigma}} ,\tilde {{\delta}} ,{\tilde {{q}}_0},\tilde {{F}}{\rm{)}}$ $\tilde {{q}} \in \tilde {{Q}}$ . 假设 $\tilde {{q}} \in \tilde {{F}}$ ,如果 $\exists \tilde {{\omega}} \in L$ ,并且 $\tilde {{\omega}} \notin T,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,显然会违背定义2,所以有所有的 $\tilde {{\omega}} \in T$ . 假设 $\tilde {{q}} \notin \tilde {{F}}$ ,如果 $\exists \tilde {{\omega}} \in L$ ,并且 $\tilde {{\omega}} \in T,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,同时 $\exists \tilde {{\omega}} \in L$ ,并且 $\tilde {{\omega}} \notin T,\tilde {{q}} = $ $ \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,根据定义2,不能判断L是关于模式KT类型的模式可诊断,所以 $\forall \tilde {{\omega}} \in L,\tilde {{q}} = \tilde {{\delta}} ({\tilde {{q}}_0},\tilde {{\omega}} )$ ,都有 $\tilde {{\omega}} \notin T$ . 根据定义3就可以得到 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times $ $ {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 不包含任何标记不确定环.

注记3 由定理1和定理2知,通过构造 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde s)))$ ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ ,判断L关于模式K是否为S类型和T类型模式可诊断. 本文称 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})))$ S类型模式诊断器,而称 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ T类型模式诊断器.

4 实例

下面将例1、2使用定理的方式进行证明.

例3 考虑例1中给定的FDES $\tilde {{G}}$ .

(1) 如果模式 $K = \{ \tilde {{a}}\tilde {{b}},\tilde {{d}}\tilde {{c}}\} $ ,在例1中已经用定义的方法得到了L关于模式KS类型模式可诊断的结论. 下面再用定理1的方法证明该结论.

S类型模式诊断器 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 构造如图4所示. 这里选取的可观标准是模式里面,先选取每个事件串里面的可观程度最大的,然后再取这里面的最小值,这个事件就是我们可观与否的基准. 例3里面,模式K先选取两组的最小值,分别为 ${\tilde {{\varSigma}} _{\rm o}}(\tilde { b}) = 1$ ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{d}}) = 0.8$ ,然后再选择这里面的最小值,也就是 ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{d}}) = 0.8$ 了. 这里面可观程度大于 ${\tilde {{\varSigma}} _{\rm o}}(\tilde {{d}}) = $ 0.8的全看作是可观事件,否则就是不可观事件.

由于 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde s)))$ 中最后循环状态6、7、10都陷入了S类型的故障模式, ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times $ $ {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 不包含任何不确定环,根据定理1得,L关于模式KS类型模式可诊断的.

(2) 如果模式 $K = \{ \tilde {{e}}\tilde {{b}}\} $ ,在例1中已经用定义的方法得到了L关于模式K不是S类型模式可诊断的结论. 下面再用定理1的方法证明该结论.

尽管构造 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_S}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 图4(a)相同,但由于只有最后的循环状态6和状态10陷入S类型的故障模式,而状态7和状态10形成了一个不确定环,所以根据定理1得到例1相同的结论,L关于模式K不是S类型模式可诊断.

例4 考虑例2中给定的FDES $\tilde {{G}}$ .

(1) 如果模式 $K = \{ \tilde {{a}}\tilde {{b}},\tilde {{d}}\tilde {{c}}\} $ ,在例2中已经用定义的方法得到了L关于模式KT类型模式可诊断的结论. 下面再用定理2的方法证明该结论. 将T类型模式诊断器 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 构造如图4(b)所示.

图 4 例3与例4中的诊断器 Figure 4 The diagnoser in example 3 and example 4

由于 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 中最后只有循环状态4和8陷入了T类型的故障模式 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times $ $ {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 不包含任何不确定环,根据定理2得,L关于模式KT类型模式可诊断的.

(2) 如果模式 $K = \{ \tilde {{d}}\tilde {{c}}\} $ ,在例2中已经用定义的方法得到了L关于模式K不是T类型模式可诊断的结论. 下面再用定理2的方法证明该结论.

尽管构造 ${\rm{Obs}}({U_{\tilde {{s}} \in K}}(\tilde {{G}} \times {H_T}(\tilde {{\varSigma}} ,\tilde {{s}})))$ 与如图4(b)相同,但由于只有最后的循环状态8陷入T类型的故障模式,而状态4和状态8形成了一个不确定环,所以根据定理2得到例2相同的结论,L关于模式K不是T类型模式可诊断.

5 结论

本文以模糊离散事件系统为模型,提出了基于S类型和T类型两种模式的故障诊断方法. 先对模糊离散事件系统的S类型模式可诊断性和T类型模式可诊断性进行了形式化,再通过构造S类型模式诊断器和T类型模式诊断器,分别得到了模糊离散事件系统关于S类型模式可诊断性和T类型模式可诊断性的充分必要条件,实现了模糊离散事件系统基于模式的故障诊断. 在后续工作中,将在本文的基础上将这两种故障模式推广到分布式模糊系统,考虑分布式FDES基于模式的故障诊断问题.

参考文献
[1]
CASSANDRAS C, LAFORTUNE S. Introduction to discrete event systems 2ed[M]. New York: Springer, 2008.
[2]
LIN F. Diagnosability of discrete event systems and its applications[J]. Discrete Event Dynamic Systems: Theory and Applications, 1994, 4(2): 197-212. DOI: 10.1007/BF01441211.
[3]
SAMPATH M, SENGUPTA R, LAFORTUNE S, et al. Diagnosability of discrete event system[J]. Automatic Control IEEE Transactions on, 1995, 40(9): 1555-1575. DOI: 10.1109/9.412626.
[4]
HOPCROFT J E, MOTWANI R, ULLMAN J D. Introduction to automata theory, Languages, and Computation 2ed[M]. Boston: Addison Wesley, 2001.
[5]
JIANG S, HUANG Z, CHANDRA V, et al. A polynomial algorithm for testing diagnosability of discrete-event systems[J]. Automatic Control IEEE Transactions on, 2001, 46(8): 1318-1321. DOI: 10.1109/9.940942.
[6]
YOO T S, LAFORTUNE S. Polynomial-time verification of diagnosability of partially observed discrete-event systems[J]. Automatic Control IEEE Transactions on, 2002, 47(9): 1491-1495. DOI: 10.1109/TAC.2002.802763.
[7]
胡芹, 刘富春. 基于离散事件系统的云资源分配优化控制[J]. 广东工业大学学报, 2016, 33(1): 29-35.
HU Q, LIU F C. Optimization control of cloud resource allocation based on DES[J]. Journal of Guangdong University of Technology, 2016, 33(1): 29-35. DOI: 10.3969/j.issn.1007-7162.2016.01.006.
[8]
DEBOUK R, LAFORTUNE S, TENEKETZIS D. Coordinated decentralized protocols for failure diagnosis of discrete event systems[J]. Discrete Event Dynamic Systems: Theory and Applications, 2000, 10(1): 33-86.
[9]
PENCOLÉ Y. Diagnosability analysis of distributed discrete event systems[C]//ECAI 2004 16th European Conference on Artificial Intelligence. Spain, Valencia: IEEE, 2008: 43-47.
[10]
DUBOIS D, PRADE H. Fuzzy sets and systems: theory and applications[M]. New York: Academic Press, 1980.
[11]
LIN F, YING H. Fuzzy discrete event systems and their observability[C]//Joint 9th Ifsa World Congress and 20th Nafips International Conference. Canada, Vancouver: IEEE, 2001: 1271-1276.
[12]
CAO Y, YING M. Observability and decentralized control of fuzzy discrete-event systems[J]. IEEE Transactions on Fuzzy Systems, 2004, 14(2): 202-216.
[13]
CAO Y, YING M. Supervisory control of fuzzy discrete event systems[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics, 2005, 35(2): 366-371.
[14]
QIU D. Supervisory control of fuzzy discrete event systems: a formal approach[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics, 2005, 35(1): 72-88.
[15]
HUQ R, MANN G K I, GOSINE R G. Behavior-modulation technique in mobile robotics using fuzzy discrete event system[J]. IEEE Transactions on Robotics, 2006, 22(5): 903-916. DOI: 10.1109/TRO.2006.878937.
[16]
CAO Y, YING M, CHEN G. State-based control of fuzzy discrete-event systems[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics, 2007, 37(2): 410.
[17]
LIU J, LI Y. The relationship of controllability between classical and fuzzy discrete-event systems[J]. Basic Sciences Journal of Textile Universities, 2007, 178(21): 4142-4151.
[18]
LIU F, QIU D. Decentralized supervisory control of fuzzy discrete event systems[J]. European Journal of Control, 2008, 14(3): 234-243. DOI: 10.3166/ejc.14.234-243.
[19]
LIU F, QIU D. Diagnosability of fuzzy discrete-event systems: a fuzzy approach[J]. IEEE Transactions on Fuzzy Systems, 2009, 17(2): 372-384. DOI: 10.1109/TFUZZ.2009.2013840.
[20]
LIU F, DZIONG Z. Decentralized diagnosis of fuzzy discrete-event systems[J]. European Journal of Control, 2012, 18(3): 304-315. DOI: 10.3166/ejc.18.304-315.
[21]
LIU F. Safe diagnosability of fuzzy discrete-event systems and a polynomial-time verification[J]. IEEE Transactions on Fuzzy Systems, 2015, 23(5): 1534-1544. DOI: 10.1109/TFUZZ.2014.2362767.
[22]
GENC S, LAFORTUNE S. Diagnosis of patterns in partially-observed discrete-event systems[C]//IEEE Conference on Decision and Control. California, San Diego: IEEE, 2007: 422-427.
[23]
JERON T, MARCHAND H, PINCHINAT S, et al. Supervision patterns in discrete event systems diagnosis[C]//International Workshop on Discrete Event Systems. Germany, Berlin: IEEE, 2010: 262-268.
[24]
YE L, DAGUE P, YAN Y. An incremental approach for pattern diagnosability in distributed discrete event systems[C]//IEEE International Conference on Tools with Artificial Intelligence. New Jersey, Newark: IEEE, 2009: 123-130.
[25]
YE L, DAGUE P. A general algorithm for pattern diagnosability of distributed discrete event systems[C]//IEEE International Conference on Tools with Artificial Intelligence. Washington: IEEE, 2013: 130-137.
[26]
崔海春. 基于模式的离散事件系统故障诊断方法[D]. 长春: 吉林大学计算机科学与技术学院, 2013.