《复杂系统突现论》读后
应石头兄弟之邀,想从复杂性的视角看一下从微服务到service mesh 的演进,没想到复杂性本身就是一个难点,于是找来了一本关于复杂性的书,希望从中能够对复杂性有一些进一步的认识。
(来自百度百科)
复杂性是当代科学的一个前沿和热点,具有跨学科综合性的趋势。不幸的是,复杂系统理论仍在等待它的牛顿。复杂性实际上就是一门关于突现的科学,而系统思想主要有三组概念:突现与等级,通讯与控制,进化与自组织, 这可能就是所谓的动力学机理。软件领域的复杂性不应该局限在计算复杂度上,是否可以从更宽的维度和视角看待软件产品的复杂性呢?
突现论可以追溯到“整体不等于部分之和”或“整体大于部分之和”。这个整体具有的一些性质是所有组成部分所不具有的,这时可以称为整体大于部分之和。合成效应可以逻辑地从部分的效应中推出,是可预测的,而异质效应是不可预测的。突现性是宏观层次所拥有的一种不可还原的根本性质。
插件化,微服务,service mesh 是否是突现的一种结果呢?
一般系统理论强调和突显了四个观点:整体性、有机性、动态性和有序性。子系统的系统作用形成序参量,是决定系统特征和系统演化的主要参量,是微观子系统相互作用在临界条件下形成的,它们在微观层次上完全不能被理解。
系统向临界点方向组织其本身,在临界点,单个的事件具有了最为广泛的可能效应范围,也就是说,系统向最优地敏感于外部输入的方向调节其自身。软件系统包括整体开发流程的序参量是怎样的呢?
复杂自然现象是在层级中被组织起来的,其中每一个层次都是由若干个整合系统构建起来的。软件系统不同层次的演进是怎样的呢?
从控制论的视角看,突现(创新)是由于高层次的行为控制了低层次的基准信息的结果,就是产生高层控制系统的“元系统跃迁”。
一个元系统跃迁是新控制层级的突现,常常伴随着先前存在的许多系统的磨合,是一个创造新行动者的特殊类型的活动,一个行动导致了新行动者的突现。人类认知的11个控制层级包括:
-
强度 intensities
-
感觉 sensation
-
构型 configuration
-
转换 Transitions
-
事件 Events
-
关系 relationship
-
范畴 category
-
序列 sequence
-
程序 program
-
原理 principle
-
系统概念 system concepts
无独有偶,宇宙的维度好像也是11维,是与人的认知相吻合吗?
科学没有哲学是盲目的,哲学没有科学是无效的。计算机模拟是研究复杂系统突现的一种重要方法。根据复杂性对系统的分类为:
-
静态结构
-
简单动力系统或平衡有序结构系统
-
开放系统
-
控制系统
-
自组织系统
-
复杂适应系统
复杂系统突现的4个特征:全局模式的整体序或宏观序,从简单生成复杂的新颖性,非迭代模拟的不可推导性和不可预测性,层次之间的不可还原性。
自组织是高层次结构或功能模式的自发形成,它是通过低层次客体之间的相互作用而产生的突现,由于局域相互作用而导致的一个全局相干模式的自发创生和自发突现。自组织机理侧重于揭示系统的组分之间的内部关系,以及由此突现的动力学行为,而适应性造就了复杂性的动力学模型。
那么,软件系统的适应性呢?
自组织系统主要是一种分布式系统,分布式控制的优势在于强健性、弹性和自主性。元素之间相互作用的状态,对元素起到了一种限制和约束的作用。它限制了系统的变化,限制了元素的自由度和随机性,把它们约束在一定的时间、空间和形态范围里,从而形成了某种稳定的结构模式和构型,并与其它系统或环境区分开来。
开发团队的自组织性 还是 软件系统自身的自组织性呢?
突现是指在复杂系统的自组织过程中出现的、新颖的和连贯的结构、模式和性质,相对于它们所出现的微观层次的组成部分和过程,突现现象是在宏观层次上出现的现象,是一种动态的结构,一种动力学秩序(过程的结构)。
突现都是正向的吗?会产生负创新么?
软件系统演进的下一个突现会是什么呢?
会出现在哪个层级上呢?
......
就象波普尔知识进化图示中所描述的那样,从一个问题到另一个问题。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序员同学在实习期间应该做些什么
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82156643 本文首发于公众号:程序员江湖。 满满干货,关注就送。 上次我们讲述了如何寻找实习工作,今天我们来讲一下找到实习以后应该做什么正确的事情。 首先我把我自己的实习经历作为一个比较反面的教材。 其实我自己的实习总结下来就这么几个词,悠哉干活,做完就行,偶尔健身,经常早退。 当然我也会去听听讲座,看看度学堂,但是总体来说还是比较散漫。 我在实习期间确实是比较划水的,确实有一些遗憾,所以我在这里进行回忆与反思,总结一下实习期间应该做的事情。 1 做好本职工作 首先,你需要做好你的本职工作,保质保量,按时交付。这样你的同事和领导都会肯定你的能力,也会逐渐把一些进阶的任务交给你做,让你得到更多锻炼的机会。 2 多找同事请教 然后,和同事愉快相处,多多请教交流,学习大牛身上的优点。大公司的员工一般技术水平都比较高,一开始你一定会觉得不太适应,但是不要有压力,多向他们学习,你会知道你应该向什么方向努力。 3 搞懂项目架构 搞懂部门的...
- 下一篇
Work Like Alibaba|6大招式打造高效研发效能生态
导读:本期Work like alibaba系列课程,我们邀请到了阿里巴巴CBU技术部的高级技术专家施翔为我们带来的如何打造高效研发效能生态的团队。技术负责人、CTO、CEO、开发者们看过来~ 研发效能一直是业务不断发展背景下技术团队的痛点,同时又是很难去定义和衡量的东西。作者从阿里研发生态发展过程中所经历的困难挑战和应对方案中抽丝拨茧,抽象出一套方法。希望可以帮助碰到同样问题或者希望可以从当前的研发模式中获得突破的技术Leader提供更多的思路。 演讲嘉宾 施翔(傲野) 阿里巴巴高级技术专家 毕业于南昌大学,现就职于阿里巴巴CBU技术部,担任高级专家职务,负责质量、稳定性和Devops团队。曾就职于ZTE、支付宝公司,在系统高可用、测试工具研发、研发效率提升等方面有着丰富的经验。 直播时间 8月30日17:00-18:00 直播内容 我们对于研发
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境