基本搜索技术.docVIP

  • 1
  • 0
  • 约4.29千字
  • 约 4页
  • 2019-04-15 发布于天津
  • 举报
基本搜索技术 假定你的房间里铺有 100 块地板,其中一块底下有一块金砖,而另一块底下有一颗地雷。如果你翻开有金砖的那块地板,你就可以成为百万富翁;如果你翻开有地雷的那块地板,你就可以到地狱旅行。在经历了长期煎熬之后,你决定将这些地板逐一翻开,以找寻百万富翁的生活。这个寻找命运答案的过程,就是搜索(Search)。 而将地板逐一翻开的搜索方法,叫作盲目搜索( Blind Search)。在这个盲目搜索的过程中,随着未翻开地板数目的减少,终将会找到一个答案。 又假定你还有一位朝夕相伴的室友,同你一样起了这个念头。于是,你们商定每人每天可以交替翻开一块地板。这样当一个人碰到地雷时,他最亲密的朋友就可以得到剩下的金砖。所以你们各自在心中祝愿对方黄泉路上一帆风顺。最多 50 天,命运的答案就会完全揭晓。你们翻开了 98 块地板后仍一无所获,在最后的时刻,你犹豫了,到底要不要翻开这一块决定命运的地板?你感到同你竞争的并非你的室友,而是魔鬼的化身。这个同魔鬼的化身交战的过程就叫作博弈。而敌对双方交替动作的搜索叫作对抗性搜索(AdversarialSearch)。 博弈树 设想下象棋的情形,两人对弈,我们将其中一位叫做甲,另一位叫做乙。假定现在该甲走棋,甲可以有 40 种走法(不论好坏);而对甲的任一走法,乙也可以有与之相对的若干种走法。然后又轮到甲走棋,对乙的走法甲又有若干种方法应对……如此往复。 显然,我们可以依此构建一棵博弈树,将所有的走法罗列出来。在这棵树的根部是棋局的初始局面。根的若干子节点则是由甲的每一种可能走法所生成的局面,而这些节点的子节点则是由与之相对的乙的每一种可能走法所生成的局面……在这棵树的末梢,是结束的棋局,甲胜或者乙胜或者是双方都无法取胜的平局。 图 4.1 极为简化地示意了博弈树的概要。图中省略号的地方指未能列出的大量分枝。 如果我们令甲胜的局面值为 W IN,乙胜的局面值为 LOST,而和局的值为 DRAW 。当轮到甲走时,甲定会选择子节点值为 W IN 或 DRAW(如果没有值为 W IN 的子节点的话)的走法;而轮到乙时,乙则会选择子节点值为 LOST 或 DRAW(如果没有值为 LOST 的子节点的话)的走法。对于中间节点的值可以有如下计算方法:如果该节点所对应的局面轮到甲走棋,则该节点的值是其所有子节点中值最佳( 对甲而言)的一个的值;如果该节点所对应的局面轮到乙走棋,则该节点的值是其所有子节点中值最差(对甲而言)的一个的值。这样看来从这棵树的叶子节点倒推向根部,就可以得出所有节点的值。双方就可以从其所面临的棋局中选择一步好棋。然后一步步走向胜利。 博弈树是从根部向下递归产生的一棵包含所有可能的对弈过程的搜索树,这里称为完全搜索树。 NeillGraham 形容此过程类似于在一个状态图中寻求从初始状态通向终了状态的过程①。只是状态图搜索仅有一个主体参加,仅是单方面做出的路径选择。而博弈树的搜索则有对立的双方参加,一方只能做出一半选择,而这一半选择的目的是使对方远离其竭力靠近的目标。也就是说状态图搜索是纯粹的或树(OR tree),而博弈树搜索是与或树(AND /OR tree)。 参考文献[2]。 图 4.1 象棋博弈树示意 让我们面对一下不幸的实际。那就是,除了极少数非常简单的棋类游戏,大多数棋类游戏,如象棋,我们都没有建立完全搜索树的可能。一方面是因为很多情形根本就到达不了叶子节点,如将一个棋子反复来回走动就可永远循环下去。另一方面,即使我们将循环的情形排除,这棵树上的节点数量也已多到了无法处理的程度。以中国象棋为例,其每一局面可有约20 ! 60 种走法。以平均 40 种走法计,建立一棵(双方各走 50 步)搜索树就需生成约 10160个节点。这远远超出了当今计算机的处理能力。即使生成一个节点仅需 10-8秒,生成这棵树也要10140年以上。显然这是不切实际的;也就是说,必须得有其他切合实际的方法。 极大极小值算法(M inimax Algorithm)② 在上面的博弈树中,如果我们令甲胜的局面值为 1,乙胜的局面值为 -1,而和局的值为 0。当轮到甲走时,甲定会选择子节点值最大的走法;而轮到乙时,乙则会选择子节点值最小的走法。所以,对于中间节点的值可以有如下计算方法:如果该节点所对应的局面轮到甲走棋,则该节点的值是其所有子节点中值最大的一个的值。而如果该节点所对应的局面轮到乙走棋,则该节点的值是其所有子节点中值最小的一个的值。 对博弈树的这个变化仅仅是形式上的,本质上丝毫未变,但是这个形式更容易推广以运用到一般实际的情形。 既然建立整棵的搜索树不可能,那么,为当前所面临的局面找出一步好棋如何?也就是通过少量的搜索,为当前局面选择一步较好的走法。 在通常的棋局当中,一个局面的评估往往并不像输、

文档评论(0)

1亿VIP精品文档

相关文档