The Stein-Lov´asz Theorem 定理

The Stein-Lov´asz Theorem 定理及应用

The Stein-lov´asz定理最早由数学家[Stein(1974)][1]和[Lov´asz (1975)][2]提出。其最理论基础经过发展,应用到了[编码理论][3]。
The stein-lov´asz Theorem 理论最基本的模型是解决集合的元素覆盖问题。使用贪心算法,以获得一个使用最少列元完成最大行覆盖的方案。下面给出简单的Stein-Lovasm定理简单证明过程。在台湾作者李光祥的研究下,将原有的至少有1个 1 的行元升级到了至少又t个 1 的行元问题[Guang-Siang Lee][5]。
并且就[Deng’s article][4]的理解,介绍了一种分离哈希函数(Separating Hash Families)的应用,本文就分离函数族结合Stein-Lovasm的证明方法重新复述,并且认为其中具有冗余的证明部分,提出了自己的解释。

定理描述

  • 原问题
    假设 (0,1) 矩阵A的大小是 N×M ,矩阵 A 的特征是每行至少具有v个1,每列最多a个1。假设现在从其中抽取一个子矩阵 CA ,大小是 N×K ,使得子矩阵的每行元素都不是全零行,证明 K 存在一个上界。
    KN/a+(M/v)ln(a)(M/v)(1+ln(a))

    原问题分析:能不能使用一种抽取列数尽可能少的方案,如果使用的列数目比给定的边界条件 N/a+(M/v)ln(a) 小,那么原来的问题就自然获得证明。

贪心算法

  • 思路描述如下

    1. 初始化矩阵 (0,1) 矩阵 A ,每列的 1 权重值 ci{ 1,2,3,......,a} ,然后按照列权重按照a,a-1,a-2,…,1执行降序排序,此时的矩阵命名为 Aa ;
    2. 从最左边权重最高为a的第一列开始,删除这一列,并且这列对应的 1 所在相应的a个行也统一删掉。在删除1列和a行后的矩阵 A ,重新划定权重,继续寻找左边最高权重为a的列,继续删除。在删除 2 列和 2a 行后的矩阵 A ,重新划定权重,继续寻找左边最高权重为a的列,继续删除。重复 Ka 次后,把最高权重为a的列及对应的 aKa 行都删掉了,此时的矩阵变成了 Aa1 ;
    3. 以矩阵 Aa1 开始,从左边权重最高为a-1的第一列开始,删除这一列,并且这列所对应的 a1 行也统一删掉。删完后,重新划定权重,继续寻找左边最高权重为a-1的列,继续删除。重复 Ka1 次后,把最高权重为a-1的列及其对应的 (a1)Ka1 行都删掉了,此时的矩阵变成了 Aa2 .
    4. 重复步骤3,删除权重为a-2,a-3,…,1的列,直到矩阵 A1 变成了空。
    5. 将之前删除的所有列元集中起来重新组合成 N×K 矩阵, K=i:1aKi

贪心算法的图例解释如附图1.

证明过程

按照贪心算法的步骤:
定义 Aa:=A ,其具有属性 (1) (2)

(1) 每行至少有v个1;
(2) 每列至多有a个1;

Aa 分成两部分 Aa Aa1 ,其中 Aa 将所有每列的列权重都是a,而且pairwise disjoint(集合相交为0)的集合合并在一起,并且 Aa 的列元数目是 Ka ,删除 Aa 及其 1 所在的行后,剩下的 Aa1 行数目为 ka1=NaKa ,列数目为 MKa 。在 Aa1 中,每列元的最大权重自然变成了a-1,而且每行权重至少是v不变(但凡是对权重有影响的列删除操作,都已经将其行也删除过了,而对这些剩下的行元没有丝毫影响)。所以 Aa1 的属性变成了:

(3) 每行至少有v个1;
(4) 每列至多有a-1个1;

按照同样的方法,把 Aa1 剔除权重为a-1并且pairwise disjoint的列元,以及其所在的 1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值