当前位置: 首页 > 知识库问答 >
问题:

玩连接4?

冷正信
2023-03-14

来自维基百科:

从那以后,Connect Four已经用蛮力方法解决了,从John Tromp编译8层数据库的工作开始[4][8](1995年2月4日)。能够强力解决Connect Four的人工智能算法是最小最大值或负最大值,其优化包括alpha-beta修剪,游戏玩家移动的动态历史排序和换位表。使用这些方法求解连接四的代码也是 Fhourstones 整数性能基准测试的基础。

我一直在试图加快我的Connect 4算法,该算法目前使用Minimax以及Alpha-Beta修剪和转置表。我想让它更快,所以决定加入“动态历史游戏玩家移动排序”。

究竟什么是“游戏玩家动作的动态历史排序”?我用谷歌搜索了它,但没有找到任何解释它的资源。有人可以解释一下这个概念,如果可能的话,告诉我应该期待多少速度提升?

共有1个答案

景国兴
2023-03-14

请参阅此答案:动态移动排序。转置表用于执行动态移动顺序:

动态移动顺序使用先前搜索中的信息,可能是因为您再次转置到同一位置,或者您已经在先前不太彻底的搜索中到达了该位置。

ConnectFour 可以从这种方法中受益匪浅,因为其搜索树中将有大量重复位置,而不是带有捕获的游戏。

(PS - 如果你的代码是用Java编写的,你可以在我的Java游戏页面上尝试一下,尽管它目前有一个非常简单的算法。

 类似资料:
  • 我在NestJS上用Typescript开发了一个应用程序,使用TypeORM和用Jest编写的单元测试。我有一个使用如下事务的函数: 这是NestJS文档中的一个示例。我通过,但业务逻辑不同。 问题是我想做一个单元测试来测试这个服务功能。所以我需要以某种方式模拟这两个及其。或者至少是经理。我不知道如何用笑话来表达。我无法创建没有连接的管理器。我无法在没有管理器返回的情况下创建模拟连接。 在Nes

  • 代码片段如下所示: 如果有人有决议,请帮忙?

  • 本文向大家介绍HTTP长连接、短连接?相关面试题,主要包含被问及HTTP长连接、短连接?时的应答技巧和注意事项,需要的朋友参考一下 在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个W

  • 问题内容: 我在两个表之间有多对多关系。 表包含我的餐厅。 表包含不同的类别。 表包含两列,每列分别包含两个表的ID。 以下陈述是我能想到的,但没有给我我想要的输出。 我希望输出是有关餐厅的信息,并在最后一列中是类别的连接行。 问题答案: 要串联值,可以使用。xml路径解决方案有误,应使用和特殊字符。 您也可以使用变量解决方案

  • 有人能告诉我在maven中scm连接和developerConnection之间的区别吗? 我正在尝试使用,它需要其中之一。 [错误]未能执行goal org . Apache . maven . plugins:maven-release-plugin:2 . 3 . 2:在项目was-topology-legacy-dsl上准备(default-cli ):缺少必需的设置:必须指定scm连接或

  • 在Apache Flink流处理中,连接操作与连接有何不同,因此CoProcessFunction和ProcessJoinFunction有何不同,这是CoProcessFunction提供的onTimer函数吗?您能否提供一个适用于以相互排斥的方式连接/连接的示例用例。