关灯
护眼
字体:

人工智能全传_(英)迈克尔·伍尔德里奇(第三章 知识就是力量) 第(7/11)页

机器人的感应系统负责将感应器所提供的原始信息转化成机器人能使用的内部逻辑形式,如图8所示。正如前面我们提到过的,这不是一件容易的事情,我们稍后会详细讨论。

最后,通过机器人的逻辑推理系统(推理机)来决定机器人的实际行为。逻辑人工智能的核心思想就在于机器人的行为是基于逻辑推理的结果:它必须推断出自己接下来应该做什么。

总的来说,我们可以设想机器人的行为模式:在一个周期内不断地通过传感器观察周围环境,更新对环境的认知,推断出下一步该做什么,执行这个动作,然后重新开始整个过程。

基于逻辑的人工智能为什么会有相当的影响力?我想我们有必要理解这一点。或许最重要的原因是它让一切变得单纯:构建智能系统的整体问题被简化成对机器人应该做什么的逻辑描述。而这样一个系统是透明的:要理解机器人为什么这么做,只需要看到它的信念和推理过程就行了。

当然,我认为还有一些不那么明显的原因。首先,想象一下,我们做决定的依据来源于推理,这个想法本身就很吸引人。当我们思考的时候,似乎也是这么做的:我们考虑各种行动方案的优劣,可能会和自己来一场心灵对话,厘清每种方案的利弊。而基于逻辑的人工智能似乎遵循了这一过程。

逻辑编程

从20世纪70年代末到80年代中期,基于逻辑的人工智能范式开始逐步拥有影响力,到了80年代初,它已经成为人工智能的主流。研究人员开始推测,它不仅在人工智能领域有用,甚至可以推广至整个计算机领域。逻辑编程开始广为人知,从根本上改变了人们的编程模式。长期以来,编程是一项烦琐、耗时且容易出错的工作,因为它迫使人们思考计算机程序操作的每一个步骤,并且不能出一丁点儿错,人应付起来相当艰难。而逻辑编程把程序员从这样的诅咒里解脱出来,这是它的最大卖点。在逻辑编程中,你可以利用逻辑的力量来表达你对问题的了解——剩下的事情,交给逻辑推理即可。你没必要详细写出每一个步骤,一个逻辑程序会推断出它实际上需要做什么。

逻辑编程使用的是一种非常有名的语言:PROLOG[37],它可能算是逻辑人工智能时代最卓越的遗产了——这种语言至今仍在广泛使用和传授。PROLOG主要是由美籍英国研究员鲍勃·科瓦尔斯基(BobKowalski),以及两名来自法国马赛的研究员,阿兰·科尔默劳尔(AlainColmerauer)和菲利普·罗塞尔(PhilippeRoussel)发明的。在20世纪70年代早期,科瓦尔斯基就意识到可以使用一阶逻辑规则来构建编程语言的基础,虽然他有了这个新想法,但是并没有落实细节——这项工作是在1972年科瓦尔斯基拜访之后,由科尔默劳尔和罗塞尔完成的。

PROLOG是一门非常直观的语言,我们来看一个例子。下面是如何用PROLOG表示前文举的“凡人皆有一死”的例子:

human (emma).mortal (X): - human (X).第一行程序是PROLOG中定义的“事实”,即艾玛是凡人。第二行是PROLOG中的“规则”,表示若是X是凡人,X终有一死。

在实际中运用PROLOG,我们需要给它一个目标。在本例中,我们需要确认艾玛是否会死亡,可以这样表示:

mortal (emma).这句语句的目的是向PROLOG询问“艾玛是否终有一死”,或者用更具体的方式表述,即“你能根据已知的事实和规则推断艾玛是否终有一死吗?”有了这个目标,PROLOG就能使用逻辑推理来证明,该语句为真[38]。(有关PROLOG的深入了解,请参阅附录B。)


  哦豁,小伙伴们如果觉得倾城文选不错,记得收藏网址 或推荐给朋友哦~拜托啦 (>.<)
传送门: 人工智能全传 人工智能全传 电子书 人工智能全传下载