PDF 物理页索引 1120
文件中的第 1121 页 · 印刷页码:未识别
假设我们真正关心的是那种能够答对大部分威诺格拉德模式测试题的系统,那么从工程学的角度来看,最好的策略就是使用一些简易的小技巧。毕竟,把时间都浪费在那些低概率事件上是不值得的。例如,在威诺格拉德比赛,甚至是与人类的竞赛过程中,用多样的技巧获胜是一件概率很大的事情。从统计学的角度来说,那些处理不当的例子便都不怎么重要了。
不过,如果你想更好地了解人们正确回答威诺格拉德模式测试题的能力,那么人类靠自己而非靠技巧来解决问题,就显得尤其重要。我们想要了解的是人类能够做什么、如何做,而不是可能做一些类似的事情。即使是威诺格拉德模式测试里的一个例题,也能提供重要信息,告诉我们人类能够做哪些事情。我们不能简单地撇开题目,然后大声喊道:“这种情况几乎不可能发生!”
正是对人类如何处理罕见事件的关心,促使我们不断地超越自适应机器学习的研究。我们处理类似黑天鹅事件的能力,并不是通过额外培训后形成的刻板、单一的行为模式的结果。相反地,这更像是一个全新的、依赖于背景知识的工作机制。
但这仍然给我们带来了一个重要的问题:这一机制的本质是什么?
PDF 物理页索引 1121
文件中的第 1122 页 · 印刷页码:未识别
第8章符号与符号处理
PDF 物理页索引 1122
文件中的第 1123 页 · 印刷页码:未识别
在讨论信念的作用的过程中,我们曾提到这样一类系统:知识在其中不单单是描述行为(意向立场)的快捷方式,更在其中扮演着某种因果角色,就像汽油对于奔驰汽车不可或缺。
为了了解知识如何发挥这样的作用,首先我们需要讨论一下符号和符号处理。我们可以从高中数学开始。(对于再也不想看到高中数学的读者,可以直接跳到本章的“符号的意义”一节。)
符号的代数运算
请思考下面这个简单的问题:
两年前,约翰尼7岁。
他现在几岁了?
这道题简直易如反掌,连纸笔都不需要就可以答出。很显然,约翰尼现在9岁。在高中阶段,我们曾学习过如何系统地解决这些问题。这样做的好处是使我们能够解决答案更加隐晦、过程更加复杂的问题,比如:
汤米比苏济大6岁。
两年前,汤米的年龄是苏济年龄的3倍。
那么,苏济现在的年龄是多少?
PDF 物理页索引 1123
文件中的第 1124 页 · 印刷页码:=9
这就是代数。回到第一个问题,我们想求得约翰尼的年龄,解题的关键在于如何将涉及约翰尼年龄的文字表述转换为对应的方程式。为了简洁起见,我们将约翰尼的年龄设为x:
$$
x - 2 = 7
$$
或,约翰尼的年龄减2等于7
当然,这里的未知数x指代谁都已不重要。我们的目的在于,剔除不必要的细节,使已知条件更易于计算和处理。用这种方式处理问题,我们希望能够得到以下某种类型的方程:
$$
x { = } V
$$
或,约翰尼的年龄是V
这里的V代表的是数字。依照我们在高中学习的知识,不需要用到太多的花样,求解过程如下:
1.在等式的左右两边同时加2:
$$
x - 2 + 2 = 7 + 2
$$
2.简化左式:
$$
x - 2 + 2 \Rightarrow x + ( - 2 + 2 ) \Rightarrow x + 0 \Rightarrow x
$$
3.简化右式:
$$
7 + 2 \Rightarrow 9
$$
4.在简化后的左式和右式之间画等号:
=9
PDF 物理页索引 1124
文件中的第 1125 页 · 印刷页码:=5
这样便求出约翰尼的年龄是9岁。
对于第二个问题,求解的过程是类似的。我们将汤米的年龄设为x,将苏济的年龄设为y,最终目的是求解y的值。根据题目里的两个已知条件,我们能够得到以下两个方程:
= +6或汤米的年龄是苏济的年龄加6
$$
x - 2 = 3 ( y - 2 ) 3 \div 3 \times 3 9 \div 6 \times 4 9 + 5 \times 2 = 3 6 ( x - 2 ) 3 + 6 \times 4 9 + 5 \times 2 = 1 9 9 3 ( d m ^ { 2 } )
$$
求解过程如下:
1.用第二个方程的左右两边分别减去第一个方程的左右两边:
$$
x - 2 - x = 3 ( y - 2 ) - ( y + 6 )
$$
2.简化左式和右式:
$$
x - 2 - x \Rightarrow x - x - 2 \Rightarrow \left( x - x \right) - 2 \Rightarrow 0 - 2 \Rightarrow - 2
$$
3(<sub>y</sub>–2)–(<sub>y</sub>+6)⇒3<sub>y</sub>–6–<sub>y</sub>–6⇒(3<sub>y</sub>–<sub>y</sub>)–6–6⇒2<sub>y</sub>–12
- 在化简后的左式和右式之间画等号,并移项:
$$
2 y - 1 2 = - 2
$$
现在,我们已经将两个二元一次方程化简为一个一元一次方程,接下来的步骤与之前一样:
4.等号左右两边同时加12,然后除以2,经过简化,可以得到:
=5
PDF 物理页索引 1125
文件中的第 1126 页 · 印刷页码:未识别
看!只用到简单的代数知识,我们就能根据已知条件确定苏济的年龄是5岁。再进一步计算,我们就能确定:汤米是11岁。当然,两年前,汤米的年龄(9岁)是苏济的年龄(3岁)的3倍。由此能够推出,根据3个已知条件,可求得3个未知数;根据67个已知条件,能够求得67个未知数。事实上,要解决此类含有未知数的方程式,仅需要用到几个关于等式、加法和乘法运算的法则即可。
总地来说,代数是符号处理的一种形式。我们从完整的等式入手,比如“x–2=3(y–2);x=y+6”,根据运算法则进一步计算化简,最终求得“x=11;y=5”。
符号的逻辑运算
符号处理并不只与数字有关。请思考下面的问题:
艾丽斯(Alice)、鲍勃(Bob)和卡罗尔(Carol)中至少有一人犯了罪。
如果艾丽斯有罪,那么鲍勃也有罪。
如果艾丽斯无罪,那么卡罗尔也无罪。
那么,鲍勃有罪吗?
这次我们可以用符号逻辑来解决这个问题,而不是代数。根据已知条件,我们能够列出逻辑公式。我们可以用A、B、C分别代表艾丽斯有罪、鲍勃有罪、卡罗尔有罪,然后根据已知的逻辑关系得到下面的表达式:
PDF 物理页索引 1126
文件中的第 1127 页 · 印刷页码:未识别
A∨B∨C (i)
A ⊃ B (ii)
﹁ A ⊃ ﹁ C (iii)
除了“∨、﹁”之类的符号与“+、=”之类的符号略有不同以外,上述表达式和算术过程还是很像的。简单讲,“∨”的意思是“或”,“﹁”的意思是“不、非、无”,“ ⊃ ”的意思是“如果……那么……”。逻辑课程(通常在高中未开设)教授的内容是:如何通过三个已知的逻辑关系,得出新的结论。
请看范例如下:
1.拆分并重写公式(ii):(﹁ A∨B) (iv)
2.合并公式(iv)和(i):(B∨C) (v)
3.拆分并重写公式(iii):(A∨﹁ C) (vi)
4.合并公式(vi)和(v):(A∨B) (vii)
5.合并公式(vii)和(iv):B (viii)
经过推理,我们最终得到结论B,即鲍勃有罪。(有趣的是,即使根据已知条件并不能推出艾丽斯或卡罗尔是否有罪,但我们仍可通过符号逻辑判定鲍勃有罪。)
PDF 物理页索引 1127
文件中的第 1128 页 · 印刷页码:未识别
与代数的情况类似,在处理符号逻辑问题时,仅需少量的规则,就足以从已知条件中获取所需的结论。(有关上述示例中使用的两个规则的更多细节,请参见下文。)这其实也是符号处理的过程:我们从给定的字符串开始,例如“(A ⊃ B);A;(B ⊃ C)”,按照某些既定规则进行处理,最终得到另一串字符“C”。我们当然更加乐于见到这样的结果。
在这个示例中,第一步和第三步的逻辑如下:
如果已知公式P ⊃ Q,那么我们就可以得出一个新的析取式(﹁ P∨Q);如果已知公式﹁ P ⊃ Q,那么我们就可以得出一个新的析取式(P∨Q)。
(也就是说,只要“如果……那么……”这种句子能够成立,就会有一半对一半错的情况,要么是“如果”这部分前提是错的,要么是“那么”这部分的结论是对的。)这个应用于第二、四、五步的规则叫作消解规则:
如果我们有两个析取式,一个里面包含P公式,另一个里面包含P的否定式(﹁P),那么我们就可以写出一个新的析取式,包含上述两个公式的所有元素,但是省略P及其否定式﹁P,并删除重复项。
比如,在这个例子的第二步,刚开始是(﹁A∨B)和(A∨B∨C),但根据这个规则,最后得出的结论是(B∨C)。
那么无论是代数问题还是逻辑问题,人们是如何进行符号处理的工作的呢?这当然不是一种与生俱来的本能。人们之所以有这样的技能,是因为知识的传承使我们遵循了固定的处理模式:确定所需的处理模式和步骤。以方程式为例,我们从小学一年级起就开始学习基础的算数知识。到了高中阶段,我们已经能够解决包括负数、分数、加、减、乘、除在内的各类方程式。但这只是单纯的算数,而不是代数。在九年级的学习中,我们有了概念性的跨越,开始学习如何简化包含变量的符号表达式,例如,即使表达式E内包含变量,但(E–E)还是可以简化为0,(E+0)仍旧可以简化为E。这种包含所有算术知识在内的代数简化过程,可以算作一种特例。到十年级时,我们将学习有关方程式计算的其他知识:以等号两边均有符号表达式的方程作为初始条件,通过简化或者对等的加、乘运算,我们就能够得到一个新的方程。<sup>[1]</sup>
PDF 物理页索引 1128
文件中的第 1129 页 · 印刷页码:未识别
像上文中提到的符号代数与逻辑计算一样,也许符号处理最有趣的一个部分就是:处理过程并不需要多少聪明才智。虽然从已知条件的文字部分转化到方程或是逻辑表达式的符号表达,确实需要有一定的头脑,但是,在转化过程结束后,其余处理过程便完全可以机械化进行。我们只需要小心谨慎,避免出错就可以了。事实上,一台机器完全能够胜任这项工作。我们可以编写一套小型的计算机程序,以某串字符作为输入量,输出量为另一串字符。这并不是什么难事。
这种见解非常独到,对教育方面也会产生不小的影响。人们在数学教育中常犯的错误就是,难以区分哪些是纯粹机械化的部分,哪些是需要创造力的部分。学生们在处理问题的过程中,需要清楚地知道哪个部分是纯机械化的。这种遵循相关程序的想法在孩子很小的时候就可以培养,而且这个程序多种多样,不单与代数有关。事实上,这种程序甚至不需要有什么意义。这更像是某种精神上的训练:注意细节,时刻知晓进程,避免错误。而这种技能不仅可以应用于数学领域,也能在其他领域大放光彩。但即便如此,机械化的数学部分与需要创造力的数学部分也不应混淆。在需要创造力的数学部分里,实践至关重要。而一旦问题进展到只剩机械化计算的部分,老师点到为止即可。
如此多的数学问题都可以机械化处理,这样的事实给了哲学家戈特弗里德·莱布尼茨(Gottfried Leibniz)(详情见下一章)和艾伦·图灵(详情见下文)很多灵感。
PDF 物理页索引 1129
文件中的第 1130 页 · 印刷页码:未识别
符号的意义
我们在前文中所讨论的“符号”,与通常情况下所理解的“符号”的含义有所不同。
通常情况下我们理解的符号是这样的:婚戒是婚姻的象征;红色交通信号灯意味着停止行驶;穿裙子的人物剪影是女性洗手间的标志;字母“XIV”在罗马数字中代表数字“14”;在法语中,“chien”的意思是“狗”。
由此可以看出,出于物体间的相似程度或者惯例,我们一般会用某一领域的对象来指代另一领域的对象。前者通常是比较具体的、容易听到或看到的事物,而后者是一些不那么具体、少为人知甚至纯粹抽象的事物。在上文提到的实例中,符号可以用来传达某种信息:我们在洗手间的门上贴上人物剪影,我们说出“chien”这个单词,我们写下代表数字的字母“XIV”。这里的每一种情况都是使用符号获取信息的过程。
然而,这与在代数和逻辑问题中出现的符号是不同的。当写下“x=y+6”这样的方程时,我们可能并没有想传达某种信息,只是在默默地解决问题。
既然不是为了交流,我们为何还要写下这些符号呢?我们已经说过,书写并不是重点。我们完全可以在脑海里思考代数问题,只有当数据太多时才写下来。
还需要注意的是,很多情况下我们可以直接忽略某些符号。符号排列的位置就能帮助我们正确处理问题。例如,我们写下一个普通的数 字 “237” , 仅 用 三 个 数 位 就 能 够 表 达 出 来 , 不 必 使 用$^ { \alpha } 2 \times 1 0 ^ { 2 } \mathrm { + } 3 \times 1 0 ^ { 1 } \mathrm { + } 7 \times 1 0 ^ { 0 } ^ { , }$ 这类符号。数字所在的数位通常代表着是