WHWM四问和理解型学习的关系

原来我们的WHWM方法是用在语文的分析性阅读和分析性写作上的,后来发现也可以用在数学解题上。今天,我们说,其实整个理解型学习也可以看做是这四个问题在教和学上的运用的结果。

理解型学习名词解释

先来补充一堆和理解型学习有关的名词的解释:

成长型思维:做中学、教中学、挑战着学、创造中学、任何时候都可以再进步。

学科大图景:一个学科的典型研究对象、典型研究问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。学会知识还是创造学会知识的思想和方法(尽管,是不是其实这些思想和方法还是知识?),以科学为例——用具体例子体现科学是给世界构建一个可计算的心智模型并且这个模型给出来的结果和实验以及观测结果相符。如果是为了学会创造知识的方法,而不仅仅是知识,那么,学科大图景比知识本身重要。当然,不学习知识和知识的创造过程,体会不到学科大图景。

批判性思维:没有经过我自己的理性检验(观察实验或者计算推理)的东西不能成为我下一步思考和认识世界的基础。例如伽利略运用斜塔实验和纯思辨的理想实验对重物落得更快的批判以及我们对后者的批判、冰上运动和力是维持运动的原因。

系联性思考:未知联系已知就是理解,构建理解的基础和框架,具有系统性(核心和成长),和逐条记忆检索相反。注意,把联系表达成网络和矩阵之后,还可以分析和计算联系:系联=联系^1+联系^2+联系^3+…,从孤立到有联系,从直接联系到间接联系,从个体到整体。

概念地图:概念,通过联系,构成的网络。也称为知识图谱、概念网络。其中学科概念地图指的是把一个学科的主要概念、概念之间的关系、概念和学科大图景之间的关系,整理之后,制作出来的概念地图。

创造体验式学习,也称为创造中学、挑战着学:在学习新概念的时候,老师创设一个接近概念提出的当时的背景的问题,不管是从理论本身出发,还是从具体要解决的实际现象出发,启发学生把这个新概念自己创造出来,体验一下其创造过程,希望不仅能够帮助学生学会这个概念,还能迁移到如何创造其他类似概念。

以项目为基础的学习,也称为做中学:设计一个能够把之前学过的知识和思维方式用上的问题,或者选择一个类似的实际问题,来解决,从而帮助学生更好地理解学过的知识和思维方式。当这个项目用于启发学生“创造”新知识或者思维的时候,这就是创造体验式学习。

讲给别人听,或者叫同伴教学法,教中学:把一个问题给别人讲清楚,接受别人的提问和挑战,可以使得自己理解的更深刻更清楚。

教的更少,学得更多:在老师指导下,通过理解型学习、创造体验式学习等方式来学习尽可能少的核心概念和基本概念,以及依靠这些概念提出和运用过程来增加对一个学科的大图景的认知,从而自己学会创造知识、创造性地运用知识和进一步学习这个学科的知识,就实现了“教的更少,学得更多”的目的。

学的更少,学得更多:从学生的角度,可以在老师的指导下,也可以在合适的学习资料的帮助下自学,通过理解型学习、创造体验式学习等方式来学习尽可能少的核心概念和基本概念,以及依靠这些概念提出和运用过程来增加对一个学科的大图景的认知,从而自己学会创造知识、创造性地运用知识和进一步学习这个学科的知识,就实现了“学的更少,学得更多”的目的。

痛快教育:理解型学习、创造体验式学习的实践很多时候,会比主要依靠记忆和重复刷题的机械式学习更需要时间和思考的投入,这通常本身并不一定愉快,往往不轻松,但是学习以后的效果却往往会更快乐——学会了创造知识的方法、体验了创造的过程。把这个过程的痛和结果的快合起来称为“痛快教育”。专门选择了这样一个词来和“快乐教育”、“减负”对比起来。追求短期快乐,减掉思维负担的教育,长期来看,只能增加负担,增加痛苦。当然,如果减掉的不是思维负担,而是那些可有可无的知识点,可以被其他更好的知识点代替来体现学科大图景的知识点,那这个负是该减的。这样减掉之后就正好达到了“教的更少,学得更多”。然而,如果一位老师没有这些理念,或者对学科认识不够深刻,则减掉的往往就是思维负担,就是最重要的学科大图景,只留下一个个孤立的需要通过刷题来学习的知识点。

为了理解自己和世界而学习:看看世界到底怎么回事,这世界的哪些地方“我”自己竟然可以理解,看看我自己最善于做的是什么,为此而思考而学习而创造,是一件快乐而有意义的事情。

教和学的目的:学习的目的是创造知识,创造性地使用知识知识,欣赏知识的创造和创造性的使用。这一切的基础是对知识的理解,也就是构建起来有系统有层次的知识结构,对知识产生的过程以及过程中体现的学科大图景尤其是思维方式、分析方法的理解。教学的目的就是帮助学生实现上面的目标。例如,帮助学生学会学习方法和思考,包含理解型学习、创造体验式学习、以项目为基础的学习、讲给别人听、批判性思维、系联性思考等;提高学生通过学习和挑战来增加提出问题解决问题的能力的意愿,也就是培养成长型思维;培养学生从知识、研究案例知识提出的背景和过程的学习中体会好所在学科的学科大图景,包含典型问题、典型对象、典型思维方式、典型分析方法、和世界以及其他学科的关系,进而形成学科兴趣和责任感。

WHWM分析性阅读:What说了什么,How怎么说的,Why为什么说这个为什么这样说,Meaningful你觉得怎么样,对你来说读了以后意味着什么。

WHWM分析性写作:What我想说什么,How我想怎么说,Why我为什么说这个为什么这样说,Meaningful我预期我的读者会觉得怎么样,对它们来说读了以后意味着什么。

WHWM数学解题四问:What:算出来的和用来计算的东西是什么?How:要计算的和用来计算的东西有什么关系?Why:这个关系应该表现为什么样的数学结构(运算),为什么是这个结构?Meaningful:是不是还有其他的关系或者运算可以用来解决这个问题?这个问题对我有什么意义,能够帮助我更好地理解某个数学概念或者数学方法吗,能够帮助我加深对数学和世界的认识吗?

WHWM用于教和学

实际上,学会问问题,是学习和研究的最重要的能力。如果我们把WHWM这四个问题放到教学内容和方法上来,那就是:

What :学什么,教什么,为了什么要教和学这个?

答:教和学知识生成器,教和学学科大图景。为了创造知识、创造性地运用知识、欣赏知识的创造和知识的创造性使用,为了培养探索世界的人,为了培养更好地理解世界和自己的人而教和学。

How :怎么学,怎么教?

答:通过联系来建构学科概念地图,通过具体知识和研究案例(创造体验式学习)来理解学科大图景,来学会知识生成器。分解和综合,从树木看到森林,从森林看到树木。

Why :为什么学习这个、这样来学习可以达到这个目的?

答:所学习到的知识生成器,尤其是其中的批判性思维、系联性思考、成长型思维,正好就是能够帮助学习者来做创造知识、创造性地使用知识,以及欣赏知识的创造和创造性的使用。整个学习的方式,基于系联性思考的理解型学习,创造体验式学习,也正好可以帮助学习者更好地学习到知识生成器。

Meaningful: 你觉得怎么样(前面的道理讲得通吗),你觉得你的受众(学生,老师,读者)会觉得怎样,对他们来说,有意义吗?

答:我觉得很有道理,我预期我的受众也会懂得甚至喜欢学这些这样学,甚至觉得这个论证过程也有道理。但是,这个方法确实对老师和学生的要求都比较高,无论是对学科知识的理解的深刻程度和高度,还是在学习态度上对理解的不懈追求。因此,我不预期所有读者都会喜欢本书,喜欢这些个说法,尽管我相信将来这样的人会越来越多。也欢迎你来在看了本书(以及将来的配套视频课程)以后问和回答这个Meaningful的问题。你还可以把你的答案发送给我,例如在这里留言,或者给我发邮件wujinshan@gmail.com。

于是,我们看到,这WHWM四个问题会自然导出我们的理解型学习的教和学的方法。这就是WHWM四问的威力,不管是更小的层面的语文阅读和写作、数学题的求解,还是更大的层面的教和学的方法,我们都可以通过问和回答这四个问题来想得更加清楚。

Chap7_MeaningfulLearningBigPicture

写给研究生的研究方法

最近,我在学习概率图模型。其实,好几年前,从我做汉字学习和检测算法的时候,我就知道(也谢谢周海军的工作给我的启发,我记得是不是海军有一次聊汉字工作的时候还提到了概率图模型来着,但至少是提到过消息传递算法),我需要概率图模型来解决汉字检测的问题:在汉字检测中,我们需要回答两个可以用概率图模型来回答的问题。第一,我们需要算出来一旦测量了某个汉字并且得到被试认识或者不认识这个汉字这个结果之后,其他的没有测量过汉字的认识和不认识的几率如何变化。第二,有了第一个结果,我们还需要确定一个最优的检测顺序,使得测量尽可能少的汉字却能得到尽可能多的汉字的是否被认识的信息。

但是,由于各种原因,我连《概率图模型》那本巨著都买了(谢谢王馨帮我千里迢迢背回来这么死沉死沉的书),也没有真的开始学习。直到最近,乘着Daphne Koller的概率图模型公开课,终于老老实实学习了一下。目前,已经完成第一遍的学习,了解了知识,基本上想通了这些知识之间的联系,了解了这个领域在做什么基础理论上和应用上。现在,在学习第二遍,开始思考知识之上的层面,例如怎么用,这个课为什么这样讲为什么讲这些。无论上面的哪一个层面,Daphne的课都非常值得借鉴。

当然,下一步就是去把这个方法用来解决我的汉字检测的问题。并且,很有可能,我们的第二个问题,是超越目前的概率图模型的框架的,也就是一个基础性的创新。同时,随着研究的开展,也会需要再一次地来学习某些和具体研究直接相关的内容,促进研究的开展和对概率图模型的理解。

从这个例子,我想向研究生说一点关于研究方法的事情。研究上的创新主要包含:新问题、新方法、新整理的思路(也包含新理解新解释)、新结果。而且,这里的新意的程度是有相对顺序的。新问题和新方法最重要,新结果最低。因此,那种修改别人的模型参数,得到一些新结果的,除非结果本身的新意特别大,跟前人的结果有定性区别,意义不大。

按照这样的一个新意的追求,研究上的创新也有一个一般过程:找一个感兴趣的问题,先思考大概怎么做,有了整体思路或者至少有方向了再来看文献检验这个思路或者方向,接着进一步学习必要的技术,做出来,检验一下。

你说,那我要是就没有问题怎么办?那是平时学习和思考的方法不对。永远要批判着学习和思考,不是接收,慢慢形成对一个领域的整体认知。无论是学科的基础问题,还是实际现象,都能够启发你提出新问题。当然,如果别人已经提出问题,但是就是没有好方法,那这个新意也是不错的。

你问,不看大量文献,怎么形成整体认知?看了呢,又违反了上面的现有问题思路和方向,再来看文献的方法。那是看文献的方法不对。只要冲着整理整个领域的典型研究问题、思维方式、分析方法去看,就不需要看大量文献,不需要看太多细节。看文献是为了构建自己对学科的大图景的认知地图,而不是去记住人家怎么做,照着做。当然,你要是都学不会人家怎么做,那也是白看。进得去,出得来,还能反思。这就是看文献的要求。

你说,我就是学不会从细节到整体,从整体到细节的大图景学习,理解型学习和思考,那怎么办?那,再努力一下试试,但是如果还不行,就请你不要走学术研究,至少理科的务实的提出问题和解决问题的,这条路。赶紧赚钱去吧。任何工作都是职业上的区别,而且,一般来说你走其他的路,赚的钱都比走学术的路要多。所以,不要在学术上困死,除非你跟我一样特别愿意和享受做学问,还能做,还不太计较赚钱多少。

《线性代数》课程大纲

课程名称: 线性代数
英文名称:Linear Algebra

【先修课要求】高中数学。推荐已经学习过一门编程语言(随着课程学习也可以),学过集合和映射方面的知识、数学建模方面的知识就更好了,但是不做要求。
【学生预计课程所花时间,小时,按照课程成绩良好以及以上学生粗糙估计】32(上课)+ 80(看书完成作业)+ 30(课程项目)+10(复习和考试)= 152。平均每周大约10小时。

课程简介

线性代数的矢量和矩阵为描述世界提供了具有一定普适性的数学结构,数值线性代数是最重要的数值计算方法。本课程主要包含四个模块的内容:矢量空间,矩阵论,数值线性代数,线性代数的应用案例。本课程也为物理学、系统科学、数值计算的多门课程提供知识上的基础。

课程目标

这门课程的知识上的目标是帮助学生建构从集合映射到线性空间的数学概念体系,以及学会做数值线性代数。同时,在本课程在思维方式上的目标是把问题抽象和转化成矩阵和矢量的问题的能力,依赖抽象概念展开思考的能力。注意,大量的对象都可以被抽象为矢量和矩阵以及张量等数学结构。因此,本课程的知识内容尽管从数学上就是矢量、矩阵、张量,但是在应用上,会通过例子展示其普适性和威力。顺便,本课程也会通过应用部分的例子来稍微展示一下线性代数和系统科学学科联系。

课程设计思想

本课程的设计原则是:按照课程目标来决定授课内容和授课方式,内容要体现这个学科的学科大图景——典型对象、典型问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。
这个原则背后的理念是:学习是为了创造知识、创造性地使用知识、欣赏知识的创造和创造性的使用。为了这个目的,不仅仅要学会知识,有系统的知识,还要从知识的学习、知识的创造过程的学习中体会到如何创造知识和创造性地使用知识,也就是学科大图景。

本课程的设计方法是:绘制学科概念地图,包含基本概念、核心概念,概念之间的联系,以及概念和学科大图景的联系。以学科概念地图为基础选择所要教授的概念和概念关系,以及回答每一项所选择的内容的理据性——尤其是从研究工作以及概念依赖关系的角度的理据性,也就是为什么这些内容是值得学习的。具体设计过程,除了课程整体概念地图,就不在这里给出。

LinearAlgebra
图1:《线性代数》主要概念、概念关系、学科大图景(课程目标)。

课程目标:线性代数给描述世界提供了最重要的数学结构,数值线性代数是最重要的数值计算方法。因此,这门课程的知识上的目标是帮助学生建构从集合映射到线性空间的数学概念体系,以及学会做数值线性代数。同时,在本课程在思维方式上的目标是把问题抽象和转化成矩阵和矢量的问题的能力,依赖抽象概念展开思考的能力。注意,大量的对象都可以被抽象为矢量和矩阵以及张量等数学结构。因此,本课程的典型对象尽管从数学上就是矢量、矩阵、张量,但是在应用上,要通过例子展示其普适性和威力。顺便,本课程也会通过应用部分的例子来稍微展示一下线性代数和系统科学学科联系。

按照这个目标所设计的本课程的四个模块是:矢量空间,矩阵论,数值线性代数,线性代数的应用案例。传统的以行列式和行列式的计算,尤其是手动计算,为基本目标的线性代数是完全不能实现上面的目标的。

另外,从教学方法上来讲,本课程采用的教学方法包含理解型学习、以项目为基础的学习、创造体验式学习、讲给别人听(同伴教学法)。这需要学生已经具有或者说能够被培养出来一定的自学能力,愿意投入时间去思考和完成课程项目和作业。大量的阅读材料和研究实例,以及学生在课后对阅读材料和研究实例的整理——制作反映学生理解和思考的概念地图,以及在此基础上完成课程项目。这门课程的缺点是:对学生的理解力要求比较高,对学生的时间投入要求比较高,对学生的学习动机也有要求。对学术感兴趣的学生可以从中学到更多东西。

培养学生的学习能力,帮助学生学会知识的同时学会学科思维方式体会好学科大图景,同时需要学生的时间和思考深度的投入是本课程的特点。如果这些不是你的目标,或者你觉得做不到要求的时间和思维深度,请不要选择本课程

教学内容和学时分配

  • 第零章 课程目标和学习方法(3学时,选修)
    • 0.1 课程基本目标:知识目标和思维方式目标
    • 0.2 理解型学习方法和概念地图
      • 0.2.1 批判性思维和成长型思维
      • 没有经过我自己的理性检验(观察实验或者计算推理)的东西不能成为我下一步思考和认识世界的基础。举例:平面几何(论证中每一个步骤都需要理由,都可能不成立)、伽利略关于“重物落的快”的论证(不是结论对就是对的,或者论据对就是对的,不是大人物说的就是对的,通过替换对象来考察隐藏的逻辑假设以及凸显事物的本质特征)
        成长型思维:做中学、教中学、挑战着学、创造中学、任何时候都可以再进步。

      • 0.2.2 系联性思考
      • 未知联系已知就是理解,构建理解的基础和框架,具有系统性(核心和成长),和逐条记忆检索相反。注意,把联系表达成网络和矩阵之后,还可以分析和计算联系:系联=联系1+联系2+联系3+⋯,从孤立到有联系,从直接联系到间接联系,从个体到整体

      • 0.2.3 学科大图景
      • 一个学科的典型研究对象、典型研究问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。

      • 0.2.2 概念地图和概念地图的制作
    • 0.3 科学、数学与现实的关系
      • 0.3.1数学作为语言
      • 思考的语言,集合、映射的语言的重要性
        举例:“苹果的加法运算”到底是定义在哪一个集合上的运算:苹果的集合、苹果数量的集合、还是幂集

      • 0.3.2 数学作为结构
      • 从事物中抽象出关系,把关系整理成为数学结构,找到一个事物自身最切合的数学结构
        举例:位置坐标存在加法运算吗,还是位移矢量?矢量加法的一般性和举例
        举例:交换律不满足的操作(翻转三角形),矩阵

      • 0.3.3数学建模
      • 给事物的状态,事物的状态的变化——也就是状态上的操作,找最合适的数学结构
        举例:位移的矢量模型,运动物体的质点模型
        举例:最优编码与信息熵:概念是从现实世界里抽象出来的

      • 0.3.4 科学的实用主义和科学的可证伪性
      • 科学为现实提供了可计算的可证伪(但是迄今为止还没有被证伪的)心智模型

      • 0.3.5 归纳与演绎的逻辑
      • 归纳的作用和局限,天下乌鸦一般黑,归纳当做概率性推理

  • 第一章 矢量空间(3学时讲授)
    • 1.1 集合映射
    • 1.2 群和域
    • 1.3线性性和线性空间、线性空间上的算符
    • 1.4 内积、矢量空间和对偶矢量空间
    • 1.5 厄米算符谱定理、算符和矢量的表象理论和Dirac符号
  • 第二章 矩阵论(10学时讲授+1学时习题课)
    • 2.1 矩阵的本征值和本征向量
    • 2.2 矩阵的奇异值分解
    • 2.3矩阵的逆和广义逆
    • 2.4 矩阵的迹和行列式
    • 2.5 Jordan标准型
    • 2.6 矩阵微扰论
    • 2.7 Perron–Frobenius定理
  • 第三章 数值线性代数(3学时讲授+1学时习题课)
    • 3.1 矩阵相乘的Strassen算法
    • 3.2 本征值问题的求解
    • 3.3线性方程的解
    • 3.4 子空间迭代求解
    • 3.5数值线性代数系统
    • Lapack、Petsc、Slepc等求解本征值、奇异值、线性方程的解,并行程序设计

  • 第四章 线性代数应用(8学时讲授+3学时课程项目报告,按照学生情况选学其中几个,其他当做课程项目)
    • 4.1 矢量和量子力学
    • 矢量描述量子系统的状态,矩阵是算符,Green函数和矩阵

    • 4.2 矢量和自然语言处理
    • 矢量表示词汇、句子、段落、知识等语言单位

    • 4.3 矩阵和网络谱理论
    • 网络邻接矩阵和其他矩阵的本征值或者奇异值和网络结构的关系

    • 4.4 矩阵、Markov过程、PageRank算法
    • Perron–Frobenius定理,Markov随机过程,不变分布

    • 4.5 矩阵和投入产出分析
    • 从直接投入产出系数到间接投入产出系数,矩阵微扰论用于投入产出分析

    • 4.6 矩阵和Ising模型
    • Ising模型的转移矩阵求解

    • 4.7 矩阵奇异值分解和主成分分析(PCA)
    • 取少数几个本征矢量或者奇异值矢量的近似

    • 4.8 矩阵微积分和机器学习
    • 4.9 矩阵和非线性动力学
    • 不动点附近的线性稳定性分析

    • 4.10 矩阵和控制论

教材与学习资源

教材:
Sheldon Axler《Linear Algebra Done Right》
吴金闪《系统科学导引》

参考书:
W.I.B. Beveridge, 《The Art of Scientific Investigation》
Karl Popper 《The Logic of Scientific Discovery》
Timothy Gowers,《Mathematics: A Very Short Introduction》
Albert Einstein and Leopold Infeld,《The Evolution of Physics》
Richard Feynman, 《The Character of Physical Law》
Richard Feynman,《The Feynman’s Lectures on Physics, III》
吴金闪《教的更少,学得更多》
吴金闪 《二能级体系上的量子力学》

五、考核方式
课程考核包括以下几项:
(1)作业(50%)
(2)课程项目(10%)
(3)期末闭卷考试(40%)

大纲起草人:吴金闪

《数学建模》课程大纲

课程名称: 数学建模
英文名称:Mathematical Modeling

【先修课要求】微积分、线性代数,最好有概率论、统计学、普通物理的基础。
【学生预计课程所花时间,小时,按照课程成绩良好以及以上学生粗糙估计】32(上课)+ 90(完成作业和课程项目)+10(复习和考试)= 132。平均每周大约8小时。

课程简介

数学建模是双向的,包含把数学用于描述现实,从现实中抽象数学概念。当然,一般来说,更多的是前者:数学用于描述现实解决现实中的我们关心的问题。在本课程中,希望通过对以下三个方面的理解:什么是数学建模、数学建模的典型过程、数学模型及其描述的现实的例子来帮助学习者建立起来数学建模的习惯并提升数学建模的能力。 大量的科学研究本质上都是数学建模。因此,本课程适合物理学、生物学、地球科学、系统科学、应用数学、经济学、社会学、语言学等多个学科的有志于基础性或者应用型科学研究的学生学习。

课程目标

数学建模课程知识上的目标是帮助学生了解和使用数学建模的一般过程,也积累一些典型数学模型。在思维方式上,本课程的目标是培养学生把实际问题抽象和转化成数学结构的习惯和能力。本课程也会通过应用部分的例子来稍微展示一下数学建模和系统科学的联系。

课程设计思想

课程设计原则、设计方法

本课程的设计原则是:按照课程目标来决定授课内容和授课方式,内容要体现这个学科的学科大图景——典型对象、典型问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。
这个原则背后的理念是:学习是为了创造知识、创造性地使用知识、欣赏知识的创造和创造性的使用。为了这个目的,不仅仅要学会知识,有系统的知识,还要从知识的学习、知识的创造过程的学习中体会到如何创造知识和创造性地使用知识,也就是学科大图景。
本课程的设计方法是:绘制学科概念地图,包含基本概念、核心概念,概念之间的联系,以及概念和学科大图景的联系。以学科概念地图为基础选择所要教授的概念和概念关系,以及回答每一项所选择的内容的理据性——尤其是从研究工作以及概念依赖关系的角度的理据性,也就是为什么这些内容是值得学习的。具体设计过程,除了课程整体概念地图,就不在这里给出。

MathModeling
图1:《数学建模》主要概念、概念关系、学科大图景(课程目标)。

什么是数学建模

为了理解现实,干预现实,利用现实,我们需要在大脑之中有一个描述现实的东西,这就是模型 。数学模型是有结构的现实在认知结构中的以数学结构为语言的表示。把问题表达为数学语言之后,我们可以做更加深入的思考,更加明确和严谨的思考

一个表示最高的要求是忠实,称为忠实表示,也就是现实有什么性质(通常表现为可以在现实中对这个现实对象做什么),就也能对模型做相应的操作,并且把模型上操作完的结果重新翻译到现实中的时候正好就是现实中的结果。但是,建立模型,核心的目标是解决问题,并且实际上,任何模型都是对现实的简化和抽象,最多也就做到在所关心的现实对象的某个侧面,建立了一个近似忠实的表示。这里包含了两个意思,第一不全面,第二有近似。那么,这个不全面有近似的对现实的数学抽象和简化表示的好处是什么呢?可计算。计算包含数学计算、推理。推理包含确定性以及概率性推理。这就是建模(从现实中抽象、简化出来的对现实的某个侧面的近似忠实表示),在可计算这个意义上,称为数学建模。那既然不完全有近似,要简化一些东西忽略一些东西,那么,忽略什么?这实际上是数学建模的核心能力,需要我们对现实对象的洞察和理解,也需要我们通过对前人所建立的具体现象的具体模型的分析和体会来帮助我们做好这个简化和忽略,来获得启发和借鉴。这也就是通常所说的数学建模中提出假设的阶段。

那既然模型不过就是现实的近似的不完全的简化以后的描述,为什么要有能够描述现实的模型,而不是直接针对现实得了呢?另外,就算建模,也可以冲着建立一个完全能够复现现实的,不管规则多么复杂的模型,来构建我们的数学模型啊?例如,将来我们也要学习的多主体建模(Multi-Agent Modeling)就是这样的模型。但是,我们说,基于细节规则的模型有了之后,我们往往会进一步问:这样的规则是从哪里来的?这就自然地会走到“理解型”的数学模型,抓住了主要结构的数学模型。因此,为了理解现实,干预现实,利用现实,我们需要在大脑之中有一个描述现实的东西,这就是模型,尽管不完全准确不完全忠实,但是能用,而且往往这个模型经过检验和修正推广之后,还可以成为更大的描述现实的模型的一部分。

回到对现实可以做什么的问题,这就表现为现实对象之间的关系,或者用计算机编程的语言叫做对象上的方法或者说操作。有了操作,自然就得考虑对象的状态。如果对象的状态比较复杂,我们可能还得在这个对象的内部引入一个模型来描述,也就是对象的内部有子对象,子对象之间有关系,子对象的各自状态和子对象之间的关系合起来,构成了父对象的状态。同时,这些个子对象及其关系也可以被父对象上的操作所改变。于是,所谓的建模的问题,就是针对一个现实对象,我们希望得到一个描述这个对象的状态以及对这个状态的操作的表示。因此,抽象、分解和综合,自然也就成了数学建模的典型思维方式

在假设提出之后(如果表示不够好,将来可以更改这些假设,重新来),构建出来什么样的模型,有了模型如何计算,算出来的结果是否足够接近现实,能够解决现实问题,都必须有严格的逻辑基础。也就是说,人类思维的创造力,就在于根据现实对象的行为提出假设和将来解释模型的计算结果,以及按照模型算出来的结果和现实的对比来更新假设,剩下的按照假设用合适的数学结构写下来模型,求解模型,都是不需要人类创造力的,只需要经验。这就要求你有大量的合适的数学结构可以选择来描述现实,你有合适的方法来求解模型。如果满足要求的数学结构还没有,或者得到的模型的求解方法还没有被提出,那个时候,就从数学建模的研究,走到了数学的研究。本课程中所有的针对具体现象的具体模型及其构建过程的学习,都是为了体会好上面关于什么是数学模型的阐述。

基于以上对于数学建模的认知,数学建模课程目标是思维上,给现实对象建立数学模型的习惯和能力;知识上,建模的一般流程,典型的模型,对什么是数学建模的认知。数学建模的学科大图景包含:

  • 数学建模的典型对象:可以用数学结构来描述的现实对象;
  • 典型问题:找到现实对象的数学模型;
  • 典型分析方法:观察(什么操作、操作结果),提出假设,找到数学结构,求解模型,对比计算结果和观察实验,重新提出假设,甚至重新观察;
  • 典型思维方式:系联性思考,分解和综合,实验检验,批判性思维;
  • 和世界还有其他学科的关系:所有的科学学科的核心思想,任何可以数学化的对象,通常在成为专门学科的研究对象之前的。

学什么怎么学

本课程的基本目标是,通过从对现实中的具体现象和具体问题到具体的数学结构的构建过程的分析和欣赏、模仿构建、自主构建的过程中,学会构建(和理解、使用、检验、欣赏)模型,学会上面的数学建模的学科大图景,成为一个模型思考者——用数学结构给世界建立模型,从给世界建立模型的过程中提炼出数学结构。

怎么学呢?通过做中学和理解型学习,用具体例子,提炼思维方式,结合学科大图景。

离开具体模型的分析、欣赏、模仿、构建过程学不会自主构建模型,但是,只依赖具体模型的学习也不可能就学会自主构建模型,最多只能学会使用模型。学习的目标是创造知识和创造性地使用知识,而不仅仅是重复性地使用知识。如果所需要用到的数学结构是新的,则属于创造知识;如果所需要使用的数学结构是前人已经提出的,那么就是创造性地运用知识。如果我们没有体会到这些,仅仅是学到了一张表,表上面的内容是“针对某某现象,用某某模型”,并且以后你遇到现实中的某现象的时候就可以通过查表来找到合适的模型,这当然也有好处总比没有模型好,那就是重复性地使用知识。这不是我们的学习目标。

数学建模从某种意义上来说很像一门艺术。我们用学会绘画来类比。学练技法不会成为画家,当然不练不行。欣赏名画不会成为画家,当然最好还是看点。只有体会从现实和情感到绘画,以及从绘画到现实和情感,才能真的提升绘画创作的水平。但是,人家教吗?教得了吗?学练数学结构本身和数学题求解不会成为好的建模人,当然,不练不行。欣赏前人建好的模型不会成为好的建模人,当然最好还是看点。只有体会从现实和思考到模型,以及从模型到现实和思考,才能提升建模的水平。

但是,这样的真的帮助学习者成为画家的绘画有人教吗,教得了吗?

在这里,我们希望教会你真正来数学建模。我们还真的能教,你也应该真的能学会。

当然,你需要准备好一些数学结构:越多越好,理解有深刻越好;对数学概念的理解,要找到概念提出的动机背景,了解其产生的过程。你还要在本课程中有时间的付出,来体会这些模型的建立,尝试自己来建立一些现象的模型,甚至自己来找到合适的现象。除了时间的投入,你也要有很高的思维深入的投入。如果你不是严肃的想学习如何建模,建议你不要来选择本课程。

教学内容和学时分配

  • 第零章 课程目标和学习方法(3学时,选修)
      

    • 0.1 课程基本目标:知识目标和思维方式目标
    • 本课程在知识上的目标是帮助学生了解和能使用数学建模的一般过程,也积累一些典型数学模型。本课程在思维方式上的目标是培养学生把实际问题抽象和转化成数学结构的习惯和能力。本课程在学习时间和思维深度上的投入要求。

    • 0.2 理解型学习方法和概念地图
          

          

      • 0.2.1 批判性思维和成长型思维
      • 没有经过我自己的理性检验(观察实验或者计算推理)的东西不能成为我下一步思考和认识世界的基础。举例:平面几何(论证中每一个步骤都需要理由,都可能不成立)、伽利略关于“重物落的快”的论证(不是结论对就是对的,或者论据对就是对的,不是大人物说的就是对的,通过替换对象来考察隐藏的逻辑假设以及凸显事物的本质特征)
        成长型思维:做中学、教中学、挑战着学、创造中学、任何时候都可以再进步。
          

      • 0.2.2 系联性思考
      • 未知联系已知就是理解,构建理解的基础和框架,具有系统性(核心和成长),和逐条记忆检索相反。注意,把联系表达成网络和矩阵之后,还可以分析和计算联系:系联=联系1+联系2+联系3+⋯,从孤立到有联系,从直接联系到间接联系,从个体到整体。
          

      • 0.2.3 学科大图景
      • 一个学科的典型研究对象、典型研究问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。
          

      • 0.2.4 概念地图和概念地图的制作
      •    

      • 0.3 科学、数学与现实的关系
           

            

        • 0.3.1数学作为思维的语言和描述现实的语言、数学建模
        • 思考的语言,集合、映射的语言的重要性
          举例:“苹果的加法运算”到底是定义在哪一个集合上的运算:苹果的集合、苹果数量的集合、还是幂集
          从事物中抽象出关系,把关系整理成为数学结构,找到一个事物自身最切合的数学结构
          举例:位置坐标存在加法运算吗,还是位移矢量?矢量加法的一般性和举例
          举例:交换律不满足的操作(翻转三角形),矩阵
          给事物的状态,事物的状态的变化——也就是状态上的操作,找最合适的数学结构
          举例:位移的矢量模型,运动物体的质点模型
            

        • 0.3.2 科学的实用主义和科学的可证伪性
        • 科学为现实提供了可计算的可证伪(但是迄今为止还没有被证伪的)心智模型
            

        • 0.3.3 归纳与演绎的逻辑
        • 归纳的作用和局限,天下乌鸦一般黑,归纳当做概率性推理

    • 第一章 数学建模引论(3学时)
      • 1.1 数学建模的一般过程
      • 经验,体验,深入理解现象,对于建模的重要性。现实世界的输入,通过实验观察(建立后检验)、经验(启发建立过程,主要因素的选择)。数学结构准备。还有模型思维(用模型去描述世界的习惯和意愿,以及能力)。剩下的就是逻辑。无论求解过程多么复杂,都是技术。模型和模型的结果是收集数据,进一步改进的基础。观察测量体验现象,做假设(确定主要因素,确定主要因素的数学描述,甚至估计主要因素的值),构建模型,求解模型,靠实验和观察来检验模型。必要的时候重新来一轮。
        实际上课堂上能体验的没有观察的部分。所以,要配合课程项目来实现教学目的。
        举例子:决策模型的发展历史和关键点(简单效用函数和最优解,复杂效用函数和更优解,多主体规则模型,建模到底为了什么,理解现象吗?),简单阐述,后续展开

      • 1.2数学和数学建模的关系
      • 数学是一个从最少量的必要的假设出发通过人类思维来构建自洽的有系统的数学结构的学科。在这里,数学是思维的语言,具有明确含义的,帮助做严密的推理的语言。不需要现实世界来检验,只需要自洽。同时,通过数学建模,数学为描述现实提供语言,或者受现实启发提出新的数学结构。但是,要注意,这个时候,数学是现实的表示,而不是现实自身,很可能包含很多近似。数学是现实世界的虚像,还是说现实世界是数学的实像(投影)。求解模型需要深刻理解或者创造数学知识。
        举例子:引力模型的发展历程和关键点、量力态的数学模型,简单阐述,后续展开

    • 第二章 提炼和相关因素的假设:简单数学模型的威力(6学时)
      • 2.1简单模型背后的假设
      • 数苹果,数鸡蛋,数被引次数

      • 2.2 简单模型的大意义
      • 动物新陈代谢的速度,植物呢?比例模型

      • 2.3粗糙模型的威力
      • 量纲分析,确定相关因素得到的为例

      • 2.4 独立事件的建模
      • 独立事件的高斯分布及其相关模型,中心极限定理,从预实验估计被试数量,创新人才和均值,概率分布函数的宽度的意义

    • 第三章 因素之间的因果关系:力学世界观和动力学模型(4学时)
      • 3.1 引力模型的发展和力学世界观
      • 位置和动量状态、状态演化和演化的原因,引力模型的发展历程,微积分的发明
        描述性和解释性模型(本质上还是描述),科学不回答真正的为什么的问题,只关心对比模型和现实的结果,以及希望模型的假设越少越好,模型越普适越好

      • 3.2 力学世界的延伸:其他动力学模型
      • 举例,虫口模型,捕食者-被捕食者模型,军事,疾病传播

    • 第四章 走向相互作用的建模:分解、综合、系联(14学时)
      • 4.1多随机因素相互作用和概率图模型
      • 超越独立事件,走向相互作用。反推信息和贝叶斯公式。反向推断概率图模型,用于从概念同时认识的数据中获得概率图

      • 4.2网络建模
      • 具有相互作用的个体的集合,网络典型分析的适用性,网络建模举例

      • 4.3 社会学习现象和模型
      • 广告,信息和同伴压力导致的信息塌缩。需要多少个人来误导和模型参数的关系

      • 4.4 决策行为的建模
      • 从决策模型到博弈模型,偏好函数和最优化,带有随机因素的决策模型,其他偏好因素,不一定最优化,彻底放弃这条路?多主体行为规则模型。规则化,规则哪里来?

      • 4.5 矢量和矩阵的实像
      • 语言的矢量模型、量子态的矢量模型、Markov过程、概率图模型、间接联系、Feynman图、科学学中的矩阵。
        透过现象上的差异看到数学结构的相似性。反过来,难道数学结构的相似才是真的相似,才是现实?

      • 4.6神经网络建模
      • 黑箱建模、时间序列、人工神经网络建模举例(能够判断好坏的威力)

      • 4.7相互作用多体系统模型:more is different
      • 振动和波动、生命游戏、粒子的动量能量和寿命

    • 第五章 再论数学模型(2学时)
      • 5.1黑箱模型和机制模型:模型和理解
      • 神经网络建模、多主体建模、机制建模的区别和联系。科学和理解的关系。

      • 5.2 做一个模型思考者
      • 建模的理念、习惯和能力。时时刻刻准备着建模。

        • 为什么要建模?
        • 当你给事物一个名字的时候,你就有了运用这个事物来思考的能力,模型(背后的现象,假设,数学结构,求解,思考),成为进一步思考的基础。动力学的模型,描述性的模型,动力学的为什么和真正的为什么。科学不回答真正的为什么,只回答动力学层次的为什么,只关心模型和现实的测量结果的对比。每一步都更加有道理,尤其是假设的提出和检验。

        • 怎么建模?
        • 建模的一般过程:观察和体验、提出假设、找到合适的数学结构来把问题表达成一个数学问题、求解数学问题、解的检验和使用,回去修正假设甚至进一步的观察和体验,数学模型和建模过程的一般化系统化。数学知识的准备、现象的深入体验、随时准备建模的思想状态、积累一些建模的经验和可供参考的模型

        • 什么时候到头?
        • 简单性和准确性的相互协调。科学就是建立现实世界的数学模型,并且保证算出来的结果和观测结果在误差范围内相符,并且尽可能系统化(越少的假设和基本概念越好),对一般性和系统性的追求。

    教材与学习资源

    教材:
    E.A Bender《Introduction to Mathematical Modeling》
    Scott Page 《The Model Thinker》(模型思维),有配套视频课程

    参考书:
    W.I.B. Beveridge, 《The Art of Scientific Investigation》
    Karl Popper 《The Logic of Scientific Discovery》
    Timothy Gowers,《Mathematics: A Very Short Introduction》
    Albert Einstein and Leopold Infeld,《The Evolution of Physics》
    Richard Feynman, 《The Character of Physical Law》
    Richard Feynman,《The Feynman’s Lectures on Physics, III》
    吴金闪《教的更少,学得更多》(书稿
    吴金闪 《二能级体系上的量子力学》(书稿
    吴金闪《系统科学导引》(书稿
    吴金闪《数学建模引论》(书稿书稿公众号版本

    考核方式

    课程考核包括以下几项:
    (1)作业(40%)
    (2)课程项目(40%)
    (3)期末闭卷考试(20%)

    大纲起草人:吴金闪,狄增如,郑清华

从面向对象编程看分解和综合,个体和整体

计算机描述世界和解决问题的方式是对象、算法和编程(算法用语言表示出来)。计算机科学的对象是计算机科学在描述世界的时候对所描述的对象的抽象。一般来说,一个对象对于这个对象的使用者来说,主要关注的是:这个对象和外界是什么关系,也就是外界输入给这个对象什么,这个对象给外界输出什么;同时,刻画这个对象的编程者,关注的是这个对象内部需要什么元素,元素之间什么关系,这些内部元素和元素之间的关系如何按照接收到的外界信息来更新状态,从而如何产生输出给外界的符合其行为的输出。也就是说,对于把这个对象和程序当做工具来使用的人来说,我们得看到这个对象的整体,也就是跳出来看;对于设计和实现这个对象和程序的人来说,我们得看到这个对象的细节以及细节和整体的联系,也就是钻进去看。

如果我们有的时候需要创造性地使用这个工具,那仅仅跳出来就不够了。因为不了解细节如何实现的人,只能把这个工具用到它所设计的地方。就好像说,一个扳手就是用来拧螺丝的。但是,如果我们还了解这个扳手的其他细节,例如比较重,例如比较硬还有一定长度,没准在需要的时候我们还可以把扳手当做榔头或者撬棍来使用。同样,如果我们了解这个对象和程序的一定的细节,有需要的时候,我们就可以把这个程序的一部分算法和程序甚至设计上的想法拿来在适当的场合重用,或者迁移到一个完全不同的场景。这也就是创造性地使用工具和创造工具。

因此,如果要创造知识和创造性地使用知识,我们在学习的时候就要进得去处得来,跳出来的时候看到整体忽略其内部细节,钻进去的时候看到细节以及细节和整体的联系,合起来就是从细节看到整体,从整体的角度来看细节。这就是我们说的分解和综合,或者说既见树木又见森林,或者说,系联性思维。