iterative-deepening相关内容

编写一个没有递归的迭代深化的 DFS

所以目前我有一个带有以下伪代码的 DFS procedure DFS(Graph,source):创建堆栈 S将源推送到 S标记来源而 S 不为空:将 S 中的项目弹出到 v对于图中 v 上的每条边 e:让 w 成为 e 的另一端如果 w 未标记:标记 w将 w 推到 S 上 如何更改此函数以接受限制搜索深度的第三个参数? 解决方案 让 Node 为图的每个节点创建一个结构,添加一个名 ..

如何实现连接4的转置表?

我正在用python创建connect 4 AI,为此我使用了带有迭代加深和alpha beta修剪的minimax.对于更大的深度,它仍然很慢,因此我想实现一个转置表.在阅读了它之后,我认为我有了大致的想法,但是我还没有完全能够使它起作用.这是我的代码的一部分:( minimax的最大化部分): if(isMaximizing):maxEval = -99999999999bestMove ..

深度优先迭代加深算法,不返回任何结果(在Java中)

我有一个搜索算法,该算法应该解析整个树,找到可以与搜索查询匹配的所有结果,并将它们全部作为列表返回.我意识到这还不是算法的重点,但是我正在做此测试,首先进行广度优先和深度优先搜索,以了解对它们进行计时的最快速度.其他两个搜索按预期工作,但是当我输入与DFID搜索目标相同的搜索信息时,我得到一个空列表.所以我知道我的数据是正确的,只是算法中的某些问题是错误的,我无法弄清楚是什么.我是根据Wikipe ..
发布时间:2020-07-23 19:06:39 Java开发

常见Lisp中的迭代加深

我已经编写了一个迭代加深算法,该算法可以工作,除了当我添加周期检查时,该算法返回的深层解决方案超出了应有的深度.但是,当我不检查周期时,它确实可以正常工作,但是花费的时间太长.任何人都可以发现该错误吗? (defun rec-depth-limited (problem node cutoff closed) (if (= cutoff 0) (if (funcall (prob ..

用迭代深化编写DFS而无需递归

因此,目前我有一个DFS,伪码如下: pre code> procedure DFS(图形,源代码): create一个堆栈S 将源压入S 标记源 ,同时S不为空: 从S中弹出一个项目到v 为每个边缘发生事件v in图: 如果w未标记,则让w为e 的另一端: mark w 将w推到S 如何修改此函数以接受限制搜索深度的第三个参数? 解决方案 为图的每个节点设 ..