图分割理论 (Graph Partitioning)

黎 浩然/ 16 11 月, 2023/ 图/GRAPH, 研究生/POSTGRADUATE/ 0 comments

定义与分类

粗略地按照分割的内存开销大小分类,可以分为离线(offline)和流式(streaming)两类分割算法。

  • Offline将整个图数据一次性载入内存中然后根据图的结构进行切分
  • Streaming 按批次读取图数据,实时地将图的边或结点分配到子图

按照分割方式可以分为点分割(edge-cut/vertex partition)和边分割(vertex-cut/edge partition)。

  • Edge-cut后所有子图节点总数和原图节点数量相同,被剪掉的边不会出现在任何子图中
  • Vertex-cut后被剪的节点会出现在所有与其相连的边所在的子图中,上图的Vertex-cut示例中间被剪节点出现在3个子图中

目标与约束

图分割的两个主要目标是:负载均衡(load balancing)和最小化切边或切点(minimum cuts). 负载均衡一般作为约束表述,最小化切边或切点是需要最优化的对象。

Edge-Cut/Vertex Partition

将所有的点集$V$分割为互不相交的k个子点集$\{V_1, V_2, \cdots,V_k\}$,约束条件:

$$ \max_{i\in[i,k]}|V_i|\leq{(1+\alpha)|V_i|\over k} $$

参数$\alpha$控制平衡率。

Vertex-Cut/Edge Partition

将所有的点集$E$分割为互不相交的k个子点集$\{E_1, E_2, \cdots,E_k\}$,约束条件:

$$ \max_{i\in[i,k]}|E_i|\leq{(1+\alpha)|E_i|\over k} $$

Share this Post

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注

*
*