子模集合函数(Submodular set function)

来源:互联网 发布:精神病知乎 编辑:程序博客网 时间:2024/06/02 19:28

子模函数是一个集合函数,有减小回转属性(diminishing returns ),适用于多种应用,包括近似算法,博弈理论(函数建模)和电网络。

定义

如果Ω是一个集合,一个子模函数是一个集合函数,  f:2ΩR ,其中 2Ω 表示集合Ω的幂集,满足一下等式:

1.X,YΩXY,xΩYf(X{x})f(X)f(Y{x})f(Y).
2.S,TΩf(S)+f(T)f(ST)+f(ST).
3.XΩ,x1,x2Ω,f(X{x1})+f(X{x2}f(X{x1,x2})+f(X).

子模函数的类型

单调性

对每一个TS,f(T)f(S). 单调子模型函数包括以下几种类型:

  • 线性函数
    函数型如f(S)=iSwi 被称为一个线性函数。如果 i,wi0,则函数f是单调的。
  • 预算可加函数(Budget-additive function)
    函数形如f(S)=min(B,iSwi) 对于任意的的 wi0B0 称为预算可加的。
  • 收敛函数(Coverage function)
    Ω={E1,E2,...,En} 是基本集Ω 的集合。函数

  • Ω={X1,X2,...Xn} 为随机变量的集合,对于任意的SΩ,H(S) 是一个子模函数,其中H(S) 是随机变量集合S 的熵。
    -拟阵秩函数
    Ω={e1,e2,...en} 作为一个定义拟阵的基本集。则拟阵的秩函数是一个子模函数。

非单调性

如对称函数,图像分割,互信息

优化问题

子模函数有属性类似于凸函数或者凹函数。因此考虑凸或凹函数的优化的优化问题同样可以考虑到子模函数上,即在一些约束下的最大化或最小化子模函数。
最简单的最小化问题是在无约束的情况下找到一个集合SΩ 最小化子模函数,这个问题是可以计算的。
而对于子模函数的最大化问题通常的NP难的。如最大切割,最大覆盖问题可以被视为在合适约束下的通常最大化问题。通常这些问题的近似算法是基于如贪心算法或者是本地搜索算法。对于无约束下的最大化对称非单调子模函数符合1/2近似算法。如计算图的最大分割。对于最大化一个单调子模函数,在基数约束下符合11/e 近似算法。最大覆盖问题是这个的一个典型例子。

0 0
原创粉丝点击