概述
子模函数是一个集合函数,有减小回转属性(diminishing returns ),适用于多种应用,包括近似算法,博弈理论(函数建模)和电网络。
定义
如果Ω是一个集合,一个子模函数是一个集合函数, f:2Ω→R ,其中 2Ω 表示集合Ω的幂集,满足一下等式:
1.对所有X,Y⊆Ω,其中X⊆Y,则对所有x∈Ω∖Y有f(X∪{x})−f(X)≥f(Y∪{x})−f(Y).
2.对所有S,T⊆Ω有f(S)+f(T)≥f(S∪T)+f(S∩T).
3.对所有X⊆Ω,x1,x2∈Ω,我们有f(X∪{x1})+f(X∪{x2}≥f(X∪{x1,x2})+f(X).
子模函数的类型
单调性
对每一个 T⊆S,有f(T)≤f(S). 单调子模型函数包括以下几种类型:
- 线性函数
函数型如 f(S)=∑i∈Swi 被称为一个线性函数。如果 ∀i,wi≥0 ,则函数f是单调的。 - 预算可加函数(Budget-additive function)
函数形如 f(S)=min(B,∑i∈Swi) 对于任意的的 wi≥0,B≥0 称为预算可加的。 - 收敛函数(Coverage function)
令 Ω={E1,E2,...,En} 是基本集 Ω‘ 的集合。函数 - 熵
令 Ω={X1,X2,...Xn} 为随机变量的集合,对于任意的 S⊆Ω , H(S) 是一个子模函数,其中 H(S) 是随机变量集合 S 的熵。
-拟阵秩函数
令Ω={e1,e2,...en} 作为一个定义拟阵的基本集。则拟阵的秩函数是一个子模函数。
非单调性
如对称函数,图像分割,互信息
优化问题
子模函数有属性类似于凸函数或者凹函数。因此考虑凸或凹函数的优化的优化问题同样可以考虑到子模函数上,即在一些约束下的最大化或最小化子模函数。
最简单的最小化问题是在无约束的情况下找到一个集合
S⊆Ω
最小化子模函数,这个问题是可以计算的。
而对于子模函数的最大化问题通常的NP难的。如最大切割,最大覆盖问题可以被视为在合适约束下的通常最大化问题。通常这些问题的近似算法是基于如贪心算法或者是本地搜索算法。对于无约束下的最大化对称非单调子模函数符合1/2近似算法。如计算图的最大分割。对于最大化一个单调子模函数,在基数约束下符合
1−1/e
近似算法。最大覆盖问题是这个的一个典型例子。
最后
以上就是甜甜小蝴蝶为你收集整理的子模集合函数(Submodular set function)的全部内容,希望文章能够帮你解决子模集合函数(Submodular set function)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复