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

特殊节点图中的简单路径,具有最大特殊节点数

艾奕
2023-03-14

我有一个问题:给定一个图G=(V,E),它有一个节点子集,叫做R,是“特殊”节点。特殊节点的数量可以根据具体情况而定。图可以是有向的,也可以是无向的,没有权重,并且可以包含循环。

现在,我需要一个算法,可以找到一条从节点s到节点t的路径,该路径通过R中最大数量的“特殊”节点。

我知道这个问题是NP难的,很容易从哈密顿路径化约出来,但是我一直在寻找不同的方法来解决它,而不需要强迫所有的路径。

第一次尝试

首先,我试着对图做一些预处理,每个到达“正常”节点的边都得到2的权重,每个到达R中节点的边都得到0的权重。然后我就在图上运行dijkstra。

然而,一个反例可能是这样的:

这种方法在任何有圈或无向的图中都会遇到重大问题,因为在原图中不存在的r-节点之间的连接会包含在新图中。

因此,如果任何人有任何出价任何聪明的预处理步骤,我可以采取,我会非常高兴

共有1个答案

管梓
2023-03-14

您的第一种方法似乎不错,例如:

  • R=1中某个节点v的所有边的权值
  • 剩余边的权重=0

然后使用cutoff=max特殊节点运行Dijkstra

 类似资料:
  • 除了 Label,Sprite 这些基本的节点对象外,Cocos2d-x 还提供了一些特殊的节点对象,来帮助构建一些高级功能。 也许你想制作一个基于瓦片地图的游戏,也许你想添加粒子效果,也许你想在游戏中添加一个 2D 滚动的边栏,别担心,这些特殊的节点对象能帮助你。

  • 我确实有一个图(~250个节点)。要连接到一个节点,我必须用points->加权图购买它。有些节点总是被占用(“声明的节点”),我可以从这些节点开始连接到其他节点。此外,我的点数有限。所有节点都可以连接在一起。 有什么方法可以得到一个图,其中所有的节点都必须连接在一起,点最少?如果可能的话,以给定的最大点数。 第二)有没有一种方法可以使它不需要一个完全连通的图?例如:一个“必须有节点”的节点直接连

  • 我有一个函数,我在其中创建一个Node并将其text Content设置为一个特殊字符,例如项目符号(•)。这个函数在xsl: Application-template中调用。但是,输出转义了特殊caracter,而不是看到项目符号,出现在我的结果中。在做了一些研究后,我还没有找到任何方法来禁用从我的节点转义。我的论点是创建的节点是一个CDATA部分,但我如何恢复它? 这是我用来创建节点的代码:

  • 我试图解决一个问题,其中有一个带正加权边的无向图,我需要找到一个最短的路径,该路径正好覆盖所有节点,一旦给定了起始节点和结束节点。此外,图是完整的(每个节点都连接到图中的所有其他节点)。我已经试着寻找一个算法可以解决这个问题,但我还没有找到一个解决这个问题。由于起止节点的限制,这并不完全是旅游销售员的问题。我将感谢任何帮助。

  • 我有一个SVG文档,其中包含类似于以下内容的节点: 我想做的只是选择

  • 本文向大家介绍访问C ++中所有节点的最短路径,包括了访问C ++中所有节点的最短路径的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个带有N个节点的无向连通图,这些节点被标记为0、1、2,...,N-1。图的长度将为N,并且仅当节点i和j连接时,j才与列表graph [i]中的i不完全相同。我们必须找到访问每个节点的最短路径的长度。我们可以在任何节点处开始和停止,可以多次访问节点,并且可以