无向图的最小生成森林的拟阵解法

前置知识

       可以参见:拟阵的有关知识,图拟阵

问题描述

       输入:无向图G=(V, E),边的权函数W: E→正整数集

       输出:边子集合A是E的子集合, (V, A)是生成森林,W(A)最小

转换为加权拟阵上寻找优化子集问题

       定义,该图G的图拟阵为M = (S,I)。

       由于该问题所求的是W(A)最小,这与优化子集的定义恰好相反,所以需要重新定义以下W。

       定义:W'(e) = W0 - W(e),其中W0 > max{W(e)}。那么,自然,W '(A) = = |V|W0 - W(A)

       原问题转换为:

       输入:拟阵 M=(S, I), M的加权函数 W '。

  • S, I均为图拟阵中的S,I。
  • W '参见上述定义。

       输出:M的最优子集

算法

      直接调用算法即可,对于I只需要增加判断条件就行,没必要求出I,只需要判断是不是森林就可以,具体参见:拟阵的最优子集问题的算法

posted @ 2020-09-01 15:03  zqybegin  阅读(413)  评论(0编辑  收藏  举报