我想开发一个ludo游戏,将由最多4名球员和至少两名。其中一个玩家将是一个人工智能。因为有这么多的条件,我不能决定为计算机移动什么棋子。我正在尽我最大的努力,但仍然在开发一种可以与人类竞争的高效算法。如果有人知道用任何语言实现的任何算法的答案,请让我知道。谢谢。
发布于 2011-03-02 14:11:01
我认为在大多数计算机卡片/棋盘游戏中,为你的AI玩家获得一个相当好的策略比试图获得一个总是获胜的顶级算法要好得多。AI玩家玩起来应该很有趣。
要做到这一点,相当合理的方法是收集一组你的AI应该遵循的经验规则。比如“如果我在骰子上得到了6分,我应该在考虑任何其他走法之前从家里移动一个棋子”,“如果我有机会”吃掉“另一个玩家的棋子,就去做吧”,等等。然后将这些规则从最重要的到次要的排列起来,并在代码中实现它们。您可以将一组规则组合到不同的策略中,并尝试切换它们,以查看AI是更好还是更差。
发布于 2011-03-02 16:55:34
另外,如果你愿意,你可以尝试一般的游戏AI算法,如蒙特卡洛树搜索。基本上的想法是这样的-你需要从当前的走法中模拟许多随机的游戏,然后选择这样的动作,这保证了统计上的最好结果。
发布于 2020-06-18 10:28:59
基本上,人工智能取决于环境的类型。对于LUDO来说,环境是随机的。有多种算法来决定下一步应该移动哪个棋子。对于这些类型的环境,你需要学习算法,比如"expectimax“,"MDP”,或者如果你想让它更专业,你应该去“强化学习”。
https://stackoverflow.com/questions/5163806
复制相似问题