Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 有没有什么算法能够在考虑多个变量的情况下为一个图找到一棵树?_Algorithm_Networking_Graph_Minimum Spanning Tree - Fatal编程技术网

Algorithm 有没有什么算法能够在考虑多个变量的情况下为一个图找到一棵树?

Algorithm 有没有什么算法能够在考虑多个变量的情况下为一个图找到一棵树?,algorithm,networking,graph,minimum-spanning-tree,Algorithm,Networking,Graph,Minimum Spanning Tree,有人给了我一个问题,要求一个图有一个最小树和一个最优树,但除了边成本,我们还给了每个节点一个最大流量值和一个流量值,但第一个节点除外。我知道Prism和Kruskal的算法,但是他们没有考虑第二个参数,我试过了,但是没有找到一个能同时考虑这两个参数的算法 据我所知,traffic参数用于使树无效,例如,对于以下情况,除了第一个节点之外,我们拥有所有边权重以及所有节点的流量 使用Kruskal或Prism,我们可以发现MST最小生成树是最简单的。然而,如果我们考虑最大允许流量,在这种情况下是11,

有人给了我一个问题,要求一个图有一个最小树和一个最优树,但除了边成本,我们还给了每个节点一个最大流量值和一个流量值,但第一个节点除外。我知道Prism和Kruskal的算法,但是他们没有考虑第二个参数,我试过了,但是没有找到一个能同时考虑这两个参数的算法

据我所知,traffic参数用于使树无效,例如,对于以下情况,除了第一个节点之外,我们拥有所有边权重以及所有节点的流量


使用Kruskal或Prism,我们可以发现MST最小生成树是最简单的。然而,如果我们考虑最大允许流量,在这种情况下是11,并且我们确定该树中给定路由的流量是源节点和目的节点之间所有流量的总和,我们发现从节点1到节点5的路由具有节点1、3、4和5,而我们知道T3、T4和T5具有6的流量,分别为4和2,加起来等于12,这将超过最大流量并使mst无效。对于这种情况,问题是是否有任何算法同时考虑两个变量

该算法的名称是Prim。最大流量是任意一对节点之间的最大距离?每个边都有一个权重距离和一个流量?据我所知,在生成最小生成树时,没有考虑第二个变量的棱柱导数。我认为最大流量适用于从节点1到任何其他节点的流量,边有权重,但节点有流量,节点1除外,节点1是树的基础。Prim和Kruskal都可以根据需要使用任意多的变量,唯一的条件是能够基于这些变量比较边。在你的情况下,这不仅仅是另一个变量。在正常情况下,你基本上是在丢弃一些有效的生成树。如果我是正确的,您的新有效生成树集不满足拟阵条件,所以贪婪方法是错误的,换句话说,您不能使用任何常见的MST算法。在我看来,这是一个NP问题。我不知道有什么算法能在多项式时间内解决这个问题。