邻域图的压缩

时间:2017-04-29 07:49:31

标签: algorithm geometry compression graph-algorithm nearest-neighbor

我有一个巨大的 neighboorhood图(~100M顶点),其中彼此“接近”的顶点有一条边。显然,相邻的顶点有许多共同点。

为什么没有空间索引?

您可以将其视为几何问题。但实际上有些边缘可能不存在,因为必须检查一些标准,而不仅仅是几何,以满足“邻居”条件。另一个条件是非常昂贵的检查。但是可以保证几何上彼此远离的顶点肯定不会是邻居。几何接近是邻居边缘的必要条件。

因此,这不是社交图。此图仅在本地密集。它有密集的子图。

有没有办法利用这些知识来压缩图表?目前,这是为了适应记忆的方式。

实施例

在此示例中,所有邻域边缘都绘制为实线,而虚线边缘仅显示彼此“接近”而不是邻居(不满足其他标准)的顶点。虚线边缘不存在。仅有关实体边缘的信息是相关的。 neighborhood graph

问题

如何压缩有关邻居边缘的信息?

查询将是:给我一个特定顶点的所有相邻顶点。

1 个答案:

答案 0 :(得分:1)

似乎可以使用简单的压缩方案 -
选择任意节点
以少量级别进行面包优先搜索 检查具有相似邻接列表的邻居
将它们标记为次要
为它们写基本节点和差异
当您遇到具有太多邻接列表的节点时,请使用完整列表组织新的基本节点。

但这张图表的目的是什么?任何压缩都会使操作变慢......

 Node: 
     Base node (for base node: null, for secondary: base node (number or address)
     List: True adj. list for base node
           RemoveList, AddList for secondary node 

当RemoveList + AddList的大小与基本列表的大小相当时,建立新的基础

一些close ideas found