Joa*_*nge 1 .net c# artificial-intelligence windows-phone-7
像这样的东西:
我不知道如何为此编码,因为我只编写了非游戏应用程序.例如,如何确定玩家移动后的最佳动作?我不需要完美的动作,只需要足够的挑战.
我不知道是否必须扫描所有可能的动作等.在如图所示的游戏中,可能的动作数量非常有限,对吧?所以我可以全部计算出来.但我不确定哪一个会更好,等等.
在像tic-tac-toe这样的小型简单游戏中,您可以构建一棵树,其中:
然后X正在搜索最大化最小结果的移动,知道O将搜索(在他的后续转弯中)移动,这将最小化最大结果,知道X将搜索(在他随后转向那个)移动哪个...
这是minimax算法.
在Tic-Tac-Toe中,树只能获得9层深度,如果你想要光滑,你可以利用一些板对称性并保持计算和数据结构的可管理性.
请注意,对于更复杂的游戏,这将因某种原因而失败(国际象棋是确定性的,但是太大而无法处理这种方式;步步高需要概率技术等),但许多方法都是这个主题的变体.
归档时间: |
|
查看次数: |
1621 次 |
最近记录: |