0

我正在考虑我自己的算法来实现井字游戏。这将是一台计算机对抗系统。我想实现的算法将是一个哈希图,其中包含用户每个选定节点的所有获胜节点。系统将轮询用户选择的密钥的哈希映射,并随机选择一个获胜的移动选项。可以删除用户或系统之前选择的选项或将其设置为布尔值 true。这主要是基于阻塞的算法。欢迎对此提出任何想法或意见。

系统哈希图

<1,<2,3,4,7,5,9>>
<2,<1,3,5,8>>
<3,<1,2,6,9,5,7>>
<4,<1,7,5,6>>
<5,<2,8,4,6>>
<6,<3,9,5,4>>
<7,<1,4,8,9,5,3>>
<8,<2,5,7,9>>

系统将根据用户的键选择随机选择散列映射的条目之一。我知道这不是一个非常可扩展的方法,但我想知道对此的一些评论。系统/用户已经选择的每个条目都可以设置为假/删除,因此这可能不是问题。

4

1 回答 1

0

您的方法可能会奏效,但这不是一个很好的解决方案。

与其将包含游戏状态及其各自获胜动作的硬编码哈希传递给系统,我宁愿实现一种算法,这样计算机就可以自己计算出最佳动作。您可能会考虑一些众所周知的算法:

极小极大

内加麦克斯

α-β修剪

此外,通过使用算法,您将增加程序的可伸缩性。

于 2012-11-10T20:59:07.340 回答