问题标签 [tree-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
387 浏览

binary-tree - 不成功的二叉树搜索

我知道对于成功的搜索,使用二叉树对包含 n 个键的所有输入的平均搜索时间在 Big O (lg n) 中,但是对于不成功的研究,这个结果是否成立?

0 投票
3 回答
3689 浏览

c - 在 n 叉树中搜索项目

我有一个以这种方式组成的树 n 元:

我如何搜索项目?我已经实现了这个功能,但它不起作用......谢谢!

0 投票
2 回答
163 浏览

clojure - Clojure core.logic 中的树搜索

一段时间以来,我一直对模型化问题感到困惑,我不得不承认我不知道如何在core.logic.

很容易说:给定一棵树(非循环单向图)和其中的一个顶点,你如何使用core.logic来定义一个允许 lvar 成为给定顶点的任何可到达顶点的目标?

我从尽可能简单的事情开始:

鉴于这种配置,我的目标是定义一个目标,它允许 lvar 采用 ['a 'b 'c 'd] 中的值。使用“1 hop”获得可到达的顶点很简单:

你可以为 2 跳添加变量等等,但是......它可以概括吗?我想用类似的东西定义一个 lvar 列表

但是经过几次尝试,我必须承认我不确定这是正确的方法。

0 投票
1 回答
422 浏览

artificial-intelligence - 蒙特卡洛模拟中的“Last Good Reply”和“Rapid Action Value Estimation”是什么概念?

我已经为 Hex 游戏开发了一个基于 Monte Carlo Tree Search 的简单 hex 播放器。现在我想使用 RAVE (Rapid Action Value Estimation) 和 LGP (last good reply) 来扩展十六进制播放器。文章在这里这里
我想知道这里是否有人使用这些方法中的任何一种来提高树搜索性能并可以帮助我理解它?
我也想知道为什么这些算法被称为AMAF(All Moves As First)启发式?

0 投票
1 回答
254 浏览

python - Python - 树搜索

我正在寻找python中最有效的树搜索实现。我给树搜索一个长度为 n 的序列,它应该检测是否已经创建了分支,或者如果不是这种情况,则生成分支。

例子:

i1:序列 1[0.89,0.43,0.28]

i2:序列 2[0.89,0.43,0.99]

考虑序列中的顺序很重要。

目标是跟踪大量序列(可见、不可见)。

有没有人想法?

0 投票
1 回答
1519 浏览

search - A* 搜索是否多次扩展同一个节点?

A* 搜索似乎重新计算了 Arad、Sibiu 和其他重复状态的 f 值,它不应该这样做,因为这些节点已经展开并处于关闭状态。那么我在这里错过了什么?(图片来自 Russel 和 Norvig - 人工智能。

图片:在此处输入图像描述

在这种情况下,这些节点不会扩展,因为它们的 f 值大于最佳路径,如果不是这样怎么办?即,如果最近的 f 值返回到前一个节点怎么办?A*会这样做吗?

0 投票
1 回答
726 浏览

java - 蒙特卡洛树搜索不起作用

我目前正在为棋盘游戏Hex编写 AI 。我想使用 Monte-Carlo-Tree-Search 来做到这一点,并且已经尝试实现它。然而,人工智能做出了令人难以置信的愚蠢(随机)动作,我不知道为什么它不起作用。

我在方法 calcualteIteration() 中的实现是否正确?

我知道这可能不是一个非常有吸引力的问题,但我会很感激任何帮助

0 投票
0 回答
926 浏览

haskell - 在 Haskell 中创建一个 MCTS

我必须在 Haskell 中实现蒙特卡洛树搜索。我定义了这样的数据类型:

我还实现了一个带有随机数生成器的 Zipper(听说我需要一个):

我的问题是如何实现这个 MCTS 的扩展功能。因为是惰性评估,我也认为我可以生成整棵树。在我看来,函数应该是这样的:

0 投票
2 回答
1414 浏览

python - 如何用漂亮的汤轻松进行广度优先搜索?

我正在尝试在一棵美丽的汤树上进行呼吸优先搜索。我知道,我们可以像这样使用 Beautiful soup 进行深度优先搜索:

但我不知道如何进行呼吸优先搜索,任何人有任何想法,建议?

谢谢你的帮助。

0 投票
1 回答
403 浏览

tree - 找到两个树节点的最低共同祖先,而不参考根?

你有两个节点pq你如何找到最低的共同祖先?(假设它们都属于一棵非常大的树)

您没有参考树的根。

最有效的方法是什么?到目前为止,我唯一的想法是

(1) 选择一个节点 p(不管哪个)

(2)搜索p的左子树,如果看到q,返回p

(3) else搜索p的右子树,如果看到q,返回p

(4) else 上一级 parent 查找不包含 p 的子树,如果找到 q,则返回 parent

(5) else,再上一级,重复(4)(搜索不包含这个父节点的子树)

这似乎效率极低。有更好的算法吗?