小编Tri*_*son的帖子

比较大量的同构图

我正在比较同构的一大组networkx图,其中大多数图不应该是同构的(例如,假设0-20%与列表中的某些东西是同构的).

我尝试了以下方法.

graphs = [] # A list of networkx graphs
unique = [] # A list of unique graphs

for new in graphs:
    for old in unique:
        if nx.is_isomorphic(new, old[0]):
            break
    else:
        unique.append([new])
Run Code Online (Sandbox Code Playgroud)

这让我得到了一个更快的缩小集,但我仍然发现它太慢而不适合理想使用.是否有一些更快的算法来处理这类问题(比较传递交换属性对)或将此算法扩展到多核设置(在20核机器上运行)的方法.

我已经过滤这些集合基于节点/边的数量数据,我们可以假设nx.is_isomorphic功能不能进行任何过滤类型的操作速度更快.我现在也无法轻松更改工具,因此使用编译包不是一种选择.

附加信息:

图形倾向于大约16-20个节点,总共24-48个边缘,存在大量互连,因此每个节点具有大约8个边缘.每个边缘也都有标记,但是只使用了2-3种边缘.

python data-mining networkx

12
推荐指数
2
解决办法
1010
查看次数

如何使用 seq 填充小数位

我不知道如何使用 seq 来填充小数位。这是我根据网上找到的内容尝试的...

for U in $(seq -f "%0.2g" 0 0.1 1)
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

我正在寻找输出,

0.00
0.10
0.20
...
Run Code Online (Sandbox Code Playgroud)

linux bash

2
推荐指数
1
解决办法
445
查看次数

标签 统计

bash ×1

data-mining ×1

linux ×1

networkx ×1

python ×1