论文部分内容阅读
中图分类号:TP18;TP391.3 文献标识码:A 文章编号:1009-914X(2014)44-0117-01
六子棋是流传于中国民间的一类版图游戏。是一种双人对弈搏杀的一种游戏,交战双方棋子数均为六颗,故称六子棋。六子棋的棋盘为3乘以3的方格。棋子可信手拿来,只要互相区分即可。 现在的六子棋,又名连六棋,为改良自五子棋一般规则及连珠棋规中“先手必胜”之不合理情况及国际棋规中之繁复规则,以下是对基于集中环境淘汰的裁剪算法的博弈算法的研究。
1.基于贪心的棋局切割算法,缩小搜索广度
在我们的六子棋中,我们对棋局进行了一次切割,将棋局边缘的作用不大的落子点去除掉,这样就能更好的选取可行性更好的、可能性大的落子点。在我们的设计中,将所有在棋盘上的棋子的周围2*2的空白点区定义为可行范围,而将范围外的棋子切割丢弃,这样就能够大大的缩减了搜索算法的广度,从时间和空间上来说都是大大提高了效率,这样能够在特定的时间内找到较为合理的落子点。
具体示例如下:图1表示当前棋局,图2表示当前棋局的可行落点,用图中的黄点表示
2.基于环境淘汰的裁剪算法
在自上而下的裁剪可行节点后,为了提高搜索的精度、进一步缩小搜索的广度。经过第一步的切割之后,棋子的搜索广度已经大大缩减,经过统计分析,可行步数大约在30到50步之间。但这个对于3层搜索展开来说,搜索广度还是过大,这就需要我们进一步缩小搜索广度,同时为下面的α-β剪枝做进一步的优化。
在这个环境淘汰算法中,利用生物的统计学原理,我们把每一个可行的节点作为一个个体,把所有节点的集合作为一个种群,把当前棋局作为种群生存的环境。这样,对于种群中的每一个个体,在这个环境下都有一个对环境的适应度d=F(x)。F(x)是我们定义的个体的环境适应度函数,在棋局中表示落子对棋局的作用。对于所有的个体,在这个环境下,环境适应度d高的个体优先选择,环境适应度过低的选择不用,从而可以尽快地达到最佳的环境,也就是棋局最快地向着好的方面发展。
将生物学上的种群概论分析结合到博弈算法上来,实现了对最好的落子的估计,只要我们设计好的估值函数,就能够找到理论上最好的落子点,又由于在第一步的时候对可行落子域进行了剪裁,可以大大的缩小搜索的广度,可以适当增加搜索的深度,实现对博弈算法更好的实现,缩短搜索的时间代价,这些对于提高六子棋博弈中计算机的智能实现了很大的提高。
参考文献
[1] 徐心和,王骄.中国象棋计算机博弈关键技术分析[J].小型微型计算机系统,2006,27(6):961-969
[2] 徐心和,邓志立,王骄.机器博弈研究面临的各种挑战[J].智能系统学报,2008,3(4):287-293.3.
[3] 周玮,张赜,周静怡,等.基于对弈局势的二次估值方法[J].系统仿真学报,2006,18(9):2665-2668.
六子棋是流传于中国民间的一类版图游戏。是一种双人对弈搏杀的一种游戏,交战双方棋子数均为六颗,故称六子棋。六子棋的棋盘为3乘以3的方格。棋子可信手拿来,只要互相区分即可。 现在的六子棋,又名连六棋,为改良自五子棋一般规则及连珠棋规中“先手必胜”之不合理情况及国际棋规中之繁复规则,以下是对基于集中环境淘汰的裁剪算法的博弈算法的研究。
1.基于贪心的棋局切割算法,缩小搜索广度
在我们的六子棋中,我们对棋局进行了一次切割,将棋局边缘的作用不大的落子点去除掉,这样就能更好的选取可行性更好的、可能性大的落子点。在我们的设计中,将所有在棋盘上的棋子的周围2*2的空白点区定义为可行范围,而将范围外的棋子切割丢弃,这样就能够大大的缩减了搜索算法的广度,从时间和空间上来说都是大大提高了效率,这样能够在特定的时间内找到较为合理的落子点。
具体示例如下:图1表示当前棋局,图2表示当前棋局的可行落点,用图中的黄点表示
2.基于环境淘汰的裁剪算法
在自上而下的裁剪可行节点后,为了提高搜索的精度、进一步缩小搜索的广度。经过第一步的切割之后,棋子的搜索广度已经大大缩减,经过统计分析,可行步数大约在30到50步之间。但这个对于3层搜索展开来说,搜索广度还是过大,这就需要我们进一步缩小搜索广度,同时为下面的α-β剪枝做进一步的优化。
在这个环境淘汰算法中,利用生物的统计学原理,我们把每一个可行的节点作为一个个体,把所有节点的集合作为一个种群,把当前棋局作为种群生存的环境。这样,对于种群中的每一个个体,在这个环境下都有一个对环境的适应度d=F(x)。F(x)是我们定义的个体的环境适应度函数,在棋局中表示落子对棋局的作用。对于所有的个体,在这个环境下,环境适应度d高的个体优先选择,环境适应度过低的选择不用,从而可以尽快地达到最佳的环境,也就是棋局最快地向着好的方面发展。
将生物学上的种群概论分析结合到博弈算法上来,实现了对最好的落子的估计,只要我们设计好的估值函数,就能够找到理论上最好的落子点,又由于在第一步的时候对可行落子域进行了剪裁,可以大大的缩小搜索的广度,可以适当增加搜索的深度,实现对博弈算法更好的实现,缩短搜索的时间代价,这些对于提高六子棋博弈中计算机的智能实现了很大的提高。
参考文献
[1] 徐心和,王骄.中国象棋计算机博弈关键技术分析[J].小型微型计算机系统,2006,27(6):961-969
[2] 徐心和,邓志立,王骄.机器博弈研究面临的各种挑战[J].智能系统学报,2008,3(4):287-293.3.
[3] 周玮,张赜,周静怡,等.基于对弈局势的二次估值方法[J].系统仿真学报,2006,18(9):2665-2668.