前言
本篇小记要介绍一个解析函数上面的概念——次模函数(Submodular Function)。
次模函数也称作“子模函数”或“亚模函数”,具有次模型(Submodularity),也称“子模性”或“亚模性”,它是经济学上的概念——边缘收益递减 的形式化描述。次模函数在现实世界中有非常广泛的应用。本篇小记要说的就是次模函数的概念以及相关的性质。
定义 次模函数
对于一个集合函数
f:2V→R+
,若
A⊆V,B⊆A
且
∃e∈V−A,s.t.f({e}∪A)−f(A)⩽f({e}∪B)−f(B)
,那么
f(x)
就是次模函数(Submodular Function),也称子模函数或亚模函数.
说明:次模函数用来描述边缘效益递减现象(Diminishing Marginal Return),边缘效益递减现象广泛存在于现实世界中。举个例子:施肥,农民给作物施肥,开始时的施一定量的肥料可以产生效益:作物成长。以后每施一定量的肥料,作物就会生长一定的量,但是不能没有节制的生长,因此,当农民施到某一次肥料时,作物不再按照原先的长势生长,反而会逆势生长,这种现象就是边缘效益递减现象。(若函数二阶可导,那么边缘收益递减现象就是二阶导数小于零的意思。可以通俗地这么理解。)
次模函数的性质
通过我多方面的查阅文献,得到两种关于次模性在计算机领域应用时所具有的性质:
单调且非负的次模函数
首先介绍一个NP-Hard的问题:
对于一个次模函数
f
,如果给定一个限制条件
对于上述NP-Hard问题,可以采取贪心算法求得近似解,贪心算法的核心迭代过程可以试每次迭代地在解中加入增益最大且满足条件
C
的元素,那么第
其中, Δ{e|Si−1}=f(Si−1∪{e})−f(Si−1) .
单调且非负的次模函数的性质:如果一个次模函数是单调且非负的,即对于 ∀e∉S,f({e}∪S), 且对于 ∀S⊆V,f(S)⩾0 ,那么上面的贪心算法找到的近似解 Sapprox 相对于最优解 Soptimization 满足
这里的 1−1e 称为 近似因子。
非单调的次模函数
非单调的次模函数的性质:对于最大化一个非单调的次模函数使得其满足一个划分拟阵约束,存在一个局部搜索算法来解决这一问题,使得近似因子为:
1(4+ε)
,其中
ε>0
.参见文献[2].
至于拟阵约束在后面的文章中会有所介绍,参见下一篇文章《拟阵理论和贪心算法浅析》。
参考文献
[1] A Krause,C Guestrin, Beyond Convexity – Submodularity in Machine Learning,2008.
[2] J. Lee, V. S. Mirrokni, V. Nagarajan, and M. Sviridenko. Maximizing nonmonotone submodular functions under matroid or knapsack constraints. SIAM J. Discrete Math., 23(4):2053–2078, 2010.
[3] A Krause, Submodularity in Machine Learning and Vision, British Machine Vision Conference, 2013:2.1-2.1