def voting(dag, rds): vote_dict = create_vote_dict(dag) for wi in range(0, len(rds)): # print wi, idag = influence_dag(dag, wi, rds) cii = 0 while True: if not dag.has_node((wi, cii)): break #print (wi, cii), cdag = clip_dag(idag, (wi, cii)) p_cdag = cdagm.longest_path_dag(cdag, init_weight_with, combine_weight_with) for v in p_cdag: vote_dict[v] = vote_dict[v] + 1 cii = cii + 1 # print "" return vote_dict
def match(gw, track, debug = False): try: dag = create_dag(gw, track) if dag is None: print 'failed creating DAG', return None p_dag = cdagm.longest_path_dag(dag, init_weight_with, combine_weight_with) if p_dag is None: print 'failed finding path in DAG', return None es = cdagm.pdag2es(dag, p_dag) if es is None: print 'failed generating edge list in Graph' return None p = cp.new_path_from_es(gw, track.tid, es) if p is None: print 'failed creating Path instance' return None except: return None return p