我有一个名为 TreeNode 的类 任务是执行以下操作: /* 此函数返回满足以下要求的原始树的新子树: 函数不会修改原始树 “节点匹配搜索的”术语意味着节点的名称包含“搜索”作为子字符串(不区分大小写) 如果 Node、其祖先之一或其后代之一与搜索匹配,则 Node 将包含在结 ...
我有一个名为 TreeNode 的类 任务是执行以下操作: /* 此函数返回满足以下要求的原始树的新子树: 函数不会修改原始树 “节点匹配搜索的”术语意味着节点的名称包含“搜索”作为子字符串(不区分大小写) 如果 Node、其祖先之一或其后代之一与搜索匹配,则 Node 将包含在结 ...
问题是:鉴于这种森林: 如果我们有一个节点,我们如何获得它的后代? 我认为这个算法在谈论读取所有后代时非常有效,在写作中增加了一些开销(不是太多): 首先,为了简化,假设根节点的数量限制为 N。然后我们需要存储一个包含 N 个前素数的列表。 当我们创建第一个节点时,我们会将列表 (3) 的第 ...
在backtracking ,即用于解决 n-queens 问题的算法中,基本上有两种方法可以进行递归调用: 复制父板制作子板,通过放置新皇后修改子板,然后对子板进行递归调用。 直接修改板子,递归调用,然后撤销修改。 第二种是首选,因为它避免了昂贵的副本。 这种选择也存在于其他算法中 ...
我有一个基本的递归深度优先搜索程序,用于搜索大树中未探索的路径。 有没有办法暂停并保存树,这样我以后就可以继续搜索,而不是每次结束程序时都重新开始搜索? 我正在使用 python 和一个 python IDE 称为 pycharm。 ...
Negamax 通常如下所示: 如果最大化玩家调用它,初始调用是negamax(rootNode, depth, −∞, +∞, 1) 。 我已经以最大化玩家调用它的方式实现了 Negamax,但每个rootNode都是最大化玩家移动之一: 因为 Negamax 返回一个值,所以我想要一 ...
你好, 当我在现有代码块中没有子组件的组件(文本框、收音机等)中进行搜索时,我可以找到该组件。 但是,我找不到带有子组件(例如表)的组件。 我可以通过检查 if 找到它,但由于我不知道它有多少个子组件,所以它只能在一个子元素的操作中成功。 我的问题是我想搜索整个列表的“关键”参数。 即使具有 ...
这是来自加州伯克利大学的AI 练习考试。 问题提出 考虑上面显示的状态空间图。 A 是起始状态,G 是目标状态。 每个边的成本都显示在图表上。 每条边都可以在两个方向上遍历。 请注意,启发式 h1 是一致的,但启发式 h2 不一致。 对于以下每个图形搜索策略(不回答树搜索),请标记它可 ...
给定两个节点p和q ,如何找到最低的共同祖先? (假设它们都属于一棵非常大的树) 您没有对树根的引用。 执行此操作的最有效方法是什么? 到目前为止,我唯一的想法是 (1) 选择一个节点 p(哪个无关紧要) (2) 搜索p的左子树,如果看到q,则返回p (3) else 搜索p的右 ...
我目前正在为棋盘游戏Hex编写AI。 我想使用Monte-Carlo-Tree-Search这样做,并且已经尝试实现它。 但是,AI做出了令人难以置信的愚蠢(随机)动作,我无法弄清楚为什么它不起作用。 我在calcualteIteration()方法中的实现是否正确? 我知道这 ...
A *搜索似乎重新计算了Arad,Sibiu和其他重复状态的f值,这是不应该做的,因为这些节点已经扩展并且处于关闭状态。 那我在这里想念什么? (图片来自Russel和Norvig-人工智能。 图片: 在这种情况下,这些节点不会扩展,因为它们的f值大于最佳路径,如果不是这种情况 ...
我正在寻找 python 中最有效的树搜索实现。 我给树搜索一个长度为 n 的序列,它应该检测是否已经创建了分支,或者如果不是这种情况,则生成分支。 例子: i1:序列 1[0.89,0.43,0.28] i2:序列 2[0.89,0.43,0.99] 考虑序列内的顺序很重要。 目 ...
我开发了一个基于Monte Carlo Tree Search的简单十六进制播放器,用于Hex游戏。 现在,我想使用RAVE(快速动作值估计)和LGP(最后一个很好的答复)扩展十六进制播放器。 这些文章在这里和这里 。 我想知道这里是否有人使用这些方法中的任何一种来提高树搜索性能,是否可 ...
一段时间以来我一直对模型化问题感到困惑,我不得不承认我不知道如何在core.logic “正确”解决它。 很容易说明:给定一个树(非循环单向导向图)和其中的顶点,如何使用core.logic定义一个目标,允许lvar成为来自给定顶点的任何可到达顶点? 我开始时尽可能简单: 鉴 ...
我有一个以这种方式组成的树 n 元: 如何搜索项目? 我已经实现了这个功能,但它不起作用......谢谢! ...
我知道对于一次成功的搜索,使用二叉树在包含n个键的所有输入上的平均搜索时间在Big O(lg n)中,但是对于不成功的研究,该结果是否成立? ...
我不确定这个问题是否应该在stackoverflow或cs.stackexchange.com上进行,所以请让我知道是否应该移动它。 我正在尝试查找蒙特卡罗树搜索(MCTS)的时间复杂度。 谷歌搜索无济于事,所以我想看看自己能算出多少。 它为n次迭代或在时间用完之前执行四个步骤。 ...
这是我的第一个问题,所以我希望我不会一次扔太多东西。我正在为“ 吸尘器世界”问题实现四种不同的算法。 到目前为止,我制作了四个不同的工作.py文件,但我想我会做得更好,因为重复了很多代码,并在一个具有良好类层次结构的文件中实现了所有这些代码。 因此,起初我有一个Node类,它看起来像这样,并 ...
兼容的启发式(h)是具有以下条件的: h(n)<= c(n,a,n')+ h(n') **************************************************** 可接受的启发式(h)是具有以下条件的: 0 <= h(n)< ...
我有一个树状的结构。 我可以得到几条连接在一起构成树的线。 这些线由起点和终点组成。 这是来自XML格式的树的一些示例数据。 这是树的图形表示: 我需要做的是提取树上的叶子和交汇点,如图所示: 我想找到一个关于执行此任务的复杂性和时间的优化算法。 ...
我试图总结所有路径,通过一个树,从根到最低的孩子,每个级别扩展1到10倍。 我的函数遍历所有孩子,但我遇到的问题是,当我尝试创建节点列表并在列表中执行此列表时,我成为列表列表的List ...列表。 我认为我的问题是组合步骤我尝试制作模式匹配方法,但是当它成为列表列表时应该比较列表的方法,并 ...