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

具有目标函数的拓扑排序

费星晖
2023-03-14

PS:或者,有可能把这个问题表述为线性整数优化问题吗?

共有1个答案

李建中
2023-03-14

解决这个问题的一种方法如下:

首先运行全对最短路径算法Floyd-Warshall。该算法基本上可以用5行代码编写,并且在O(v^3)时间内运行。它生成图中每一对顶点之间的最短路径,即生成最短路径的V×V矩阵作为输出。

修改这个算法很简单,这样我们也可以得到每个O(n^2)路径中包含的顶点计数。所以现在我们可以消除所有有少于N个顶点的路径。对于剩余的路径,我们根据它们的代价对它们进行排序,然后测试它们是否违反拓扑排序属性。如果这个属性没有被违反,那么我们就找到了我们想要的结果。

 类似资料:
  • 为了表明计算机科学家可以把任何东西变成一个图问题,让我们考虑做一批煎饼的问题。 菜谱真的很简单:1个鸡蛋,1杯煎饼粉,1汤匙油 和 3/4 杯牛奶。 要制作煎饼,你必须加热炉子,将所有的成分混合在一起,勺子搅拌。 当开始冒泡,你把它们翻过来,直到他们底部变金黄色。 在你吃煎饼之前,你会想要加热一些糖浆。 Figure 27将该过程示为图。 Figure 27 制作煎饼的困难是知道先做什么。从 Fi

  • 一、拓扑排序介绍 拓扑排序(Topological Order)是指,将一个有向无环图(Directed Acyclic Graph简称DAG)进行排序进而得到一个有序的线性序列。 这样说,可能理解起来比较抽象。下面通过简单的例子进行说明! 例如,一个项目包括A、B、C、D四个子部分来完成,并且A依赖于B和D,C依赖于D。现在要制定一个计划,写出A、B、C、D的执行顺序。这时,就可以利用到拓扑排序

  • 问题内容: 好的,因此在根据输入数据进行拓扑排序时,通常存在多个正确的解决方案,可以根据这些正确的解决方案对图进行“处理”,以便所有依赖项都位于“依赖”它们的节点之前。但是,我正在寻找稍微不同的答案: 假设以下数据: 和(必须先于并且必须先于)。 只有这两个限制,我们有多种候选方案:( ,, 等)。但是,我正在寻找一种将这些节点“分组”的方法,以便在处理完一组后,下一组中的所有条目都将处理其依赖项

  • 如何输出有向无环图的所有可能的拓扑排序?例如,给定一个图形,其中 V 指向 W 和 X,W 指向 Y 和 Z,X 指向 Z: 如何对此图进行拓扑排序以产生所有可能的结果?我能够使用广度优先搜索来获得V,W,X,Y,Z,并使用深度优先搜索来获得V,W,Y,Z,X。但无法输出任何其他种类。

  • 我有一个DAG(有向无环图),它有不止一个有效的拓扑排序。我正在寻找一种方法来排序它的拓扑,并应用一个二级排序总是得到相同的,定义良好的结果。 a-->b A->C B->D

  • 拓扑排序主要解决的问题是给一个图的所有节点排序。 一、什么是拓扑排序 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件: (1)每个顶点出现且只出现一次。 (2)若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。 有向无环图(