680 likes | 882 Views
基于半外存的大图支配集算法研究. 答 辩 人 : 顾向南 指 导 老 师: 周晓方 教授 陆 嘉恒 教授 专 业: 计算系统 结构. 目 录. 研究背景 相关工作 半外存图支配集算法 算法实现与实验结果 未来工作与总结 研究生期间科研成果. 研究背景 :图的支配集. D ⊆ V(G ) , ∀ v ∈ V(G ) 满足: v ∈ D 或 ∃ u ∈ D , < u,v > ∈ E. 图的支配集定义. 主要研究内容. 支配集问题的应用. 研究背景. 支配集 独立集
E N D
基于半外存的大图支配集算法研究 答 辩 人 : 顾向南 指导 老 师: 周晓方 教授 陆嘉恒 教授 专 业: 计算系统结构
目录 • 研究背景 • 相关工作 • 半外存图支配集算法 • 算法实现与实验结果 • 未来工作与总结 • 研究生期间科研成果
D ⊆ V(G),∀v∈V(G) 满足: v∈D 或 ∃ u ∈D, <u,v> ∈ E 图的支配集定义 主要研究内容
支配集问题的应用 研究背景
支配集 独立集 任意图的极大独立集是该图的极小支配集 支配集 点覆盖 联通图的点覆盖集是该图的支配集 支配集问题求解对于其他图论问题有重要借鉴意义 图论中经典问题的关系 研究背景
图规模扩大 内存空间无法满足一般的图论问题内存算法的需求 大数据时代下图论算法的挑战 研究背景
当图的规模扩大后,计算机内存空间无法满足一般的图论问题内存算法的空间需求。因此需要考虑外存或半外存算法。当图的规模扩大后,计算机内存空间无法满足一般的图论问题内存算法的空间需求。因此需要考虑外存或半外存算法。 半外存图: 对于图G=(V,E),如果算法内存使用量M满足:c|V| ≤ M << |E|,则称该算法为半外存算法,其中c为较小常数。 研究背景:半外存图 研究背景
目录 • 研究背景 • 相关工作 • 半外存图支配集算法 • 算法实现与实验结果 • 未来工作与总结 • 研究生期间科研成果
最小支配集: NP-Complete Johnson, David S. "Approximation algorithms for combinatorial problems."Journal of computer and system sciences 9.3 (1974): 256-278. Feige, Uriel. "A threshold of ln n for approximating set cover." Journal of the ACM (JACM) 45.4 (1998): 634-652. 求解最小支配集 研究背景
精确算法: Fomin, Fedor V., Dieter Kratsch, and Gerhard J. Woeginger. "Exact (exponential) algorithms for the dominating set problem." Graph-Theoretic Concepts in Computer Science. Springer Berlin Heidelberg, 2005. Grandoni, Fabrizio. "A note on the complexity of minimum dominating set."Journal of Discrete Algorithms 4.2 (2006): 209-214. 枚举支配集,根据规则构建搜索树。 搜索过程中通过剪枝降低复杂度到 O(20.61n),O(20.598n) 求解最小支配集 研究背景
近似算法: Parekh, Abhay K. "Analysis of a greedy heuristic for finding small dominating sets in graphs." Information processing letters 39.5 (1991): 237-240. 基于Greedy策略,|D| 求解支配集 研究背景
求解支配集 约束支配集特征:联通支配集、独立支配集、完美支配集 Fomin, Fedor V., FabrizioGrandoni, and Dieter Kratsch. "Solving connected dominating set faster than 2 n." Algorithmica 52.2 (2008): 153-166. Gaspers, Serge, and Mathieu Liedloff. "A branch-and-reduce algorithm for finding a minimum independent dominating set." arXiv preprint arXiv:1009.1381 (2010). Livingston, Marilynn, and Quentin F. Stout. Perfect dominating sets. University of Michigan, Computer Science and Engineering Division, Department of Electrical Engineering and Computer Science, 1990. 约束图的特征:二分图、环图 Gaspers, Serge, Dieter Kratsch, and Mathieu Liedloff. "Exponential time algorithms for the minimum dominating set problem on some graph classes." Algorithm Theory–SWAT 2006. Springer Berlin Heidelberg, 2006. 148-159.
外存、半外存算法研究 纯外存图算法: STXXL:STXXL: Standard Template Library for Extra Large Data Sets. Laura, Luigi, et al. "Algorithms and experiments for the webgraph." Algorithms-ESA 2003. Springer Berlin Heidelberg, 2003. 703-714. 停留在BFS、DFS等基本图的算法 由文献提供的实验结果看,性能缺乏优越性 半外存图算法: Pearce, Roger, Maya Gokhale, and Nancy M. Amato. "Multithreaded asynchronous graph traversal for in-memory and semi-external memory." Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE Computer Society, 2010. Arge, Lars. The buffer tree: A new technique for optimal I/O-algorithms. Springer Berlin Heidelberg, 1995. 相对纯外存算法,半外存算法具有明显性能优势
当前研究工作总结 • 1、支配集内存算法,图的规模扩大后不再适用 • 2、高效算法研究特定类型的图,对任意图求解支配集缺乏启发性 • 3、纯外存算法研究多侧重于理论分析,缺乏基于半外存的支配集算法研究。
目录 • 研究背景 • 相关工作 • 半外存图支配集算法 • 算法实现与实验结果 • 未来工作与总结 • 研究生期间科研成果
支配集大小,支配数:γ(G) γ(G)越小,则说明求得的支配集结果越优 算法的I/O复杂度 scan(N)=Θ(N/B) sort(N)=Θ((N/B)logM/B(N/B)) scan(N)< sort(N)<<N*RandomAccess() 相比I/O复杂度,数据在内存中的计算开销可忽略 算法评价指标 主要研究内容
图的内存状态表示 主要研究内容 g g w b w b 黑度、灰度、白度
图的外存存储 主要研究内容 b c a e d
半外存动态贪心算法 主要研究内容 h e c f a b g d i
半外存动态贪心算法 主要研究内容 h e c f a b g d i
半外存动态贪心算法 主要研究内容 h e c f a b g d i
半外存动态贪心算法 主要研究内容 h e c f a b g d i
半外存动态贪心算法 主要研究内容 h e c f a b g d i 近似度: 随机I/O:
半外存动态贪心算法 主要研究内容 大量随机I/O => 算法性能下降 顶点的度 ~ 顶点的白度
半外存动态贪心算法 主要研究内容 v1 v2 w u ... vn
半外存静态贪心算法 主要研究内容 h e c f a b g d i
半外存静态贪心算法 主要研究内容 h e c f a b g d i
半外存静态贪心算法 主要研究内容 h e c f a b g d i
半外存静态贪心算法 主要研究内容 对比动态贪心算法: I/O复杂度:sort(N)+scan(N) 远远优于动态贪心算法 支配数γ(G): 实验结果仅增加不到10%
半外存静态窗口贪心算法 主要研究内容 半外存环境:提高内存利用率 k |V| ≤M 内存中存储少量邻接边表
半外存静态窗口贪心算法 主要研究内容 e j g a d b c h f i k=2
半外存静态窗口贪心算法 主要研究内容 e j g a d b c h f i
半外存静态窗口贪心算法 主要研究内容 e j g a d b c h f i
半外存静态窗口贪心算法 主要研究内容 相比静态贪心算法: I/O复杂度:sort(N)+scan(N) 候选支配点: 是否存在可支配点 => 在内存中找支配能力最大的点
半外存动态窗口贪心算法 主要研究内容 进一步提高内存利用率 内存中的邻接边表数k=q-p 满足:
半外存动态窗口贪心算法 主要研究内容 相比静态窗口贪心算法 I/O复杂度:sort(N)+scan(N) 候选支配点: 随着处理的顶点度降低,内存中的候选支配点更多
半外存动态窗口贪心算法 主要研究内容 优化支配集结果
半外存支配集算法优化 主要研究内容 l n g o m b f k h c a d e i j DS = {}
半外存支配集算法优化 主要研究内容 l n g o m b f k h c a d e i j DS = {a}
半外存支配集算法优化 主要研究内容 l n g o m b f k h c a d e i j DS = {a,b,c,d,e,f}
半外存支配集算法优化 主要研究内容 l n g o m b f k h c a d e i j DS = {a,b,c,d,e,f,m,n,o}
半外存支配集算法优化 主要研究内容 l n g o m b f k h c a d e i j DS = {b,c,d,e,f,m,n,o}
优化思路 1 主要研究内容 顶点置换
顶点置换 主要研究内容
顶点置换 主要研究内容
小度优先算法 主要研究内容 l n g o m b f k h c a d e i j I/O复杂度:2×scan(N)
优化思路 2 主要研究内容 冗余擦除
极小支配集 顶点集合D是图G=(V,E)的一个支配集 ∀D’⊂ D都不是图G=(V,E)的支配集
半外存贪心算法结果极小化 主要研究内容 h e c f a b g d i