Пример #1
0
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
Пример #3
0
 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