4.1 在选项中搜索
关于AI有很多困惑、争议和迷惑。AI有多种形式,涉及许多非常不同的技术,但在所有AI系统背后都有一个共同的潜在动机和挑战。我想把重点放在这些一般性问题上,并澄清要点。我们需要简要地看一个AI的例子,以理解其工作原理。因此本章将解释搜索技术(计算中的一个基础方法)是如何在游戏环境(人工智能中研究最多的应用领域)中使用的。
考虑一下解决一系列选项的问题。例如,我们经常需要制定计划。为此,我们选择一系列可用的操作,以便从一个开始状态到达一个期望的状态。
这可以是为一次复杂的旅行计划线路,为像婚礼这样的大事制定计划,或者决定如何组织一次大的翻修。计划软件广泛应用于制造业,用来组织生产流程;在商业方面,用来安排运输;在教育方面,用来安排房间分配;在经营方面,用于供应链规划;在太空方面,用来安排极其复杂的太空任务。这些都是搜索问题,因为它们涉及从许多选项中筛选出最佳的操作或事件顺序。
基本的过程非常简单。从一个起点开始,我们知道可以采取的一系列操作,每一项操作都将使我们进入一个新的状况。如果我们不知道哪个操作是最好的(通常是这样),那么可以随机尝试任何一个操作。如果我们不喜欢新状况的样子,那么可以忽略它,并尝试另外一个。但是,如果新的状况看起来很有希望,那么我们就选择一个后续行动,并创建另外一个新状况。我们可以一直这样做,直到找到一个满足需要的状况。
图4.1展示了格温(Gwen)的这一过程,她住在英国剑桥,希望去苏格兰山区度假。她选择了威廉堡作为她的目的地,这里是探索英国最高峰本尼维斯(Ben Nevis)山的好地方。她有三种可能的行动:开车、坐飞机或坐火车。依次考虑每个行动会导致三种可能(参见图4.1)。每种情况都会有相关的信息,如所需的时间、成本和个人价值观(如方便程度或偏好)。开车要走456英里(1),格温不打算这样做,认为太累了,所以她不再考虑这个选择。坐飞机的结果与此相似,最近的机场离目的地还有很长的距离,所以她也不考虑这个选择。坐火车这个选择看起来很不错,但格温意识到她必须先(往回坐)去伦敦,才能赶上最合适的火车(有豪华的卧铺)。不过,这是一种直达服务,不需要换车。这需要两个步骤才能达到预期的结果。
图4.1 计划一次旅行
这个计划或搜索过程只有两个部分。这些情况的产生是一个机械的过程,通常很容易编程。我们可以将其称为发生器(generator)。另一个必要的操作是判断每一种新情况:当我们不喜欢一种情况,以及当情况满足我们的需要时,我们需要一种计算方法。这既可以指导计划,也可以决定何时停止。我们可以将其称为评估器(evaluator)。
后一部分对于计算机来说不是那么容易,因为它是特定于应用程序的,它必须计算出我们在不同情况下的个人价值观。整个过程在一个大循环中运行:生成一些新的情况,然后对它们进行评估,从那些具有更好价值的情况中生成更多的情况,对它们进行评估,一直继续,直到达到所需的标准为止。
(1)1英里=1 609.344米。——编辑注