这就是科学啊

最近在和小勇还有汪明他们在合作一个交通网络重要道路和节点的度量的项目。我们需要提供一个去掉一段道路或者一个节点以后的某种损失的度量。他们拿到这个度量以后会结合地质或者其他灾害发生的几率,来衡量风险。

当然,直接的度量,就是考虑每一段道路或者节点目前的流量。不过,由于其不再能够承担这些流量,其他的节点和道路上的流量还需要做相应的调整,因此,不能仅仅考虑直接流量。那么,如何来度量这个直接加上间接的流量效益呢?

最关键的就是这样的流量损失会重分配或者说传播。这是讨论这个问题的第一个关键点:传播,或者说直接到间接。

第二个思路上的关键点是假想地去掉一个(或者多个)单元的思想——Hypothetical Extraction Method (HEM)。

有了这两个思想和看问题的角度,我们可以考虑如下具体的算法:

  1. 用最短距离重分配,维持外界对系统的总需求不变的情况下,对比各个路段和节点的新流量和旧流量。
  2. 用PageRank算法来看看,去掉路段或者顶点之后,对比PageRank矩阵的本征矢量。这样做有间接效益,但是,意义不明确。
  3. 用投入产出分析加上HEM。这么多方法,用哪一个呢?
    1. 传统投入产出+HEM。数据本身只有道路系统和流量,没有外界。这个简单,把每个节点的总输出看做一个叫做“社会”的外界传播过来的流量,把每个节点的总接收到的投入看做一个叫做“社会”的外界从系统里面取走的流量。因此,这个HEM描述的是在外界和系统的关系不发生改变的情况下,去掉一个节点或者一段道路,系统的应对。
    2. 目标外界HEM。按照
      \begin{align}
      X = \left(1-F^{\left(-k\right)}\right)Y^{\left(k\right)},
      \end{align}
      当\(Y^{\left(k\right)} = x^{k}_{j}\)的时候,计算出来的\(X\)就是\(x^{k}_{j}\)在系统里面传播的效果。于是,\(\sum_{ij}\left(1-F^{\left(-k\right)}\right)_{ij}x^{k}_{j}\)就体现了\(x^{k}_{j}\)的乘数效应。于是,正好就能够用来度量路段\(kj\)的重要性。

    3. 本征向量HEM。一个投入产出矩阵的最大本征值对应的本征向量代表了这个生产系统的最优投入结构——每一个部门最好就需求这么多或者供给这么多。在交通问题里面,这就代表最好每一个节点上的总进或者出的客流的最有配比。当然,实际客流的结构不一定就是这个最有客流的结构。于是,这里相当于,仅仅从道路结构还有目前的客流分配方式来考虑,去掉一个节点或者一段道路前后,这个最优配比的变化。

除了描述单一路段或者单一节点的影响力,我们还可以考虑同时去掉两个路段或者节点的影响力的问题,以及这样的影响力和两者分开去掉的影响力之和的对比。很有可能,我们能够看到干涉效益——两者之和不等于同时去掉两者的效益。更进一步,这样的干涉效益,是不能通过仅仅考察直接流量来反应的,是我们这个方法特有的。

能够找到一个问题,同时三种方法都可以自然地用上,也是不容易的。这三个计算分析分别反应了道路和节点不同意义上的重要性。

除了这个具体工作,通过这个工作,我们还发现:

  1. 传播很重要(PageRank或者投入产出或者更一般的流平衡分析)
  2. 去掉一个点或者边来讨论重要性有意义
  3. 去掉两个点或者边可以反映更深刻的干涉效益。

这些是具有一般意义的。要把它们在各种系统里面实现,来解决具体系统的问题。从具体问题到一般方法,再到更一般的视角或者思想,然后回到更多方法,更多具体系统。这就是科学啊。

原则上,广义投入产出研究的四个方法——开放系统矩阵逆、封闭系统右本征向量HEM、封闭系统左本征向量HEM(也就是PageRank和PageRank HEM)和封闭系统目标外界HEM,按照所面对的系统是开放的还是封闭的,只能采取相应的方法。

但是,通过下面的手续(这个手续受这个交通系统的具体工作的启发),无论面对的系统是封闭还是开放系统,这四个分析方法完全都可以使用了。如果是开放系统,通过补充上那个作为外界的系统的数据,就成了封闭系统了。如果是封闭系统,通过加入一个假想的“外界”——把每一个节点到其他节点的出流当做从“外界”传过来的,把每个节点接受其他节点的入流当做到“外界”中去。这样系统就成了一个处处守恒的系统了。然后,把这个“外界”当做开放系统分析方法中的外界,就可以把这个封闭系统改造成开放系统来做后续分析了。

机械式和理解型学习

我一直在实践和推广理解型学习和教学。有人让我给一些对比的例子。一方面,有些材料确实很难用理解型学习的。另一方面,所有的能够用好理解型学习的地方都需要对内容有深刻的理解并且在具体讲解的环节需要有创造性才行。今天刚好撞到了一个比较容易讲明白两者的区别并且还能够体现理解型学习的好处的例子。

心儿在学校学过了面积单位之间的关系,1平方米=100平方分米,1平方分米=100平方厘米。当然,两个连起来,就是1平方米=100平方分米=100*100平方厘米。但是,遇到类似这样的问题,1平方千米=100平方米是否正确,就不好办了——课上(应该)没教过。

但是,如果是是通过理解型学习来明白上面的面积单位转换,就会非常清楚1平方千米=100平方米是否正确。为了实现面积转换这个问题上的理解型学习,需要理解和运用好下面几件事情:

  1. 一个1平方什么代表的是一个边长为1什么的正方形的面积(这个内容本身仍然可以做一定程度上的理解型学习,在学习面积这个概念的时候)
  2. 把正方形的每一个1什么的边划分成边长为另一个1什么什么单位,从而得到很多个小格子
  3. 运用第一条,看看小格子的面积
  4. 计算有多少个小格子
  5. 总结这样的大格子分小格子的方式和一般性的联系:1平方什么 = 1什么 × 1 什么

有了这个理解,
\begin{align}
1 \mbox{unit}^2 = 1 \mbox{unit} \times 1 \mbox{unit},
\end{align}
那很多事情就非常简单了。例如,1平方千米 = 1千米 × 1千米 = 1000 米 × 1000 米,那肯定不是100平方米。

因此,在这里,最关键的联系就是平方什么的单位,不是独立定义的,而是通过没有加上平方的那个什么的单位来定义的。这一联系建立以后,当然,给大格子划分小格子也是有意义的,就实现了理解型学习。理解型学习的目的是让学习者明白点什么,更具体来时候,就是把一个新的概念和之前学习过的概念通过其知识内部的关系联系起来,从而能够活学活用,还能够降低记忆的成本。

当然,我所提倡的“以概念地图为基础的精简教育体系”除了这个细节上联系的建立,还有更高的要求——我们需要选择哪些最少量的概念和联系来学来教,为什么。也就是说,不仅仅要在学习和传授概念的具体教和学的环节注意建立联系,还要按照学科思想学科基本问题培养学生对学科的情感和学习方法的角度,先建立整个学科知识之间相互联系的大图,然后通过这个大图来挑选少量的概念和联系,做这些选择了的例子的理解型学习。

单个顶点,多顶点的传播能力

早上在思考汉字学习和检测的问题,从认得和不认得(初始状态是未知)的两个状态的传播问题,联系到一个状态——也就是传染病——的传播问题。当然,其实,两个状态的传播问题也可以看作是两种相互促进或者阻碍的疾病的传播问题。

从这个角度来说,选择顶点的问题相当于识别这样的问题中的高影响力传播顶点。考察这样的顶点的一种方式是让传染病从这个顶点开始传播,然后计算传播范围(或者速度)。除了这个通过现象来考察的办法,是否还存在着几何度量——通过对网络结构做一番计算就能够给出来这样的顶点?例如度或者其他中心性,甚至最小支配集等。

从支配集的角度来说,相当于提出了一个多层网络上的双支配集问题,以及支配集在渗流和传染病中的意义的问题。

从实际过程的角度来计算传播能力还可以考虑:网络中一对顶点的传染能力(也就是把这一对当做初始感染者),以及和单个顶点传染能力的对比。汉字学习和检测的模型,也可以看做好多初始传染者的模型。找到这样的特殊对,和hem一样,就表示隐藏关联。还可以讨论这样识别出来的对和顶点,是否,很大程度上依赖具体的传染病。如果不是,就表明有找到几何度量的可能。

参考文献:

  1. A measure of individual role in collective dynamics
  2. Understanding the influence of all nodes in a network
  3. Predicting epidemic outbreak from individual features of the spreaders

安装使用Tor浏览器

Tor浏览器的背后是Tor深网,例如http://scihub22266oqcxt.onion/,当然也可以访问一般网站上的内容。不需要额外翻墙。

在Linux上安装需要增加软件源:sudo add-apt-repository ppa:webupd8team/tor-browser
然后更新列表, sudo apt-get update
安装tor浏览器,sudo apt-get install tor-browser

完成之后,第一次启动tor,它会试图连接tor网络。由于绿坝,在中国不能直接访问。这个可以通过在tor里面配置桥连接来绕过。配置方法,在bridges里面选择meek选项。

完成之后,等待浏览器建立到深网的链接,就可以浏览了,尽管速度还是有点慢。

教学相长

系联性思考(”See through connections”是我的邮件签名档)在我的研究工作和教学中有独特的地位。甚至它也是系统科学的核心思想。

系统科学还没有发展成熟。它有自己的思想——从个体到整体、从直接到间接、从具体系统到一般分析方法以及反过来从一般方法到具体系统(跨学科特性),有一些具有一定一般性的分析方法,没有自己的核心方程和理论,没有明确的学科知识基础,甚至没有一个好的界定(例如,有很多人把它看做应用数学,例如运筹学和控制论,的分支,或者反过来把应用数学看做系统科学的一部分)。一门仅仅有思想和不成体系的方法的科学是不能称作一门科学的。

于是,当我开始教授《系统科学基础》这门课的时候,第一个要解决的问题,就是思考什么是系统科学以及如何给学生说明白什么是系统科学。内容要体现系统科学的核心思想,还要通过具体的研究工作来体现,最好还要整理出来一个现有分析方法的体系,找到这个体系的知识基础并且进一步给学生整理一下这些知识基础。

于是,我发现,我必须做两件事情:从各种具有系统科学思想的研究工作中思考什么是系统科学,把系统科学的分析方法成立出来体系并且找到最少量最必要的知识基础。当然,整理好了之后,怎么跟学生分享,也是一个问题——不过,神奇的是,这个问题的答案还是在系联性思考。

第一件事情需要把不同的研究工作的共同点找到,有的时候还需要把各自的特点也找出来。这个也就是把不同的研究工作联系起来。第二件事情,需要把具有一定一般性的研究方法提炼出来——例如用网络来简化描述相互作用、相变的概念和分析技术(例如关联函数),并且把这些方法的知识基础整理和精简出来,突破学科和课程的限制,做到融会贯通。

第一件事情在我的研究工作上的直接影响就是每一个研究工作我会问:体现了系统科学的核心思想的哪一些,用到了和发展了哪一些方法。于是,跨学科性和从个体到整体从直接到间接确实成了我的研究工作的中心思想,不管所分析的具体系统是什么。第二件事情,再加上我们汉字结构和汉字学习的工作,促使我开始思考“精简教育”——有些东西不学不太影响对整个学科的理解而有些东西的学习顺序需要优化,并且找到了实现它的工具——概念地图。进而,对于教学的目的和学习的目的,也做了深刻的思考。我们学习是为了创造和创造性地使用知识,但是不是记住知识。对于创造和创造性地使用知识来说,最重要的事情是理解和内化知识形成一个相互联系的知识的体系。于是,我发现,还是系联性思考。

这个我自己身上的例子很好地体现了教学相长,教学和研究工作相互促进,教学和我自己的思考和理解相互促进。当然,在具体的知识层面的例子,传授这个具体知识导致我自己的理解更深刻更加融会贯通,也有。不过,这个就是教学相长的小小侧面了。

把我自己身上的这个例子记录下来,留给我自己进一步体会,还有其他人——尤其是年轻老师——参考。

不过,现在基本上有了一些能够体现学科思想和研究方法的具体例子,跨学科的融合了的知识基础也差不多已经成体系。因此,从我自己的角度来说,写完这本教材就可以教其他课去了。我准备先建设几年的《学会学习和思考》,然后,去上《数学模型》。

另外,整个过程是一个自加强正反馈过程:我用自己对系统科学和教学学习的思考为主线来整理和教授系统科学,整理和教授系统科学使得我对系统科学和教学学习的思考更加明确。这个正反馈,尽管是好事,有可能掉入一个局域最值的陷阱——再也看不见那些不在自己眼睛里面的东西,由于现在的眼睛只看那些觉得会进入眼睛的东西。这个问题,一方面需要通过看看和听听其他人怎么说,一方面,也只有等到过了这个欣赏最值的阶段,以后再来回顾反思了。