在当今这个复杂多变的世界里,系统思考的能力显得尤为重要而迫切。这是一本循序渐进的系统思考入门指南,也是认识动态复杂系统的有力工具。那什么是“系统”,系统是一组相互连接的事务,在一定时间内,以特定的行为模式相互影响,例如人、细胞、分子等。系统可能受外力触发、驱动、冲击或限制,而系统对外力影响的反馈方式就是系统的特征。从定义可以看出“系统”并不是局限在某一个场景或领域,它可以小到一个细胞,大到整个宇宙。在日常工作中,典型的五种“系统思考缺乏症”表现在如下几个方面:

  • 只见树木,不见森林;
  • 只看眼前,不看长远;
  • 只看现象,不见本质;
  • 头痛医头,脚痛医脚;
  • 本位主义,局限思考;

一、系统之基础及特征

系统并不仅仅是一些事务的简单集合,而是一个由一组相互连接的要素构成的、能够实现某个目标的整体。从这一定义可知,系统的构成要件有三个,包含要素、连接、功能或目标。比如:一支足球队是一个系统,他的要素包括球员、教练、场地和足球等;他们之间通过足球比赛规则、教练指导、球员技能、球员之间的交流以及物理法则等产生连接;而球队的目标是赢球、娱乐、锻炼或赚钱等。同样,一所学校、一座城市、一家工厂、一个公司以及国家经济等,都是系统。

当然,也有事务不是一个系统,没有任何内在连接或功能的随机组合体就不是一个系统。比如:随机散落在路上的一堆沙子,就其本身来说就不是一个系统,因为他们之间没有什么稳定的内在连接,也没有特定的功能。构成系统的要素是比较容易发现的,他们大多数是可见、有形的事务;如树根、树干、枝叶等;也有一些是无形的事务;如大学中,学校的声誉和学术能力。对于要素的不断分解,将使自己迷失在系统中,即所谓的“见树不见林”。为了避免这种情况,需要从细究要素转向探寻系统内在的连接关系。比如:晴天,当树叶散失了水分,负责输送水分的叶脉中的压力就会减少,从而从树根里汲取更多的水分;相反,如果树根觉察到土壤变得干燥、水分减少,叶脉中压力减小的信号就会让树叶关闭毛孔,以避免流失更多的水分。如果说基于信息的连接都很难被发现,那么与系统的功能或目标有关的连接就更难被发现。要想推断出系统的目标,最好的方法就是仔细地观察一段时间,看看系统有哪些行为。对于系统中还嵌着系统的系统,目标中还会有其他的目标,一个成功的系统,应该能够实现个体目标和系统总目标的一致性。

系统行为是动态的,“存量”是所有系统的基础,他是指任何时候都可以去观察、感知、计数和测量的系统要素。而“流量”是一段时间内改变的状况。例如:浴缸中的水是存量,而浴缸中注入或流出的水量就是流量。矿藏储量是存量,开采量是流量。

水库中的水的蓄水量是存量,而雨水及江河的流入及蒸发和放水就是流量。

在研究各种系统模型时,我们需要警惕,人类的大脑似乎更加容易关注存量,而不是流量。更进一步地说,当我们关注流量时,我们更容易倾向于关注流入量,而不是流出量。一次,有时候我们会忽视这样一个事实:如果要灌满浴缸,不能只是提高流入速率,还需要降低流程速率。存量变化需要时间,因为改变他的流量运作需要时间。因此,存量变化缓慢所产生的时间滞后,让人们有了一定的余地去调整、尝试一些做法,并根据反馈来修订那些不奏效的政策。由于存量的存在,流入量和流出量可以相互独立,并在一定时期内不必保持平衡或一致。这一原则可以引导我们直接了解反馈的概念。

反馈体现的是系统是如何运作的。当某一个存量的变化影响到与其相关的流入量或流出量时,反馈回路就形成。反馈回路可能导致存量水平维持在某一个范围内,也可能使存量增长或减少。在任何一种情况之下,只要存量本身的规模发生了改变,与之相关的流入量或流出量也会随之而变。但并不是所有系统都有反馈回路。反馈回路有增强回路和调节回路之分,增强回路会强化系统原有的变化态势,而调节回路会弱化原有系统的变化态势。图1-9是调节回路,图1-12是增强回路。

接下来我们看看系统的特征,系统有三大特征,分别是适应力、自组织和层次性。系统之所以会有适应力,是因为系统内部结构存在很多相互影响的反馈回路,正是这些回路相互支撑,即使在系统遭受巨大的扰动时,仍然能够以多种不同的方式使系统恢复至原有的状态。但适应力也是有限的,有适应力的系统可能是经常动态变化的。相反,一直保持恒定的系统恰恰是不具备适应力的。系统具备使其自身结构更为复杂化的能力称为自组织。自组织作为有机系统的一个基本特性,对于大部分冲击力都有一定的免疫力。在新结构不断产生、复杂性逐渐增加的过程中,自组织系统经常生成一定的层次或层次性,系统或子系统的这种包含呵生成关系,被称之为层次性。在具有层次性的系统中,各个子系统内部的联系要多于并强于子系统之间的联系。层次性是系统的伟大发明,不只是因为他们使系统更加稳定和有适应力,而且因为他们减少了信息量,使得系统各部分更容易记录和跟进。系统的层次性表明系统是自下而上进化的,上一层级的目的是服务于较低层级的目的的。

二、系统大观园——常见系统模型

常见的系统模型包含单存量系统和双存量系统。单存量系统又可分为一个存量、两个相互制衡的调节回路系统,一个存量、一个增强回路以及一个调节回路的系统和含有延迟的系统3大类系统。双存量系统可分为一个可再生性存量受到另外一个不可再生性存量约束的系统和有两个可再生性存量的系统。下面分别对每一类系统的典型代表进行描述。

1、一个存量、两个相互制衡的调节回路系统,典型代表:温度调节

2、一个存量、一个增强回路以及一个调节回路的系统,典型代表:人口和工业经济

3、含有延迟的系统,典型代表:库存

延迟主要体现在:首先是感知延迟,这受人的主观因素影响较大;其次是反应延迟,虽然形势已经明朗,需要调整订单数量,但经销商也不会在一笔订单中一次性把库存补充完整,而是在后续的每笔订单中多增加一部分;第三是交货延迟,从供应商的工厂收到订单、加工生产并发货到交付给经销商,都有延迟。

4、一个可再生性存量受到另外一个不可再生性存量约束的系统,典型代表:石油经济

5、有两个可再生性存量的系统,典型代表:渔业经济

渔业经济中,过度开发的3种情况,一是过度开发,然后逐渐适应,调整至相对稳定的平衡状态,并长久保持;二是过度开发,超出了均衡状态,之后上下振荡;三是过度开发,之后导致资源的枯竭,产业奔溃。

对于所有复杂的系统来说,判断系统未来行为走势的诀窍在于,了解什么样的系统结构包含哪些可能的行为,以及什么状况或条件可以触发这些行为。简言之,减少破坏性行为发生的概率,增加有利于行为出现的概率。

三、系统之奇——系统的6大障碍

我们认为自己所知道的关于这个世界的任何东西都只是一个模型。虽然我们的模型确实与现实世界高度一致,但远未达到能完整地代表真实世界的程度。这导致我们认识世界时,总有一些障碍,为此把常见的障碍进行了总结、归类,便于我们识别和运用。

1、别被表象所迷惑

系统结构是各种存量、流量和反馈回路的相互关联与作用。结构决定了系统可能存在哪些行为。系统思考需要反复审视结构和行为,善于系统思考的人会将二者联系起来,理解事件、行为以及结构之间的关系。系统结构是行为的根源,而系统行为体现为随时间而发生的一系列事件。

2、在非线性的世界里,不要用线性的思维模式

在系统中,如果两个要素之间的关系是线性的,就可以用一条直线来表述,它们之间有着固定的比例。非线性关系是因与果之间不存在固定的比例关系,二者的关系只能用曲线或不规则的线来表示,不能用直线。世界上到处都是非线性关系。例如:高速公路车流量,当车流量从零增长到一定限度时,汽车行驶速度会受到轻微的影响;然后在超过这个限度之后,只要汽车流量再稍微增加一点,汽车的行驶速度就会显著降低。之后,就会形成交通拥堵,汽车行驶速度就会降到零。

3、恰当地划定边界

在系统中,系统最大的复杂性也确实出现于边界上,而系统本身并不存在一个明确,清晰划定的边界,而是要我们根据自己的需求和实际情况去划定。边界划定不当,很可能会带来一些问题。

世界是普遍联系的,不存在孤立的系统。如何划定系统的边界,取决于分析的目的,也就是我们想问的问题。从问题出发,围绕问题去划定边界。但请记住,边界是我们自己划定的,对于新的问题,出于不同的目的,可能需要并且应该对其进行重新考虑。事实上,在面对每一个新任务时,都应该忘掉在上一次任务中行之有效的边界划分;而针对当前问题的需要,应创造性划定最合适的边界。

4、看清各种限制因素

没有任何物质实体可以永远成长。在给定的一段时间内,对于系统来说,最重要的一项输入是限制或约束力度最大的那个因素。例如:公司雇佣了更多的销售人员,订单就会大量增加,从而超出了工厂的产能,导致交货延迟、部分客户流失。此时,产能成为最主要的限制因素。于是,管理者决定投资建厂,以缓解欠货压力。新厂建设过程中,需要雇佣大量的新员工,并对其进行培训,而这通常慢于厂房和机器设备安装、到位的速度,并不受太多的重视,因而效果欠佳。于是开始出现产品质量问题,再次导致客户流失。此时,员工的技能成为最重要的限制因素。所以,管理者又开始加强对员工的培训。逐渐地,质量得以改善,新的订单又大量增加,但这时候,订单执行和跟踪系统又出现了拥堵……如此,不一而足。

5、无所不在的时间延迟

无论是植物的成长、森林的荫蔽,还是民主的发展,都需要时间。建造核电站需要时间,机器的磨损需要时间,新技术的普及也需要时间。在系统中,时间延迟比比皆是,每一个存量都是一个延迟,大部分的流量也有延迟,包括运输延迟、感知延迟、处理延迟等等。改变延迟的长短可以彻底改变系统的行为,同时,延迟也常常作为敏感的政策杠杆点。这是因为,如果系统中的一个决策点对某一些信息存在反馈延迟,使反馈延迟更长或更短一些,决策就可能偏离目标,从而导致人们为达到目标而采取了更多或更少的行动。认识时间延迟,有助于我们理解为什么戈尔巴乔夫可以在几乎一夜之间改变了苏联的信息系统,却不能改变实体的经济——这需要数十年时间。当在反馈回路中存在较长的时间延迟时,具备一定的预见性是必不可少的。如果缺乏预见性,等到一个问题已经很明显了才采取行动,将会错过解决问题的重要时机。

6、有限理性

有限理性意味着,人们会基于其掌握的信息制定理性的决策,但是由于人们掌握的信息通常是有限的、不完整的,尤其是对于系统中相隔较远或不熟悉的部分,由此导致他们的决策往往并非整体最优。比如,渔夫并不知道哪里有多少鱼,也不了解同一天里其他渔夫多捕或少捕了多少鱼。有关这些方面的信息都是不完整的,存在时间延迟,而且他们自身的反馈也存在延迟。因此,经常出现系统性地投资过度或产能不足。更进一步地说,即使为了最优的自己的个体利益,我们有时也不能做出完全正确的决策,更别提系统的整体利益了。

要想改变行为,首先要跳出你所在系统中固有的位置,抛弃当时观察到的有限的信息,力求看到系统整体的状况。从一个更广阔的视角来看,可以重构信息流、目标、激励或限制因素,从而使分割的,有限的,理性的行动累加起来,产生每个人都期盼的结果。尽管存在有限理性,只要系统的结构设计得很精致,仍然可以在合适的时间、合适的地点做出合适的反馈,维持着适当的功能。如:荷兰房屋的电表,在阿姆斯特丹郊区的一个地方,有一些同一时期建造的独栋别墅,样子几乎一模一样。由于某种原因,有一些电表是按照在地下室,有一些是按照在前厅。而他们使用的电表都有一个玻璃罩,里面有一个水平的金属圆盘,用电越多转盘越快。经过一段时间的使用后,发现电表安装在地下室的明显比安装在前厅的用电多得多。安装在前厅的有些家庭的用电仅为地下室的2/3,通过调查表明,安装在前厅的人们当发现电表转得快时就会把家里无关的电器及时关闭。但也要注意系统中每个角色的有限理性可能无法产生促进系统整体福利的决策。比如人们一直相信,自由竞争市场是一种设计得当、可以自我调节的系统。在某种程度上,它确实如此;然而,在另外一些情况下,事实就并非这样,而且大家都很容易发现类似的证据,如垄断倾向。

《系统之美》读书笔记——上相关推荐

  1. 重构-改善既有代码的设计读书笔记

    1.基本重构 1.1 提炼函数(Extract Function) 将意图和实现分开,如果需要花时间浏览一段代码才能弄清它到底在干什么,那么就应该将其提炼到一个函数中,并根据它所做的事为其命名. 1. ...

  2. 重构-改善既有代码的设计 读书笔记

    这本书真的很赞,有种醍醐灌顶的感觉,一如既往,我还是大致分析一下这本书的思想,而不是单纯的文字摘录. 首先,无论是类还是方法本身,都可以视作对象.重构则是研究怎么降低耦合度的一种技术,同时我还是很支持 ...

  3. 『重构--改善既有代码的设计』读书笔记----序

    作为C++的程序员,我从大学就开始不间断的看书,看到如今上班,也始终坚持每天多多少少阅读技术文章,书看的很多,但很难有一本书,能让我去反复的翻阅.但唯独『重构--改善既有代码的设计』这本书让我重复看了 ...

  4. 重构 改善既有代码的设计:代码的坏

    以下内容来自<<重构 改善既有代码的设计>> 一.什么是重构 所谓重构(Refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改以改进程序的内部结构 ...

  5. 重构—改善既有代码的设计

    概述 1.1 参考资料 <重构-改善既有代码的设计>读后总结 <重构改善既有代码的设计> 22种代码的坏味道,一句话概括 1.2 何谓重构 首先要说明的是:视上下文不同,重构的 ...

  6. PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性

    思维导图 索引: Ø Move Method(搬移函数) Ø Move Field (搬移值域) Ø Extract Class (提炼类) Ø Inline Class (将类内联化,就是把当前的类 ...

  7. PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据

    介绍 承接上文的PHP 杂谈<重构-改善既有代码的设计>之 重新组织你的函数继续重构方面的内容. 这章主要针对数据的重构. 1.争论的声音--直接访问Field还是通过函数(Accesso ...

  8. 《重构-改善既有代码的设计》-第1例:租赁影片(2)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 上接  重构-改善既有代码的设计-第1例:租赁影片(1) 2  运用多态取代与价格相关的条件逻辑 2 ...

  9. 《重构-改善既有代码的设计》-第1例:租赁影片(1)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 买了<重构 - 改善既有代码的设计 >一书,一直没有好好看,大致过了下也觉得只是有点点印 ...

  10. 实践提高《重构改善既有代码的设计第2版》PDF中文+PDF英文+对比分析

    重构是编程的基础,是在不改变外部行为的前提下,有条不紊地改善代码.编程爱好者都知道,Martin Fowler 的<重构:改善既有代码的设计>已经成为全球有经验的程序员手中的利器,既可用来 ...

最新文章

  1. javascript操作cookie
  2. 查杀linux线程指令
  3. power指令集 mysql_PowerPC汇编指令集简析
  4. 与众不同 制作会唱歌的WinRAR - imsoft.cnblogs
  5. duration java_Java Duration类| toHours()方法与示例
  6. 复化梯形公式matlab程序_【HPC】高性能数值计算-梯形面积法
  7. numpy教程:基本输入输出和文件输入输出Input and output
  8. linux内核分析与应用 -- 进程与线程(下)
  9. Java Restful风格-Jersey RESTful 框架入门
  10. 个人java学习心得总结
  11. WebS WebStorm WebStorm WebS官方版下载
  12. Ubuntu 锁屏后键盘无法输入密码
  13. 【论文阅读】2021年牛津大学的 Survey:Recent Advances in Reinforcement Learning in Finance
  14. nas和san网络存储区别_存储区域网络或SAN
  15. IDEA全局搜索快捷键方法
  16. intellij idea左侧project导航栏设置背景色
  17. RHEL 5.4 下安装和使用 ntop 全纪录(ntop:Linux下可通过Web访问的网络流量监控工具)...
  18. 《互联网时代》 第十集 眺望
  19. uni-app 中使用iconfont图标
  20. R 文字挖掘基本流程

热门文章

  1. c罗讲什么语言教学,恩师讲述C罗成功秘诀 苦练+端正心态+放弃球权
  2. 全面深入彻底理解Python切片操作【原创】
  3. 从0到1学数据库:Function函数
  4. iphone技巧之cydia重新进去时不用重新加载
  5. javaweb(九)—— 通过Servlet生成验证码图片
  6. chip planner使用
  7. 直接反投影 matlab,濾波反投影重建算法(FBP)實現及應用(matlab)
  8. imac关闭窗口图标不见了_Mac图标:50多种免费的高质量iMac,Macbook图标集
  9. 在eclipse中设置server.xml与context.xml分离
  10. Oracle列转行函数listagg和wm_concat