zoukankan      html  css  js  c++  java
  • Matroid[转]

    【矩阵胚(拟阵)的定义】

      矩阵胚(拟阵)是一个满足遗传性质与交换性质的序对M=(S, I),其中S是一个非空有限集,I是S的一个非空子集族。

      【遗传性质的定义】

      若X∈I,则X的任意子集∈I(X是遗传的)。

      【交换性质的定义】

      若A∈I,B∈I,且|A|>|B|,则∃x∈A-B,使B∪{x}∈I。

      【独立子集的定义与性质】

      定义:若X∈I,则X是S的独立子集。

      性质:独立子集的任意子集都是独立子集。

      【矩阵胚(拟阵)的性质】

      ①S有至少一个独立子集——空集。

      ②独立子集是遗传的。

      【加权矩阵胚的定义与性质】

      定义:把S中的元素加正的权,可以得到一个加权矩阵胚。

      性质:

      ①最优独立子集必为最大独立子集。

      [证明]略。

      ②贪心的扩展加权矩阵胚可以得到最优子集。

      [证明]

      设贪心法得到的独立子集是A,最优独立子集为T(若有多个T,则选择A∪T最大的其中一个),那么∃a∈A-T。设x为不在T中的第一个被贪心 法选择的元素,则T∪{x}为非独立集(否则与T最大矛盾)。设B为T并x的子集中的最小的非独立子集,则x属于B(否则B就为T的子集,矛盾)。这样, 取B中任意不属于A的元素y,B-{y}为独立子集。
      下面从B-{y}出发构造一个最优独立子集T',使A∪T'比A∪T更大。
      对于B-{y},把T中不属于其中的元素依次加到里面,则最后得到一个T'=T+{x}-{y}。
      下面说明w(x)=w(y)。
       因为T是最优的,因此w(T)>=w(T'),即w(x)<=w(y)。假设贪心算法选择x之前选择过的元素集合为X,那么X为T的子集, 且X并{y}也是T的子集。于是在选择x的时候,y也是可以选的。但是贪心算法选择的是x,必有w(x)>=w(y)。故w(x)=w(y)。这 样,T'也是最优独立子集,但是T'比T多一个在A中的元素,与T的选择矛盾。

      故贪心法能够选择最优独立子集。

      【例子】

      对于一个无向图G=(V, E),定义M[G]=(S[G], I[G]),且满足:①S[G]=E;②若X是E的子集,且是无回路的,则X∈I[G];③除了条件②外I[G]无其他元素。

      下面证明M[G]是一个矩阵胚(拟阵)。

      S[G]显然是一个非空有限集,I[G]也显然是S[G]的一个非空子集族。在遗传性质方面,若X∈I[G],则X是E的自己,且是无回路的, 即X的任意子集是E的子集,且是无回路的,亦即X的任意子集∈I[G],故X是遗传的,M[G]满足遗传性质。在交换性质方面,在一棵边数为n的树中,为 使树产生回路,添加边的点皆在树中,故为了使添加边不产生回路,最多可添加n条边,不失一般性,可推广到森林,可得若A∈I,B∈I,即G[A]= (V,A)和G[B]=(V,B)是G的森林,且|A|>|B|,则A中∃x∈A-B,使B∪{x}无回路产生,即B∪{x}∈I,故M[G]满足 交换性质。

      综上所述,M[G]是一个矩阵胚(拟阵)。

  • 相关阅读:
    [LeetCode] 90. 子集 II
    [LeetCode] 91. 解码方法
    [LeetCode] 89. 格雷编码
    [LeetCode] 88. 合并两个有序数组
    转:Google论文之三----MapReduce
    转:Google论文之二----Google文件系统(GFS)翻译学习
    转:Zend Framework 2.0 分析
    转:PHP include()和require()方法的区别
    转:cookie和session(二)——php应用
    转:cookie和session(一)——原理
  • 原文地址:https://www.cnblogs.com/longdouhzt/p/2198455.html
Copyright © 2011-2022 走看看