原文: Michael A. Nielsen, “Using spaced repetition systems to see through a piece of mathematics” http://cognitivemedium.com/srs-mathematics, 2019.
译者 @Mass Point,由于原译文已荒原,在此补档
翻译说明
- 这篇文章的翻译契机是在知乎上读到了 @mmjang 大佬对 Augmenting Long-term Memory 的译文,进而顺藤摸瓜到原作的 Blog,发现了这篇好文。由于知乎上关于 Anki 学数学的讨论还相对匮乏的,希望这篇文章能为大家提供一些新的思路。
- 决定动笔翻译的第二个原因是这篇文章的理论与 Make it Stick(中译认知天性)高度重合,诸如合意困难,心理组块等都有大量体现,相当于是为书中的理论提供了一套系统化的落地方案。也给我提供了一个管中窥豹的机会,可以近距离了解到真正的终身学习者是如何应用这些理论的。
- 第一次翻译这种万字长文,翻得不对/不好的地方恳请各位斧正(也只有动手翻译了之后才发现能看懂和写明白之间还有着巨大的鸿沟 qaq)。由于没有系统学过翻译,所以部分不知道怎么用中文表述的地方都小幅改动了原文,语序甚至逻辑都可能与原文不同,但我保证会在尽量贴合汉语表达习惯的同时尽可能少地颠覆原意,请读者见谅。某些经过调整后仍略显奇怪的句子为了防止是我理解错误,都在其后括出了原文,可自行通过原文去理解。
- 本文遵循与原文相同的CC BY-SA 3.0协议发布。
什么才叫理解了某些数学概念[1]?我们可能会天真地把这个问题看的非黑即白:最初,你完全不懂这个概念;然后,你会经历一段短暂的「灰色时期」,在这段时间不断地学习它们;经过一些运气和你的不懈努力之后,你就从「不理解」转变到了「理解」。
但实际上,理解数学概念的过程可比这要微妙得多。我个人的体会是,几乎所有的数学概念都是常读常新,对再简单的主题也似乎是成立的(或者说越是简单的主题,越是常读常新)。
我第一次真正体会到这点是在读了数学家 Andrey Kolmogorov 写的一篇文章[2]之后。你也许会觉得像 Kolmogorov 这样的大数学家写的一定都是一些晦涩的内容。但那篇文章的主题实际上却是微不足道的等号「=」:等号有哪些好处,又有哪些不足。Kolmogorov 非常详细地讨论了这些东西,并提出了许多有趣的观点,例如,等号的发明有助于方程(及其代数运算)等想法的具体落地。
在读那篇文章之前,我一度认为自己已经理解了等号。其实要是真有人说我连等号都没理解,我会感到有被冒犯。但那篇文章却切切实实地告诉了我,我还可以对等于号有更深刻的理解。
这一经历让我得到了三个收获。第一,我总是可以把某些数学概念理解得比我所认为的更深刻。第二,数学概念的理解是一个开放性的过程,几乎总是有更深入的可能。第三,即使是大数学家(或者说尤其是大数学家)也认为值得花时间进行这样的深入理解。
那么,我们应该如何把这个想法落地,即以开放的方式去能加深我们对数学概念的理解?
这些年来,我有了了不少体会[3](heuristics)。有一个是我在大约一年前偶然想到的,我个人感觉十分有用(尽管实践起来会比较耗时)。由于这个方法还在持续优化,所以我的表达可能有些磕磕绊绊。我相信方法还有许多改进空间,但先发表出来后也许会激起一部分人的兴趣(But perhaps it will already be of interest to others)。
不过先打个预防针,我非常不确定这种方法对与我背景不同的人来说到底有多少用处。因此,我也许得介绍一下我的学术背景。我并不是专业的数学家,但我是一名受过多年专业训练的理论物理学家。我的研究兴趣是量子信息学和量子计算,发表过几十篇证明相关数学定理的论文。我生命中的大部分时间都花在每天固定做的几个小时的数学上了。所以有可能与我背景不同的人(数学水平比我少得多或多得多的人)会发现我将要叙述的方法毫无作用。
另外值得一提的是,近期我的工作大多只是顺带涉及数学。我仍然把做数学作为一种爱好,偶尔也将其作为其他研究项目的一部分,但数学不再像以前那样是我生活的焦点。也许当数学是我的生活焦点的时候,这个方法会尤其有用。但还是那句话,我真的不确定。
这个方法需要使用一套间隔重复记忆系统(spaced-repetition memory systems)。我用的系统是一套叫 Anki 的抽认卡程序。在使用时,你在(虚拟的)卡片的一面输入问题,另一面输入答案,然后Anki就会反复测试你这些问题。Anki 最擅长的就是规划测试的间隔。如果你答对了某一个问题,Anki 就会延后下一次提问的时间;反之,你要是答错了,下次测试的时间就会提前。这种安排的好处就是,它会缩短你用于反复学习抽认卡的时间。我的估计是一张抽认卡总共也只需要学 5-10 分钟。
我以前单独写过一篇文章[4]来介绍在实践 Anki 中的各种要素。虽然要理解下面的内容不一定要读过那篇文章,但是如果读过,会对我接下来的一些观点有所启发。那篇文章描述了一整套阅读论文的方法——实际上,是对许多相关文献进行主题阅读的方法——不过那些方法与我将要描述的方法在很大程度上不相关(orthogonal)。那篇文章中的方法有助于快速了解一个主题的全貌,而这篇文章中的方法是为了对某个主题进行深入探究。
为了解释这个方法,我需要一些具体的数学概念来作为例子。我要用的是一个美妙的线性代数的定理,这个定理是:一个复正规矩阵(complex normal matrix)总是可由酉矩阵(unitary matrix)对角化。这个定理的逆命题「可由酉矩阵对角化的矩阵都是复正规矩阵」也是成立的,不过逆命题太显然了,所以我们下面不太会讨论。
分解这个命题,首先回想一下正规的定义:如果一个矩阵满足,其中 是共轭转置(complex transpose),,则称该矩阵是正规的。并且如果存在一个酉矩阵 ,使得,其中 是对角阵,则该矩阵可由酉矩阵对角化[5]。
这个定理的好用之处在于这个条件可以通过简单的计算来判定。相比之下, 是否可对角化似乎难以先验地确定,因为 和 有无限多的选择方式。但这个定理表明两个条件是等价的。因此,它将看似要在无限空间上的进行的搜索转换成只需简单地检查少量代数条件。此外,处理可对角化矩阵通常比处理一般矩阵容易得多,因此用一种简单的方法来判定矩阵是否可对角化是非常有用的。
我来解释一下证明过程。我下面讨论的详细程度就像我和我的同事(数学家或量子信息方向的学者)讨论这个问题一样。不太熟悉线性代数的人需要对证明过程进行进一步的细化(unpack)。
证明中有两个想法。
第一个想法是注意到表示 第 行的长度等于 第 列的长度。很容易通过观察第一行与第一列来想到这个。假设我们把 写成
其中 是矩阵的第一行, 是矩阵的剩余部分。于是左上角的元素是:
但是我们刚刚看到正规就意味着第一列的长度等于第一行的长度,所以第一行的剩余元素必须为零:
对右下角的矩阵反复应用如上操作,我们就可以对角化 了,定理到此证毕。
好了,虽然证明就是这样,但理解证明的过程可还没有结束。接下来我会使用 Anki 来加深我对这个证明的理解——我把这个过程称为(深度)Anki 化((deep) Ankification process)。Anki 化的过程可以大致分为两个阶段:
阶段一:理解证明
这一阶段将会涉及到对证明的多次转写。第一步是把证明分解(graze[6]),然后从中摘出独立的元素制作成 Anki 卡片。例如对于上面的证明,我会制作出如下的卡片:
问:如果 是一个复矩阵,那么的左上角元素与矩阵 的第一行 有什么关系?
答:是长度
问:如果 是一个复矩阵,那么的左上角元素与矩阵 的第一列 有什么关系?
答:是长度
我还会很用心的去把这些想法用不同的方式重新表述。比如说,第一个问题还可以这么去表述:
问:如果 是一个复矩阵,为什么左上角的元素等于第一行的长度的平方?
答:
事实上,我已经尽力去简化问题和答案,早期的版本比这更复杂。早期版本中问题的表述有一点小复杂,所以我进行了一些修剪。而我上面答案的表述比早期版本要好了太多。在早期版本中, 的提法过于具体(这没必要),矩阵中的分块也比现在要多,而且我用的是 而不是 ,以及还有许多其他的问题。你需要的是一个最精简的答案,要尽可能单刀直入地把核心想法表现出来。并且要是容易实现的话我甚至不会写出矩阵括号,而是可能转而去高亮 , 以及等元素。这些东西才是最重要的。
采用多种角度去思考「同一个」数学问题的价值是再怎么强调也不为过的。下面我再给出几个相关的等价描述:
问: 的对角线元素的几何意义是什么?
答:所在各行长度的平方。
问: 的对角线元素的几何意义是什么?
答:所在各列长度的平方。
问:在满足正规的前提下,对角线元素什么几何意义?
答:相应的行和列的长度相等。
在这个阶段,你要做的是学会这个证明的方法。每一个证明中的元素都应成为你的一件称手的「精神家具(mental furniture)」,最好是你开始能真正感受到的东西。这就意味着要用多种角度理解证明中的每个想法,并在不同的想法之间找到尽可能多的联系。
欠缺数学经验的人往往会把证明看成一张由命题组成的线性列表,但更有效地方式是把证明看作一些由基本事实(observation)相互连缀而成的网络。你要相信能佐证一件事物正确性的证据绝对不会只有一个;寻找事物的不同面向的解释将会加深你的理解。虽然从某种意义上说这很「低效」,但这却是加深理解和增强直觉的一种方式。你在做的是在节点之间建立更多的联系,构建这个证明的网络。
一种具体方法是去探索一些细微的改动。比如说,你也许想知道正规条件对于非对角线元素意味着什么。这样,你就会提出像下面这样的问题(同样的,对这个问题做出的许多改动都是有益的,我下面将只展示几个):
问:就矩阵 的第 行和第 列来说,正规条件对于第jk个元素意味着什么?
答:内积。
问:正规条件表示。这对行和列长度意味着什么?
答:他们必须相等。
(顺便说一句,正是像这样的问题让我认为完成 Anki 化过程一定程度上受益于丰富的数学经验。对于已经学了很多线性代数的人来说,这些会是非常自然的事实和问题。但我不确定它们对每个人来说会如此自然。提出「合适」的问题,即富有洞察力的问题,的能力是整个 Anki 化过程的中的一个难点,需要一些数学经验)
我一直在描述如何分解证明,旨在让自己彻底熟悉证明中的每一个元素。这很有用,但也是一个方向相当不明确的过程:没有明确的终点,也不一定能帮助你理解更广泛的证明结构(the broader to structure of the proof)。我给自己设定了一个更理想的目标:所有的改动都是为了把整个证明「蒸馏」到只剩一个问题和一个(简单的)答案。要达成这个目标只要把下面这些的问题的答案写出来:
问:一句话概括,一个复正规矩阵可被对角化的最核心的原因是什么?
以及
问:复正规矩阵可对角化的证明的直观表示是什么?
我把这些模板问题当成边界条件或者强制函数(forcing function)。它们是我的目标,我试着写一堆问题来帮助我达成这个目标。这个过程从分解证明中的元素开始,但随着时间的推移,焦点转移到更多关于证明本身的结构性问题,以及各个元素如何组合在一起的问题。例如:
问:复正规矩阵可对角化的证明中有几个关键想法?
答:两个。
问:复正规矩阵 可对角化证明中的两个关键思想是什么?
答:(1)把 写成第一列出第一个元素外全为 0 的基的形式;(2)使用正规条件证明行的长度等于列的长度。
事实上,这里的第二张卡片太复杂了——最好重构成两张或更多的卡片,将两个想法分开,并进一步优化答案的写法。一般来说,让问题和答案尽可能原子化(atomic)是很有帮助的,这似乎也有助于提升清晰度。原子化并不意味着问题和答案不能涉及非常复杂的概念,但它们最好只表达一个单一的想法。
在实践中,随着我对证明的理解越来越深刻,当作目标的模板问题的答案多少会发生一些改变(the aspirational goal cards change their nature somewhat)。这里有一个很好的例子来说明:
问:复正规矩阵可对角化的证明的直观表示是什么?
答:
这很好——从某种意义上来说,这比最初的证明还要好得多,但还是有些复杂。你真正想要的是把证明中每一个元素(以及它们之间的联系)刻在你骨子里。这种感觉很大一部分就来源于 Anki 化的过程。这种感觉不是你读一篇文章就能读出来的,而是真的需要你自动动手制卡。即使如此,我发现到目前为止所描述的这个过程还不够。为了帮助你更好地理解,你可以通过进一步提问来完善答案的不同部分。我没有尽我所能做到这一点,部分原因是因为我的工具不是十分适合这种方法。比如,我希望有一种简单的方法来突出显示(比如用黄色高亮)在上面的矩阵中相乘的关键行和列,然后将它们连接到右边的关键推断。虽然我可以很容易地想出多种方法来做到这一点,但在实践中我发现这还是太麻烦了。
另一个有用的技巧是有多种方式来写这些顶层问题。我的大部分思维过程都是非语言的(尤其是在我所熟悉的学科中),但我发现强迫自己给出口语问答仍然很有用:
问:一句话概括,一个复正规矩阵可被对角化的最核心的原因是什么?
答:如果特征值 在 的左上角,那么正规条件蕴含,因此第一行的余下部分 就都消失了。
如上所述,这种深度 Anki 化过程会让人感觉相当浪费时间。并且随着时间的推移,我对证明的理解一定会发生变化。当这种情况发生时,重写(或者丢弃)卡片以反映出我理解的加深通常会是很有益的。而且一路上写的这些坏卡就有点像汽车尾气(flavor of exhaust),似乎是得到好卡的必要条件。我希望我能用一种很好的方式来表述我的这套方法,但我目前的经验只能让我写出这些模糊的想法。
我前文对于这个方法的描述过程有一个重大缺陷,因为我其实作了个至关重要的弊:我上面的证明是在我完成 Anki 化过程之后写的,所以肯定比我在进行 Anki 化过程前写的证明要清晰深刻的多。所以一路上重构和优化证明的好处就被隐藏了。虽然我自己确实还没养成在 Anki 化过程后重写卡片的习惯(写这篇文章时我才进行了第一次尝试),但我估计这会是种有益的尝试。
数学的内在体验
当我重读我刚才写出的第一部分的文字时,我感到相当不满意,因为它几乎没有传达出一个人在尝试「走向」数学时的体验。让我试着抛开 Anki,而是用我在一次科研中的经历,一次我称之为「融入了数学概念」的经历来解释这一点。
一般来说,我的数学工作一开始经常是相当随意的,就是拿着纸笔乱搞。但是随着时间的推移,如果我真的进入了某个主题,我的思维就会开始发生改变。我会逐渐内化我正在处理的数学对象。同时(大部分)在我的头脑中进行的工作会变得越来越容易。我会仅仅为了集中思考我关注的对象而不断深入。这些对象不再是传统意义上的符号,语言或视觉对象,尽管它们确实有一些这种性质,不过那是次要的。确切地说,这种感觉是直接处理关注的对象,没有任何直接的符号,语言或视觉对象。此外,随着我对这些对象的理解的改变——随着我对它们的性质了解得越来越多,并纠正了我自己的误解——我处理这些对象时的感觉也在改变。就好像他们有了UI界面,产生了新的功能可供性[7](affordances),而我又大量实践学习了如何流畅地把这些可供性用到多个方面。
这是一次我很难用他人能理解的方式来描述的经历,但它确实是我使用数学工具的经验(至少是使用我理解得很好的那部分的数学工具的经验)的核心部分。我必须承认我是抱着诚惶诚恐的心态分享了上述经历,因为似乎很少有别人用这些术语来分享他们的关于数学的「内在」体验。
如果你不做数学,我想这听起来很奇怪。当我十几岁的时候,我清楚地记得读过 Albert Einstein 写给数学家 Jacques Hadamard 的一封奇怪的信,信中描述了他(Einstein)的思维过程。我不会引用整封信,但这一段还是有一些「内在体验」的味道:
书面上的文字或口头上的语言似乎在我的思维方式中都不起任何作用。作为我思维组成元素的精神实体应该是某类标志和或多或少清晰的图像,可以自由重现和组合……对于我来说,上述元素仿佛是一种视觉或者是一种肌肉。只有在(思考的)次要阶段,即之前提到的思维过程被充分建立并可以随意再现时,(我)才不得不费力地寻找传统的词语或其他符号。
当我第一次读到这篇文章时,我不知道爱因斯坦在说什么。这与我在物理和数学方面的经历如此不同,以至于我怀疑自己是否完全不适合从事物理或数学方面的工作。但是经过十年物理和数学方面的高强度工作,如果你再问我爱因斯坦的信,我会笑着说,虽然我的内在体验与爱因斯坦不同,但我对他的描述深有同感。
回想起来,我认为这些东西就是心理学家所说的心理组块(mental chunk)。集中研究一个主题的人逐渐开始建立「组块库」——用来识别和推理的大量模型。这也是为什么有的顶级棋手可以一步步记住上千个对局的原因。他们不是记个人的动作——他们只记每局对弈中用模型传递出来的想法。他们对国际象棋研究得如此之多,以至于这些想法和模型都很有意义,就像情人往来书信中的密语。这也就是为什么顶级篮球运动员也会对比赛有这非凡的记忆力。专家们开始思考,也许这样的组块只是被半意识地使用的,那些传统的表现形式——数学中的字母或符号,棋盘上棋子的移动——仍然存在,但它们在某种程度上是次要的。
所以,我个人用非正式的心理学知识(my informal pop-psychology)解释是,当我数学学得很好的时候,也就是在我前面描述的深度内化状态下,我主要使用这种更高级的组块,这就是为什么它不再看起来像是符号,语言或视觉对象。我没有完全意识到发生了什么——这更多的是一种在各种各样的物体上玩来玩去的感觉,尝试一些东西,试图找到意想不到的联系。但是,据推测这个过程的底层机制就行心理组块。
现在,我找到的唯一可靠的去进入这种状态的方法就是痴迷于一些数学问题。当我刚开始熟悉相关的想法时,我会用符号来思考; 但后来,我会内化这些想法及其对应的模型,最终使得我可以在脑中完成大部分操作。
这一切与 Anki 化过程有什么关系?我说过,我找到的唯一可靠的去进入这种状态的方法就是痴迷于一些数学问题。但我注意到,当我进行 Anki 化过程时,我也开始越来越少依赖这种传统的方式。似乎我写的问题越多,模型就越真实。所以我想知道 Anki 化过程是否可以作为一种确定性的达到这种状态的方法。(因为可惜的是我无法按需痴迷,所以这并不是一种具有确定性的方法)
这对 Anki 过程的一个影响是,随着时间的推移,我发现自己越来越不想写答案:我没有一个传统的用符号或视觉对象表示的答案。相反,为了写出答案我不得不想起内化之前的那些有形的想法。或者,我有时会使用一个其他人绝对无法理解的答案,然后完全依靠我内化的模型来填补空白。这一切往往发生在长期进行 Anki 化过程之后。
不过不幸的是,用 Anki 化过程完成的先内化状态的过渡并没有真正痴迷于一个问题时所完成的过渡彻底。但是,我认为 Anki 化过程也可极大地推动这种过渡。(近期我并没有痴迷于某个思考数学问题,所以我没机会观察到这种差异了。) 并且我也很想知道是否存在某些种类的问题能够更好地帮助我进入深度内化的状态。看上去真正缺少的东西是一种真正强烈的对答案含义的内化理解,就像我之前展示过的那样:
答:
然而,这种强烈的感觉却可以在思考问题的过程中用类似这种的表示方法通过多种方式去建构起来(That type of strongly-felt meaning can, however, be built by using such representations in many different ways as part of problem-solving);可以同时提升流畅度和熟练度。但对于这个定理实际上我并没有做过。
阶段二:改动,突破界限
让我们回到 Anki 化过程的工作细节。进一步加深理解的一个方法是突破证明和定理的原有界限。我发现以许多不同的方式来改变定理的假设,并思考定理什么时候变无效(或能推广)是很有帮助的。例如:
问:为什么复正规矩阵可对角化的证明对于实矩阵是无效的?
答:因为可能无法找到矩阵的特征向量,因为实数域不具有代数完备性(algebraically complete)。
问:举出一个不能被实正交矩阵对角化的实正规矩阵的例子?
答:
像往常一样,这些问题可以在许多方面进行扩展和变化。
另一个好方法是问条件能不能削弱。例如,你可能已经注意到我们似乎只在对角线上使用了正规条件。我们能要求只对对角线成立吗?事实上思考后会发现答案是否定的:我们需要它在一个包含 的特征向量的基上是成立的。所以我们可以添加这样的问题:
问:在证明正规意味着可对角化时,为什么只在对角线上要求是不够的?
答:因为我们需要对每个平凡的基都成立,我们不能预先预测这个基会是什么。
或者我们可以试着概括一下:
问:对于哪些域可以推广复正规矩阵可对角化的结果?
答:[我没仔细查过!][8] 对于代数完备域。
这个第二阶段实际上是开放式的:我们可以无止境地进行改动。提的问题不再直接与原证明有关,而是以各种方式「戳」原证明,看看会发生什么事。思考得越远,和其他结论的联系越多越好。
其他证明
在描述了 Anki 化过程的两个阶段之后,让我来谈谈其他的一些事情。一个麻烦的事情是,一个定理往往会有两个甚至多个证明。理解这些不同的证明并且了解它们之间的关系当然可以让你的理解更加深刻,但问题来了,一某些 Anki 问题只能对应一个版本的证明。说实话,我也没有太好的解决办法。但这是我计划最终需要解决的问题。
一个相关的问题是,在这些问题卡片中需要保留多少的上下文——我们是一遍又一遍地提到「关于蕴含着正规的证明」或「如果 是一个复矩阵」等等?在我的 Anki 卡中。我有(注意,我在上面的一些问题中省略了这种东西)。但说实话,我觉得这有点令人恼火。然而,由于这些卡会在未来的某个未知的时间被学习,并且我习惯把所有卡放在在一个牌组内,所以必须保留一些上下文。
我用 Anki 化过程做了多少呢?到目前为止,我已经对三个半定理运用了这个过程:
- 复数正规矩阵是可对角化的。
- 欧拉定理,即对于任意与正整数 互质的数 ,其中是欧拉函数。
- 拉格朗日定理(用于欧拉定理的证明),即有限群的子群的阶必整除该有限群的阶。
- 我已经开始了代数基本定理的 Anki 化过程,即任何复系数一元 次多项式方程在复数域上至少有一根。不过不知道为什么被打断了,到现在也没搞完。
Anki 化过程相当耗费时间。我没有任何简单的方法来统计我为每个定理中写了多少个问题,但我猜想每个命题大约有几十张[9]卡片。这通常需要几个小时,尽管我希望我可以很容易地添加更多的问题。
看穿数学概念(Seeing through a piece of mathematics)
这需要干一大堆活!然而,结果是我对所有这些结论的理解有了相当程度的加深。有一种能够「看穿」结果的感觉。以前,虽然我可以写下正规矩阵可对角化的证明,但一切都有点模糊。现在,它看起来很显然,我几乎可以直接看出它是真的。当然,原因是我对所有底层元素以及它们之间的关系变得更加熟悉了。
我的研究体会是,这种看穿数学概念的能力不仅仅是令人愉快的,它更是无价的;它可以让你对一组特定的数学想法有非常难得的理解(并能灵活运用)。
给出其他证明
在经历了上述的 Anki 化过程后,我有了一个相当神奇的经历。我沿着旧金山恩巴卡德罗大道走了几个小时。我发现我的头脑简单而自然地开始发现与结果相关的其他事实。特别是我发现了一些(也许是六个)这个基本定理的不同证明,以及注意到许多相关的想法。这并不是特别有意识地去做的——相反,只是我的头脑想找到这些证明。
在那时,这些其他方式的证明似乎是清晰的,并且几乎是显而易见的。我没有费心地以任何形式把它们写下来,或者加到 Anki 上;它们看起来很清楚,我想我会永远记得它们。但我现在后悔那么想,因为后来我再也没有回忆起那些证明。
然而奇怪的是,在写这些文字的过程中,我回忆起了其中两个证明的思路。其中一个类似于以下内容:将条件直接应用于上三角阵,其中 是对角阵, 是严格的上三角阵;考虑对角元素,结论就会浮现出来。另一种思路是将正规条件应用于 矩阵的奇异值分解;当奇异值不同时,证明显然,当奇异值不同时,可以通过少许努力得以证明。
定理的简单性
上面说的那三个半定理都是非常初等的数学。用 Anki 化过程来加深我对更高级的数学思想的理解会怎么样呢?我肯定会在某个时候尝试一下,很好奇效果如何。我也乐于用互相关连的定理的网络来尝试这个过程——我怀疑至少在某些情况下会有一些令人惊讶的互利效果。但我还目前不知道。
这种方法同 Anki 抽认卡有何联系?
在上述过程中,很少有人一定要依赖我使用的隔重复抽认卡软件 Anki。更确切地说,我所描述的是一个将一个定理的证明解构开来并使其变得更有意义的一般过程,本质上是通过把元素变得原子化来实现的,与 Anki 没有任何直接联系——你可以用纸和铅笔来完成这个过程。
尽管如此,我觉得最有价值的是 Anki 带给我的信心,我一定会记住我从这个过程中学到的东西。与其说是一个个单一的事实,不如说是一种对数学对象的熟悉和流畅运用的感觉,以及一种轻松看到它们之间关系的能力。这种感觉确实会随着时间的推移而消退,但远不如我不再考虑证明而消散得快。这就是一个很大的回报了,这让我更有动力去完成这个过程。也许其他人,出于不同的考虑,会觉得 Anki 是多余的。
话说回来,我确实有这么一种感觉:正如前面提到的,我写的一些卡就像汽车尾气,最好将其排除在外。这对于在 Anki 化过程早期制作出的许多卡片来说尤其如此,当时我还在四处求索,试图搞懂证明。不幸的是,也是上面提过的,我还不太清楚哪些卡是多余的,而哪些又是至关重要的。
可以分享你的牌组吗?
自打我公开讨论 Anki 相关话题,总有人问我能不能分享我的牌组。答案是否定的,原因我已经在这里解释过了。我必须承认,在目前的情况下,我真的不明白你为什么要使用共享的牌组。在某种程度上,这是因为非常多的价值都是在构建卡片的过程中获得的。而且更重要的是:我怀疑我牌组中关于上述证明的 100 多张卡片对外人来说很难理解——记住你到时会以随机的顺序看到这些卡片,了解不了任何上下文。这将带来理解上的混乱。
概念发现故事
我说过 Anki 化过程是一种深入理解数学的方法。当然,这只是其中一种方法!我想简单提一下我发现对理解特别有用的另一个过程,我称之为「概念发现故事」。概念发现故事以思考「我怎么会发现这个结论」这个问题为开始,然后你就试着编一个故事,遵循着简单,几乎显而易见的步骤讲述你是如何发现它的。
概念发现故事的两个例子是我解释《你会如何发明比特币》的文章,以及我解释《你会如何发明高级数据结构(Bloom 过滤器)》的文章。编写概念发现故事可能会很难,对于本文中考虑的定理,你根本不清楚最初是如何得出结论的。但是也许你已经开始对 感兴趣了,对两个矩阵 和 什么时候可交换(commute)的问题感兴趣。所以你问自己:「嗯,我想知道 和 可交换是什么意思?」。如果你愿意以此为出发点,那么通过一些努力,你可能会进行一系列简单的,「显而易见的」步骤并由此你会开始怀疑 是否是可对角化的,然后就会发现一个证明。
任何这种「概念发现故事」的证明都将是漫长的——远远超过上面的证明。即使是经过简化的版本也将是(且应该是!)杂乱且包含错误方向。但我还是想提一下概念发现故事,作为一个很好的方法,会产生一种与 Anki 化过程截然不同的理解。
其他科目呢?
数学特别适合深度 Anki 化,因为它大部分都是关于精确限定对象之间的精确关系。虽然我广泛使用 Anki 学习许多其他科目,但我未达到这种深度。在不久的将来,我计划使用类似的过程来研究一些关于气候变化的核心结论,也许还会研究一些优秀文字的特点(例如,我可以想象使用类似的过程来分析 30 本写得很好的书中的引导句)。我不知道会怎么样,但我很乐于去试。我对过度依赖 Anki 化过程有点怀疑——毕竟创造性工作也需要许多关于不确定性和模糊性的技能。但是作为一种在一定限度内使用的认知工具,深度 Anki 化在许多领域似乎都有潜在的价值。
编辑历史
- 3/23/2021: 完成全文翻译
- 3/24/2021: 完成第一次润稿
- 3/28/2021: 小幅修改了部分表达
- 4/16/2021: 修正了 @践迹 指出的一处错误翻译
参考
1. 译者注:原文为 a piece of mathematics,借由量词 piece 把抽象的「数学」一词实例化了,但中文中无类似表达,因此在译文中我处理成「数学概念」。所以需要注意这里的「数学概念」不止指数学定义,定理及证明都算在「数学概念」里。2. 作者注:我少年时代在大学图书馆里读到了这篇文章。在其后的数年,我一直试图再把这篇文章找出来,不过都找不到。如果有人真的能把这篇文章找出来,那我将感激不尽。我必须承认,因为这么多年的徒劳无获,我甚至一度认为这篇文章可能是我幻想出来的。如果这真是我幻想出来的,那我就没法解释我到底是从哪体会到上面这些东西的了。
3. 译者注:heuristics 一词特指通过实践总结出来的方法。后文统一翻译为「方法」。
4. 译者注:Augmenting Long-term Memory,知乎上有其译文 https://zhuanlan.zhihu.com/p/65131722
5. 作者注:下文用「对角化」指代「可由酉矩阵对角化」。
6. 译者注:不等同与「分解」,意思比较微妙,难以翻译,有知道的希望告知
7. 译者注:认知心理学术语,大意是不将物体的功能视为其固有属性,而是将其看成属性与个体交互过程中产生的一种意义。
8. 作者注:我实际的 Anki 卡里没有这个标注,虽然我确实没有仔细核对并证明。不过,回答这个问题帮助我更好地理解了原始的证明和结果。
9. 作者注:在这篇文章的最初版本中,我写的是「每个定理 100 张卡片」。后来我发现事实上数量更少——大约几十个,远远少于 100 个。这让我很惊讶——正常情况下,我可能会认为我的错误是猜少了。然而,制卡的过程十分紧张刺激,这也许是我产生严重错误印象的原因。