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]是一个矩阵胚(拟阵)。

posted on 2011-10-03 11:21  龙豆  阅读(436)  评论(0编辑  收藏  举报

导航