第三章 课后习题

1、数字重写问题的变换规则如下:
  6→3,3   4→3,1
  6→4,2   3→2,1
  4→2,2   2→1,1
问如何用这些规则把数字6变换成一个由若干个1组成的数字串。试用算法AO*进行求解,并给出搜索图。求解时设k-连接符的耗散值是k个单位,h函数值规定为:h(1)=0,h(n)=n(n≠1)。




2、余一棋的弈法如下:两棋手可以从5个钱币堆中轮流拿走一个、两个或三个钱币,拣起最后一个钱币者算输。试通过博弈证明,后走的选手必胜,并给出一个简单的特征标记来表示取胜策略。




3、对下图所示的博弈树,以优先生成左边节点顺序来进行α-β搜索,试在博弈树上给出何处发生剪枝的标记,并标明属于α剪枝还是β剪枝。






4、AO*算法中,第7步从S中选一个节点,要求其子孙不在S中出现,讨论应如何实现对S的控制使得能有效地选出这个节点。如下图所示,若E的耗散值发生变化时,所提出的对S的处理方法应能正确工作。






5、如何修改AO*算法使之能处理出现回路的情况。如下图所示,若节点C的耗散值发生变化时,所修改的算法能正确处理这种情况。






6、对3×3的一字棋,设用+1和-1分别表示两选手棋子的标记,用0表示空格,试给出一字棋产生式系统的描述。




7、写一个α-β搜索的算法。




8、用一个9维向量C来表示一字棋棋盘的格局,其分量根据相应格内的×,空或○的标记分别用+1,0,或-1来表示。试规定另一个9维向量W,使得点积C・W可作为MAX选手(棋子标记为×)估计非终端位置的一个有效的评价函数。用这个评价函数来完成几步极小-极大搜索,并分析该评价函数的效果。