1700519934
人们模糊地称为常识的东西实际上比那些令我们敬畏的专业技术复杂得多。无论是解决逻辑问题还是微积分问题的“专家”程序,至多表达了一百多个“事实”,而且每一个都差不多,不过这已经足够解决大学问题了。与此相反,想想一个孩子只是要建造一个积木房子就需要知道多少东西——这个过程涉及关于形状和颜色、空间和时间、支持与平衡的知识,还需要记录自己在做什么的能力。
1700519935
1700519936
要想成为“专家”,人们需要大量的知识,但这些知识只与相对很少的不同事物有关。与此相反,一个普通人的“常识”却包含了更多关于不同类型(types)事物的知识,这需要更复杂的管理系统。
1700519937
1700519938
获得专门的知识比获取常识更容易,有一个简单的原因就可以说明:每种类型的知识都需要一定形式的“表述”以及许多适用于这种表述风格的技能。一旦投入某一领域,专业人员在积累更进一步的知识时就相对容易一些,因为额外的专业知识足够统一,可以适应同样风格的表述。已经学会在某个特定领域中处理一些案例的律师、医生、建筑师或作家会觉得获取更多具有类似特征的知识相对容易一些。想想单独一个人要多花多少时间才有能力同时学会治疗一些疾病、处理一些法律案件、读懂几种建筑蓝图并认识几张交响乐谱。表述形式太多样,会使获得“同样数量”的知识变得困难得多。在每个新的领域,新手不得不学习另一种类型的表述,还要学习新的技能来使用它。这就好像学习好多种不同的语言,每种语言都有自己的语法、词汇和习语。从这个角度来看,孩子所做的事似乎更加非比寻常,因为他们的许多行动都是以自己的创造和发现为基础的。
1700519939
1700519940
1700519941
1700519942
1700519944
心智社会:从细胞到人工智能,人类思维的优雅解读 7.3 猜谜原则
1700519945
1700519946
许多人认为机器只会做它们的程序中设定的事,因此不会具有创造性和原创力。麻烦之处在于,这一论点的前提假设正是它意图展示的内容:你无法为机器设定一个具有创造性的程序!事实上,开发一款程序让计算机去做一些任何程序员都无法预知的不同的事,容易的程度会让人感到惊讶。这件事之所以有可能,源于我们所称的“猜谜原则”。
1700519947
1700519948
猜谜原则(puzzle principle) :我们可以为一台计算机设定程序,让它通过试错来解决任何问题,而我们不需要提前知道解决办法。
1700519949
1700519950
所谓“试错”,就是开发程序让机器可以在某个可能的范围内系统地产生所有可能的结构。举例而言,假定你想有一台机器人可以在一条河上建造一座桥。最高效的编程方式就是执行一个特定的程序,先提前计划好,然后把木板和钉子精确地安置在特定的位置。当然,除非已经知道如何建造一座桥,否则你无法写出这样的程序。但想想下面这个备选方案,它有时被称为生成与测试法。它需要编写两部分程序。
1700519951
1700519952
生成(generate) :第一道程序就是一个接一个地生成木板和钉子所有可能的安排。开始时你可能会觉得这样的程序很难写,但它其实惊人地简单,只要你明白每种安排都不需要有什么道理就行!
1700519953
1700519954
测试(test) :程序的第二部分就是检查每种安排,看看问题是否得到了解决。如果目标是建造一座大坝,测试就是检查它有没有拦住水流。如果目标是建造一座桥,测试就是看它是否跨过了河流。
1700519955
1700519956
这种可能性让我们重新检查了所有关于智能和创造性的旧理念,因为它表明,至少从原则上,只要我们可以识别出解决方案,那些问题就都可以让机器来解决。然而,这并不太切实际。想想看,也许有上千种方法可以把两块板子连接在一起,要是把四块板子钉在一起,估计有十几亿种方法。要利用猜谜原则制造出可用的桥梁,所需的时间可能长得难以想象。但是从哲学上来说,这还是有帮助的,它消除了创造性在我们心中的神秘感,取而代之的是关于程序效率的更加具体而细致的问题。我们的造桥机器存在的主要问题就是生成器与测试之间缺乏联系。如果没有某种朝向目标的进展,那么比无思维的程序也好不到哪去。
1700519957
1700519958
1700519959
1700519960
1700519962
心智社会:从细胞到人工智能,人类思维的优雅解读 7.4 问题解决
1700519963
1700519964
从原则上来说,我们可以用“生成与测试”的方法,也就是试错的方法,来解决任何已经知道解决方案的问题。但在实际操作中,就算是最强大的计算机,要测试出可能的解决方案所需的时间也还是会太长。就算是用十几根木头组装一个简单的房子,要搜索完所有的可能性,一个孩子一生可能都试不完。下面是对盲目试错方法的一个改良版本。
1700519965
1700519966
进展原则(The Progress Principle) :如果我们拥有某种方法可以检测到“进展”,任何穷举搜索程序都可以在很大程度上简化。之后我们可以朝着解决问题的方向追踪,就像一个人可以在黑暗中攀登不熟悉的山峰一样,通过在每一步感觉四周来寻找上升坡度最大的方向。
1700519967
1700519968
许多简单的问题都可以通过这种方式来解决,但对于一个困难的问题,识别出“进展”几乎和解决问题本身一样难。如果没有更宽阔的视野,那个“登山者”可能会一直被困在某个小山丘上,永远也找不到顶峰。要避免这一点没有什么简单的方法。
1700519969
1700519970
目标与子目标(goal and subgoal) :想知道如何解决一个困难的问题,我们所知的最有力的方式就是想办法把这个问题拆分成若干个简单一些的问题,每个问题都可以分别解决。
1700519971
1700519972
在所谓的人工智能(Artificial Intelligence)领域,许多研究关注的都是找到一些方法可以把一个问题拆分成若干个子问题,然后如果有必要,再把这些子问题拆分成更小的问题。在接下来的几部分中,我们将会看到如何用“目标”的形式来表述问题,从而可以实现上述过程。
1700519973
1700519974
使用知识(using knowledge) :解决一个问题最高效的方法就是已经知道如何解决它。这样人们就可以避免检索所有可能性。
1700519975
1700519976
相应地,人工智能研究的另一个分支就是找到一些方法把知识收录到机器中去。但这个问题本身就分为几个部分:我们必须知道如何获得所需的知识,必须学会如何表述这些知识,最后必须开发一些程序以有效地利用这些知识。要完成所有这些事,记忆必须优先呈现那些对我们实现目标可能有帮助的关系,而不是大量的细枝末节。这类研究已经引领出许多可以实际操作的问题解决系统,它们都是“以知识为基础”的系统。其中有一些常常被称为“专家系统”,因为它们的基本原理就是模仿一些特别的从业人员的方法。
1700519977
1700519978
这类研究中还浮现出一个奇怪的现象。与大部分人认为很容易的问题相比,比如用儿童积木搭建一个玩具房子,让机器去解决一些只有受过教育的人努力思考才能解决的特殊问题反而更容易一些,比如下棋,或者证明逻辑或几何定理。这也是我在本书中常常强调“简单”问题的原因。
1700519979
1700519980
1700519981
1700519982
[
上一页 ]
[ :1.700519934e+09 ]
[
下一页 ]