正在阅读:Java咖啡馆(13): 终结者Java咖啡馆(13): 终结者

2005-09-07 09:55 出处: 作者:Gary Chan 责任编辑:moningfeng

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咖啡馆!
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品