打算编写一本《系统理论基础》(同时一本简写本《系统科学导论》)的书

利用几年时间把最基本的教材编写出来,而且要遵循以下的原则,是一件很有意义的事情。欢迎所有有兴趣有能力的人,一起来编撰,只要同意遵循以下编撰原则。提纲可以再讨论。

前言部分:编撰思想和原则

本书的特点:
1. 来自于研究论文的例子
2. 数学物理基础和基本的系统理论的概念与方法并重
3. 附有计算技术附录
4. 包含大量习题,其中大部分来自于研究论文
5. 概念地图的应用

系统科学还不是一个非常成熟的学科,这意味着概念体系尚未完备,概念之间也还没有达到数学、物理学等领域的紧密相联的程度。但是,系统科学这个领域确实已经形成一些有自身特点的概念、研究方法和研究对象。因此,本书编撰的指导思想是通过具体的理论研究工作以及少量的应用性实例来反映这个学科的概念、方法和对象。后者通常做为对前者的观察、评论和总结来体现,同时也是前者编排顺序、材料选择的隐藏线索。同时,一个没有非常成熟的学科还决定了在这个学科里,概念与方法还没有完全压倒思想和思辨。在本书中,我们尽量把思想和思辨与概念和方法区分开来,重点放在后面。尽管思想和思辨是很重要的,但是我们采取的方式是:只有当思想和思辨对于理解概念和方法有非常大的好处的时候,我们介绍一下思想和思辨。

系统科学的基本的思想源流有几个方面,在合适的地方在具体的例子当中,我们会做进一步的阐述:系统的演化与结构的产生(与经典热力学图景的矛盾)、整体运动与激发模式、临界行为与普适性、网络科学与一般的相互作用。我们会尽量把思想和思辨层次的内容与具体的粒子结合,最好能够通过计算体现出来。所有的这些思想有一个共同点就是探讨复杂现象背后的机制,这样的机制有可能是简单的,同时把各种研究方法系统化,形成相互协调的理论体系。借用 Anderson[?] 和Kadanoff[?] 的两句话来表达就是:More is different, more is the same。多个个体通过相互作用形成整体运动的复杂的模式和行为,这样的整体运动甚至有可能独立于原始的系统,同时系统科学的研究方法追求用一般的普适的分析方法来研究各种多个个体相互作用的系统。对于对思想和思辨的兴趣大过概念、方法和计算的读者,尽管我们强烈推荐这样的读者也熟悉一下具体的例子的分析计算,我们在这本书的基础上,采用了更简单的例子(也因此失去了很多有意义的细节)编撰了《系统科学概论》。有需要可以和本书一起阅读。在具体的例子之中,我们可以很容易地理解系统性思考的角度、整体性思考的角度是什么,当离开具体的例子的时候,我们就很难做一般的讨论。因此,我们在这里再一次强调,系统科学的基本思想的理解和学习不能离开具体的研究工作的例子。这样一门学科的探索者们必须与街头卖药的区别开来。完全兜售思想和思辨就会沦为伪科学,或者至少被严肃的科学家鄙视的学科。

另外,在这里我们希望对系统理论与系统工程做一个区分。系统理论主要是基础性的科学研究,同时当然也做一些应用性研究,系统工程则是利用来自于数学的、物理学的、系统理论的概念与方法解决实际工程与管理领域的问题,是应用性的研究甚至直接就是应用。控制论、信息论、运筹学等属于系统工程的基础性学科,但是却属于系统理论的应用性学科。当然,这样的应用性学科本身也存在这基础研究的问题,这部分问题就会进入到系统理论的范畴。因此,在这里,我们不把系统工程相关学科作为重点,但是我们会讨论和学习这些学科的基本问题的部分。

作为教材,尤其是旨在促进一个学科的发展的教材,应该尽可能的来回答这个领域独立成为一个学科的理由是什么,研究对象的共同特点是什么,最基本的概念、方法与核心公式是什么。这也是本书的任务。但是,我们没有把握来回答好这个问题。在这里我们仅仅来抛一块砖。

系统科学的基本研究目标有两个层面。第一、如何处理在各种各样的系统之中的多个个体之间的相互作用,讨论其对系统的性质和功能的影响;第二、如何把对一种系统的研究方法抽象出来应用于更多的系统。两者都是方法论层次的目标,前者比后者稍微具体一些。如果我们把相互作用局限在四种基本相互作用(引力、电磁、强、弱)的框架内,那么我们讨论的就是统计物理学与场论的基本对象和目标。系统科学可以包含更广义的相互作用,例如人群之间的意见形成与传播,其相互作用形式就不能直接还原成为四种基本相互作用。沿着这个思路。在每一个层次,有这个层次自己的相互作用,这种形式的相互作用如何从更底层更基本的相互作用中涌现出来,也是系统科学研究的一个研究对象。后者其实是所有的自然科学(以及部分社会科学)的研究目标,想办法处理一个系统,接着抽象一般概念与方法来处理更多的系统。那么为什么要单独提出来作为系统科学的一个有特点的研究目标呢?在这里,我们强调,传统的学科是按照研究对象的某种共性来区分的,而系统科学的研究对象可以没有任何共性,可以来自于任何一个传统学科,只要而且希望,这样的跨学科的研究对象的研究方法上存在这共性。例如相变与临界现象原来是来自于物理学,尤其是统计物理学,的研究对象,后来人们发现在地理学、生态学、社会学甚至神经科学中都大量存在这多个体组成的系统整体状态出现定性变化,也就是相变这样的现象,因此从物理学发展起来的临界现象的研究方法(例如序参量、相变点附近的长程关联、重整化群、Metropolis 模拟方法)自然也就在以上这些学科的相应研究中的到了应用。通过本书的例子,多大程度上我们能够回答这个问题,多大程度上我们能够按照这个思路来回答这个问题,只能够留待本书使用者的检验了。

由于前面提到的本学科基本概念与方法之间的联系的紧密和一致性程度还不高,我们又希望通过本书能够给出一个比较清晰的系统科学的图像,在本书中我们尝试使用了一个比较新的学习技术:概念地图。概念地图就是把概念与概念之间的连接画成一张图,用来整理制作者的思路,指引学习者对概念的理解。

本书的逻辑体系、内容选取都仅仅是一个尝试,而且是与通常的教材不那么一样的一个尝试。我们希望本书具体内容发挥一定作用的同时,也希望它尽早地被逻辑体系和具体内容都更好的书取代。这样才能表明本学科的成熟度的到了提高,学科取得了发展。另一方面,我们也希望本书的编撰原则和特点,它们是内容来自于研究论文、大量的来自于研究课题的习题、学习方法方面的一定的考虑、技术和概念并重压缩对思想的讨论,得到延续。

目录
第一部分 系统科学导论:Overview of Systems Science
第一章 引 言: 系 统 科 学 的 系 统 科 学 的 思 想、 目 标 和 定 位:System
Thinking, Goals and Scientific Role of Systems Science
1.1 热寂说、传统物理系统的相变与开放系统结构的产生 . . . . . 13
1.2 整体运动的激发模式 . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 相变与临界性的例子 . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 传统相互作用与相变、临界性:Ising 模型 . . . . . . . 14
1.3.2 涌现、自组织临界:Bak-Tang-Wiesenfeld 沙堆 . . . . 14
1.4 相互作用,周期分叉与混沌的例子 . . . . . . . . . . . . . . . 14
1.5 相互作用与网络科学的例子:汉字研究、科学领域之间的关系 14
1.6 博弈与相互作用的例子 . . . . . . . . . . . . . . . . . . . . . . 14
1.7 演化与定态的例子 . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8 约束下定态与动态过程的优化的例子 . . . . . . . . . . . . . . 15
1.8.1 约束下定态优化的例子:项目管理 . . . . . . . . . . . 15
1.8.2 动态过程优化的例子:银行存款 . . . . . . . . . . . . . 15
第二章 为什么要学习数学物理基础:Why math and physics
2.1 概念、数学模型的来源:新的例子或者前面的例子再阐述
2.2 处理方法的来源:例子 . . . . . . . . . . . . . . . . . . . . . . 17
2.3 研究对象的来源:例子 . . . . . . . . . . . . . . . . . . . . . . 17
第二部分 系统科学的数学物理基础:Math and Physics Foundation of Systems Science 19
第三章 线性代数 23
3.1 集合与映射的语言 . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 从群到线性空间 . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 群、半群 . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 线性空间的矢量 . . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 矢量内积 . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 线性算符 . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 线性变换与表象理论 . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 数值线性代数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
第四章 概率论
4.1 古典概型:离散概率与几何概率 . . . . . . . . . . . . . . . . . 25
4.2 现代概率三元体 . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 大数定律与中心极限定理
4.4 概率论的 Dirac 符号形式 . . . . . . . . . . . . . . . . . . . . 25
4.5 随机过程初步 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.6 Monte Carlo 方法 . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.7 随机变量的测量 . . . . . . . . . . . . . . . . . . . . . . . . . . 25
第五章 力学:Mechanics
5.1 力学思想:Mechanial Thinking . . . . . . . . . . . . . . . . . 27
5.2 牛顿力学的基本概念:Newtonian Mechanics . . . . . . . . . . 27
5.3 分析力学的技术:Lagrangian and Hamiltonian Mechanics techniques . . . 27
5.4 本章小结
第六章 统计力学:Statistical Mechanics
6.1 从力学到统计力学:from Mechanics to Statistical Mechanics
6.2 统计力学的基本理论:Ensemble Theory . . . . . . . . . . . . 32
6.3 在物理学以及其他学科中的熵:Entropy in physics and others 32
6.4 临界现象与 Metropolis 方法: Metropolis method and critical phenomena . . . 32
6.5 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.6 本章技术性附录 . . . . . . . . . . . . . . . . . . . . . . . . . . 32
第七章 量子力学:Quantum Mechanics
7.1 量子系统的实验:Behaviours of Quantum Systems . . . . . . 33
7.2 量子的基本理论:Mathematical Theory of Quantum Systems 33
第三部分 系统科学的基本理论 35
第八章 线性与非线性动力学简论 37
8.1 线性系统的演化 . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.2 非线性系统的线性化:定态与线性稳定性
8.3 混沌与分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.4 更多的具体系统上的研究实例 . . . . . . . . . . . . . . . . . . 37
第九章 相变、临界性与自组织临界性 . . . . . . . . . . . 37
9.1 相变的研究方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.2 临界行为
9.3 自组织临界性 . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.4 更多的具体系统上的研究实例 . . . . . . . . . . . . . . . . . . 39
第十章 复杂网络概论
10.1 复杂网络的描述方法 . . . . . . . . . . . . . . . . . . . . . . . 41
10.2 基本静态量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.3 网络演化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4 网络上的动力学 . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.5 网络科学应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
第十一章 博弈论与演化博弈概论
11.1 博弈、博弈论与 Nash 均衡 . . . . . . . . . . . . . . . . . . . 43
11.2 理论与实际的对比:Nash 均衡的描述能力 . . . . . . . . . . . 43
11.3 演化博弈:均衡实现的问题 . . . . . . . . . . . . . . . . . . . 43
11.4 新的均衡的问题 . . . . . . . . . . . . . . . . . . . . . . . . . . 43
11.5 更多的具体系统上的研究实例 . . . . . . . . . . . . . . . . . . 43
第十二章 优化理论
12.1 运筹学概论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
12.1.1 基本问题及其数学描述 . . . . . . . . . . . . . . . . . . 45
12.1.2 问题的解决方法举例 . . . . . . . . . . . . . . . . . . . 45
12.1.3 更多的具体系统上的研究实例 . . . . . . . . . . . . . . 45
12.2 控制论概论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
12.2.1 基本问题及其数学描述 . . . . . . . . . . . . . . . . . . 45
12.2.2 问题的解决方法举例 . . . . . . . . . . . . . . . . . . . 45
12.2.3 更多的具体系统上的研究实例 . . . . . . . . . . . . . . 45
第四部分 附录:计算技术
第十三章 语言与工具的学习资源: Resource for programming language and packages of scientific computation
13.1 C 语言、Python 与编程风格 . . . . . . . . . . . . . . . . . . 49
13.2 BLAS、Lapack、Petsc、Slepc 与并行计算初步 . . . . . . . . 49
13.3 xmds2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13.4 sage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13.5 NetLogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13.6 Swarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13.7 概念地图与 Cmaptools 简介 . . . . . . . . . . . . . . . . . . . 49

王宁的报告:培养学生

括号内是吴金闪的评论。

导师要有自身的方向。
传授学科的基本任务,使命感。(这个非常重要,什么是这个学科的基本对象基本科学问题)
学科和学术的审美观,欣赏工作,推荐阅读材料。(品味决定一个科学家的内在水平)
基本功训练。
学生要做课题,也要有学识上的收获和成长,与导师的自身方向结合。
师生关系的基础是共同的兴趣、共同的方向。(这样的话,学生真的很难找)
因材施教。(概念地图就是探索认知结构的工具)

处理困难问题的时候需要聪明才智,需要有毅力。(呵呵,好像有其他深意来着)

顺便小结方维海的报告:学生和老师在做人上是平等的。做事可以批评,可以相互批评,工作以外的事情是平等的。(我接受我的孩子叫我吴金闪、金闪、爸爸,同时我也接受我的学生叫我金闪、吴金闪、吴老师、老板。我不需要我的学生形式上尊重我。我认为内心尊重我是必然的,不用体现出来。我批评学生的时候都是针对具体问题。我对具体问题的要求是比较高,但是我认为学生通过努力应该达到的)

大物理学,Big Physics

我做工作的原则和目标:在物理学的基本问题上有探索有进展,在物理学的应用领域上有拓展有创新。

自然的世界是传统物理学的主要操场。与人类行为有关的世界,从很多方面也可以是物理学的操场。只要人的决策行为存在客观的方面,社会经济系统也就会存在客观的一面。大物理学的任务就是利用传统物理学的思想、概念、方法和分析技术,来探索非传统物理学系统的客观的一面。利用简单、深刻、让人耳目一新的工作,来培育这个学科的发展的方向。

传统物理学之内,我主要关注:平衡与非平衡统计的基本问题、计算分析技术,量子力学的基本问题,相变与临界现象的分析技术。

传统物理学之外,我梦想要做的事情:第一、系统科学(或者说广义的物理学,用于物理系统以及非物理系统的物理学。我决定给它一个名字“大物理学”)的方法论层面的发展。我认为系统科学要成为电动力学、量子力学这样的有基本研究对象、基本方程的学科,是很难的。但是,关注相互关系以及相互关系引起的全局性的问题和相应的研究方法,以及把这样的思想和方法用到其它系统中去,解决其他方法很难解决的问题,这个是可以的,也是很有前途的。我想从我自己的研究工作出发,推动这个。这方面的研究包含网络科学、科学学、汉字与科学的学习、博弈论、量子博弈论。第二、我认为在知识爆炸、论文爆炸的时代,学习的方式应该改变,教学的理念也应该改变。教完备的学科知识已经不可能,只能教最核心的概念、方法,然后是学习的方法,获取信息的能力。相应的学科的边界也应该重新定义。这个事情,我想通过我自己的教学工作、研究工作以及相应的组织工作来推进。这也是为什么我看重概念地图以及我自己的汉字研究的原因。

在科学研究之外,利用科学研究的结果,我们希望能够更好地推动教学和学习方法的变革:从以机械记忆为主学习方式,发展到以理解和欣赏为主学习方式。在学习基本技能、基本知识的同时保持创造性,保持好奇心以及追求与大家不一样的科学的原始的驱动力。

这些事情都不是一个人就能够完成的。我相信越来越多人会加入到这个行列里头来。

Big data, bigger Physics

写程序的一些经验

首先,最初的习惯和最初的老师很重要。一定要自己写过几万行以上程序的老师才能有好的习惯。如果没有好的老师,那么浏览一下编程风格之类的书籍或者网页(google)是很有益处的。

其次,从带学生开始,才知道原来连如何写程序也是要教的。

下面,我把几条经验写在这里,供以后的学生参考。

第零、Linux可以运行脚本,主程序实现最核心的功能即可,其他调参数、记录结果等等,都可以通过脚本实现。更方便,程序也更容易写。
第一、编一个程序,运行的时候实现所有的参数(接受参数、安排流程是主程序的主要功能),而不是给每一个参数编一个程序;
第二、把每一项子功能定义好,写成子程序。考虑的出发点是:凡是重复很多次的代码一定要用子程序(除非特别必要的时候为了可读性多写几次);凡是 可以使得流程更加容易读和理解的,用子程序,把细节藏起来;凡是其它的程序中可能用得着的模块,写成子程序。
第三、写文件的输出在Linux下可以用运行时候的重定向实现,直接打印即可,不用写文件。
第四、一定要有很详细的注释,假定两个月以后你需要来读程序,你得看得懂。假定有你的师弟师妹需要参考你的程序,他们得看得懂。

关于风格:大括号写在子程序(或者for循环,if语句)名称后面,还是下一行;对齐方式;注释详细到什么程度;通常函数几个返回值;子程序和变量如何命名(不能太短,也不能特别特别长),这些问题没有一个标准,但是要形成一个惯例,而且这个惯例最好与主流的惯例差不多。

其它的,我请编外补充一下。

igraph安装使用

如果已经安装igraph,希望找到编译时候的参数,可以用以下命令:
pkg-config –libs –cflags igraph
如何pkg-config没有安装,就先安装这个软件。

如果自己手动安装,则需要知道自己安装到的目录,例如/opt/igraph,然后产生相应的-I(头文件igraph.h所在的位置)与-L(lib文件,.a, .so, .DLL等文件所在的位置,例如/opt/igraph/lib)参数的值

如果自动安装,则在软件中心或者新立得管理器中寻找igraph,或者apt-get一下就行。

以下是手动安装过程:下载igraph软件(google),解压缩,在解压以后的目录中运行 ./configure –prefix=/opt/igraph,然后 make,最后sudo make install搞定。

正确运行igraph程序需要设置库的路径,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/igraph/lib(改成自己安装的路径),或者用静态编译。