版权归原作者所有,如有侵权,请联系我们

[科普中国]-混沌模型

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

在计算机界,混沌模型是一种软件开发的结构。其创始者曾使用 L.B.S.Raccoon 的笔名指出,诸如螺旋模型和瀑布模型的项目管理模型虽然擅长于管理日程表和员工,但并未提供如何修复缺陷等解决其它技术问题的方法;与此同时,程序设计方法学虽然对修复缺陷及解决其它技术问题有效,但在管理截止日期或响应客户请求的方面并无帮助。此种模型试图桥接此一沟壑。混沌理论被用来帮助理解这里所出现的问题。

软件开发生命周期混沌模型指出,生命周期的每个阶段都应被套用到项目的所有层次上,从整个项目到单独的代码行。

整个项目必须被定义好、实现好、集成好。

(项目的)各个系统必须被定义好、实现好、集成好。

(系统的)各个模块必须被定义好、实现好、集成好。

(模块的)各个功能必须被定义好、实现好、集成好。

(功能的)各行代码必须被定义好、实现好、集成好。

在观念上的一个重大变革是关于项目是能被看成一个整体、还是必须被看成一些零部件的组合。没人能一次写出数千行代码,人们只能每次写几行代码的小片段、并测试这些小片段是否能正常工作,依此来一点一点搭建整个项目。一个复杂系统的行为发端于这些小建筑块的行为的组合。1

混沌策略混沌策略是基于混沌模型的软件开发策略,其主要规则是永远先解决最重要的问题

问题是未完成的编程任务。

最重要的问题包括以及这三个方面。

问题向用户提供功能点。

问题亟需解决,否则可能会耽误其它工作。

问题在解决并测试之后就被认为是可信任的,这样开发人员可以安全地着眼于其它地方。

解决问题意味着拿出一个稳定的方案。

混沌策略描述了程序员如何在有一份“待修复缺陷及待实现功能”列表的情况下完成某个项目的。通常,有专人为剩余的任务指定优先级,程序员们再一个一个解决它们。混沌策略认为这才是唯一行之有效的完成工作的方法。

混沌策略受到了围棋战术的启发。1

与混沌理论的联系两者之间有许多联系:

混沌模型有助于解释为何软件经常无法预测。

揭示了为何诸如计算机架构这样的高级概念不可以在底层代码中单独考虑。

以混沌策略的形式提供了揭示下一步做什么的提示。2

混沌理论混沌理论Chaos theory)是关于非线性系统在一定参数条件下展现分岔(bifurcation)、周期运动与非周期运动相互纠缠,以至于通向某种非周期有序运动的理论。在耗散系统和保守系统中,混沌运动有不同表现,前者有吸引子,后者无(也称含混吸引子)。

从20世纪80年代中期到20世纪末,混沌理论迅速吸引了数学、物理、工程、生态学、经济学、气象学、情报学等诸多领域学者有关注,引发了全球混沌热。混沌,也写作浑沌(比如《庄子》)。自然科学中讲的混沌运动指确定性系统中展示的一种类似随机的行为或性态。确定性(deterministic)是指方程不含随机项的系统,也称动力系统(dynamical system)。典型的模型有单峰映象(logistic map)迭代系统,洛伦兹微分方程系统,若斯叻吸引子,杜芬方程,蔡氏电路,陈氏吸引子等。为浑沌理论做出重要贡献的学者有庞加莱、洛伦兹、上田睆亮(Y. Ueda)、费根堡姆、约克、李天岩、斯美尔、芒德勃罗和郝柏林等。混沌理论向前可追溯到19世纪庞加莱等人对天体力学的研究,他提出了同宿轨道、异宿轨道的概念,他也被称为浑沌学之父。

混沌行为可以在许多自然系统中被观测到,例如天气和气候。对于这个行为的研究,可以通过分析混沌数学模型,或者通过诸如递归图和庞加莱映射等分析技术。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所