加拿大华人论坛 加拿大生活信息会下跳棋的请进来啦……
在加拿大
一道很难的算法考题,看看大家有没有感兴趣的。棋盘有14个棋子和一个空档(图中F位置)。目标是在13步后,仅一个棋子剩下。允许的走步是棋子跳过相邻的另一个棋子,并落在对面空档位置,然后被跨过的棋子被拿下棋盘。图中所示有4种可能的移动AF, OF, MF, DF。这些移动过后,棋子C, J, I, E被拿下。写一个程序,求解。输出结果为例如<A, F>这样的字母, A表示棋子的起点,F表示落子点。
评论
有意思,斯德哥尔摩的雪还在下吗,上几张街头美女图,要你自己照的,我告诉你。
评论
dennistan2009 说:有意思,斯德哥尔摩的雪还在下吗,上几张街头美女图,要你自己照的,我告诉你。点击展开...下啊,街头美女岂可随便拍照,要被骂的
评论
hello_world 说:是啊,最近都不知道玩什么游戏了。进入3D之后没什么游戏好玩的了。也不知道游戏公司在想啥?钱太多了???点击展开...那就写这个程序吧,看你的了
评论
你在写什么啊!?for(……;……;……){if (true)continue;elsebreak。print(error);}点击展开...
评论
大哥,咱严肃点行不?你说的可能是算法吧。套进去就行了。加个计数器(n++),看谁的步数最少就可以了。点击展开...
评论
还是状态空间搜索问题
评论
asdfg12345678 说:还是状态空间搜索问题点击展开...没学过状态空间搜索,只学了点回溯法
评论
gongbao 说:没学过状态空间搜索,只学了点回溯法点击展开...这种题目和会不会跳棋关系不大,稍微改一下游戏规则就不是跳棋了,但是基本思路都是一样的。你每走一步,就是从一个旧状态变到一个新状态。比如上面有15个位置,总共就是2的15次个状态(每个位置用0代表没有被棋子占据,1代表被棋子占据)。这类题就是给你一个初始状态和目标状态,让你找出中间的步骤。最简单的就是深度优先和广度优先。但是因为状态空间数量是指数级,这2种方法太慢。然后就是启发式搜索方法,用1个函数评估每个状态的优劣。每走一步就套用这个函数看看走完后的状态是不是变优,如果是就继续,否则就停,这样就避免了深度优先和广度优先不分“好坏”一直搜索到底的弊端。
评论
asdfg12345678 说:这种题目和会不会跳棋关系不大,稍微改一下游戏规则就不是跳棋了,但是基本思路都是一样的。你每走一步,就是从一个旧状态变到一个新状态。比如上面有15个位置,总共就是2的15次个状态(每个位置用0代表没有被棋子占据,1代表被棋子占据)。这类题就是给你一个初始状态和目标状态,让你找出中间的步骤。最简单的就是深度优先和广度优先。但是因为状态空间数量是指数级,这2种方法太慢。然后就是启发式搜索方法,用1个函数评估每个状态的优劣。每走一步就套用这个函数看看走完后的状态是不是变优,如果是就继续,否则就停,这样就避免了深度优先和广度优先不分“好坏”一直搜索到底的弊端。点击展开... 谢谢,不过我应该没有时间去学习状态空间和启发式搜索了,下周2考试,现在能自己用深度优先或广度优先写出来就不错了。刚刚搜索空间状态搜索问题,在github上找到一本蔡自兴的《人工智能及其应用》,里面有些许介绍,这本书你觉得怎么样?
评论
评论
asdfg12345678 说:这种题目和会不会跳棋关系不大,稍微改一下游戏规则就不是跳棋了,但是基本思路都是一样的。你每走一步,就是从一个旧状态变到一个新状态。比如上面有15个位置,总共就是2的15次个状态(每个位置用0代表没有被棋子占据,1代表被棋子占据)。这类题就是给你一个初始状态和目标状态,让你找出中间的步骤。最简单的就是深度优先和广度优先。但是因为状态空间数量是指数级,这2种方法太慢。然后就是启发式搜索方法,用1个函数评估每个状态的优劣。每走一步就套用这个函数看看走完后的状态是不是变优,如果是就继续,否则就停,这样就避免了深度优先和广度优先不分“好坏”一直搜索到底的弊端。点击展开...很受启发,看起来类似问题可以归纳成统一的一种解法了。以后有时间,一定自己好好学学,琢磨一下。
评论
哪里看来的的, 你确定这问题有解吗
评论
everiask 说:哪里看来的的, 你确定这问题有解吗点击展开...有解
·生活百科 如果我的蛋白石卡丢失了,我该如何取回丢失的金额?
·房产房屋 你能告诉我这所房子的屋顶是粘土瓦还是水泥瓦?怎样说呢?谢