求算法!(50分)

  • 主题发起人 主题发起人 alol
  • 开始时间 开始时间
A

alol

Unregistered / Unconfirmed
GUEST, unregistred user!
中国象棋的算法
可以人机和双人玩的
不知道算法怎么写。
请指教!
谢谢
 
你的这个问题不是几句话或者10k以内的程序可以说清楚的,建议还是到网上搜索一下相关的文章。
http://www.smiling.com.cn 有几个棋类算法小组(电脑围棋、电脑五子棋、电脑象棋),其中有的
文章非常好,值得研究。
电脑象棋AI的编写难度仅次于几乎根本无法计算的围棋AI。棋类游戏AI的基本思路无非是根据盘面
情况计算己方所有可能的走步——有N种可能的情况,然后在每种情况中再模拟对手的可能走步(这就有
差不多N*N种情况了),如此递归分析。每走一步,都要分析这一步对双方有什么意义(比如象棋中的
吃车、将军等等),根据分析的结果,选择最有利的走法。
递归分析的算法并不复杂,难的在于如何减小“组合爆炸”——如果双方的可能走步有40种,不加删减
的计算4步(双方各4步,共8次行棋)就要大约40^(4*2)(六万亿种局面)的计算量。现在流行的好像是
α-β剪枝算法,你可以搜索一下这方面的文章。
Good Luck!
 
α-β剪枝算法是不错,但估价函数怎么写才是最关键的。
估计可以写一本书。
 
好像比较玄
 
请结束或提前您的帖子,谢谢合作!
 
就在这里问啊?不会看看就能懂的吧,最好去查查资料了[:)]
 
你的问题很高深的,问一问"深蓝"去吧
 
我有源码!
 
多人接受答案了。
 
后退
顶部