代价树如下图所示分别给出宽度优先及深度优先搜索策略-Read
人工智能课程习题与部分解答

《人工智能》课程习题与部分解答第1章 绪论1.1 什么是人工智能? 它的研究目标是什么?1.2 什么是图灵测试?简述图灵测试的基本过程及其重要特征.1.3 在人工智能的发展过程中,有哪些思想和思潮起了重要作用? 1.5 在人工智能的发展过程中,有哪些思想和思潮起了重要作用?1.7 人工智能的主要研究和应用领域是什么?其中,哪些是新的研究热点?第2章 知识表示方法2.1 什么是知识?分类情况如何?2.2 什么是知识表示?不同的知识表示方法各有什么优缺点? 2.4 人工智能对知识表示有什么要求? 2.5 用谓词公式表示下列规则性知识:自然数都是大于零的整数。
任何人都会死的。
[解] 定义谓词如下:N(x): “x 是自然数”, I(x): “x 是整数”, L(x): “x 大于0”, D(x): “x 会死的”, M(x): “x 是人”,则上述知识可用谓词分别表示为: )]()()()[(x I x L x N x ∨→∀ )]()()[(x D x M x →∀2.6 用谓词公式表示下列事实性知识:小明是计算机系的学生,但他不喜欢编程。
李晓新比他父亲长得高。
2.8 产生式系统由哪几个部分组成? 它们各自的作用是什么?2.9 可以从哪些角度对产生式系统进行分类? 阐述各类产生式系统的特点。
2.10简述产生式系统的优缺点。
2.11 简述框架表示的基本构成,并给出框架的一般结构 2.12框架表示法有什么特点?2.13试构造一个描述你的卧室的框架系统。
2.14 试描述一个具体的大学教师的框架系统。
[解] 一个具体大学教师的框架系统为: 框架名:<教师-1> 类属:<大学教师>姓名:张宇 性别:男年龄:32职业:<教师>职称:副教授部门:计算机系研究方向:计算机软件与理论工作:参加时间:2000年7月工龄:当前年份-2000工资:<工资单>2.16把下列命题用一个语义网络表示出来(1)树和草都是植物;(2)树和草都是有根有叶的;(3)水草是草,且生长在水中;(4)果树是树,且会结果;(5)苹果树是果树的一种,它结苹果。
深度优先搜索和广度优先搜索

二、 重排九宫问题游戏
在一个 3 乘 3 的九宫中有 1-8 的 8 个数及一个空格随机摆放在其中的格子里。如下面 左图所示。现在要求实现这样的问题:将该九宫调整为如下图右图所示的形式。调整规则是: 每次只能将与空格(上,下或左,右)相临的一个数字平移到空格中。试编程实现。
|2|8 |3|
|1|2|3|
from = f; to = t; distance = d; skip = false; } } class Depth { final int MAX = 100; // This array holds the flight information. FlightInfo flights[] = new FlightInfo[MAX]; int numFlights = 0; // number of entries in flight array Stack btStack = new Stack(); // backtrack stack public static void main(String args[]) {
下面是用深度优先搜索求解的程序:
// Find connections using a depth-first search. import java.util.*; import java.io.*; // Flight information. class FlightInfo {
String from; String to; int distance; boolean skip; // used in backtracking FlightInfo(String f, String t, int d) {
int dist; FlightInfo f; // See if at destination. dist = match(from, to); if(dist != 0) {
人工智能答案 第二章

为0,关状态为1,全部可能的状态为:Q0=(0,0,0) ; Q1=(0,0,1); Q2=(0,1,0)Q3=(0,1,1) ; Q4=(1,0,0); Q5=(1,0,1)Q6=(1,1,0) ; Q7=(1,1,1)。
翻动琴键的操作抽象为改变上述状态的算子,即F={a, b, c} a:把第一个琴键q0翻转一次b:把第二个琴键q1翻转一次c:把第三个琴键q2翻转一次问题的状态空间为<{Q5},{Q0 Q7}, {a, b, c}>问题的状态空间图如下页所示:从状态空间图,我们可以找到Q5到Q7为3的两条路径,而找不到Q5到Q0为3的路径,因此,初始状态“关、开、关”连按三次琴键后只会出现“关、关、关”的状态。
二阶梵塔的全部状态这里的状态转换规则就是金盘的搬动规则,分别用A盘从第i号杆移到第j号杆上号杆移到第j号杆上。
经分析,共有(1,3), A(2,1), A(2,3), A(1,3), B(2,1), B(2,3), B(3,1),代价树如下图所示:分别给出宽度优先及深度优先搜索策略下的、I、 J、L是目标节点。
宽度优先搜索过程:B-﹥ G-﹥E2. 求下列谓词公式的子句集(1)∃x ∃y(P(x,y) ∧Q(x,y))解:去掉存在量词变为:P(a,b)∧Q(a,b)变成子句集{ P(a,b),Q(a,b )}(2)∀x ∀y(P(x,y) →Q(x,y))解:去掉蕴涵符号变为:∀x ∀y(¬ P(x,y) ∨ Q(x,y))去掉全称量词变为:¬ P(x,y) ∨ Q(x,y)变成子句集{ ¬ P(x,y) ∨ Q(x,y)}(3) {()[(,)(,,)]}x P x y zQ x z zR x y z ∀→∃∀∨∀()(,)(,(),)P x Q x z R x f x z ⌝∨∨(4)((,,,,,)(,,,,,)(,,,,,))x y z u v w P x y z y v w Q x y z y v w R x y z u v w ∃∀∃∃∀∃∨∧{p(a,y,f(y),y,v,g(y,v)) ∨Q(a,y,f(y),y,v,g(y,v)),p(a,x,f(x),x,z,g(x,z)) ∨R(a,x,f(x),h(x),z,g(x,z))}3. 试判断下列子句集中哪些是不可满足的 (1)使用删除策略 (2)归结4.用合一算法求下列公式集的最一般合一。
“八”数码问题的宽度优先搜索与深度优先搜索

“八”数码问题的宽度优先搜索与深度优先搜索我在观看视频和查看大学课本及网上搜索等资料才对“八”数码问题有了更进一步的了解和认识。
一、“八”数码问题的宽度优先搜索步骤如下:1、判断初始节点是否为目标节点,若初始节点是目标节点则搜索过程结束;若不是则转到第2步;2、由初始节点向第1层扩展,得到3个节点:2、3、4;得到一个节点即判断该节点是否为目标节点,若是则搜索过程结束;若2、3、4节点均不是目标节点则转到第3步;3、从第1层的第1个节点向第2层扩展,得到节点5;从第1层的第2个节点向第2层扩展,得到3个节点:6、7、8;从第1层的第3个节点向第2层扩展得到节点9;得到一个节点即判断该节点是否为目标节点,若是则搜索过程结束;若6、7、8、9节点均不是目标节点则转到第4步;4、按照上述方法对下一层的节点进行扩展,搜索目标节点;直至搜索到目标节点为止。
二、“八”数码问题的深度优先搜索步骤如下:1、设置深度界限,假设为5;2、判断初始节点是否为目标节点,若初始节点是目标节点则搜索过程结束;若不是则转到第2步;3、由初始节点向第1层扩展,得到节点2,判断节点2是否为目标节点;若是则搜索过程结束;若不是,则将节点2向第2层扩展,得到节点3;4、判断节点3是否为目标节点,若是则搜索过程结束;若不是则将节点3向第3层扩展,得到节点4;5、判断节点4是否为目标节点,若是则搜索过程结束;若不是则将节点4向第4层扩展,得到节点5;6、判断节点5是否为目标节点,若是则搜索过程结束;若不是则结束此轮搜索,返回到第2层,将节点3向第3层扩展得到节点6;7、判断节点6是否为目标节点,若是则搜索过程结束;若不是则将节点6向第4层扩展,得到节点7;8、判断节点7是否为目标节点,若是则结束搜索过程;若不是则将节点6向第4层扩展得到节点8;9、依次类推,知道得到目标节点为止。
三、上述两种搜索策略的比较在宽度优先搜索过程中,扩展到第26个节点时找到了目标节点;而在深度优先搜索过程中,扩展到第18个节点时得到了目标节点。
广度优先和深度优先的例子

广度优先和深度优先的例子广度优先搜索(BFS)和深度优先搜索(DFS)是图遍历中常用的两种算法。
它们在解决许多问题时都能提供有效的解决方案。
本文将分别介绍广度优先搜索和深度优先搜索,并给出各自的应用例子。
一、广度优先搜索(BFS)广度优先搜索是一种遍历或搜索图的算法,它从起始节点开始,逐层扩展,先访问起始节点的所有邻居节点,再依次访问其邻居节点的邻居节点,直到遍历完所有节点或找到目标节点。
例子1:迷宫问题假设有一个迷宫,迷宫中有多个房间,每个房间有四个相邻的房间:上、下、左、右。
现在我们需要找到从起始房间到目标房间的最短路径。
可以使用广度优先搜索算法来解决这个问题。
例子2:社交网络中的好友推荐在社交网络中,我们希望给用户推荐可能认识的新朋友。
可以使用广度优先搜索算法从用户的好友列表开始,逐层扩展,找到可能认识的新朋友。
例子3:网页爬虫网页爬虫是搜索引擎抓取网页的重要工具。
爬虫可以使用广度优先搜索算法从一个网页开始,逐层扩展,找到所有相关的网页并进行抓取。
例子4:图的最短路径在图中,我们希望找到两个节点之间的最短路径。
可以使用广度优先搜索算法从起始节点开始,逐层扩展,直到找到目标节点。
例子5:推荐系统在推荐系统中,我们希望给用户推荐可能感兴趣的物品。
可以使用广度优先搜索算法从用户喜欢的物品开始,逐层扩展,找到可能感兴趣的其他物品。
二、深度优先搜索(DFS)深度优先搜索是一种遍历或搜索图的算法,它从起始节点开始,沿着一条路径一直走到底,直到不能再继续下去为止,然后回溯到上一个节点,继续探索其他路径。
例子1:二叉树的遍历在二叉树中,深度优先搜索算法可以用来实现前序遍历、中序遍历和后序遍历。
通过深度优先搜索算法,我们可以按照不同的遍历顺序找到二叉树中所有节点。
例子2:回溯算法回溯算法是一种通过深度优先搜索的方式,在问题的解空间中搜索所有可能的解的算法。
回溯算法常用于解决组合问题、排列问题和子集问题。
例子3:拓扑排序拓扑排序是一种对有向无环图(DAG)进行排序的算法。
与或树的搜索策略搜索的完备性与效率

例:与/或树的宽度优先搜索
Step3:扩展3得到5 B;都不是终叶节点;接着扩展4
Step4:扩展4得到A t2
t2是终叶节点;标示4为可解节点 应用可解标示过程标出4 2 均为可解节点
还不能确定1为可解节点 此时5号节点是OPEN表中的第一 个待考察的节点;所以下一步扩展5号节点
OPEN
CLOSED
如果x是或节点;y1; y2; …; yn是它的子节点;则具有
m 1ii n ncx,yihyi
值的那个子节点yi也应在希望树中 如果x是与节点;则它的全部子节点都应在希望树中
有序搜索算法流程
1把初始节点S放入OPEN表中 2根据当前搜索树中节点的代价求出以S为根的希望树T 3依次把OPEN表中T的端节点N选出放入CLOSED表中 4如果N是终叶节点;则做下列工作:
宽度优先搜索算法流程
基本思想:先产生的节点先扩展;先进先出 1. 把初始节点S放入OPEN表 2. 把OPEN表中的第一个节点记为节点n取出放入CLOSLD表 3. 如果n可扩展;则做下列工作:
①扩展n;将其子节点放入OPEN表的尾部;并为每个子节点配置父指针; 以备标示过程使用
②考察子节点中是否有终叶节点 若有;则标示这些终叶节点为可解节 点;并应用可解标示过程对其先辈节点中的可解节点进行标示 若S也 被标示为可解节点;就得到了解树;搜索成功;退出搜索过程;若无法 确定S可解;则从OPEN表中删去具有可解先辈的节点
由这些节点及先辈节点包括初始节点S构成的与/或树 有可能成为最优解树一部分;被称为希望树
注意:
搜索过程中;随着新节点的不断生成;节点的代价值不断变 化 因此;希望树也是在不断变化的
有序搜索是一个不断选择 不断修正希望树的过程
状态空间的搜索策略

扩展:用合适算符对一个节点 扩展 : 进行操作,生成一组子节点。 进行操作,生成一组子节点。 存放刚生成的节点。 存放刚生成的节点。 不同搜索策略, 节点在OPEN 不同搜索策略 , 节点在 OPEN 表中的排列顺序不同。 表中的排列顺序不同。
COLSE表 COLSE表 编号 状态节点 父节点 OPEN表 OPEN表 状态节点 父节点
当搜索树不再有末被扩展的端节点时, 表为空, 当搜索树不再有末被扩展的端节点时,即OPEN表为空, 表为空 搜索过程失败,从初始节点达不到目标节点。 搜索过程失败,从初始节点达不到目标节点。一般搜索过程的几点说明
4. 步骤⑥的说明 步骤⑥ 一个节点经一个算符操作通常指生成一个子节点。 一个节点经一个算符操作通常指生成一个子节点。 由于适用于一个节点的算符可能有多个, 由于适用于一个节点的算符可能有多个 , 此时就会 生成一组子节点。 生成一组子节点。 判断子节点是否是当前扩展节点的父节点、 判断子节点是否是当前扩展节点的父节点 、 祖父节 点等,若是,则删除。 点等,若是,则删除。 余下的子节点记做集合M,加入图 中 余下的子节点记做集合 ,加入图G中。 扩展节点时,生成该节点的所有后继节点。 扩展节点时,生成该节点的所有后继节点。
CLOSED: CLOSED:已扩展节点表
存放将扩展或已扩展节点。 存放将扩展或已扩展节点。
一般搜索过程算法流程
建立只含有初始节点S的搜索图G, 放到OPEN表中; 表中; ① 建立只含有初始节点 的搜索图 ,把S放到 放到 表中 建立CLOSED表,其初始值为空表; ② 建立 表 其初始值为空表; 表是空表, ③ 若OPEN表是空表,则失败退出; 表是空表 则失败退出; ④ 选择 选择OPEN表中第一个节点,把它从 表中第一个节点, 表中第一个节点 把它从OPEN表移出并放进 表移出并放进 CLOSED表中,称此节点为节点 ; 表中, 表中 称此节点为节点n; 为目标节点, ⑤ 若n为目标节点,则有解并成功退出,解是追踪图 中沿 为目标节点 则有解并成功退出,解是追踪图G中沿 指针从 到 这条路径得到 指针在第⑦步中设置) 这条路径得到( 指针从n到S这条路径得到(指针在第⑦步中设置); 扩展n,生成不是n的祖先的那些后继节点的集合 的祖先的那些后继节点的集合M, ⑥ 扩展 , 生成不是 的祖先的那些后继节点的集合 , 把 M的这些成员作为 的后继节点添入图 中; 的这些成员作为n的后继节点添入图 的这些成员作为 的后继节点添入图G中
算法分析与设计综合试卷

算法与分析综合试卷一、选择题1.算法分析是()。
A.将算法用某种程序设计语言恰当地表示出来B.在抽象数据集合上执行程序,以确定是否会产生错误的结果C.对算法需要多少计算时间和存储空间作定量分析D.证明算法对所有可能的合法输入都能算出正确的答案2.算法确认是()。
A.将算法用某种程序设计语言恰当地表示出来B.证明算法对所有可能的合法输入都能算出正确的答案C.对算法需要多少计算时间和存储空间作定量分析D.在抽象数据集合上执行程序,以确定是否会产生错误的结果3.算法与程序的区别在于算法具有()。
A.能行性B.确定性C.有穷性D.输入和输出4.设A[1..60]={11,12,…,70}。
算法BINARYSEARCH在A上搜索x=33、7、70、77时执行的元素比较次数分别为a、b、c、d,则()。
A.a<b<c<d B.a>b=c=d C.a<b=c=d D.a<c<b=d5.算法INSERTIONSORT 在A[1..8]={45,33,24,45,12,12,24,12}上运行时执行的元素比较次数为()。
A.14 B.28 C.7 D.226.当A[1..n]中元素取值在范围()时,算法RADIXSORT 的时间复杂度为T(nlogn)。
A.A.[1..n] B.[n..2n] C.[1..n2] D.[1.. 2n]7.设待排序的序列A[1..n]中元素取值于[1..n!],则下列哪一个算法最坏情况下排序更慢?A.SELECTIONSORT B.INSERTIONSORTC.RADIXSORT D.BUBBLESORT8.一个排序算法如果能够使得序列中相同元素的位置次序在排序前后保持一致,则称之为稳定的排序算法。
下列几种排序算法中哪一种不是稳定的?A.SELECTIONSORT B.RADIXSORTC.BUBBLEBSORT D.BOTTOMUPSORT9.使用算法EXP来计算下列哪一个整数次幂所花费的乘法次数最多?A.35B.36C.37D.3810.算法MAJORITY在下列哪一个输入上执行时最后j=n,count=1,且c是主元素?A.{5,7,5,4,5} B.{5,7,5,4,8} C.{2,4,1,4,4,4,6,4} D.{1,2,3,4,5} 11.用贪心法设计算法的关键是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章作业题参考答案
2.综述图搜索的方式和策略。
答:用计算机来实现图的搜索,有两种最基本的方式:树式搜索和线式搜索。
树式搜索就是在搜索过程中记录所经过的所有节点和边。
线式搜索就是在搜索过程中只记录那些当前认为是处在所找路径上的节点和边。
线式搜索的基本方式又可分为不回溯和可回溯的的两种。
图搜索的策略可分为:盲目搜索和启发式搜索。
盲目搜索就是无向导的搜索。
树式盲目搜索就是穷举式搜索。
而线式盲目搜索,对于不回溯的就是随机碰撞式搜索,对于回溯的则也是穷举式搜索。
启发式搜索则是利用“启发性信息”引导的搜索。
启发式搜索又可分为许多不同的策略,如全局择优、局部择优、最佳图搜索等。
5.(供参考)解:引入一个三元组(q0,q1,q2)来描述总状态,开状态
为0,关状态为1,全部可能的状态为:
Q0=(0,0,0) ; Q1=(0,0,1); Q2=(0,1,0)
Q3=(0,1,1) ; Q4=(1,0,0); Q5=(1,0,1)
Q6=(1,1,0) ; Q7=(1,1,1)。
翻动琴键的操作抽象为改变上述状态的算子,即F ={a, b, c} a:把第一个琴键q0翻转一次 b:把第二个琴键q1翻转一次 c:把第三个琴键q2翻转一次
问题的状态空间为<{Q5},{Q0 Q7}, {a, b, c}>
问题的状态空间图如下页所示:从状态空间图,我们可以找到Q5到Q7为3的两条路径,而找不到Q5到Q0为3的路径,因此,初始状态“关、开、关”连按三次琴键后只会出现“关、关、关”的状态。
6.解:用四元组(f 、w 、s 、g)表示状态, f 代表农夫,w 代表狼,s
代表羊,g 代表菜,其中每个元素都可为0或1,用0表示在左
(0,0,
(1,0,(0,0,(0,1,(1,1,(1,0,(0,1,
(1,1,
a
c
a
b a
c a
b
c b
b c
岸,用1表示在右岸。
初始状态S0:(0,0,0,0) 目标状态:(1,1,1,1)
不合法的状态:(1,0,0,*),(1,*,0,0),(0,1,1,*),(0,*,1,1) 操作集F={P1,P2,P3,P4,Q1,Q2,Q3,Q4}
方案有两种:p2→q0 →p3→q2 →p2 →q0 →p2
p2→q0 →p1→q2 →p3→q0→p2
12 一棵解树由S0,A,D,t1,t2,t3组成;另一棵解树由S0,B,E,t4,t5
组成。
左边的解树:按和代价: g(D)=4,g(A)=7,g(S0)=12
按最大代价: g(D)=2,g(A)=5,g(S0)=10
右边的解树:按和代价:g(E)=2,g(B)=11,g(S0)=18
按最大代价: g(E)=2,g(B)=7,g(S0)=14
按和代价计算,左边的解树为最优解树;按最大代价计算,仍然是左边的解树为最优解树。
因此,左边的解树为最优解树。
此题需注意:代价最小的为最优解树。
所以,不管是按和代价,还是按最大代价,都是左边的树是最优解树。
14.传教士与野人问题:传教士(M)与野人(C)数目均为五人,渡
船(B)最多可乘3人,请定义一个启发函数,并给出相应的搜索树。
解:定义启发函数h(n)=0; h(n)=M+C; h(n)=M+C-2B 只有h(n)=M+C-2B可满足h(n)≤h*(n),是满足A*条件
的。
分两种情况来讨论:
先考虑船在左岸的情况,如果不考虑限制条件,至少需要[(M+C-3)/2]*2+1次,其中分子上的“-3”表示剩下的3个留待最后一次运过去。
除以2是因为一个来回可以运过去2人,需(M+C-3)
/2个来回,而来回数不能是小数,所以要取整。
一个来回是两次,所以“*2”,而最后的“+1”,则表示将剩下的3个运过去需要一次摆渡。
化简后为:
[(M+C-3)/2]*2+1=M+C-2
再考虑船在右岸的情况。
同样不考虑限制条件。
船在右岸,需要一个人将船运往左岸,因此,对于状态(M,C,0),需要的摆渡数,相当于船在左岸的(M+1,C,1)或(M,C+1,1),所以需要的最少摆渡数为M+C+1-2+1=M+C。
综合条件,需要的最少摆渡数为M+C-2B。
当加上限制条件时,最优的摆渡次数只能大于等于该摆渡数。
所以该启发函数是满足A*条件的。
搜索图如下:
补充1:代价树如下图所示:分别给出宽度优先及深度优先搜索策略下的搜索过程和解。
其中,F 、I 、 J 、L 是目标节点。
宽度优先搜索过程:A -﹥ C -﹥ B -﹥ G -﹥E
-﹥D -﹥ M -﹥ J ,G (J )=6, 解为:A -﹥ B -﹥ E -﹥ J 深度优先搜索过程为:A -﹥ C -﹥ G -﹥E
-﹥M -﹥P ,G (P )=7,
解为:A -﹥ C -﹥ G -﹥E -﹥M -﹥P
补充剪枝:最佳路径为N-〉A-〉B-〉C-〉D
N
≥
以下题目仅供大家参考:
1.代价树如下图所示:分别给出宽度优先及深度优先搜索策略下的搜
索过程和解。
其中,F、I、 J、L是目标节点。
解答、宽度优先搜索过程:(1)先将A放入OPEN表中,g(A)=0;(2)将A放入CLOSED表中,扩展A节点,得节点B、C,g(B)=1,g(C)=2,将B、C按代价从小到大放入OPEN中;
(3)将B放入CLOSED表中,扩展B节点得节点D、E,g(D)=5,g(E)=4,将C、D、E按代价从小到大排列放入OPEN表中;(4)将C放入CLOSED表中,扩展C得节点F、G,g(F)=6,g(G)=3,将D、E、F、G按代价从小到大排列放入OPEN表中;
(5)将G放入CLOSED表中,扩展G得L,M,g(L)=4,g(M)=5, 将D、E、F、L,M按代价从小到大排列放入OPEN表中;(6)将L放入CLOSED表中,L为目标节点,搜索成功。
解为A-﹥B-﹥C-﹥G-﹥L,g(L)=4
深度优先搜索过程:
(1)先将A放入OPEN表中,g(A)=0;
(2)将A 放入CLOSED 表中,扩展A 节点,得节点B 、C ,
g(B)=1,g(C)=2,将B 、C 按代价从小到大放入OPEN 表中; (3)将B 放入CLOSED 表中,扩展B 节点得节点D 、E ,g (D )
=5,g(E)=4,将D 、E 按 代价从小到大排列放入OPEN 表中; (4)将E 放入CLOSED 表中,扩展E 节点得节点J 、K ,g (J )=5,g(K)=6,
将J 、K 按 代价从小到大排列放入OPEN 表中; (5)将J 放入CLOSED 表中,J 为目标节点,搜索成功。
解为A -﹥ B -﹥ E -﹥ J ,g (J )=4
2设有三个大小不等的圆盘A ,B ,C 套在一根轴上,每个圆盘都标有数字1234,并且每个圆盘都可以独立地绕轴做逆时针转动,并且每次转动90度,其初始状态和目标状态如图所示,请分别画出广度优先搜索和深度优先搜索的搜索树,并求出从S0到Sg 的路径。
解:状态表示:用轴上方的3个数字作为标记,按A,B,C 逆时针顺序移动
初始状态S0
初始状态Sg
状态为(a,b,c)
初始状态为;(2,2,2),目标状态为(4,2,1)
操作每次转动其中的一个盘,逆时针90度,分别为
Pa:if a>=2then a=a-1
If a=1then a=4
Pb:if b>=2 then b=b-1
If b=1then b=4
Pc:if c>=2 then c=c-1
If c=1then c=4
则广度优先搜索树为
深度优先搜索树为:
3 余一棋博弈法如下:两棋手可以从五个钱币堆中轮流拿走一个、两个或三个钱币,捡起最后一个钱币者算输。
试通过博弈证明,后走的选手必胜,并给一个简单的特征标记来表示取胜策略。