'Blokus'游戏的人工智能(1-4人)

Xya*_*ius 4 java artificial-intelligence

我们正在开发基于游戏Blokus的小型Java游戏. 水中花,手册

我是一名Java初学者,并计划实施先进的人工智能.我们已经有一个随机的AI(选择随机有效的移动)和一个简单的移动评级机制的AI.我们还想要一个尽可能好的AI(或者至少非常好;)).

问题是:哪种AI概念适合我们的目的?minimax算法似乎是一个有效的选择,但你如何使它适应4人游戏?像blokus这样的游戏有更好的概念吗?

谢谢你:)

Raz*_*scu 5

Min-max很难在4人游戏中实现,因为:

  • 决策树呈指数级增长,因此您将受到内存和/或计算时间的限制log(medMoves)=N.对于4人游戏,这是N/4.例如,如果N是8,那么每个玩家只能看到前进2步.
  • 玩家串通很难解释.在一个逼真的游戏中,一些玩家可能会互相帮助(即使他们不在同一个团队中).这将导致他们偏离个人'最大'.

如果你想要Minmax,你将不得不做很多修剪才能让它变得可行.我建议学习一些模式,以便AI知道如何反应.这可以通过神经网络进行,或通过一些调整进行强化学习.

这些模式可以是静态的(您可以手动或以编程方式创建输入方案),也可以是动态的(创建所有有效方案并随机选择具有最佳分数的模式).