前言
今天来学一下Metis算法,经过搜索发现这个算法还是蛮多人在讲解的,我也在这里浅浅记录一下~
一、Metis原理
METIS是一种层次化的分割算法(multi-level partitioning),核心思想:对于给定原图结构,持续的降低原图的大小,然后达到一定程度对于缩减后的图结构进行分割,最后将分割后的小图还原成原始的图结构保证每份子图的均衡性。
整个划分过程分成coarsening, initial partitioning 和 uncoarsening (refinement) 三个部分。coarsening将图的大小逐渐缩小,G1->G2->G3->G4;在G4阶段执行K路划分;然后在uncoarsening阶段将图中的原始节点映射到G4划分的cluster中。
二、Metis优点
- 具有高质量的划分结果,据称比通常的谱聚类(spectral clustering)要精确10%-50%;
- 执行效率非常高,比常见的划分算方法快1-2个数量级,百万级顶点的图几秒钟之内就可以切分为256个类;
- METIS具有很低的注入元(fill-in ),从而降低了存储负载和计算量。