Tic-Tac-Toe终结版 由于篇幅所限,以上代码还有很多可以改进之处。 首先,Tic-Tac-Toe游戏棋盘非常有特色,用中学数学的术语来讲是中央对称的,所以在预测下一步可行的位置时,可以利用这个特性,只考虑其中几种情况即可。 其次,估计函数还可以进一步优化,有兴趣的朋友可以在网上搜索一下,这方面的论文也不在少数。 最后,MiniMax是一个经典的限制深度的算法,实际上,还可以在MiniMax的基础上限制树的广度,那就是Alpha-Beta算法。比如,我们以如图3所示为例。 我们将分别计算K、L和M的值。很显然,K的值是1。但是计算L的时候,当我们发现D的值是-1的时候,我们可以马上砍掉L这个结点了,因为对于根节点,K的值肯定比L要大。这样便进一步节省了搜索空间。 Just Do It 请尝试根据以上提示改进程序,完成一个更优秀的游戏。 结束语 小店到今天终于又告一段落。我们在这四回的文章中介绍了Java中的Applet技术,可以做出许多匪夷所思的效果。此外,我们在最后还为大家讲解了一些人工智能的技术,可以发现,当Java与AI结合后,可以迸发出很强大的能量,若再加上一些美工和音效,制作出商业软件也不是什么难事。 多谢大家的关照与捧场,希望大家能够继续支持我们大家的Java咖啡馆! |
正在阅读:Java咖啡馆(13): 终结者Java咖啡馆(13): 终结者
2005-09-07 09:55
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键