在Python中创建一个漂亮的树分解

问题描述 投票:0回答:1

我知道networkx有一个创建树分解的函数:

import networkx as nx
from networkx.algorithms.approximation import treewidth_min_degree

G = createGraph() # an arbitrary function returning a networkx graph
width,decomposition = treewidth_min_degree(G)

是否有一个函数可以将这棵树转换为nice树分解。

编辑: “好的”树分解是具有四种不同类型节点的有根二叉树:

  1. 叶子节点有没有子节点和包大小
  2. 引入节点有一个子节点。子级与父级具有相同的顶点,只是删除了一个顶点。
  3. 忘记节点有一个子节点。子级与父级具有相同的顶点,只是添加了一个顶点。
  4. 连接节点有两个子节点, 结束编辑。

我知道有一个线性算法可以做到这一点,但我想知道这是否已经在某个地方实现了。

python networkx decomposition
1个回答
0
投票

SageMath 现在提供了一个函数来生成漂亮的树分解

© www.soinside.com 2019 - 2024. All rights reserved.