解释结构模型方法(Interpretative Structural Modeling Method,简称ISM法)是一种分析系统结构的方法。它可将系统单元之间复杂、凌乱的关系分解成清晰的、多级递阶的结构形式。凡系统必有结构,系统的结构决定系统功能;破坏结构,就会完全破坏系统的总体功能,这说明了系统结构的普遍性与重要性。总之,要研究一个由大量要素组成的、各要素之间又存在这相互关系的系统,就必须了解系统的结构。
20世纪70年代以来ISM在很多领域得到了广泛的应用,原因在于其结果直观,清晰明了,ISM于静态的定性模型,基本思想是通过一些基本假设和有向图、布尔矩阵的运算,得到可达矩阵;然后再通过人-机结合,分解可达矩阵,使复杂的系统分解成多级递阶结构形式。建立系统的层级结构模型,是ISM技术的核心内容。
传统的计算方法是围绕可达矩阵而展开,通过对可达矩阵进行,区域划分,回路划分(强链接划分),得到可达矩阵的缩减矩阵,对缩减矩阵进行层级划分。诸多的矩阵运算与操作,使得其运算量大得让任何人都难以承受的。
因此采用一个良好的数据结构,开发出一个具有亲和力ISM法系统的程序是很有必要的。传统的、大量复杂运算的矩阵算法,如果没有进行一定的优化,完成要素数目为100,要素之间的关系为500,需要很长的时间,还不包括结果的图形化输出的时间。传统的方法在数学上表达看似简单,只用一个邻接矩阵相乘,表达清楚。但是正是因为矩阵相乘,其时间复杂度难以忍受。随着系统要素个数的增加,程序的时间复杂度和空间复杂度都呈指数增长,稍微准确一点的说是N4的速度增加。而本处的算法的时间复杂度和空间复杂度都只是呈线性增长(M+N)其中一个为要素的数目,一个为边的数目。
在ISM中,最后的层次结构模型的建立经过了关系图、关系矩阵、可达性矩阵和层次划分等诸多步骤,如果不考虑层级数目这个因素,只要知道该有向图中各节点之间的上下位关系,就可以画出图中各要素的的相对位置关系,并获得层次清晰图形结构。其实际过程就是一个求强连通子集的过程,三大经典的SCC算法都可以获得一个层级结构图,但是该过程得到的层级数目与传统的方法比要更多的层级数目。
市面上曾经非常流行脑图(概念图)的软件,概念图很是流行了一阵,该软件也是一种模型的建立过程,与ISM非常相似,很重要的一点区别在于,脑图,主要是以树为其层次结构的组织形式。其转换的层次结构,以及层级数目一般都比ISM得到的结构图的层级数目要多!
需要指出的是,在整个编制该软件的过程中,最大的工作量并非是绞尽脑汁的想快速的Warshall迭代,或者是可达矩阵的求解这些核心步骤;工作量最大的是图在网页的表现。这里要向jsplumb作者鞠躬道谢,它提供的丰富的画矢量箭头的工具JS工具,并可以非常容易的实现拖拉功能。使得作者不用去考虑别的表现方式了。jsplumb还有一个厉害的地方,就是支持几乎所有的浏览器。当然在网页上实现拖拽元素的功能,在一些老式的浏览器支持起来就很差,比如IE6。我计算了下,一个页面如果输出的箭头大于30个,就会显得很慢了。
有人问为啥不用C++或者matlab或者JAVA等等来实现这些功能。其实C++在10多年前,就做出来了。当时很大工作就是处理友好的输入界面问题。相当郁闷的是VC用表格输入的界面,就是一个让人无法想象的工作量,另外一个很大的工作量是处理箭头的移动与方向,还有要素的拖拽,也就是处理jsplumb的工作,但是该方法毕竟不支持网页,就一个软件,那是相当的粗糙。这里要提一下ISM方法的提出者Warfield早就有一个dos版的http://www.jnwarfield.com/ism.htm 大家可以直接去看,很多人反映说该软件不知道怎么用。
本处推荐一篇硕士论文《黑客与反黑客思维研究的方法论启示——解释结构模型新探》,该论文前面一堆都废话,呱唧,呱唧瞎扯淡。但背后一些思想还是很有趣的。下面简单的把值得看的一些看点简要点评一下。
博弈解释结构模型方法(Game Interpretative Structural Modeling Method, 简称GISM方法)这里运用到博弈论的一些常识,来简要分析一个学习的过程。比如有很多人会用ISM方法,但是根本不知道什么叫可达矩阵,跟本不会去算什么可达矩阵什么图论。但是能出准确的,正确的结果。 这里就用了一个可代替的子系统,代替了原来的一些要素。
模糊解释结构模型方法(Fuzzy Interpretative Structural Modeling Method, 简称FISM方法)这里用了一堆模糊算子进行计算,不同的算子求解出的可达矩阵不同,很多算子求出的可达矩阵是一个通常的布尔值可达矩阵,也就是矩阵中的值只有0,1两种情况,一些可达矩阵中间是一个模糊数,比如0.7。因此这种对应的是不同的层级结构。这个也就可以解释大家对一些不确定的关系的一种处理方法。
阻尼解释结构模型方法(Damp Interpretative Structural Modeling Method, 简称DISM方法)这里引进了一个概念,要素之间的关系可以是一个负数,也就是某两个要素之间的关系是破坏性的相互排斥的,比如以毒攻毒。这里可以求出一种无可达矩阵的情况,但是,求可达矩阵的过程中出现一个周期性的结构过程。这个系统可以解释环境的变化是一个震荡性结构。
虚解释结构模型方法(Virtual Interpretative Structural Modeling Method, 简称VISM方法)作者纯属无聊,只是计算两个要素之间的关系是一个虚数的情况,而且模糊虚运算,他也没有深入研究,只是简单运算。
函数解释结构模型方法(Function Interpretative Structural Modeling Method, 简称FunISM方法)这个是一个非常大的扩展,该模型直接把一个只是定性分析的结构模型,可以拓展为一个动态的结构模型。比如每个矩阵的取值是一个时间序列,可以求出不同的时间序列下的层级结构。又比如 系统中的两个关系是一个存在函数特征的性质。比如要素A与B的关系V1,要素A与C的关系V2。其中V1+V2=1。
本人要专门对汪应洛院士著作中的一个简要方法,提出说明!
汪应洛 ,陶谦坎 ,袁治平. 企业管理系统工程[M]. 北京: 中央广播电视大学出版社 ,1997.
席酉民 ,樊耘. 战略管理教程及学习指导[M]. 北京: 高等教育出版社 ,2000
上述两本著作提出了ISM的步骤如下:
第1步: 找出影响系统问题的主要因素,通过方格图判断要素间的直接(相邻)影响关系;
第2步: 考虑因果等关系的传递性,建立反映诸要素间关系的可达矩阵(该类矩阵属反映逻辑关系的布尔矩阵);
第3步: 考虑要素间可能存在的强连接(相互影响)关系,仅保留其中的代表要素,形成可达矩阵的缩减矩阵;
第4步: 缩减矩阵的层次化处理,分为两步:
(1)按照矩阵每一行“1”的个数的少与多,从前到后重新排列矩阵,此矩阵应为严格的下三角矩阵;
(2)从矩阵的左上到右下依次找出最大单位矩阵,逐步形成不同层次的要素集合。
第5步:作出多级递阶有向图。作图过程为:
(1)按照每个最大单位子矩阵框定的要素,将各要素按层次分布;
(2)将第3步被缩减掉的要素随其代表要素同级补入,并标明其间的相互作用关系;
(3)用从下到上的有向弧来显示逐级要素间的关系;
(4)补充必要的越级关系。
第6步:经直接转换,建立解释结构模型。
上述方法中,是建立缩减矩阵,然后按照行中1的个数的多少来重排新矩阵,因为是一个DAG图,可以是一个严格的下三角矩阵。建立严格下三角矩阵的过程,就是求强连通子集的过程,对强连通子集进行可达值数目的多少进行排序。该方法是一个有益的拓扑排序,应当注意的是,该方法实际是错的,它存在着个很大的缺憾,就是最终得到的层级的数目跟Warfield的方法得到层级数目比较可能会增多。
目前几乎没有人去研究,经典解释结构模型的层级看起来为什么头重脚轻,是什么原理导致其显得头重脚轻。本处所要展示的一个重要内容,就是通过ISM的简单方法,得到的层级数目比传统的可达矩阵的上位与下位集的划分方法得到的层级数目要多,进行了深入的探讨。得出了层级分布的一般五种情况。因此本处很重要的内容是,对经典解释结构模型中的层次划分进行了深入的探讨和分析。本处核心的地方是对解释结构模型的层次划分,进行了非常大的拓展。引进了物理学的势能概念。经典ISM其实只是一个特例,它是状态势能最高的一种表现方式。
想在线计算解释结构模型的或者直接生成论文的请发电子邮件到, hwstu #sohu.com 把#替换成 @