编程随笔
文章平均质量分 50
NowCan
这个作者很懒,什么都没留下…
展开
-
八数码问题完全版-是否可解判断及求解
/*八数码问题有一个3*3的棋盘,其中有0-8 9个数字,0表示空格,其他的数字可以和0交换位置。求由初始状态1 2 34 5 67 8 0到达目标状态步数最少的解。其典型算法是广度优先搜索,具体算法是:struct 类名 m_ar[可能结点数];int h,rmain(){ h=0;r=1; while ((h { if (判断每一种可能性,如果某一种操作符合原创 2005-01-17 11:13:00 · 10851 阅读 · 4 评论 -
双向广度优先搜索法。
上一篇文章里讲到了广度优先搜索法,并以8数码问题为例。8数码问题比较简单,一般不超过30步即可求解。搜索的节点也不会超过1000000。而如下这个问题的步数是56,如果直接用广度优先搜索,节点数量会多的难以想象。########BLACK### # ## #是墙#WHITE######## | ########WHITE### # ###BLACK########问题就是将原创 2005-01-19 17:04:00 · 3004 阅读 · 1 评论 -
猜数字游戏-人出题,电脑猜(转贴)
/** 文件名称: GuessNum.h* 程序描述:* 常见的小游戏【猜数字】的智能解法:* 猜数字游戏: 即有四位十进制数字,一般可猜8次* 每次返回aAbB(A表示数字正确并且位置正确,B表示数字正确但位置不正确)* 如:假设要猜的数字是1234,如果游戏者猜0134即返回2A1B(3、4为A,1为B)**转载 2005-01-20 09:37:00 · 7000 阅读 · 2 评论 -
编写强力黑白棋的历程
我的决战黑白棋从开始编写到现在已经大约经历了1年的时间,其中有几次是重大改编,可以说整个数据结构完全重写了。 决战黑白棋刚开始的时候使用的是二维数组棋盘,估值函数基于棋子位置价值加行动力、潜在行动力,搜索深度大约是中局6层+终局15层。棋力很不理想,如禁止它进行终局搜索,我自己可以不费太大精力取胜。可见其估值函数是很差的。 其后的一次重大改写是将二维棋盘改成了一维棋盘,是速度提原创 2005-07-04 12:30:00 · 6871 阅读 · 4 评论 -
好久没来这里,现在速度还不错啊
原创 2007-06-20 17:47:00 · 1957 阅读 · 2 评论