如何将一个简单的加权图转换为超图



我发现了一种适用于超图的分区算法,它的名称是hMETIS,但我的输入是一个简单的加权图。有没有任何技术可以将图映射到超图?

一般情况下:无

图包含关于两个顶点之间的二元交互的信息,并且没有办法提取关于高阶交互的信息。

简而言之,如果我给你一个超图,我可以用(多种方法(把它变成一个图,但这个图可能是多个超图的结果。

这有一些例外,特别是如果你有更多关于图外顶点的信息,或者如果图是二分图。

由于图是一个特殊的超图,我认为不需要这样的映射。

超图是一组称为顶点的元素,以及一组元素,每个元素都是边。

r-一致超图是边是恰好r个顶点的集合的超图。

2-一致超图是一个图。

您应该能够按照hmetis期望的超图文件格式格式化图形。

参见第3.4节:超图输入文件的格式:https://course.ece.cmu.edu/~ee760/760docs/hMetisManual.pdf

此处引用以防链接失败:hMETIS的主要输入是要划分的超图。此超图存储在一个文件中,并提供给hMETIS作为命令行参数之一。具有V个顶点和Eh超边的超图H=(V,Eh(是存储在包含|Eh|+1行的纯文本文件中,如果顶点上没有权重,则|Eh|+|V|+1行如果顶点上有权重。任何以"%"开头的行都是注释行,将被跳过。第一行包含两个或三个整数。第一个整数是超边的数量(|Eh|(,第二个是顶点数(|V|(,第三个整数(fmt(包含有关超图类型的信息。在里面特别地,根据fmt的值,超图H可以在超边、顶点、,或两者兼有。在H未加权的情况下(即,所有超边和顶点具有相同的权重(,省略fmt。10在第一行之后,剩下的|Eh|行存储每个超边中包含的顶点——每个超边一行。在里面特别地,第i行(不包括注释行(包含第(i−1(个超边中包含的顶点。这格式如图5(a(所示。加权超边如图5(b(所示。每个中的第一个整数线包含相应超边的权重。注意,超边权重是整数。此外注意fmt参数等于1,表明H在超边上具有权重。最后,权重如图5(c(所示。在这种情况下,|V|行被附加到输入文件包含|V|顶点的权重。请注意,fmt的值等于10。就像超边缘的情况一样权重,顶点权重是整数。图5(d(显示了超边和顶点加权。在这种情况下,fmt等于11。图5显示了hMETIS为图中所示的超图示例所期望的HGraphFile超图是未加权的、有加权的超边、有加权顶点并且两者都有的四种情况超边和顶点加权。图5(a(中所示的超图具有四个未加权的超边a、b、c,和d.超图中的顶点数为7。当超图未加权时,HGraphFile的第一行包含两个整数,表示超图中的超边数和顶点数。之后即,每条线对应于超边,该超边包含用于该超边中的每个顶点的条目。Hypergraph显示在图5(b(中每个超边a、b、c和d的超边权重分别等于2、3、7和8。为此加权超边HGraphFile的第一行由三个整数组成。第三个整数指定超边被加权并且等于1。对应于每个超边的每条线的第一个条目等于其权重。这个以下条目对应于相应超边中的顶点。对两个顶点进行加权的情况fmt等于10,并且对应于7个顶点的7行被附加到输入文件中,每个都包含权重相应顶点的。如图5(c(所示。图5(d(显示了当超边和对顶点进行加权。

最新更新