OLAK: An Efficient Algorithm to Prevent Unraveling in Social Networks

2023-10-18 04:30

本文主要是介绍OLAK: An Efficient Algorithm to Prevent Unraveling in Social Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者 Fan Zhang†, Wenjie Zhang§, Ying Zhang†, Lu Qin†, Xuemin Lin§

摘要

为了防止用户的离开,造成图网络的分解,所以通过激励一些用户,影响周围的顶点,起到增强网络的作用。那么应该激励哪些用户呢,最简单的办法就是选中一个顶点,查看最网络起的作用,依次查看所有的顶点,但是这样很浪费时间。所以发明了一种类似于洋葱层的算法,大大减少搜索空间,提高效率。

1、介绍

说白了,就是固定一些顶点从而扩大kcore。研究表明k>=3 锚定kcore是一个NP难问题。
**挑战:**为了避免枚举大小为b的所有可能锚集,采用贪婪试探法。通过计算每个可能锚点的k核,在每次迭代中计算最佳锚集。原因有两方面。(1)候选锚的数量较多。很明显,我们不需要锚定图的k-core中的顶点。然而,剩余顶点的数量仍然很大。(2)虽然k-core的计算时间在边数上是线性的,但在候选锚点数量较多的情况下,代价比较昂贵。
**解决:**设计了一个辅助结构L,称为洋葱层(onion layers),以保持一个小的顶点集,并开发相应的高效技术,显著减少搜索空间。由于锚点的存在,会有一些新的顶点加入k-core,本文称之为follower。采用了贪婪启发式,我们的研究重点是在图中寻找最佳锚点,即follower数量最多的顶点。当我们只考虑一个锚点时,所有的追随者必须驻留在(k-1)-shell,即(k-1)-core中的顶点,而不是k-core中的顶点。我们把这些顶点和它们的邻居放到洋葱层里,并证明我们只需要将L中的顶点作为候选锚点来寻找最佳锚点。证明了在计算过程中只需要考虑L中的顶点,这大大减少了搜索空间。

2、前提

定义一: kcore
定义二: kshell,Sk(G) = Ck(G) \ Ck+1(G).
定义三: anchored k-core,Ck(GA),如果增加锚定顶点,kcore中新增加的顶点叫跟随者。
问题描述:找到一组顶点A,使kcore的规模最大,当k≥3时,锚定k核问题为NP-hard,不存在非平凡多项式算法k>2,采取贪婪算法。启发式算法,施加洋葱层结构。

3、过程

基于洋葱层的锚定内核(OLAK)算法可以有效、高效地为锚定k核问题找到一组锚。
创造一个洋葱层L,候选锚点和跟随者在L里查找。
G的洋葱层(用L表示)由(k-1)-shell中的顶点及其不属于k-core的邻居组成;即L:= Sk−1(G)∪{NB(Sk−1(G),G) \Ck(G)}。

3.2

定理一:跟随者只能在Sk−1(G)。
定理二:给定一个图G,如果一个锚定顶点x至少有一个跟随者,则x来自L

3.3

计算跟随着,(1)先计算出没有锚定时的kcore,再计算锚定时的kcore,然后作差,就是followe.(2) 由kcore 往外扩展

3.3.1、洋葱层

定理三:对于kcore的计算,无论什么删除顺序,kcore都是一样的
洋葱层:L consists of s+1 layers, {L0, L1, . . ., Ls} (Ls0 = L)。Then we put the neighbors of Sk−1(G)(excluding the ones in Ck(G) and Ls1) to L0

3.3.2 基于洋葱层的跟随者计算

(1)寻找候选follower,为锚点x探索候选follower;(2)提前终止,在计算过程中递归地丢弃没有希望的候选项。
**定义四:**支持路径
given anchor vertex x if there is a path x -> u such that all vertices are from Ls
1 and we have l(y) < l(z) for every two consecutive vertices y and z along this path.
定理四:如果一个顶点u是锚定x的跟随者,则有支持路径x->u
(2)提前终止搜索,在洋葱层的顶点有三种状态,未被访问、被访问且满足要求、被抛弃。
degree upper bound d+(u) 度上界约束在这里插入图片描述

**定理五:**一个洋葱层顶点不可能成为跟随者如果 d + ( u ) < k d^+(u)<k d+(u)<k
(3) 查找跟随者

3.4 、OLAK

将介绍两种剪枝技术,以进一步减少候选锚的数量。在此基础上,提出了OLAK算法来寻找图中的最佳锚点,并展示如何处理使用多个锚的情况。

3.4.1 跟随者

**定理六:**如果一个一个锚点是另一个锚点的跟随者,则他不能成为锚点。Given two vertices x and u in L, we have |F(x)| > |F(u)| if u ∈ F(x).

3.4.2 上界剪枝,确定最好的锚点

在这里插入图片描述
**定理七:**Let λ denote the number of followers of the best anchor seen so far. We can exclude any candidate anchor,x if UB(x) < λ.

3.4.3

说明:本文章对这篇论文都是自己的理解,如果不对请提出

这篇关于OLAK: An Efficient Algorithm to Prevent Unraveling in Social Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/230189

相关文章

[论文笔记]QLoRA: Efficient Finetuning of Quantized LLMs

引言 今天带来LoRA的量化版论文笔记——QLoRA: Efficient Finetuning of Quantized LLMs 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 我们提出了QLoRA,一种高效的微调方法,它在减少内存使用的同时,能够在单个48GB GPU上对65B参数的模型进行微调,同时保持16位微调任务的完整性能。QLoRA通过一个冻结的4位量化预

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

【tensorflow 使用错误】tensorflow2.0 过程中出现 Error : Failed to get convolution algorithm

如果在使用 tensorflow 过程中出现 Error : Failed to get convolution algorithm ,这是因为显卡内存被耗尽了。 解决办法: 在代码的开头加入如下两句,动态分配显存 physical_device = tf.config.experimental.list_physical_devices("GPU")tf.config.experiment

Complex Networks Package for MatLab

http://www.levmuchnik.net/Content/Networks/ComplexNetworksPackage.html 翻译: 复杂网络的MATLAB工具包提供了一个高效、可扩展的框架,用于在MATLAB上的网络研究。 可以帮助描述经验网络的成千上万的节点,生成人工网络,运行鲁棒性实验,测试网络在不同的攻击下的可靠性,模拟任意复杂的传染病的传

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

【机器学习】生成对抗网络(Generative Adversarial Networks, GANs)详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 生成对抗网络(Generative Adversarial Networks, GANs)详解GANs的基本原理GANs的训练过程GANs的发展历程GANs在实际任务中的应用小结 生成对

Image Transformation can make Neural Networks more robust against Adversarial Examples

Image Transformation can make Neural Networks more robust against Adversarial Examples 创新点 1.旋转解决误分类 总结 可以说简单粗暴有效

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)1.9-1.10

目录 第四门课 卷积神经网络(Convolutional Neural Networks)第一周 卷积神经网络(Foundations of Convolutional Neural Networks)1.9 池化层(Pooling layers)1.10 卷 积 神 经 网 络 示 例 ( Convolutional neural network example) 第四门课

Social Circles

来自codeforces You invited nn guests to dinner! You plan to arrange one or more circles of chairs. Each chair is going to be either occupied by one guest, or be empty. You can make any number of circl

纪念一下自己的Coursera Princeton Algorithm的课程第一个assignment

今天终于完成了第一个Union-Find的assignment,之前觉得特别的难,可是最后自己也搞定了。而且是100%满分。 自己后来plot了一下自己的分数,也许这就是学习曲线吧。刚开始不会,到后来中期显著提高,但是要到100%,那就要经历更多的波折,甚至是下降都有可能。最后才能达到100%满分。 我觉得最有用的还是下面这段源代码: /*************************