62第三章复杂适应信息系统范式系统思考修炼的精义在于心灵的转换:观察环状因果的互动关系,而不是线段式的因果关系。观察一连串的变化过程,而非片段的、一幕一幕的个别事件。——彼得·圣吉(《第五项修炼》之“系统思考”,p80.[1])在第二章,我们对一些Web2.0进行了分析,总结出一些简单的设计在多重交互下涌现出复杂的新系统功能特征的规律,并归纳出四类系统特征(主体参与式架构、开放式架构、多重非线性机制和反馈机制的设计、系统内引入社会关系网络等)。主体参与式架构把人的行为纳入系统之内,系统内引入社会关系网络让信息系统内产生类似真实社会的组织演化机制,开放式架构让跨系统的协作与协同进化成为可能、并让信息系统之间的交互协作关系呈现出类生态的特征,多重非线性机制和反馈机制的设计在系统内形成各种难以直观理解和线性控制的涌现现象、并让系统能够在使用中适应性进化,等等。所有的这些都让社会性软件和Web2.0具有了前所未有的动态复杂性,给它们的研究开发及工程设计带来了许多新问题和新挑战。如系统动态机制的设计难以控制和把握、系统适应性的设计难以理解和规划、系统的行为不可预期、系统的发展前景难以评估、无法进行可重复测试84、信息系统及相关技术的演化发展趋势难以认识,等等。这些问题和挑战为引入系统复杂性研究相关的理论和方法以辅助信息系统的架构与设计提出了现实的需求。本章先简要介绍了系统复杂性研究的背景及研究对象,对信息系统的复杂性进行了分析,然后提出了复杂适应信息系统研究与设计的理论框架(复杂适应信息系统范式)。正如有机化学的产生并非是无机化学的否定和替代,复杂适应信息系统范式的提出也并非传统的信息系统范式的否定和替代,而是针对具有特定复杂性的信息系统研究设计所面临的一些特殊困难发展出的应用基础理论。本章最后对CAIS范式的适用范畴和设计指导原则进行了讨论。本章是在第二章对一些社会性软件与Web2.0进行分类介绍的基础上的理84系统性能与功能的稳定性和不变性是可重复测试的预设前提,系统的动态复杂性和适应性演化特征让这一预设前提不再成立。Web2.0及信息系统复杂性变革63论抽象,是本书后续几章内容的理论基础。3.1系统复杂性研究与信息系统的复杂性3.1.1系统复杂性研究产生的背景及研究的对象系统复杂性研究是一般系统论的延续,而一般系统论和系统复杂性研究兴起的现实背景,是现代的技术和社会已经变得十分复杂,以至于传统的思维方式和研究手段不再能满足需要。正如贝塔朗菲所指出的那样,“我们被迫在一切知识领域中运用‘整体’或‘系统’的概念来处理复杂性问题”[61]。作为系统科学前沿的系统复杂性研究,又被称为复杂科学。这门学科还非常新,涉及范围又非常广泛,以至于还无人完全知晓如何确切地定义它,甚至不知道它的边界之所在[62]。但这并没有妨碍复杂性相关研究成为当今世界科学研究的前沿和热点,目前,系统复杂性研究正在向各个学科渗透,受到众多学者的关注,并已经对很多领域都产生了巨大的影响。可以这样说,复杂性科学的诞生“对人类的一个封闭的、片段的和简化的理论的丧钟敲响了,而一个开放的、多方面的和复杂的理论时代开始了。”[151]复杂性科学被誉作“21世纪的新科学”,法国著名的思想家埃德加•莫兰在当代复杂性科学研究的热潮中明确地提出了“复杂性思维范式”,认为复杂性研究代表着科学研究范式的革命,引导科学思维方式从还原论思维方式到复杂性思维方式的变革[4]。著名物理学家、耗散结构理论的提出者普利高津也宣称:“我们正处于科学发展史上的一个大转折时代,这就是从经典的机械论科学到新型科学的转变,从简单性到复杂性研究的转变”[61]。复杂科学的研究对象是具有动态行为复杂性的复杂系统(Complexsystem);复杂系统是指具有大量组分、组分间存在着非线性关系、各个组分能自主地按照一定的行为规则相互交互、从而自底向上地形成不同层级的自组织的系统85。那种虽然具有结构复杂性,但系统组分间不存在非线性关系,组分不具有自主性、不能灵活地调整彼此关联的系统,称为复杂的系统(Complicatedsystem);如飞机、钟表等。复杂的系统不具有动态复杂性,不属于复杂科学的研究范畴[64]。85希尔伯特·西蒙在文献[127]中给复杂系统下的定义是:“整体大于部分之和,这并不是就最终的、形而上学抽象的意义而是就重要的、实用意义来说。知道了部分的性质及其互相作用的规律,要推断出整体的性质决不是轻而易举的事。”第三章复杂适应信息系统范式64复杂系统动态行为复杂性是指其行为不可预期。在庞加莱证明三体问题产生混沌时就已指出:即便是只有三个主体组成的封闭系统,如果主体间存在非线性关系,三体的运动轨迹也是不可预期的;初始状态的微小差异,也会带来最终运动轨迹的迥然不同(初始条件敏感性);如果系统是开放的,则在发展过程中任一随机的细微变化,也会造成系统未来发展和演化路径的巨大差异(系统的混沌分岔及路径依赖性)。3.1.2信息系统的复杂性分析信息系统的复杂性由低到高可分为3个层次:对象复杂性(作为工程技术设计对象的复杂性)、社会复杂性(用户群体以信息系统为媒介在系统内形成的各种社会协作、社会交互行为产生的复杂性)、生态复杂性(信息系统之间的交互形成的类生态协作网络的复杂性)。下面是这3个层次复杂性的解释,其中重点解释了最难以理解的社会复杂性。一、对象复杂性信息系统的对象复杂性是由机械式信息系统到有机信息系统转化发展过程中产生的。传统信息系统的体系架构是静态的,即各功能组件之间的搭配组合关系是在设计阶段确定下来的、固定的,信息系统具有类机械系统的结构刚性,因此可称为机械式信息系统。随着信息系统以自顶向下、逐步细分设计为主转化为以自底向上、逐步集成设计为主,信息系统各功能部件/模块的独立性越来越高,部件间的耦合度越来越低,从而为各部件自主交互、自由搭配组合提供了可能。这种可灵活改变部件间组合关系的、具有动态体系结构(结构柔性)的信息系统,称为有机信息系统。机械式信息系统与有机信息系统的简化示意图如图3-1所示。Web2.0及信息系统复杂性变革65图3-1:机械式信息系统(左)与有机信息系统(右)二、社会复杂性信息系统的社会复杂性是信息系统由人为设计的系统发展为人参与的社会—技术混合系统时所带来的。主体参与式架构把用户的行为、用户的自主决策机制和社会交互机制纳入系统设计,让来自用户的人力智能和系统的计算智能有机结合起来,并在系统内自底向上地形成各种社会组织、涌现出各种社会集合行为(Collectivebehavior)等。信息系统因此由纯粹的人为设计对象系统,发展成为人参与架构的社会—技术混合系统,而具有了社会系统的复杂性,简称为社会复杂性。信息系统引入社会复杂性后的示意图如图3-2所示。图3-2:社会—技术混合系统的复杂信息系统简化示意图社会复杂性让信息系统不再是单纯的工程技术设计对象,而同时成为社会科学研究(如社会政策规划)及设计(如组织行为设计等)的对象。根据新制度经济学的社会结构嵌入理论,人类的经济、社会活动都是在特定社会网络结构中展开的,受社会网络结构的制约[51],随着信息系统内用户群规模的日趋巨大,信息系统内的用户也发展出复杂的社会网络结构。与真实社会网络结构隐蔽地存在于社会系统中不同,用户在信息系统内的所有社会活动和发展的所有社会关系都在系统中留下纪录,可以直接进行分析(而无须额外调查),并对所有成员都是公开可用的(所有用户都可以基于自己的应用需求分析处理这些第三章复杂适应信息系统范式66数据)。因此,为了更有效地促进系统用户间的协商与协作,优化系统内社会关系网络,改善系统内的社会秩序,可在系统内设计用户诚信度的自动评价及传播机制、用户心理激励机制、众人协商机制、社会关系传递机制、多方博弈机制、群体决策机制等。这些机制的设计需要在软件工程中综合社会科学与社会系统复杂性相关的研究理论和方法。社会复杂性是信息系统最难以理解的复杂性,具有社会复杂性的信息系统比一般社会科学研究的对象系统还要复杂86。依据StephenJones对复杂系统涌现机制的划分,在系统整体和个体行为之间具有双向反馈机制(feedforwardandfeedback)的涌现称为2阶涌现(2ndorderemergence),只有单向反馈机制的涌现称为1阶涌现[143]。具有社会复杂性的信息系统中的涌现属于2阶涌现。如在社会性网络服务中,通过系统计算汇总出用户的集体行为结果(全局用户关系图、分众分类、最热话题、Wiki汇总的群体写作,等等),在系统内直接反馈给每个用户,如图3-3所示。2阶涌现在1阶涌现基础上增加了一个闭合的反馈、构成了反馈环,该反馈环增加了系统动态行为的复杂程度。图3-3:信息系统的社会复杂性及2阶涌现对涌现机制的分析有助于设计各种层级的复杂系统,在文献[144]中,JochenFromm根据涌现作用机制的不同,进一步把涌现系统由简单到复杂分为2个层次5个类别。另外,Purao等人在文献[72]中提出了涌现系统(Emergentsystem)的概念,并明确指出涌现系统的设计需要综合软件工程和社会科学两方面的研86从抽象的过程结构看,具有社会复杂性的信息系统比真实社会系统还复杂,因为真实社会系统中集体行为的涌现并不必然能够被统计出来,也并不必然能够反馈到具体的个体行为中去。当然,信息系统本身也可以看作是真实社会的一部分,或作为真实社会中整体涌现和个体行为之间反馈的一种渠道。Web2.0及信息系统复杂性变革67究力量。下面以信息个性化检索的协同过滤为例,进一步解释信息系统中社会复杂性产生的机制及其作用原理。个性化检索是让系统针对不同用户的兴趣和知识背景返回与之相匹配的个性化检索结果。协同过滤是通过分析用户的历史检索记录对用户和信息进行聚类,然后根据聚类得到的用户相关性和信息相关性实现用户之间的协同,让具有相近检索需求的同类用户能借鉴彼此的经验[80]。传统的协同过滤系统没有考虑用户的自主性,用户不能自主地利用自己的判断力、利用自己的分类关联知识对信息进行分类,也不能自主地引入或发展自己的社会关系网络,不能利用在现实中发展出来的可信任社会关系网络进行协同过滤。在原协同过滤系统的基础上增加用户的自主性,让用户能够自主地对信息进行分类(自定义分类,或自定义信息之间的关联),并能自主地在系统内发展社会关系网络,或把现实中的社会关系网络带入系统之内,由用户自主地选择协同过滤的伙伴,自主地建立可信任的社会关系,自主地从其信任的社会关系网络中学习和借鉴参考,系统便具有了社会复杂性。引入用户自主性的系统中存在两种不同方法形成的用户关联网和资源关联网,一种是通过传统的系统聚类算法计算得出的,一种是依赖每个用户的知识和判断力自主发展出来的。在两类关联网间构成了反馈循环,图3-4是用户关联网的例子。系统聚类推荐的用户关系网可把用户自主发展的关系网作为反馈学习的训练数据,用来改进优化算法;用户在自主发展社会关系过程中也可以参考系统的聚类推荐。正是这一反馈循环让系统的计算智能和用户的群体智能得到了有机的协同。图3-4:两种方法得到的用户关系网之间的循环反馈此外,增加用户协同自主性的原则并不限于信息检索的协同过滤,而可推广应用到系统结构的协同优化中去。通过打破系统结构和功能组合的预先设计第三章复杂适应信息系统范式68和安排,允许在使用阶段由用户自主地进行系统功能的选配组合,系统就可以根据用户的群体行为综合调整优化整个系统的功能组合结构,并可根据用户的个人行为和自主发展的协作关系网络提供个性化的功能组合方式。三、生态复杂性开放式架构让信息系统由孤立、封闭的系统发展到开放协作的系统,众多系统间的开放协作构成了错综复杂的协作关系网络。在协作关系网络中,每个信息系统有其特定的功能和用途,相当于生态系统中不同生态位的生物,不同的协作组合可以完成更大的任务,类似于不同生物之间的生态协作。随着信息系统越来越开放,信息系统之间的综合、混合与互操作越来越普遍,系统之间的协作关系网也越来越复杂,信息系统因此具有了生态复杂性。信息系统的生态复杂性并不属于具体的某个