9得票4回答
如何遍历所有可能的解决方案路径并选择最优路径

我不太擅长编程实现启发式搜索算法/ Dijkstra 算法/ A* 搜索算法。然而,在解决我发布的一个帖子中提到的问题时(矩阵操作:针对高阶 NXN 矩阵数据逻辑未能获取正确答案),我发现了解决问题的方法存在缺陷。问题陈述如下。 问题陈述 有一个 NxN 矩阵,分为 N * N 个单元格。...

9得票2回答
在有界子图之间找到最小割集

如果将游戏地图划分为子图,如何最小化子图之间的边缘? 我有一个问题,我正在尝试在基于网格的游戏(如吃豆人或推箱子)中进行A*搜索,但我需要找到“围栏”。什么是围栏?子图,其顶点数量符合软约束条件的最大值和最小值,且具有尽可能少的割边。 或者你可以说我正在寻找子图之间的桥梁,但这通常是同样的问...

9得票3回答
如何设计一个适合Connect 4的优秀评估函数?

我有一个Java实现的“Connect 4”游戏(具有可变列数和行数)。 根据用户选择,此实现使用Mini-max算法或Alpha-beta剪枝的Mini-max算法,在搜索的最大深度为maxDepth时停止。 我的问题是设计一个良好的状态评估函数来评估棋盘(这是在maxDepth返回的值...

9得票2回答
你应该如何命名MVC架构中的控制器?什么时候应该创建一个新的控制器?

我有一个问题,适用于任何MVC框架,我正在使用Zend Framework MVC。 什么情况下应该创建新的控制器?控制器层应该定义什么? 我已经用MVC创建了几个应用程序,并逐渐变得更加可重用,但是我一直很难命名控制器类。大多数情况下,它匹配任何URL请求,因此涉及业务/前端逻辑。但在某...

9得票3回答
需要启发式函数的黑白棋(翻转棋)思路

我刚刚学习了启发式函数,但是我找不到一个适用于黑白棋(翻转棋)的启发式函数的想法,我只需要一个评估棋盘状态的好想法。 我想到了: 计算可行的移动次数 计算棋子数量 计算在角落里的棋子数量,并给予更好的分数。 我不知道这是否好。

9得票2回答
曼哈顿距离如何成为一种可接受的启发式算法?

计算一个方块的步数是否会导致其他方块到达它们的目标状态?因此,计算每个方块可能会给出比到达目标状态所需的最小步数更多的步数? 这个问题是在15-Puzzle的曼哈顿距离的背景下提出的。 换句话说:我们可以将曼哈顿距离用作N-Puzzle的可行启发式吗?要实现A*搜索,我们需要一种可行的启发...

9得票3回答
有哪些寻找A*算法启发式方法的好方法?

您有一个由方形图块组成的地图,可以在8个方向中的任何一个方向上移动。假设您有一个名为cost(tile1, tile2)的函数,该函数告诉您从一个相邻图块移动到另一个相邻图块的成本,如何找到一个既可接受又一致的启发式函数h(y, goal)?在这种情况下,是否可以推广一种方法来找到启发式函数,...

8得票2回答
在NLP中,如何生成子句的质量保证(QA)?

我的数据集结构如下: 产品1 - 句子1 产品2 - 句子2 产品3 - 句子3 ... 等等 这些句子看起来像这样: 产品1 - “我们建议您搭配金色吊坠耳环、印度紧身裤和平底鞋穿这款时尚单品,打造低调的造型。” 对此可能的问题是:“我们建议您搭配金色吊坠耳环、印度紧身裤和平...

8得票2回答
“爬山算法”和“分支定界算法”的区别是什么?

山峰爬升算法和分支定界算法是人工智能中使用的两种启发式搜索算法。这两种方法有何区别?

8得票6回答
线程间负载均衡的启发式算法

我正在开发一个多线程程序,其中有许多工作线程执行长度不同的任务。我想要负载均衡这些任务,以确保它们完成大致相同的工作量。对于每个任务Ti,我有一个数字ci,它提供了该任务所需工作量的良好近似值。 我正在寻找一种高效(O(N)N =任务数或更好)的算法,它将根据ci的值“大致”平衡负载。它不必...