闂傚倸鍊搁崐宄懊归崶顒€违闁逞屽墴閺屾稓鈧綆鍋呭畷宀勬煛瀹€鈧崰鏍€佸☉妯峰牚闁告劗鍋撳В澶嬩繆閻愵亜鈧垿宕曟繝姘闁跨噦鎷� (0) +1 闂傚倸鍊峰ù鍥х暦閸偅鍙忕€广儱鎷嬮崥瀣煕閳╁喚娈㈠ù纭锋嫹 (0) +1 闂傚倸鍊搁崐鎼佸磹閹间降鍋戦悗娑欋缚椤╂煡鏌i幋锝嗩棄缂佺媭鍨堕弻銊╂偆閸屾稑顏� (0) +1
闂傚倸鍊搁崐宄懊归崶顒€违闁逞屽墴閺屾稓鈧綆鍋呭畷宀勬煛瀹€鈧崰鏍€佸☉妯峰牚闁告劗鍋撳В澶嬩繆閻愵亜鈧垿宕曢弻銉ュ瀭闁秆勵殔閽冪喖鏌i弮鍥モ偓鈧柛瀣尭閳藉鈻嶉褌绨奸柟渚垮姂瀹曟儼顦柡鈧懞銉d簻闁哄洨鍋為ˉ鐐烘倵濮樼偓瀚�闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍡椾粡濡炪倖鍔х粻鎴犲閸ф鐓曢柟閭﹀灱閸ゅ鏌ら弶鎸庡仴闁哄本绋戦埥澶娾枎閹邦喚鈻忕紓鍌氬€风拋鏌ュ疾閻樿钃熼柣鏃傗拡閺佸秵绻濇繝鍌氭灓闁哄棭鍘奸—鍐Χ閸愩劌濮烽梺鐟板殩閹凤拷>>

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

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠閹绢喗鐓欐い鏃€顑欏ḿ鎰版煙瀹勭増鍤囩€规洏鍔嶇换婵嬪磼濞嗘劖鈻曟繝鐢靛Х椤h棄危閸涙潙纾婚柟鎹愵嚙缁狀垶鏌ㄩ悤鍌涘闂傚倸鍊搁崐鐑芥倿閿曞倸绠栭柛顐f礀绾惧潡鏌熼幆鐗堫棄缁惧墽绮换娑㈠箣濞嗗繒浠奸梺鍝勫閸庣敻骞冨鈧幃娆撳级閸喚褰戝┑鐐茬摠缁秶鍒掗幘璇茶摕婵炴垯鍩勯弫鍐煥濠靛棙顥犳い锔哄劦濮婃椽宕ㄦ繝鍐炬闂佺懓鍤栭幏锟�