Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何为Puyo Puyo游戏实现AI?_Algorithm_Artificial Intelligence - Fatal编程技术网

Algorithm 如何为Puyo Puyo游戏实现AI?

Algorithm 如何为Puyo Puyo游戏实现AI?,algorithm,artificial-intelligence,Algorithm,Artificial Intelligence,有人能给我一些关于如何为Puyo Puyo游戏实现人工智能(人机游戏)的建议吗?这个项目值得追求吗 游戏的要点是形成由4个或更多相同颜色的豆子组成的链,以触发其他链。你的链条越长,你得到的分数就越多。我的描述不是很好,所以这里有一个正在进行的游戏的简单视频: 谢谢 我想到的第一个答案是使用。值得做吗?也许作为一种学习练习。您还可以为低难度设计一个相当简单的专家系统。比如: 1) Place the pieces anywhere that would result in clearing blo

有人能给我一些关于如何为Puyo Puyo游戏实现人工智能(人机游戏)的建议吗?这个项目值得追求吗

游戏的要点是形成由4个或更多相同颜色的豆子组成的链,以触发其他链。你的链条越长,你得到的分数就越多。我的描述不是很好,所以这里有一个正在进行的游戏的简单视频:


谢谢

我想到的第一个答案是使用。值得做吗?也许作为一种学习练习。

您还可以为低难度设计一个相当简单的专家系统。比如:

1) Place the pieces anywhere that would result in clearing blocks
2) Otherwise, place the pieces adjacent to same-color pieces.
3) Otherwise, place the pieces anywhere.

这是一个人在熟悉游戏后会采用的基本策略。作为一名电脑对手,它还可以,但它不太可能击败任何打了20分钟以上的人。通过实施它,你也不会学到很多东西。

最好的策略不是尽快杀死每一条链,而是以某种方式组装,当你在上面刹车时,所有东西都会崩溃,你会得到很多组合。所以问题在于如何组合这种组合策略。同样重要的是,有可能更好地使4连击与5和平,5连击与4和平(但我不确定,检查惠特得分)

你应该建立大的结构,允许这个超级组合移动。在建造这个结构的时候,你们也有一个问题,你们不知道你们会得到什么样的和平(除了下一次和平),所以几乎不可能

这是一个非常有趣的问题。

你可以申请:

动态规划检查当前分数。
概率需求的蒙特卡罗法。
小启发法(启发法总是能更快地解决问题)

总的来说,我会将这个问题描述为和平的最佳定位,以最大化获胜的可能性。并没有单一的策略,因为建立更大的“堆”会带来更大的输掉游戏的风险


衡量你的堆有多好的一个参数可以是“熵”——在进行组合后,单个/隐藏和平的数量

听起来像是一个相当标准的comp-sci作业问题和解决方案。Alpha-Beta在这种情况下并不适用,因为Puyo-Puyo不是一个回合制的游戏,在这个游戏中,minimax策略是有意义的。您仍然可以将需要做出的决策建模为一棵树,并通过使用分支定界策略来探索这棵树,但您面临着很多不确定性。你只知道哪些棋子会提前一两步出现。更糟糕的是,每件作品都有四个可能的方向和最多六个位置。这使得你的分支因子24相当高。你想要多重困难吗?你是在试图设计一个非常有效并且非常擅长游戏的人工智能吗?或者只是一个玩游戏的人,好到足以让你相信它知道规则?需要更多信息。因为这主要是一种学习体验,最基本的游戏形式就可以了。谢谢你的时间!我一直想知道人工智能在这类游戏中是如何实现的。我很想知道。专家系统对我来说很有意义,我认为如果你扩展规则集,你可以从中获得很多好处。我想这是我会采取的方法,如果我只是想在没有太多背景研究的情况下跳进去。