def helper_prims_plugin(g,
                        full_mat1,
                        g_mat,
                        measure,
                        kind,
                        order_val,
                        algo,
                        three=False):
    global full_mat, count
    g, full_mat, g_mat = g, full_mat1, g_mat
    timer = Timer()

    pr = vanila_prims(order_val, time_waste_oracle)
    timer.start()
    pr.mst(0)
    timer.end()

    base_algo_results = "COUNT Without Plugin " + str(count) + " Time " + str(
        timer.time_elapsed) + "\n"
    print(base_algo_results, "\n\n")

    prims_SW(pr, measure, kind, order_val, timer)

    prims_DSS(pr, measure, kind, order_val, timer, algo)

    prims_NodeLandmark(pr, measure, kind, order_val, timer, algo)

    prims_TSS(pr, measure, kind, order_val, timer, algo)

    prims_LSS(pr, measure, kind, order_val, timer, algo)
    """
Пример #2
0
def helper_prims_plugin(g, full_mat1, g_mat, measure, kind, order_val, algo, scheme_chooser_list, three=False):
    global full_mat, count
    g, full_mat, g_mat = g, full_mat1, g_mat
    timer = Timer()

    pr = vanila_prims(order_val, time_waste_oracle)
    timer.start()
    pr.mst(0)
    timer.end()

    base_algo_results = "COUNT Without Plugin " + str(count) + " Time " + str(timer.time_elapsed) + "\n"
    print(base_algo_results, "\n\n")

    g = prims_NodeLandmark(pr, measure, kind, order_val, timer, algo)
    g_prime = copy.copy(g)

    if "SW" in scheme_chooser_list:
        prims_SW(g_prime, pr, measure, kind, order_val, timer)

    if "DSS" in scheme_chooser_list:
        prims_DSS(pr, measure, kind, order_val, timer, algo)

    if "TSS" in scheme_chooser_list:
        prims_TSS(pr, measure, kind, order_val, timer, algo)

    if "LSS" in scheme_chooser_list:
        prims_LSS(pr, measure, kind, order_val, timer, algo)
Пример #3
0
def helper_prims_plugin(g,
                        full_mat1,
                        g_mat,
                        measure,
                        kind,
                        order_val,
                        algo,
                        scheme_chooser_list,
                        three=False):
    global full_mat, count
    g, full_mat, g_mat = g, full_mat1, g_mat
    timer = Timer()
    import math

    oracle_plugin = NodeLandMarkRandom({}, math.ceil(math.log(order_val, 2)),
                                       oracle, order_val)
    print("Priming Cost:{}".format(count))

    pr = vanila_prims(order_val, time_waste_oracle)
    timer.start()
    pr.mst(0)
    timer.end()

    base_algo_results = "COUNT Without Plugin " + str(count) + " Time " + str(
        timer.time_elapsed) + "\n"
    print(base_algo_results, "\n\n")

    if "SW" in scheme_chooser_list:
        g = copy.copy(oracle_plugin.G)
        prims_SW(g, pr, measure, kind, order_val, timer)
    if "TSS" in scheme_chooser_list:
        g = copy.copy(oracle_plugin.G)
        prims_TSS(g, pr, measure, kind, order_val, timer, algo)

    if "DSS" in scheme_chooser_list:
        g = copy.copy(oracle_plugin.G)
        prims_DSS(g, pr, measure, kind, order_val, timer, algo)
    if "NLM" in scheme_chooser_list:
        g = {}
        prims_NodeLandmark(g, pr, measure, kind, order_val, timer, algo)

    if "LSS" in scheme_chooser_list:
        g = copy.copy(oracle_plugin.G)
        # g = {}
        prims_LSS(g, pr, measure, kind, order_val, timer, algo)
    if "LBUB" in scheme_chooser_list:
        g = copy.copy(oracle_plugin.G)
        prims_LBUB(g, pr, measure, kind, order_val, timer, algo)
def helper_prims_plugin(order_val,
                        scheme_chooser_list=1,
                        scale_k=1,
                        oracle_chooser=2,
                        bounder=False,
                        three=False):
    global count

    oracle = None
    name_oracle = ""
    if oracle_chooser == 1:
        oracle = flicker_oracle()
        name_oracle = "Flicker Results Below.\n"
    elif oracle_chooser == 2:
        oracle = SFOracle(debug=False)
        name_oracle = "SFOracle Results Below.\n"
    elif oracle_chooser == 3:
        oracle = UCIUrbanOracle(debug=False)
        name_oracle = "UCIUrbanOracle Results Below.\n"
    elif oracle_chooser == 4:
        oracle = TestOracle()
        name_oracle = "TestOracle Results Below.\n"
        # oracle = SFOracle(debug=True)
    assert oracle is not None
    with open("dft_scale.res", 'a+') as f:
        f.write("-" * 30)
        f.write(name_oracle)
    # oracle_plugin = NodeLandMarkRandom({}, k, oracle, order_val)
    # print("Priming Cost: {}\nTime for priming: {}\n".format(count, oracle_plugin.time2prime))

    # pr = vanila_prims(order_val, time_waste_oracle)
    pr = vanila_prims(order_val, oracle)
    timer = Timer()
    timer.start()
    pr.mst(2)
    timer.end()
    base_algo_results = "COUNT Without Plugin(Vanila) " + str(
        count) + "\nTime(Vanila) " + str(timer.time_elapsed) + "\n"
    print(base_algo_results, "\n\n")

    prims_SW({}, pr, order_val, timer, oracle, bounder=bounder)
    date_time_printer()

    new = prims_DFT(order_val, oracle, timer)