【论文笔记】Efficient Progressive Minimum k-Core Search

  1. INTRODUCTION
    对于这个问题有几种启发式算法,但是它们依赖于简单的评分函数,并且与最优解相比,不能保证结果子图的大小。我们的实证研究还表明,他们的结果子图的大小在实践中可能很大。在本文中,我们开发了一个有效的渐进式算法,即PSA,以在结果质量和搜索时间之间提供良好的平衡。设计了新的最小k核搜索的上下界技术。
    与k核模型相关的问题已在文献中得到深入研究,现有的许多研究工作主要集中在最大k核计算上,其目的是寻找满足k核约束的最大诱导子图。
    然而,在某些情况下,尤其是当涉及一个或一组查询顶点时,用户可能更喜欢小规模的组,因为组的大小可能与成本(例如,验证或广告/推荐成本)以及组的稳定性和同质性密切相关。在这些场景中,最大k核可能包含许多无关的顶点,更自然的是找到包含所有查询顶点的最小尺寸的k核子图。从理论上看,给定度约束和优化目标(即最小化子图大小),这也是一个有趣的优化问题。
    Challenges
    现有的研究[18,9]提出了贪婪算法,根据候选顶点的评分函数递增地包括它们,直到得到的子图是k核子图。这些算法简单且时间效率高,但它们不能对最终的k核子图的大小提供任何质量保证。因此,我们提出了一种渐进式算法,通过开发新的技术来逐步导出包含查询顶点的最小k核的大小的上下界。通过这样做,一旦达到期望的近似比率,我们就可以安全地终止搜索。
    Contributions
    我们研究最小k核搜索问题,其目的是找到包含给定查询顶点的最小k核子图。提出了一种有效的渐进式搜索算法,通过逐步计算最优解的上下界来提供近似解。
    在将下界计算问题映射到集合多覆盖问题之后,我们研究了计算最优解下界的三种方法。我们还设计了一个基于洋葱层的启发式算法来寻找小的k-核心子图,目前看到的最小的k-核心子图将作为上限以及近似解。所提出的技术可以阐明与内聚子图相关的其他搜索问题。
    2.1 Problem Definition
    在这里插入图片描述
    在这里插入图片描述
    2.2 Existing Solutions
    正如在第1节中所讨论的,精确解的搜索空间非常大,现有的解依赖于简单的启发式算法。特别是现有的解决方案遵循两种搜索策略:(1)收缩策略[37],称为全局搜索;(2)扩展策略[9,18],称为局部搜索。在全局搜索策略[37]中,最大kcore是初始结果,可以在线性时间内有效计算[10]。然后,通过重复移除顶点,同时将q保留在最终得到的k-核心子图1中,最终得到的子图的大小将会缩小。如[9]所示,[37]中的全局搜索方法是无效的,因为最大k核的大小通常非常大,并且所得k核子图的质量与局部搜索方法没有竞争力。在最近的研究[9,18]中,采用了局部搜索策略,该策略从查询顶点开始,然后通过在每一步中按照一些贪婪启发式算法递增地包括最有希望的候选顶点来扩展结果子图。下面,我们介绍[9]中提出的最新技术。
    在这里插入图片描述
  2. PROGRESSIVE SEARCH ALGORITHM
    3.1Motivation and Framework
    在这篇文章中,我们设计了一个渐进搜索算法,即PSA。给定一个顶点集Vt作为部分解,我们发现计算包含Vt的k核的最小尺寸的上/下界是可行的(细节将在后面的章节中介绍)。因此,如果我们能在一次搜索中逐步收敛部分解的大小上/下限,就有可能计算出一个k核,它在最优最小k核的大小方面具有保证的大小逼近比。然后,PSA的框架被设计为最佳优先搜索Best-First Search (BesFS) ,它以扩展的方式计算结果,并在每个搜索步骤访问最有希望的分支。
    沿着BesFS的程序构造一棵BesFS的搜索树,其中根是查询顶点,每个树节点包含一个顶点。对于每个树节点t,其部分解Vt包含该节点中的顶点和祖先节点中的所有顶点。
    在PSA中,到搜索树中,其中每个子节点都包当树节点t被访问且t包含顶点u时,我们将t的子节点添加到搜索树中,每个子节点都包含Vt中一个顶点id大于u的唯一邻居。然后,节点t的搜索步骤处理如下。
    (一)下界驱动。对于节点t的每个子节点t’的局部解V’t,我们计算出包含V’t的最小k核的大小下界s-(t)(在3.2节中介绍)。下一个要访问的节点(最有希望的节点)是当前搜索树中所有叶子节点中下界最小的s-(-)。
    (二)上界驱动。对于节点t的每个子节点t’的局部解V’t,我们进行深度优先搜索(DFS),通过启发式(在3.3节介绍)计算出包含V’t的最小k核,以更新最优最小k核的全局大小上界s+。
    在这里插入图片描述
    我们用t表示搜索树T中的一个树节点。节点t的顶点集Vt由t中的顶点t.v和t的祖先节点中的所有顶点组成,让s+表示最优最小k核的上界,s-(t)表示包含Vt的最小k核的大小下界。类似于A*搜索,我们用一个集合Q来表示T中要访问的叶子节点,其中节点t的键为s-(t),升序排列。GetUpper (Vt)通过启发式计算包含Vt的最小k核R(在3.3节中介绍)。第2-4行初始化了上面的符号。在这里插入图片描述
    在这里插入图片描述
    3.2Lower Bounds Computation
    在这里插入图片描述
    Set Multi-Cover Problem
    截图
    在这里插入图片描述
    Lower bound computation
    对于算法1第9行给定的部分解P = Pu ∪{v},我们可以据此构造一个集合多覆盖问题的实例。我们的目标是推导出其最优解I∗的大小下限,用L表示,那么我们可以用|P|+L作为下限,因为|P|+L≤|P|+|I∗|=|P|+|M∗|。在这里,我们强调,我们的重点是L的计算,而不是集合多覆盖问题的可行解。
    3.2.1 Greedy-based Lower Bound
    在这里插入图片描述
    3.2.2 Structure Relaxation Based Lower Bound.
    在这里插入图片描述
    3.2.3 Inclusion-exclusion Based Lower Bound在这里插入图片描述
    3.2.4 Putting the lower bounds together
    在这里插入图片描述
    3.3Upper Bound Computation
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值