让我们将图的方差定义为其边权值的方差。我想要解决的任务是设计一个算法,给出一个图G将构造一个最小方差的生成树T。
我很难在这件事上把事情搞清楚。到目前为止,我已经注意到,如果这样的生成树中的平均边权已知,那么这个问题可以通过将每条边的权重替换为其偏差的平方、平均权重并将图输入到任何MST查找算法中来解决。
显然,我对我试图构造的树中的平均边缘权重一无所知,但是我想到,平均值必须落在G的两个边之间,也许可以利用这些信息。
我试图把这个问题减少到用修正的边权值求G的MST。我考虑了对G的每个边运行一个算法,每次假设初始边是T中最接近平均值的,给定的权重为0,而其他边的权重等于它们与初始边的权重的平方。这种方法没有结果,因为如果平均值不等于其中一条边的权重,那么根据它在两个最近边的权重之间的位置,根据它们的权重排序将是不同的,当输入MST查找算法时,会产生不同的生成树。这是我不知道如何处理的事情(或者它是否可以被处理)。
这是家庭作业,所以我更愿意给我一个小提示,让我朝着正确的方向前进,而不是一个解决方案。
发布于 2015-03-28 15:14:00
想法1:当你构建最小权重生成树时,你只需要两两比较边。
想法2:
重量的边x和重量边y的两两比较,当你把重量和猜测g之间的差平方时,只会在g=(x+y)/2上发生变化。
想法3:
如果有x-E的边,则对平均权重,最多有(x-E-选择2)+1 --本质上不同的猜测g。计算其中每一个的最小权重生成树。比较这些树的差异。
应该有更快的方法,但这是一个多项式时间算法。
https://stackoverflow.com/questions/29323243
复制相似问题