def compute_social_agony(graph_file,agony_path = "agony/agony "): dir_name,tail = dir_tail_name(graph_file) output = os.path.join(dir_name,tail.split(".")[0] + "_socialagony.txt") compute_social_agony_script(graph_file,output,agony_path = agony_path) from file_io import read_dict_from_file agony_score = read_dict_from_file(output) return agony_score
def computing_hierarchy(graph_file, players_score_func_name, nodetype=int): 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=nodetype) 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