def find_nearest_reachable(g2, max_depth=4): s = trv.v2g22g1(g2, capsize=CAPSIZE, verbose=False) # s = trv.edge_backtrack2g1_directed(g2, capsize=CAPSIZE) if s: return s step = 1 n = len(g2) v = bfu.g2vec(g2) while True: l = hamming_neighbors(v, step) pbar = ProgressBar( widgets=['neighbors checked @ step ' + str(step) + ': ', Percentage(), ' '], maxval=len(l)).start() c = 0 for e in l: g = bfu.vec2g(e, n) if not gk.scc_unreachable(g): # s = trv.edge_backtrack2g1_directed(g2, capsize=CAPSIZE) s = trv.v2g22g1(g, capsize=CAPSIZE, verbose=False) else: s = set() if s: return s pbar.update(c) c += 1 pbar.finish() if step > max_depth: return set() step += 1
def msl_caller(g2): s = set() startTime = int(round(time.time() * 1000)) s = traversal.v2g22g1(g2, capsize=CAPSIZE) endTime = int(round(time.time() * 1000)) msl_time = endTime - startTime return s, msl_time
def inside_wrapper(): scipy.random.seed() try: startTime = int(round(time.time() * 1000)) s = traversal.v2g22g1(g2, capsize=CAPSIZE) # s = traversal.backtrack_more2(g2, rate=2, capsize=CAPSIZE) endTime = int(round(time.time() * 1000)) print "{:2}: {:8} : {:4} {:10} seconds".\ format(fold, round(gdens, 3), len(s), round((endTime - startTime) / 1000., 3)) output.put({'gt': g, 'eq': s, 'ms': endTime - startTime}) except MemoryError: print 'memory error...' raise