remove_cycle_edges_by_hierarchy.py 文件源码

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

项目:breaking_cycles_in_noisy_hierarchies 作者: zhenv5 项目源码 文件源码
def computing_hierarchy(graph_file,players_score_func_name):
    import os.path
    if players_score_func_name == "socialagony":
        from helper_funs import dir_tail_name
        dir_name,tail = dir_tail_name(graph_file)
        agony_file = os.path.join(dir_name,tail.split(".")[0] + "_socialagony.txt")
        #agony_file = graph_file[:len(graph_file)-6] + "_socialagony.txt"
        #from compute_social_agony import compute_social_agony
        #players = compute_social_agony(graph_file,agony_path = "agony/agony ")     
        if False:
        #if os.path.isfile(agony_file):
            print("load pre-computed socialagony from: %s" % agony_file)
            players = read_dict_from_file(agony_file)
        else:
            print("start computing socialagony...")
            from compute_social_agony import compute_social_agony
            players = compute_social_agony(graph_file,agony_path = "agony/agony ")
            print("write socialagony to file: %s" % agony_file)
        return players
    g = nx.read_edgelist(graph_file,create_using = nx.DiGraph(),nodetype = int)
    if players_score_func_name == "pagerank":
        #print("computing pagerank...")
        players = nx.pagerank(g, alpha = 0.85)
        return players
    elif players_score_func_name == "trueskill":
        output_file = graph_file[:len(graph_file)-6] + "_trueskill.txt"
        output_file_2 = graph_file[:len(graph_file)-6] + "_trueskill.pkl"
        #from true_skill import graphbased_trueskill
        #players = graphbased_trueskill(g)
        #from file_io import write_dict_to_file
        #write_dict_to_file(players,output_file)

        '''
        if os.path.isfile(output_file):
            print("load pre-computed trueskill from: %s" % output_file)
            players = read_dict_from_file(output_file,key_type = int, value_type = float)
        elif os.path.isfile(output_file_2):
            print("load pre-computed trueskill from: %s" % output_file_2)
            players = read_from_pickle(output_file_2)           
        '''
        if True:
            print("start computing trueskill...")
            from true_skill import graphbased_trueskill
            players = graphbased_trueskill(g)
            from file_io import write_dict_to_file
            print("write trueskill to file: %s" % output_file)
            write_dict_to_file(players,output_file)

        return players
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号