is_chordal#

is_chordal(G)[源]#

检查图 G 是否为弦图。

如果图 G 中每个长度至少为 4 的圈都存在弦(连接圈中两个不相邻节点的边),则称该图为弦图。

参数
G

一个 NetworkX 图对象。

返回
chordal布尔值

如果 G 是弦图则返回 True,否则返回 False。

引发
NetworkXNotImplemented

该算法不支持 DiGraph、MultiGraph 和 MultiDiGraph。

说明

该例程尝试通过最大势搜索遍历每个节点。当发现任何节点的割集不是团时,返回 False。基于 [1] 中的算法。

忽略自环。

参考文献

[1]

R. E. Tarjan and M. Yannakakis, Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs, SIAM J. Comput., 13 (1984), pp. 566–579.

示例

>>> e = [
...     (1, 2),
...     (1, 3),
...     (2, 3),
...     (2, 4),
...     (3, 4),
...     (3, 5),
...     (3, 6),
...     (4, 5),
...     (4, 6),
...     (5, 6),
... ]
>>> G = nx.Graph(e)
>>> nx.is_chordal(G)
True