An Efficient Evolutionary Algorithm for Subset Selection with General Cost Constraints

文章目录

  • An Efficient Evolutionary Algorithm for Subset Selection with General Cost Constraints
    • 简介
    • 背景知识
      • 子模
      • 子集选择问题
      • 约束
    • 介绍
      • 问题目标
      • 解法
    • 子集选择算法
      • 广义贪心算法
        • 算法流程
        • 近似解
      • POMC算法
        • 基本思想
        • 算法流程
        • 近似解
      • EAMC算法
        • 算法核心
        • 算法流程
        • 近似解
    • 参考

简介

论文标题:

  • An Efficient Evolutionary Algorithm for Subset Selection with General Cost Constraints
  • 具有通用成本约束的子集选择的高效进化算法

简介:

  • 提出了一个高效的演化算法 EAMC,来解决一般约束下的子集选择问题

论文地址

背景知识

子模

子模(submodular)函数/次模函数
定 义 : 对 于 一 个 集 合 函 数 f : 2 v → R 如 果 ∀ X ⊆ Y 时 f ( X ) ≤ f ( Y ) , 则 称 集 合 函 数 f 是 单 调 的 对 于 所 有 的 A ⊆ B ⊆ V 和 s ∈ V − B , 如 果 存 在 f ( A ∪ s ) − f ( A ) ≥ f ( B ∪ s ) − f ( B ) , 为 子 模 性 函 数 。 定义: 对于一个集合函数f:2^v→R\\ 如果 ∀X ⊆ Y 时 f(X) ≤ f(Y),则称集合函数 f 是单调的\\ 对于所有的A⊆B⊆V和s∈V - B,\\ 如果存在f(A∪{s})−f(A)≥f(B∪{s})−f(B),为子模性函数。 \\ 定义:对于一个集合函数f:2v→R如果∀X⊆Y时f(X)≤f(Y),则称集合函数f是单调的对于所有的A⊆B⊆V和s∈V−B,如果存在f(A∪s)−f(A)≥f(B∪s)−f(B),为子模性函数。
在S中增加一个元素所增加的收益要小于等于在S的子集中增加一个元素所增加的收益。


V = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 A = 1 , 2 , 3 B = 1 , 2 , 3 , 5 , 6 e = 3 , 4 , 5 f ( A ) = ∣ A ∣ ( 表 示 集 合 A 的 个 数 ) 所 以 : f ( A + e ) − f ( A ) > = f ( B + e ) − f ( B ) V={1,2,3,4,5,6,7,8}\\ A={1,2,3}\\ B={1,2,3,5,6}\\ e={3,4,5}\\ f(A)=|A| (表示集合A的个数)\\ 所以:f(A+e)-f(A)>=f(B+e)-f(B)\\ V=1,2,3,4,5,6,7,8A=1,2,3B=1,2,3,5,6e=3,4,5f(A)=∣A∣(表示集合A的个数)所以:f(A+e)−f(A)>=f(B+e)−f(B)
子模性质的三种表示方式

i.e., for any X ⊆ Y ⊆ V , v ∉ Y X \subseteq Y \subseteq V, v \notin Y X⊆Y⊆V,v∈/​Y
f ( X ∪ { v } ) − f ( X ) ≥ f ( Y ∪ { v } ) − f ( Y ) f(X \cup\{v\})-f(X) \geq f(Y \cup\{v\})-f(Y) f(X∪{v})−f(X)≥f(Y∪{v})−f(Y)
or equivalently, for any X ⊆ Y ⊆ V X \subseteq Y \subseteq V X⊆Y⊆V
f ( Y ) − f ( X ) ≤ ∑ v ∈ Y \ X f ( X ∪ { v } ) − f ( X ) f(Y)-f(X) \leq \sum_{v \in Y \backslash X} f(X \cup\{v\})-f(X) f(Y)−f(X)≤v∈Y\X∑​f(X∪{v})−f(X)
or equivalently, for any X , Y ⊆ V X, Y \subseteq V X,Y⊆V
f ( X ) + f ( Y ) ≥ f ( X ∩ Y ) + f ( X ∪ Y ) f(X)+f(Y) \geq f(X \cap Y)+f(X \cup Y) f(X)+f(Y)≥f(X∩Y)+f(X∪Y)
子模比(submodularity)

α f = min ⁡ X ⊆ Y , v ∉ Y f ( X ∪ { v } ) − f ( X ) f ( Y ∪ { v } ) − f ( Y ) \alpha_{f}=\min _{X \subseteq Y, v \notin Y} \frac{f(X \cup\{v\})-f(X)}{f(Y \cup\{v\})-f(Y)} αf​=X⊆Y,v∈/​Ymin​f(Y∪{v})−f(Y)f(X∪{v})−f(X)​
子模比的概念可用于度量 f 所具有的子模性的程度

(1)0 ≤ α f α_f αf​≤ 1

(2) α f α_f αf​ = 1 当且仅当 f 是子模函数。

子模比的两种定义方式

Submodular
∀ X ⊆ Y ⊆ V , v ∉ Y : f ( X ∪ { v } ) − f ( X ) ≥ f ( Y ∪ { v } ) − f ( Y ) or  ∀ X ⊆ Y ⊆ V : f ( Y ) − f ( X ) ≤ ∑ v ∈ Y \ x f ( X ∪ { v } ) − f ( X ) \begin{array}{l} {\forall X \subseteq Y \subseteq V, v \notin Y: f(X \cup\{v\})-f(X) \geq f(Y \cup\{v\})-f(Y)} \\ {\text { or } \forall X \subseteq Y \subseteq V: f(Y)-f(X) \leq \sum_{v \in Y \backslash x} f(X \cup\{v\})-f(X)} \end{array} ∀X⊆Y⊆V,v∈/​Y:f(X∪{v})−f(X)≥f(Y∪{v})−f(Y) or ∀X⊆Y⊆V:f(Y)−f(X)≤∑v∈Y\x​f(X∪{v})−f(X)​
Submodular ratio
α f = min ⁡ X ⊆ Y , v ∈ Y f ( X ∪ { v } ) − f ( X ) f ( Y ∪ { v } ) − f ( Y ) \alpha_{f}=\min _{X \subseteq Y, v \in Y} \frac{f(X \cup\{v\})-f(X)}{f(Y \cup\{v\})-f(Y)} αf​=X⊆Y,v∈Ymin​f(Y∪{v})−f(Y)f(X∪{v})−f(X)​

γ U , k ( f ) = min ⁡ X ⊆ U , Y : \ { { K , X ∩ Y = ∅ ∑ v ∈ Y f ( X ∪ { v } ) − f ( X ) f ( X ∪ Y ) − f ( X ) \gamma_{U, k}(f)=\min _{X \subseteq U, Y: \backslash\{\{K, X \cap Y=\emptyset} \frac{\sum_{v \in Y} f(X \cup\{v\})-f(X)}{f(X \cup Y)-f(X)} γU,k​(f)=X⊆U,Y:\{{K,X∩Y=∅min​f(X∪Y)−f(X)∑v∈Y​f(X∪{v})−f(X)​

分别来自子模定义1与定义2

总曲率
κ f = 1 − min ⁡ v ∈ V : f ( { v } ) > 0 f ( V ) − f ( V \ { v } ) f ( { v } ) \kappa_{f}=1-\min _{v \in V: f(\{v\})>0} \frac{f(V)-f(V \backslash\{v\})}{f(\{v\})} κf​=1−v∈V:f({v})>0min​f({v})f(V)−f(V\{v})​
总曲率描述了单调子模函数 f 与模块度的相近程度

(1) 1 ≥ 1 – κ f ≥ 0 1 ≥ 1 – κ_f ≥ 0 1≥1–κf​≥0

(2)如果没有子模性,则 1 / α f ≥ 1 – κ f ≥ 0 1/α_f ≥ 1 – κ_f ≥ 0 1/αf​≥1–κf​≥0成立

子集选择问题

文本所研究的广义问题

给定一个单调目标函数 f : 2 V → R + f : 2^V → R^+ f:2V→R+ 、一个单调成本函数 c : 2 V → R + c : 2^V → R^+ c:2V→R+ 以及预算 B B B,目标是找到:
arg ⁡ max ⁡ X ⊆ V f ( X ) s.t.  c ( X ) ≤ B \arg \max _{X \subseteq V} f(X) \quad \text { s.t. } \quad c(X) \leq B argX⊆Vmax​f(X) s.t. c(X)≤B
即最大化单调目标 f,使得单调成本函数 c 的上界处在预算 B 的约束下。f 和 c 并不必须都是子模函数。

子集选择问题的三种应用

  1. 最大覆盖问题
  2. 影响力最大化问题
  3. 传感器放置问题

最大覆盖问题
给定元素集合 U U U、 U U U 的一组子集 V = { S 1 , . . . , S n } V =\{S1, . . . , Sn\} V={S1,...,Sn}、一个单调成本函数 c : 2 V → R + c : 2^V →R^+ c:2V→R+ 以及预算 B B B,目标是找到
arg ⁡ max ⁡ X ⊆ V f ( X ) = ∣ ⋃ S i ∈ X S i ∣ s.t.  c ( X ) ≤ B \arg \max _{X \subseteq V} f(X)=\left|\bigcup_{S_{i} \in X} S_{i}\right| \quad \text { s.t. } \quad c(X) \leq B argX⊆Vmax​f(X)=∣∣∣∣∣​Si​∈X⋃​Si​∣∣∣∣∣​ s.t. c(X)≤B
给定一组覆盖了元素全域的集合,最大覆盖任务的目标是在一定成本预算下选择出某些集合并使得这些集合的并集是最大的。可以很容易验证:f 是单调的子模函数

影响力最大化
给 定 一 个 有 向 图 G = ( V , E ) , 对 于 ( u , v ) ∈ E , 边 概 率 为 p u , v ; 以 及 单 调 成 本 函 数 c : 2 V → R + 和 预 算 B , 目 标 是 找 到 : arg ⁡ max ⁡ X ⊆ V f ( X ) = E [ ∣ I C ( X ) ∣ ] s.t.  c ( X ) ≤ B 给定一个有向图 G = (V, E),对于 (u, v)∈E,边概率为 p_{u,v};\\ 以及单调成本函数 c : 2^V →R^+ 和预算 B,目标是找到:\\ \arg \max _{X \subseteq V} f(X)=\mathrm{E}[|I C(X)|] \quad \text { s.t. } \quad c(X) \leq B 给定一个有向图G=(V,E),对于(u,v)∈E,边概率为pu,v​;以及单调成本函数c:2V→R+和预算B,目标是找到:argX⊆Vmax​f(X)=E[∣IC(X)∣] s.t. c(X)≤B

传感器放置
给定 n 个位置 V = { v 1 , v 2 , . . . , v n } V = \{v_1, v_2, ... , v_n\} V={v1​,v2​,...,vn​}、单调成本函数 c : 2 V → R + c : 2^V →R^+ c:2V→R+ 和预算 B B B,目标是找到:
arg ⁡ max ⁡ X ⊆ V H ( { o j ∣ v j ∈ X } ) s.t.  c ( X ) ≤ B \arg \max _{X \subseteq V} H\left(\left\{o_{j} | v_{j} \in X\right\}\right) \quad \text { s.t. } \quad c(X) \leq B\\ argX⊆Vmax​H({oj​∣vj​∈X}) s.t. c(X)≤B
其中 H ( ⋅ ) H(·) H(⋅)表示熵,已知熵 H ( ⋅ ) H(·) H(⋅) 是一个单调子模函数

成本约束

对于这些应用,成本限制(约束)可能是简单的规模限制,即 c ( x ) = ∣ x ∣ c(x)=|x| c(x)=∣x∣,

或一般的线性成本限制,即 c ( X ) = ∑ i : v i ∈ X c i c(X)=\sum_{i: v_{i} \in X} c_{i} c(X)=∑i:vi​∈X​ci​,

但在某些情况中,这个限制可能更加复杂,比如路径限制,这是单调非子模的。

约束

集合中元素个数->线性约束->单调次模约束->单调约束->单调非次模约束

介绍

子集选择问题是一个 NP-hard 问题,并且具有很多应用场景,比如最大覆盖、影响力最大化和传感器放置。

问题目标

从 n 个元素中,选择满足约束 c 的一个子集,使得目标函数 f 的值最大:
arg ⁡ max ⁡ X ⊆ V f ( X ) s.t.  c ( X ) ≤ B \arg \max _{X \subseteq V} f(X) \quad \text { s.t. } \quad c(X) \leq B\\ argX⊆Vmax​f(X) s.t. c(X)≤B
其中 f f f 和 c c c 都是单调的,但并不一定满足子模性

解法

针对这类问题,现有的代表性算法有广义贪心算法和 POMC,该篇论文提出了EAMC。

  • 广义贪心算法: 耗时较短,但是受限于它的贪心行为,其找到的解质量往往一般;
  • POMC :随机优化算法,可以使用更多的时间来找到质量更好的解,但是其缺乏多项式的运行时间保证。
  • EAMC: 通过优化一个整合了 f 和 c 的代理函数,它可以在多项式时间内找到目前已知最好的近似解。

子集选择算法

广义贪心算法

算法流程

  1. 迭代的选择使F增益/C增益最大的元素,即F增益尽可能大,C增益尽可能小
  2. 第9行,从集合中选择一个使F最大的单个元素,然后和之前的元素集合进行比较,输出最优解
近似解

Theorem 1. For maximizing a monotone objective function f f f with a monotone cost constraint, the generalized greedy algorithm finds a subset X ⊆ V X \subseteq V X⊆V with
f ( X ) ≥ α f 2 ( 1 − 1 e α f ) ⋅ O P T f(X) \geq \frac{\alpha_{f}}{2}\left(1-\frac{1}{e^{\alpha_{f}}}\right) \cdot O P T f(X)≥2αf​​(1−eαf​1​)⋅OPT

POMC算法

基本思想
  1. 演化算法
  2. 把原问题转换成一个二目标问题
  3. 解是一个零一串,0代表没有被选择,1代表被选择,每个零一串对应一个子集
  4. 保留一个种群,对种群中的解变异(逐位变异等)产生新的解
算法流程

  1. 全零解加入集合
  2. 随机选择一个解逐位变异产生新的解,
  3. 如果种群中没有接比这个好,这个解就加入到种群中,质量较差的解被删除
  4. 输出种群中最好的解
近似解

Theorem 2. 2 . 2. For maximizing a monotone objective function f f f with a monotone cost constraint, POMC with E [ T ] ≤ e n B P max ⁡ / δ c \mathrm{E}[T] \leq e n B P_{\max } / \delta_{c} E[T]≤enBPmax​/δc​ finds a subset X ⊆ V X \subseteq V X⊆V with
f ( X ) ≥ α f 2 ( 1 − 1 e α f ) ⋅ O P T can be exponentially  large w.r.t.  n f(X) \geq \frac{\alpha_{f}}{2}\left(1-\frac{1}{e^{\alpha_{f}}}\right) \cdot O P T \quad \begin{array}{l} {\text { can be exponentially }} \\ {\text { large w.r.t. } n} \end{array} f(X)≥2αf​​(1−eαf​1​)⋅OPT can be exponentially  large w.r.t. n​
与广义贪心算法相同,但运行时间缺乏多项式保证,可能为指数级

EAMC算法

算法核心

演化算法与零一串

与pomc相同

优化函数g替代f

EAMC 不会最大化式(3)中的 f,而是引入了一个替代目标 g,并对其进行最大化
g ( x ) = { f ( x ) ∣ x ∣ = 0 f ( x ) / ( 1 − e − α f c ^ ( x ) / B ) ∣ x ∣ ≥ 1 g(\boldsymbol{x})=\left\{\begin{array}{ll} {f(\boldsymbol{x})} & {|\boldsymbol{x}|=0} \\ {f(\boldsymbol{x}) /\left(1-e^{-\alpha_{f} \hat{c}(\boldsymbol{x}) / B}\right)} & {|\boldsymbol{x}| \geq 1} \end{array}\right. g(x)={f(x)f(x)/(1−e−αf​c^(x)/B)​∣x∣=0∣x∣≥1​
可以看到, g g g 同时纳入了原有的目标函数 f f f 以及成本 c ˆ cˆ cˆ。更小的 c ˆ cˆ cˆ 值和更大的 f f f值都会导致 g g g 的值更大,即关于 f f f递增,关于 g g g递减.则 g g g会偏好 f f f较大, c c c较小的解

使用bin分箱储存最优解

在优化过程中,EAMC 会保留一个种群(解的集合) P,然后新生成的解 x’ 只会与 bin(|x’|) 中解进行比较。bin(|x’|) 的定义为:
bin ⁡ ( ∣ x ′ ∣ ) = { z ∈ P ∣ ∣ z ∣ = ∣ x ′ ∣ } \operatorname{bin}\left(\left|\boldsymbol{x}^{\prime}\right|\right)=\left\{\boldsymbol{z} \in P\ | \ | \boldsymbol{z}|=| \boldsymbol{x}^{\prime} |\right\} bin(∣x′∣)={z∈P ∣ ∣z∣=∣x′∣}
x’ 只与 P 中与 x’ 有同样大小(模的大小,即集合数量)的解相比。这样的设置会让这个解群 P 更加多样化,由此能够提升该算法的搜索能力

在运行过程中,除了有最大 g 值的解之外,每个 bin 都保留有截至目前所生成的最大 f 值的解

算法流程

  1. 全零解加入集合P
  2. 随机选择一个解x逐位变异产生新的解x'
  3. 和集合中模相同的解进行比较,保留g和f最大两个解,其余不要,即每个bin中最多有两个解,一个是最好的f,一个是最好的g
  4. 输出集合中最好的
  5. 因为行 5,P中的所有解都必须满足约束

EAMC 需要知道子模比 α f α_f αf​,因为替代目标 g 需要使用它。对于子模的 f, α f = 1 α_f = 1 αf​=1。对于非子模的 f,精确计算 α f α_f αf​ 可能需要指数级的时间,不过可以在 α f α_f αf​上使用一个下限来替代。

注意, α f α_f αf​ 的这个下限在一些单调非子模应用中已被推导出来,比如贝叶斯实验设计和行列式函数最大化。

近似解

获得与其余两个相同的近似解,证明略

Theorem 3: For maximizing a monotone objective function f f f with a monotone cost constraint, EAMC with E ( T ) ≤ 2 e n 2 ( n + 1 ) E(T) \leq 2 e n^{2}(n+1) E(T)≤2en2(n+1) finds a subset X ⊆ V X \subseteq V X⊆V with
f ( X ) ≥ α f 2 ( 1 − 1 e α f ) ⋅ O P T ⟶ the best known polynomial-  time approximation ratio  f(X) \geq \frac{\alpha_{f}}{2}\left(1-\frac{1}{e^{\alpha_{f}}}\right) \cdot O P T \quad \longrightarrow \begin{array}{l} {\text { the best known polynomial- }} \\ {\text { time approximation ratio }} \end{array} f(X)≥2αf​​(1−eαf​1​)⋅OPT⟶ the best known polynomial-  time approximation ratio ​

参考

[机器之心] AAAI 2020 | 南京大学提出高效演化算法 EAMC:可更好解决子集选择问题: https://mp.weixin.qq.com/s/QDbWwT5ZP2MNF3NVHX_SzQ

视频讲解: https://v.qq.com/x/page/w3063zkkp6h.html

[论文解读]An Efficient Evolutionary Algorithm for Subset Selection with General Cost Constraints相关推荐

  1. [文献阅读]An Efficient Evolutionary Algorithm for Subset Selection with General Cost Constraints(Bian C)

    目录 前言 1.问题背景 2.subset selection problem模型 3.两个state-of-the-art算法(对比算法) 4.文章提出的EAMC 5.理论分析 6.实验分析 前言 ...

  2. 论文阅读:Preference-based evolutionary algorithm for airport surface operations

    Preference-based evolutionary algorithm for airport surface operations 前言 预计2030年航空运输的乘客数量将是2013年的两倍 ...

  3. 论文阅读-Boosting Data-driven Evolutionary Algorithm with Localized Data Generation

    1.昂贵且耗时问题,具有数据量小,适应度函数未知的特点. 2.论文中使用Localized Data Generation在原有数据的基础上,生成近似的数据: 3.对于适应度预测部分,采用多个网络进行 ...

  4. Paper:《A Unified Approach to Interpreting Model Predictions—解释模型预测的统一方法》论文解读与翻译

    Paper:<A Unified Approach to Interpreting Model  Predictions-解释模型预测的统一方法>论文解读与翻译 导读:2017年11月25 ...

  5. 进化计算在深度学习中的应用 | 附多篇论文解读

    随着当今计算能力的大幅度提升和大数据时代的到来,深度学习在帮助挖掘海量数据中蕴含的信息和完成一些人工智能任务中,展现出了非凡的能力.然而目前深度学习领域还有许多问题亟待解决,其中算法参数和结构的优化尤 ...

  6. 论文翻译 | RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds

    论文:RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds 代码:code 前言:最近很犹豫要不要继续翻译点云 ...

  7. 自监督学习(Self-Supervised Learning)多篇论文解读(下)

    自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...

  8. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  9. CVPR 2017 全部及部分论文解读集锦

    转发链接:http://mp.weixin.qq.com/sbiz=MzI5MDUyMDIxNA==&mid=2247484464&idx=1&sn=b852980edd194 ...

最新文章

  1. ansible自动化运维(三)——Playbook实战
  2. python—多线程之线程之间共享数据(Queue)
  3. 【Linux基础 01】Linux 下的文件系统
  4. easyexcel 无模板写入_关于EasyExcel 的一些生成模板,导入导出的使用心得(优化版)...
  5. tankwar的java坦克子弹撞墙_tankwar
  6. 计算机安全事故由谁整改,信息安全检查整改方案 整改方案 .doc
  7. Mesa 3D 计算机图形库
  8. 阿里云服务器ECS和腾讯云服务器如何安装宝塔面板?
  9. 浅谈软件开发的四大要素
  10. 企业数据防泄漏解决方案分享
  11. 转:使用Python写一个m3u8多线程下载器
  12. qq显示下线通知什么意思_qq下线通知是怎么回事
  13. 微信小程序开发多少钱 怎么看价格成本
  14. 计算机弹音乐百度百科,音乐术语
  15. 2006-2020年全国31省人口老龄化水平
  16. 业界领先的对话式人工智能招聘官Mya震撼市场,两年内增加120家企业客户,包括40家财富500强公司
  17. 视频 | 自动化测试[1小时]免费领取
  18. 登山赛车2服务器正在维护什么意思,登山赛车2无法打开怎么办 登山赛车2登录不了解决方案...
  19. 【设计模式】之工厂模式
  20. centos7 cuda测试_Linux/Centos7 nvidia显卡驱动安装 以及安装 CUDA

热门文章

  1. 中国国家气象局天气预报接口、爱帮网公交查询接口
  2. RPC好,还是RESTful好?
  3. 将网址直接打包成app(Hbuilder)
  4. IDEA中scala安装与配置(详细步骤)
  5. 永久解决IDEA中MAVEN项目总是将LANGUAGE LEVEL重置到5的问题
  6. wsdl 生成客户端文件boolean型有问题
  7. java 取视频第一帧,java获取视频的第一帧
  8. Mathcad Prime教程-solve解方程组
  9. 文件服务器杀毒软件推荐,服务器杀毒软件哪个好 服务器装什么杀毒软件【详解】...
  10. FOC项目知识点总结四 | 从 PWM 到 SVPWM