【影响力最大化】—— 次模性理论和应用
一、次模性
1. 基本概念
次模性(Submodularity,又称子模、亚模等)是集合函数的一个属性,具有深层的理论意义和深远的应用前景。拥有着次模性的函数称为次模函数。
数学定义:有限集 V V V作为基础集(ground set),定义 f ( ∅ ) = 0 f(\emptyset)=0 f(∅)=0,即集合为空集时值为0。
简单理解:
定义1(边际收益):在集合函数 f f f中添加一项元素 s s s,元素 s s s带来的函数值的变化。
定义2(次模性):较小集合带来的收益 > = >= >=较大集合带来的收益。
次模函数展示了一个自然的边际效用递减(diminishing returns)的性质。
2. 具体例子
拿一个麦当劳举例:我们在购买了薯条的之后还想购买一杯可乐,由于麦当劳有可乐买一送一的活动,那么我们在购买一杯可乐之后就会再获得一杯免费的可乐,最后我们得到了一和薯条和两杯可乐,其中一杯可乐是免费赠送的。那么我们买一杯可乐的带来的额外花费就要高于两杯可乐(成本更大),从成本方面来看这就是经济学中的成本递减。
下面给出定义:
- F F F:成本函数(cost function)
- E E E:额外的费用(extra cost)
- 集合 A A A:集合A中【只有一盒薯条】
- 集合 B B B:集合B有【一盒薯条+一杯可乐】
- 具体的花费和成本的关系如下图所示:
我们可以看出,【一杯可乐+一盒薯条】得到的边际增益(额外花费) E E E是一杯可乐的价钱(one drink),而【一盒薯条和一杯可乐+一杯可乐】的边际增益(额外花费)是free免费(相对),那么我们得到一杯可乐的额外成本就要高于两杯可乐,这里的边际增益代表花费成本的增加,所以在实际生活中,我们希望该边际增益 E E E(额外花费)越小越好,即得到两杯可乐是一个更好的选择。
二、传播模型的次模性
1. 次模性
传播模型的次模性(Submodularity of propagation models)通常指的是在影响力最大化等传播问题中,影响力函数具有次模性特征。次模性是一种集合函数性质,它类似于“递减增益”的概念,意思是:在已经有较大基础(即已经影响了一部分节点)的情况下,增加一个新节点带来的边际影响会比在较小基础上增加该节点带来的影响要小。
对于传播模型中的次模性,具体可以理解为:
-
递减增益:当我们增加节点来扩展信息或影响时,新的节点对信息传播范围的边际增益随着已影响节点的增多而减少。例如,影响力最大化问题中的目标是通过选择一个节点集,最大化通过社交网络传播的影响力。如果已经有一大部分节点受到了影响,那么再新增的节点可能带来的增量传播效果会递减。
-
形式定义:给定一个集合函数 f ( S f(S f(S) ,它是次模的当且仅当对于任意的两个集合 S ⊆ T S\subseteq T S⊆T和任意的元素 x ∉ T x\notin T x∈/T,满足以下条件:
这表示在更大的集合 T T T中加入 x x x时带来的增益小于或等于在较小集合 S S S中加入 x x x时的增益。 -
实际意义:在社交网络、病毒传播或信息扩散等模型中,次模性意味着我们可以通过贪心算法来近似求解问题。贪心算法每次选择对当前影响力增益最大的节点,次模性保证了贪心算法可以给出接近最优的解。
2. 单调次模性
单调次模性是指在一个集合上定义的函数具有的一个重要性质,通常用于组合优化问题。它的两个主要特征是:
-
单调性:如果集合 S S S包含于集合 T T T,那么函数值满足 f ( S ) ≤ f ( T ) f(S)\leq f(T) f(S)≤f(T)。换句话说,增加集合中的元素不会减少函数的值。
-
次模性:对于任意两个集合 S S S和 T T T,增加一个元素 x x x到 S S S和 T T T时,得到的增益满足 { x } ) − f ( S ) ≥ f ( T ∪ { x } ) − f ( T ) \{x\})-f(S)\geq f(T\cup\{x\})-f(T) {x})−f(S)≥f(T∪{x})−f(T)。这表明,增加元素的边际收益是递减的。
-
重要定理:
由于这些性质,贪心算法可以有效地用于求解单调次模函数的最大化问题。贪心算法的基本思想是逐步构建一个解,选择在当前情况下最优的选项。对于单调次模性的问题,选择当前增益最大的元素来构建解,最终能够达到全局最优解。
具体原因如下:
-
局部最优解的选择:在每一步选择时,贪心算法选择的元素在当前状态下提供的增益最大,而由于次模性的特性,后续选择的元素的边际增益不会超过当前选择的增益,从而保证了贪心选择不会错过全局最优解。
-
单调性:由于函数是单调的,贪心算法的选择不会导致解的质量下降,每一步的选择都是在改进解的质量。
因此,在单调次模性的问题中,贪心算法能够在多项式时间内找到最优解。这也是为什么很多基于贪心策略的算法能有效解决此类问题的原因。
三、次模优化
待更新…