introduce_cycles_to_DAG.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:breaking_cycles_in_noisy_hierarchies 作者: zhenv5 项目源码 文件源码
def add_extra_edges(g,number_of_edges):
    number = 0
    num_nodes = g.number_of_nodes()
    nodes = g.nodes()
    extra_edges = set()
    while len(extra_edges) < number_of_edges:
        u,v = np.random.randint(0,num_nodes,2)
        u = nodes[u]
        v = nodes[v]
        if nx.has_path(g,u,v):
            if (v,u) not in extra_edges:
                extra_edges.add((v,u))  
        if nx.has_path(g,v,u):
            if (u,v) not in extra_edges:
                extra_edges.add((u,v))
    extra_edges = list(extra_edges)
    print("# extra edges added (path lenght unconstrainted): %d" % (len(extra_edges)))
    return extra_edges
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号