今天和一个玩LOL的同学撕逼,说实话设计出LOL的AI应该不是很难,毕竟状态数量巨大已知多步枚举赢玩家的概率还是相当之大的……跟我死抠细节干嘛我又不玩不是很清楚体系……
莫名其妙的就讨论到了国际象棋,事实上类似于组合游戏,虽然国际象棋的转移有环,但事实上并不影响(因为可以照样走下去),国际象棋应该也有明确规定不能走相同相反重复棋(反正中国象棋是这样的)。那么,我们可以枚举出终态,事实上终态的枚举难度很大……如果采用标号法来表示棋盘,那么它对应的数目应该是12!级别的,这个可以用Hash轻松解决,那么因此,如果我们把国际象棋当成组合游戏(而不是博弈)来做,目前解决的问题应该还有两点
1.同博弈搜索一样,由于状态数太多,我们需要alpha-beta剪枝,那么事实上这对SG值造成了相当大的影响,因此也许我们需要提出一个新的定理2
2.证明存在某种判定使得在枚举完某些后继状态后,我们便可以知道该状态的SG值
以上纯属YY,其实对于电脑来说,战胜一个玩家并不需要大胜,只需要险胜即可,反正都是赢。
那么,计算机应该对每一步进行一个微调~
总之还是很麻烦啦我再去想想,说不定模拟退火和遗传算法可以有所帮助