轮换法脱胎于经典解释结构模型的层级划分方法。它最大的好处是能更合理的描述层级的意义。再实际一点来说,当老板们正襟危坐的问答辩者:“你用的什么研究方法?你的研究有什么创新点?”你可以拍着胸脯理直气壮的说:“我用的是基于轮换层级抽取原则的解释结构模型法!轮换法比经典法更能准确的反映要素应当所属的层级,更能真实的体现前因-后果的辩证关系。就这点来说它就是创新……”当然只要你的论文错别字别太多,老师们知道点离散数学,也就不会这么问了。
菊花链原来指的是一种由许多菊花串接在一起形成的花环,是小朋友玩的游戏。后来转义到了拓扑几何中。
在百度百科的菊花链拓扑词条中提到了两个无向菊花链:
线性拓扑:例如,$A-B-C-D-E$,$A-B-C-D-E$和$C-M-N-O$(在C处分支)是菊花链。
环形拓扑:从最后一个设备到第一个设备有一个环路连接。例如,$A-B-C-D-E-A$(环)。这通常被称为“菊花链循环”。
如果是有向图,即发出有向边的为源点、箭头接收方为汇集点。
菊花链的有向线性拓扑为:例如,$$A\rightarrow B \rightarrow C \rightarrow D \rightarrow E$$ $$ A \rightarrow B \rightarrow C \rightarrow D \rightarrow E {和 }C \rightarrow M \rightarrow N \rightarrow O (在C处分支)是菊花链。$$
有向环形拓扑:即一个要素连接着一个要素的回路连接。例如,$A \rightarrow B \rightarrow C \rightarrow D \rightarrow E \rightarrow A$(回路)。这通常被称为“菊花链循环”。
这种有向图的菊花链,依然可以跟小朋友的游戏方式关联起来,即,小朋友串菊花链的时候是从菊花的底部开始一个菊花,一个菊花串起来。
ISM方法的步骤如下:
上述流程中红色字体处理出来的就是一个菊花链形式的表达!对应本网站的选项选项是:1、区域运算选择要 2、缩点选择不缩点3、缩边选择方式1或者选择方式2
△可达矩阵
可达矩阵是一个非常重要的概念,尽管可以不计算可达矩阵而完成上面四大核心运算,但是运用可达矩阵可以更直观的与更便于理解的方式处理ISM的四大核心运算。运用可达矩阵来计算是牺牲运算速度为代价来满足直观性的要求。
◇区域划分
区域划分,又叫连通性判断,即判断系统中任意两个要素是否存在着有可达与被可达通路。是把系统看成无向图,即把邻接矩阵中任意的$a_{xy}=1$的值都有$a_{xy}=a_{yx}=1$。如果存在多个连通区域,取最大的连通区域即主连通区域进行研究。从菊花链拓扑来说,系统有两个连通区域意味着有两个不相关的菊花链。研究时取最大的菊花链来进行研究。只含有一个要素的区域,称为孤立要素,把该要素类比成小朋友游戏中的菊花,就是没有串起来的菊花。
◇缩点与回路分析
所谓缩点是把回路当成一个要素进行分析。菊花链的表达是不进行缩点,是把回路里的要素,列出来,用一个最简单的首尾相连的菊花链形式表达。
上图右侧为回路菊花链。其中$C \rightarrow D$原图是不存在的。对于ISM的处理来说,回路只需要通过首尾相连的方式把任意排列的要素连接起来。$N个要素对应N条有向边$。
◇缩边
缩边就是把重复的路径删除,即把所有的向前边删除。
设:一个无回路的系统由$(A,B,C)$组成;路径有${A→B}, {B→C}, {A→C}$ 从$A跟C$可达的角度考虑存在着$(A→B→C) ,(A→C)$两条路径。其中$(A→C)$是可以删除的。也就是存在着多条可达路径,最短的那条路径是可以删除的。在现实世界中缩边的原则是经常出现的。比如不要越级指挥。
对于无回路的系统,即DAG,有简单的代数表达形式。
$S=R-(R-I)^2$
$S:$为缩边矩阵,又称为骨架矩阵,骨干矩阵,骨架阵
$R:$为可达矩阵
$I:$单位矩阵
该代数运算计算速度很低效,但是数学表达简洁。
对于存在回路系统,先把回路要素按照一个要素代替,那系统即变成有向无环图DAG,上述的骨架矩阵后再把回路替代回去即可!其中替代回去的规则极为重要,下面的例子会提及。
设:原始系统为如下原始邻接矩阵
$$Ori=\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &A &B &C &D &E &F &G &H &I &J &K &L\\ \hline A & & & & & & & & & & & &1\\ \hline B & & & & &1 & &1 & & & & & \\ \hline C & &1 & & & & & & & &1 &1 & \\ \hline D & &1 &1 & & & &1 &1 & &1 &1 & \\ \hline E & & & & & & & & & & & & \\ \hline F & &1 &1 &1 &1 & &1 &1 & & & & \\ \hline G & & & & &1 & & & & & & & \\ \hline H & & & & & & & & & & & & \\ \hline I & & & & & & & &1 & & & & \\ \hline J & &1 & &1 &1 & &1 &1 & & & & \\ \hline K & & & & &1 & & & & & & & \\ \hline L & & & & & & & & & & & & \\ \hline \end{array} $$
计算得出可达矩阵如下
$$R=\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &A &B &C &D &E &F &G &H &I &J &K &L\\ \hline A &1 &0 &0 &0 &0 &0 &0 &0 &0 &0 &0 &1\\ \hline B &0 &1 &0 &0 &1 &0 &1 &0 &0 &0 &0 &0\\ \hline C &0 &1 &1 &1 &1 &0 &1 &1 &0 &1 &1 &0\\ \hline D &0 &1 &1 &1 &1 &0 &1 &1 &0 &1 &1 &0\\ \hline E &0 &0 &0 &0 &1 &0 &0 &0 &0 &0 &0 &0\\ \hline F &0 &1 &1 &1 &1 &1 &1 &1 &0 &1 &1 &0\\ \hline G &0 &0 &0 &0 &1 &0 &1 &0 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &0 &1 &0 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &0 &0 &1 &1 &0 &0 &0\\ \hline J &0 &1 &1 &1 &1 &0 &1 &1 &0 &1 &1 &0\\ \hline K &0 &0 &0 &0 &1 &0 &0 &0 &0 &0 &1 &0\\ \hline L &0 &0 &0 &0 &0 &0 &0 &0 &0 &0 &0 &1\\ \hline \end{array}$$
对原始矩阵转置:
$$ Ori=\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &A &B &C &D &E &F &G &H &I &J &K &L\\ \hline A & & & & & & & & & & & &1\\ \hline B & & & & &1 & &1 & & & & & \\ \hline C & &1 & & & & & & & &1 &1 & \\ \hline D & &1 &1 & & & &1 &1 & &1 &1 & \\ \hline E & & & & & & & & & & & & \\ \hline F & &1 &1 &1 &1 & &1 &1 & & & & \\ \hline G & & & & &1 & & & & & & & \\ \hline H & & & & & & & & & & & & \\ \hline I & & & & & & & &1 & & & & \\ \hline J & &1 & &1 &1 & &1 &1 & & & & \\ \hline K & & & & &1 & & & & & & & \\ \hline L & & & & & & & & & & & & \\ \hline \end{array} \require{AMScd} \begin{CD} @>转置>>\\ \end{CD} Trans=\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &A &B &C &D &E &F &G &H &I &J &K &L\\ \hline A &0 & & & & & & & & & & &\\ \hline B & &0 &\color{red}{1} &\color{red}{1} & &\color{red}{1} & & & &\color{red}{1} & & \\ \hline C & & &0 &\color{red}{1} & &\color{red}{1} & & & & & &\\ \hline D & & & &0 & &\color{red}{1} & & & & \color{red}{1}& &\\ \hline E & &\color{red}{1} & & & 0&\color{red}{1} &\color{red}{1} & & &\color{red}{1} &\color{red}{1} &\\ \hline F & & & & & &0 & & & & & &\\ \hline G & &\color{red}{1} & &\color{red}{1} & &\color{red}{1} &0 & & &\color{red}{1} & &\\ \hline H & & & &\color{red}{1} & &\color{red}{1} & &0 &\color{red}{1} &\color{red}{1} & &\\ \hline I & & & & & & & & &0 & & &\\ \hline J & & &\color{red}{1} &\color{red}{1} & & & & & &0 & &\\ \hline K & & &\color{red}{1} &\color{red}{1} & & & & & & &0&\\ \hline L &\color{red}{1} & & & & & & & & & & &0\\ \hline \end{array} $$
两者的并集,即两个矩阵相加:
$$ Add\_Matrix=(Ori + Trans)=\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &A &B &C &D &E &F &G &H &I &J &K &L\\ \hline A &0 & & & & & & & & & & &\color{blue}{1}\\ \hline B & &0 &\color{red}{1} &\color{red}{1} & \color{blue}{1}&\color{red}{1} & \color{blue}{1}& & &\color{red}{1} & &\\ \hline C & &\color{blue}{1} &0 &\color{red}{1} & &\color{red}{1} & & & &\color{blue}{1} &\color{blue}{1} &\\ \hline D & & \color{blue}{1}&\color{blue}{1} &0 & &\color{red}{1} &\color{blue}{1} &\color{blue}{1} &\color{red}{1} & \color{blue}{1}&\color{blue}{1} &\\ \hline E & &\color{red}{1} & & & 0&\color{red}{1} &\color{red}{1} & & &\color{red}{1} &\color{red}{1} &\\ \hline F & &\color{blue}{1} &\color{blue}{1} & \color{blue}{1}&\color{blue}{1} &0 &\color{blue}{1} &\color{blue}{1} & & & &\\ \hline G & &\color{red}{1} & &\color{red}{1} &\color{blue}{1} &\color{red}{1} &0 & & &\color{red}{1} & &\\ \hline H & & & &\color{red}{1} & &\color{red}{1} & &0 &\color{red}{1} &\color{red}{1} & &\\ \hline I & & & &1 & & & & \color{blue}{1} &0 & & &\\ \hline J & & \color{blue}{1}&\color{red}{1} & 1 & \color{blue}{1}& &\color{blue}{1} &\color{blue}{1} & &0 & &\\ \hline K & & &\color{red}{1} &\color{red}{1} &\color{blue}{1} & & & & & &0&\\ \hline L &\color{red}{1} & & & & & & & & & & &0\\ \hline \end{array} $$
$Add\_Matrix$矩阵的代表的意思为:把原始系统看成无向图,然后用有向图的方式表达出来。原始矩阵即任意$(a_{ij}=1) \rightsquigarrow (a_{ji}=1,a_{ij}=1)$
$Add\_Matrix$矩阵是一个沿着主对角线的对称矩阵。
$Add\_Matrix$中$a_{(DJ)}=1$用黑色表示,因为$D \leftrightsquigarrow J$两要素存在一个回路。
求$Add\_Matrix$可达矩阵$R_{Add}$
$$ R_{Add} =\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &A &B &C &D &E &F &G &H &I &J &K &L\\ \hline A &1 & & & & & & & & & & &1\\ \hline B & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline C & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline D & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline E & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline F & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline G & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline H & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline I & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline J & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline K & &1 &1 &1 &1 &1 &1 &1 &1 &1 &1 &\\ \hline L &1 & & & & & & & & & & &1\\ \hline \end{array} $$
可达矩阵$R_{Add}$中的每一行对应一个区域即连通域。
要素$A的连通域为\{A,L\}$
要素$B的连通域为\{B,C,D,E,F,G,H,I,J,K\}$
……
遍历完所有的行,可知最大的连通区域是$\{B,C,D,E,F,G,H,I,J,K\}$
原始矩阵$Ori$删除$A,L$得到新的主连通区域系统。
$$ \require{cancel} Ori=\begin{array} {c|c|c|c|c|c|c|c} {M_{12 \times12}} &\xcancel{A} &B &C &D &E &F &G &H &I &J &K &\xcancel{L}\\ \hline \xcancel{A} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{1}\\ \hline B &\xcancel{0} & & & &1 & &1 & & & & &\xcancel{0} \\ \hline C &\xcancel{0} &1 & & & & & & & &1 &1 &\xcancel{0} \\ \hline D & \xcancel{0} &1 &1 & & & &1 &1 & &1 &1 &\xcancel{0} \\ \hline E & \xcancel{0} & & & & & & & & & & & \xcancel{0} \\ \hline F & \xcancel{0} &1 &1 &1 &1 & &1 &1 & & & & \xcancel{0}\\ \hline G & \xcancel{0} & & & &1 & & & & & & & \xcancel{0} \\ \hline H &\xcancel{0} & & & & & & & & & & & \xcancel{0} \\ \hline I &\xcancel{0} & & & & & & &1 & & & & \xcancel{0} \\ \hline J &\xcancel{0} &1 & &1 &1 & &1 &1 & & & & \xcancel{0} \\ \hline K & \xcancel{0} & & & &1 & & & & & & & \xcancel{0} \\ \hline \xcancel{L} &\xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} & \xcancel{0} \\ \hline \end{array} \require{AMScd} \begin{CD} @>删除 A,L要素>> \\ \end{CD} Ori\_main=\begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &E &F &G &H &I &J &K\\ \hline B & & & &1 & &1 & & & &\\ \hline C &1 & & & & & & & &1 &1\\ \hline D &1 &1 & & & &1 &1 & &1 &1\\ \hline E & & & & & & & & & &\\ \hline F &1 &1 &1 &1 & &1 &1 & & &\\ \hline G & & & &1 & & & & & &\\ \hline H & & & & & & & & & &\\ \hline I & & & & & & &1 & & &\\ \hline J &1 & &1 &1 & &1 &1 & & &\\ \hline K & & & &1 & & & & & &\\ \hline \end{array} $$
可达矩阵$R$删除$A,L$得到新的主连通区域系统的可达矩阵。
$$ R=\begin{array} {c|c|c|c|c|c|c|c}{M_{12 \times12}} &\bcancel{A} &B &C &D &E &F &G &H &I &J &K & \bcancel{L}\\ \hline \bcancel{A} &\bcancel{1} & \bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{1}\\ \hline B &\bcancel{0} &1 &0 &0 &1 &0 &1 &0 &0 &0 &0 &\bcancel{0}\\ \hline C &\bcancel{0} &1 &1 &1 &1 &0 &1 &1 &0 &1 &1 &\bcancel{0}\\ \hline D &\bcancel{0} &1 &1 &1 &1 &0 &1 &1 &0 &1 &1 &\bcancel{0}\\ \hline E &\bcancel{0} &0 &0 &0 &1 &0 &0 &0 &0 &0 &0 &\bcancel{0}\\ \hline F &\bcancel{0} &1 &1 &1 &1 &1 &1 &1 &0 &1 &1 & \bcancel{0} \\ \hline G &\bcancel{0} &0 &0 &0 &1 &0 &1 &0 &0 &0 &0 &\bcancel{0}\\ \hline H &\bcancel{0} &0 &0 &0 &0 &0 &0 &1 &0 &0 &0 &\bcancel{0}\\ \hline I &\bcancel{0} &0 &0 &0 &0 &0 &0 &1 &1 &0 &0 &\bcancel{0}\\ \hline J &\bcancel{0} &1 &1 &1 &1 &0 &1 &1 &0 &1 &1 &\bcancel{0}\\ \hline K &\bcancel{0} &0 &0 &0 &1 &0 &0 &0 &0 &0 &1 &\bcancel{0}\\ \hline \bcancel{L} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{0} &\bcancel{1}\\ \hline \end{array} \begin{CD} @>删除 A,L要素>> \\ \end{CD} R\_main=\begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &E &F &G &H &I &J &K\\ \hline B &1 &0 &0 &1 &0 &1 &0 &0 &0 &0\\ \hline C &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline D &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline E &0 &0 &0 &1 &0 &0 &0 &0 &0 &0\\ \hline F &1 &1 &1 &1 &1 &1 &1 &0 &1 &1\\ \hline G &0 &0 &0 &1 &0 &1 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &1 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &0 &1 &1 &0 &0\\ \hline J &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline K &0 &0 &0 &1 &0 &0 &0 &0 &0 &1\\ \hline \end{array} $$
可以采用求解可达矩阵方式求出回路:
$$ R\_main=\begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &E &F &G &H &I &J &K\\ \hline B &1 &0 &0 &1 &0 &1 &0 &0 &0 &0\\ \hline C &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline D &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline E &0 &0 &0 &1 &0 &0 &0 &0 &0 &0\\ \hline F &1 &1 &1 &1 &1 &1 &1 &0 &1 &1\\ \hline G &0 &0 &0 &1 &0 &1 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &1 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &0 &1 &1 &0 &0\\ \hline J &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline K &0 &0 &0 &1 &0 &0 &0 &0 &0 &1\\ \hline \end{array} $$
对上述可达矩阵转置:
$$ \begin{CD} @>转置>> \\ \end{CD} Trans-R\_main=\begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &E &F &G &H &I &J &K\\ \hline B &1 &\color{red}{1} &\color{red}{1} & &\color{red}{1} & & & &\color{red}{1} &\\ \hline C & &1 &\color{red}{1} & &\color{red}{1} & & & &\color{red}{1} &\\ \hline D & & \color{red}{1}&1 & &\color{red}{1} & & & &\color{red}{1} &\\ \hline E &\color{red}{1} &\color{red}{1} &\color{red}{1} &1 &\color{red}{1} &\color{red}{1} & & &\color{red}{1} &\color{red}{1}\\ \hline F & & & & &1 & & & & & \\ \hline G &\color{red}{1} &\color{red}{1} &\color{red}{1} & &\color{red}{1} &1 & & &\color{red}{1} &\\ \hline H & &\color{red}{1} &\color{red}{1} & &\color{red}{1} & &1 &\color{red}{1} &\color{red}{1} &\\ \hline I & & & & & & & &1 & &\\ \hline J & &\color{red}{1} &\color{red}{1} & &\color{red}{1} & & & &1 &\\ \hline K & &\color{red}{1} &\color{red}{1} & &\color{red}{1} & & & &\color{red}{1} &1\\ \hline \end{array} $$
求出$R\_main 和 Trans-R\_main$的交集矩阵:
$$ Meet= \begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &E &F &G &H &I &J &K\\ \hline B &\color{blue}{1} & & & & & & & & &\\ \hline C & &\color{blue}{1} &\color{blue}{1} & & & & & &\color{blue}{1} &\\ \hline D & & \color{blue}{1} &\color{blue}{1} & & & & & &\color{blue}{1} &\\ \hline E & & & &\color{blue}{1} & & & & & & \\ \hline F & & & & &\color{blue}{1} & & & & & \\ \hline G & & & & & &\color{blue}{1} & & & &\\ \hline H & & & & & & &\color{blue}{1} & & &\\ \hline I & & & & & & & &\color{blue}{1} & &\\ \hline J & &\color{blue}{1} &\color{blue}{1} & & & & & &\color{blue}{1} &\\ \hline K & & & & & & & & & &\color{blue}{1} \\ \hline \end{array} $$
$Meet$矩阵中的每一行对应一个强连通域。当强连通域的要素大于等于两个时,该强连通区域叫回路。
B要素对应的行:$\{B\}$ 则B为一个强连通子集,只包含$B$要素,非回路。
……
从交集矩阵得出一条回路为:$\{C,D,J\}$
$$ R\_main=\begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &E &F &G &H &I &J &K\\ \hline B &1 &0 &0 &1 &0 &1 &0 &0 &0 &0\\ \hline C &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline D &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline E &0 &0 &0 &1 &0 &0 &0 &0 &0 &0\\ \hline F &1 &1 &1 &1 &1 &1 &1 &0 &1 &1\\ \hline G &0 &0 &0 &1 &0 &1 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &1 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &0 &1 &1 &0 &0\\ \hline J &1 &1 &1 &1 &0 &1 &1 &0 &1 &1\\ \hline K &0 &0 &0 &1 &0 &0 &0 &0 &0 &1\\ \hline \end{array} $$
$$ \begin{CD} @>合并回路要素\{C,D,J\}>> \\ \end{CD} \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B & \fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &1 &0 &1 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J}&0 &1=\pmatrix{1&1&1 \cr 1&1&1 \cr 1&1&1} &1 &0 &1 &1 &0 &1\\ \hline E &0 &0 &1 &0 &0 &0 &0 &0\\ \hline F &1 &1 &1 &1 &1 &1 &0 &1\\ \hline G &0 &0 &1 &0 &1 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &1 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &1 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &1\\ \hline \end{array} $$
把回路用一个要素该矩阵即为有向无环图DAG:
DAG,的骨架矩阵由下列公式计算得到
$S=R-(R-I)^2$
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B & \fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &1 &0 &1 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J}&0 &1 &1 &0 &1 &1 &0 &1\\ \hline E &0 &0 &1 &0 &0 &0 &0 &0\\ \hline F &1 &1 &1 &1 &1 &1 &0 &1\\ \hline G &0 &0 &1 &0 &1 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &1 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &1 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &1\\ \hline \end{array} $$
$$ \begin{CD} @>S=R-(R-I)^2>> \\ \end{CD} \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B &\fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &0 &0 &0 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J} &1 &0 &0 &0 &0 &1 &0 &1\\ \hline E &0 &0 &0 &0 &0 &0 &0 &0\\ \hline F &0 &1 &0 &0 &0 &0 &0 &0\\ \hline G &0 &0 &1 &0 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &0 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &0\\ \hline \end{array} $$
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B &\fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &0 &0 &0 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J} &\color{red}{1} &\pmatrix{0&1&0 \cr 0&0&1 \cr 1&0&0} &0 &0 &0 &\color{red}{1} &0 &\color{red}{1}\\ \hline E &0 &0 &0 &0 &0 &0 &0 &0\\ \hline F &0 &\color{blue}{1} &0 &0 &0 &0 &0 &0\\ \hline G &0 &0 &1 &0 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &0 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &0\\ \hline \end{array} $$
回路迭代回去时,有三个原则:
第一、回路系统中有向边的数目等于要素数目,如上例回路矩阵中只有3个为1的值,通常用最对角线右上的$n-1$个格子设定为1,另外最左下角矩阵的值设定为1。
第二、蓝色标注为1的部分,迭代回去时,有且只有一条指向回路的任意一个要素,且最好原始矩阵存在该要素,本例对应的原始矩阵为$Ori\_main$。
第三、红色标注为1的部分,迭代回去时,回路有且只能发出一条指向目标要素的有向边,且最好原始矩阵存在该要素,本例对应的原始矩阵为$Ori\_main$。
注意下列同色色块有且只有一个为1值额外的为0!
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &J &E &F &G &H &I &K\\ \hline B & & & & & & &1 & & &\\ \hline C &{\bbox[#AAAA11,border:2px green dotted,2pt] { \color{blue}\alpha }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0}} & & & &{\bbox[#DD10A1,border:2px green dotted,2pt] { \color{blue}\epsilon }} & &{\bbox[#ffF011,border:2px green dotted,2pt] { \color{blue}\iota }}\\ \hline D &{\bbox[#AAAA11,border:2px green dotted,2pt] { \color{blue}\alpha }} & {\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }}&{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue} 1 }} & & & &{\bbox[#DD10A1,border:2px green dotted,2pt] { \color{blue}\epsilon }} & &{\bbox[#ffF011,border:2px green dotted,2pt] { \color{blue}\iota }}\\ \hline J &{\bbox[#AAAA11,border:2px green dotted,2pt] { \color{blue}\alpha }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} & & & & {\bbox[#DD10A1,border:2px green dotted,2pt] { \color{blue}\epsilon }}& &{\bbox[#ffF011,border:2px green dotted,2pt] { \color{blue}\iota }}\\ \hline E & & & & & & & & & &\\ \hline F & &{\bbox[#11f0f1,border:2px green dotted,2pt] { \color{blue}\mu }} & {\bbox[#11f0f1,border:2px green dotted,2pt] { \color{blue}\mu }} &{\bbox[#11f0f1,border:2px green dotted,2pt] { \color{blue}\mu }} & & & & & &\\ \hline G & & & & &1 & & & & &\\ \hline H & & & & & & & & & &\\ \hline I & & & & & & & &1 & &\\ \hline K & & & & &1 & & & & &\\ \hline \end{array} $$
根据原始矩阵$Ori\_main$情况从同色色块中只取出一个为1的值结果如下。
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &J &E &F &G &H &I &K\\ \hline B & & & & & & &1 & & &\\ \hline C &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0}} & & & & & &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }}\\ \hline D & & {\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }}&{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue} 1 }} & & & &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }} & &\\ \hline J & &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} & & & & & &\\ \hline E & & & & & & & & & &\\ \hline F & &{\bbox[#11f0f1,border:2px green dotted,2pt] { \color{blue}1 }} & & & & & & & &\\ \hline G & & & & &1 & & & & &\\ \hline H & & & & & & & & & &\\ \hline I & & & & & & & &1 & &\\ \hline K & & & & &1 & & & & &\\ \hline \end{array} $$
上述矩阵称为一般性骨架矩阵,该矩阵大部分情况下不唯一。其特点是矩阵具有最少的有向边。等价的一般性骨架矩阵都跟回路有关。如下面一个等价的一般性骨架矩阵。
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &J &E &F &G &H &I &K\\ \hline B & & & & & & &1 & & &\\ \hline C &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0}} & & & & & &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }}\\ \hline D & & {\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }}&{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue} 1 }} & & & & & &\\ \hline J & &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} & & & &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }} & &\\ \hline E & & & & & & & & & &\\ \hline F & &{\bbox[#11f0f1,border:2px green dotted,2pt] { \color{blue}1 }} & & & & & & & &\\ \hline G & & & & &1 & & & & &\\ \hline H & & & & & & & & & &\\ \hline I & & & & & & & &1 & &\\ \hline K & & & & &1 & & & & &\\ \hline \end{array} $$
上述所有计算,得到的是一个一般性骨架矩阵;即不缩点的情况下,得到的骨架矩阵。也可以称为系统的菊花链求解。
如果系统为一个大回路,最终该系统体现为一个回路菊花链
如果系统为一个DAG,最终该系统体现为一个线性菊花链
如果系统为包含回路的系统,最终该系统体现为一个混合型的菊花链拓扑结构
有向菊花链拓扑的本质,边的数目最少。即一个要素$X$存在指向另外一个要素$Y$的有向边,则在非循环菊花链中必定不存在,$X\rightarrow \ldots \rightarrow Y$的可达路径!
经典的ISM方法层次化是通过可达集合,先行集合,共同集合来进行的。也是ISM建模中最核心的必不可少的内容!
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B &\fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &0 &0 &0 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J} &\color{red}{1} &0 &0 &0 &0 &\color{red}{1} &0 &\color{red}{1}\\ \hline E &0 &0 &0 &0 &0 &0 &0 &0\\ \hline F &0 &\color{blue}{1} &0 &0 &0 &0 &0 &0\\ \hline G &0 &0 &1 &0 &0 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &0 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &0 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &0\\ \hline \end{array} $$
$$ \begin{CD} @>加上单位矩阵>> \\ \end{CD} \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B &\fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &1 &0 &0 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J} &\color{red}{1} &1 &0 &0 &0 &\color{red}{1} &0 &\color{red}{1}\\ \hline E &0 &0 &1 &0 &0 &0 &0 &0\\ \hline F &0 &\color{blue}{1} &0 &1 &0 &0 &0 &0\\ \hline G &0 &0 &1 &0 &1 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &1 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &1 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &1\\ \hline \end{array} $$
在矩阵$M$中取要素$K$,该要素的可达集合记作$R(K)$。$R(K)=\{E,K\}$ 可达集合为K要素所在行,矩阵值为1对应的要素。
在矩阵$M$中取要素$K$,该要素的先行集合记作$Q(K)$。$Q(K)=\{\fbox{C,D,J},K\}$ 先行集合为K要素所在列,矩阵值为1对应的要素。
在矩阵$M$中取要素$K$,该要素的共同集合记作$T(K)$。$T(K)=R(K)\cap Q(K) $ 即 $T(K)=\{K\}$
经典ISM的层级抽取规则为:$ T(e_i)=R(e_i) $方式进行也可以叫结果优先的层级划分规则。其原理是把结果要素抽取出来放置在顶层的方式进行。
操作的矩阵有如下特点:
第一、矩阵必须包含单位矩阵,即主对角线全部为1。
第二、DAG即无回路矩阵,骨架矩阵跟可达矩阵用$ T(e_i)=R(e_i) $的层级划分规则得出的结果一致。
第三、包含回路的系统,要用可达矩阵通过$ T(e_i)=R(e_i) $的规则来获得层级分布。
$$ \begin{array} {c|c|c|c}{要素} & 可达集合R(e_i) & 先行集合Q(e_i) & 共同集合T(e_i) & T(e_i)=R(e_i)\\ \hline B &\color{red}{B,G} &\color{blue}{B,\fbox{C,D,J} } & B & ≠ \\ \hline \fbox{C,D,J} &\color{red}{B,\fbox{C,D,J},H,K} &\color{blue}{\fbox{C,D,J},F } & \fbox{C,D,J} & ≠ \\ \hline E &\color{red}{E} &\color{blue}{E,G,K} & E & R(E)=T(E) \\ \hline F &\color{red}{\fbox{C,D,J},F} &\color{blue}{F} & F & ≠ \\ \hline G &\color{red}{E,G} &\color{blue}{B,G} & G & ≠ \\ \hline H &\color{red}{H} &\color{blue}{\fbox{C,D,J},H,I} & H & R(H)=T(H) \\ \hline I &\color{red}{H,I} &\color{blue}{I} & I & ≠ \\ \hline K &\color{red}{E,K} &\color{blue}{\fbox{C,D,J},K} & K & ≠ \\ \hline \end{array} \Longleftrightarrow \leftrightsquigarrow \begin{array} {c|c|c|c|c|c|c|c}{M_{8 \times8}} &B &\fbox{C+D+J} &E &F &G &H &I &K\\ \hline B &1 &0 &0 &0 &1 &0 &0 &0\\ \hline \fbox{C+D+J} &\color{red}{1} &1 &0 &0 &0 &\color{red}{1} &0 &\color{red}{1}\\ \hline E &0 &0 &1 &0 &0 &0 &0 &0\\ \hline F &0 &\color{blue}{1} &0 &1 &0 &0 &0 &0\\ \hline G &0 &0 &1 &0 &1 &0 &0 &0\\ \hline H &0 &0 &0 &0 &0 &1 &0 &0\\ \hline I &0 &0 &0 &0 &0 &1 &1 &0\\ \hline K &0 &0 &1 &0 &0 &0 &0 &1\\ \hline \end{array} $$
抽取${E,H}$要素,放置上层。
$$ \begin{array} {c|c|c|c}{要素} & 可达集合R(e_i) & 先行集合Q(e_i) & 共同集合T(e_i) & T(e_i)=R(e_i)\\ \hline B &\color{red}{B,G} &\color{blue}{B,\fbox{C,D,J} } & B & ≠ \\ \hline \fbox{C,D,J} &\color{red}{B,\fbox{C,D,J},K} &\color{blue}{\fbox{C,D,J},F } & \fbox{C,D,J} & ≠ \\ \hline F &\color{red}{\fbox{C,D,J},F} &\color{blue}{F} & F & ≠ \\ \hline G &\color{red}{G} &\color{blue}{B,G} & G & R(G)=T(G) \\ \hline I &\color{red}{I} &\color{blue}{I} & I & R(I)=T(I) \\ \hline K &\color{red}{K} &\color{blue}{\fbox{C,D,J},K} & K & R(K)=T(K) \\ \hline \end{array} \leftrightsquigarrow \Longleftrightarrow \begin{array} {c|c|c|c|c|c|c|c}{M_{6 \times6}} &B &\fbox{C+D+J} &F &G &I &K\\ \hline B &1 &0 &0 &1 &0 &0\\ \hline \fbox{C+D+J} &\color{red}{1} &1 &0 &0 &0 &\color{red}{1}\\ \hline F &0 &\color{blue}{1} &1 &0 &0 &0\\ \hline G &0 &0 &0 &1 &0 &0\\ \hline I &0 &0 &0 &0 &1 &0\\ \hline K &0 &0 &0 &0 &0 &1\\ \hline \end{array} $$
抽取${G,I,K}$要素。
$$ \begin{array} {c|c|c|c}{要素} & 可达集合R(e_i) & 先行集合Q(e_i) & 共同集合T(e_i) & T(e_i)=R(e_i)\\ \hline B &\color{red}{B} &\color{blue}{B,\fbox{C,D,J} } & B & R(B)=T(B) \\ \hline \fbox{C,D,J} &\color{red}{B,\fbox{C,D,J}} &\color{blue}{\fbox{C,D,J},F } & \fbox{C,D,J} & ≠ \\ \hline F &\color{red}{\fbox{C,D,J},F} &\color{blue}{F} & F & ≠ \\ \hline \end{array} \leftrightsquigarrow \Longleftrightarrow \begin{array} {c|c|c|c|c|c|c|c}{M_{3 \times3}} &B &\fbox{C+D+J} &F \\ \hline B &1 &0 &0 \\ \hline \fbox{C+D+J} &\color{red}{1} &1 &0 \\ \hline F &0 &\color{blue}{1} &1 \\ \hline \end{array} $$
抽取${B}$要素。
$$ \begin{array} {c|c|c|c}{要素} & 可达集合R(e_i) & 先行集合Q(e_i) & 共同集合T(e_i) & T(e_i)=R(e_i)\\ \hline \fbox{C,D,J} &\color{red}{\fbox{C,D,J}} &\color{blue}{\fbox{C,D,J},F } & \fbox{C,D,J} & R(\fbox{C,D,J})=T(\fbox{C,D,J}) \\ \hline F &\color{red}{\fbox{C,D,J},F} &\color{blue}{F} & F & ≠ \\ \hline \end{array} \leftrightsquigarrow \Longleftrightarrow \begin{array} {c|c|c|c|c|c|c|c}{M_{2 \times2}} &\fbox{C+D+J} &F \\ \hline \fbox{C+D+J} &1 &0 \\ \hline F &\color{blue}{1} &1 \\ \hline \end{array} $$
抽取${C,D,J}$要素。
$$ \begin{array} {c|c|c|c}{要素} & 可达集合R(e_i) & 先行集合Q(e_i) & 共同集合T(e_i) & T(e_i)=R(e_i)\\ \hline F &\color{red}{F} &\color{blue}{F} & F & T(F)=R(F) \\ \hline \end{array} \leftrightsquigarrow \Longleftrightarrow \begin{array} {c|c|c|c|c|c|c|c}{M_{1 \times1}} &F \\ \hline F &1 \\ \hline \end{array} $$
抽取${F}$要素。
$$ \emptyset \leftrightsquigarrow \Longleftrightarrow \emptyset $$
抽取出的要素,其所处层级如下:
代入一般性骨架矩阵,矩阵如下:
$$ \begin{array} {c|c|c|c|c|c|c|c}{M_{10 \times10}} &B &C &D &J &E &F &G &H &I &K\\ \hline B & & & & & & &1 & & &\\ \hline C &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0}} & & & & & &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }}\\ \hline D & & {\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }}&{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue} 1 }} & & & &{\bbox[#ff1011,border:2px green dotted,2pt] { \color{blue}1 }} & &\\ \hline J & &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}1 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} &{\bbox[#DD80FF,border:2px green dotted,2pt] { \color{blue}0 }} & & & & & &\\ \hline E & & & & & & & & & &\\ \hline F & &{\bbox[#11f0f1,border:2px green dotted,2pt] { \color{blue}1 }} & & & & & & & &\\ \hline G & & & & &1 & & & & &\\ \hline H & & & & & & & & & &\\ \hline I & & & & & & & &1 & &\\ \hline K & & & & &1 & & & & &\\ \hline \end{array} $$
最终层次化的菊花链如下图:
上图中红色背景的要素I值得特别留意:
几乎是出于潜意识人们在解释ISM的层级图的时候,都会解释到:最下层里的要素是根本原因。最上层里的要素是最终输出结果。
位于中间层级的要素是过渡层级,它既是原因,也是结果。
最下层的要素是根本原因,是因为这些要素具有没有输入,有输出,可以存在回馈有向边的性质。
很显然,要素$I$属于根本原因的要素,因为$要素I$:没有输入,只有输出
因此从逻辑上存在着,最下层的要素一定是根本原因的要素,但是不是所有的根本原因的要素都在最下面一层。
如何才能使得所有的根本原因的要素都在最下层呢?如上述系统中的I要素位于最下层!那就需要采用与结果优先抽取规则相反的抽取规则。即原因优先的抽取规则
原因优先的层级抽取规则方法:$T(e_i)=Q(e_i)$
上述层级图是通用原因优先的方法得到的层级化的菊花链拓扑。虽然所有的根本原因要素都处于最下层。但是上图中的要素H则不在最顶层。
要解决所有根本原因要素都在最下层;所有的最终结果要素都划分在最顶层,可以采用轮换规则抽取法。
第一种:结果优先-原因优先轮换
即:第一次用,$T(e_i )=R(e_i)$ 第二次用$T(e_i )=Q(e_i)$ 其中结果优先抽取出的要素放置上层;原因优先抽取出的要素放置于下层。
第二种:原因优先-结果优先轮换
即:第一次用$T(e_i )=Q(e_i)$, 第二次用 $T(e_i )=R(e_i)$其中结果优先抽取出的要素放置上层;原因优先抽取出的要素放置于下层。
通过上述方法可知,运用ISM方法,教合理的的方式是,运用轮换法获得层次化的菊花链在线计算
上述在线计算,选择的方式为:
第一、区域运算选择 要
第二、缩点运算选择 不缩点
第三、缩边运算选择 方式1 或者方式2 推荐用方式2
第四、层级抽取规则选择 两种轮换法的一种