def main(args): print "[Solve ID by local search]" N, M, K = int(args[1]), int(args[2]), int(args[3]) from Factor import Factor # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N, M) #print "loading model from file...", #stime = time.clock() #Variables, Factors = read_network_from_file(args[1], useLog=logScale) #etime = time.clock() - stime #print "done: %d variables, %d factors. \033[91m[%gs]\033[0m" % (len(Variables), len(Factors), etime) run(ChanceVars, DecVars, CPT, Strategy, Utility, K, False, 100, True) sol = len(DecVars) * [None] for n in range(len(DecVars)): sol[n] = Factor([DecVars[n]], defaultValue=1.0 / M) kPUvalue, kPUit, kPUtime, KPUsize = run(ChanceVars, DecVars, CPT, sol, Utility, K, False, 100, True) sol2 = len(DecVars) * [None] for n in range(len(DecVars)): sol2[n] = Factor([DecVars[n]], defaultValue=1.0 / M) kPUvalue2, kPUit2, kPUtime2, KPUsize2 = run(ChanceVars, DecVars, CPT, sol2, Utility, K, False, 100, False) print print "METHOD \tTIME(s) \tMAX SIZE \tVALUE" print "Pruned \t%10s\t%10s\t%g" % (str(kPUtime), str(KPUsize), kPUvalue) print "Exhaustive\t%10s\t%10s\t%g" % (str(kPUtime2), str(KPUsize2), kPUvalue2)
def main(args): print "[Solve ID by local search]" N,M,K,T=int(args[1]),int(args[2]),int(args[3]),int(args[4]) from Factor import Factor # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) print "SPU" print sys.stdout.flush() SPUvalue, SPUit, SPUtime, SPUsize = run(ChanceVars, DecVars, CPT, Strategy, Utility, 1, False, 4*N, False) print "Exact" print sys.stdout.flush() sol = len(DecVars)*[ None ] for n in range(len(DecVars)): sol[n] = Factor([DecVars[n]], defaultValue=1.0/M) kPUvalue, kPUit, kPUtime, kPUsize = run(ChanceVars, DecVars, CPT, sol, Utility, K, True, 2*N, False) print "Approximate" print sys.stdout.flush() sol2 = len(DecVars)*[ None ] for n in range(len(DecVars)): sol2[n] = Factor([DecVars[n]], defaultValue=1.0/M) akPUvalue, akPUit, akPUtime, akPUsize = run(ChanceVars, DecVars, CPT, sol2, Utility, K, True, 2*N, True, T) print print "METHOD \tTIME(s) \tMAX SIZE \tVALUE" print "SPU \t%10s\t%10s\t%g" % (str(SPUtime), str(SPUsize), SPUvalue) print "Exact \t%10s\t%10s\t%g" % (str(kPUtime), str(kPUsize), kPUvalue) print "Approximate\t%10s\t%10s\t%g" % (str(akPUtime), str(akPUsize), akPUvalue)
def main(args): print "[Solve ID by local search]" N,M,K=int(args[1]),int(args[2]),int(args[3]) from Factor import Factor # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) #print "loading model from file...", #stime = time.clock() #Variables, Factors = read_network_from_file(args[1], useLog=logScale) #etime = time.clock() - stime #print "done: %d variables, %d factors. \033[91m[%gs]\033[0m" % (len(Variables), len(Factors), etime) run(ChanceVars, DecVars, CPT, Strategy, Utility, K, False, 100, True) sol = len(DecVars)*[ None ] for n in range(len(DecVars)): sol[n] = Factor([DecVars[n]], defaultValue=1.0/M) kPUvalue, kPUit, kPUtime, KPUsize = run(ChanceVars, DecVars, CPT, sol, Utility, K, False, 100, True) sol2 = len(DecVars)*[ None ] for n in range(len(DecVars)): sol2[n] = Factor([DecVars[n]], defaultValue=1.0/M) kPUvalue2, kPUit2, kPUtime2, KPUsize2 = run(ChanceVars, DecVars, CPT, sol2, Utility, K, False, 100, False) print print "METHOD \tTIME(s) \tMAX SIZE \tVALUE" print "Pruned \t%10s\t%10s\t%g" % (str(kPUtime), str(KPUsize), kPUvalue) print "Exhaustive\t%10s\t%10s\t%g" % (str(kPUtime2), str(KPUsize2), kPUvalue2)
def main(args): print "[multiple policy updating]" N,M=int(args[1]),int(args[2]) ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) mpu,t1,numtables = run(ChanceVars, DecVars, CPT, Strategy, Utility, verbose=True, ComputeHull=True) print "Total elapsed time: \033[91m%gs\033[0m" % t1 mpu,t1,numtables = run(ChanceVars, DecVars, CPT, Strategy, Utility, verbose=True, ComputeHull=False) print "Total elapsed time: \033[91m%gs\033[0m" % t1
def main(args): print "[Solve ID by local search]" N,M=int(args[1]),int(args[2]) # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) #print "loading model from file...", #stime = time.clock() #Variables, Factors = read_network_from_file(args[1], useLog=logScale) #etime = time.clock() - stime #print "done: %d variables, %d factors. \033[91m[%gs]\033[0m" % (len(Variables), len(Factors), etime) MEU, iteration, time = run(ChanceVars, DecVars, CPT, Strategy, Utility)
def main(args): print "[Solve ID by local search]" N, M = int(args[1]), int(args[2]) # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N, M) #print "loading model from file...", #stime = time.clock() #Variables, Factors = read_network_from_file(args[1], useLog=logScale) #etime = time.clock() - stime #print "done: %d variables, %d factors. \033[91m[%gs]\033[0m" % (len(Variables), len(Factors), etime) MEU, iteration, time = run(ChanceVars, DecVars, CPT, Strategy, Utility)
def main(args): import pickle import time N,M,L = int(args[1]), int(args[2]), int(args[3]) # num vars, var cardinality, no. of limids print "generating %d chain-like limids with %d variables taking on %d values..." % (L,N,M), sys.stdout.flush() start = time.clock() for t in range(L): #ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) exp = sampleChainID(N,M) pickle.dump( exp, open( "experiments/exp-%d-%d-%d.p" % (N,M,t), "wb" ) ) end = time.clock() print "done [%gs]" % (end-start) print "saved in experiments/exp-%d-%d-L" % (N,M)
def main(args): import pickle import time N, M, L = int(args[1]), int(args[2]), int( args[3]) # num vars, var cardinality, no. of limids print "generating %d chain-like limids with %d variables taking on %d values..." % ( L, N, M), sys.stdout.flush() start = time.clock() for t in range(L): #ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) exp = sampleChainID(N, M) pickle.dump(exp, open("experiments/exp-%d-%d-%d.p" % (N, M, t), "wb")) end = time.clock() print "done [%gs]" % (end - start) print "saved in experiments/exp-%d-%d-L" % (N, M)
def main(args): print "[multiple policy updating]" N, M = int(args[1]), int(args[2]) ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N, M) mpu, t1, numtables = run(ChanceVars, DecVars, CPT, Strategy, Utility, verbose=True, ComputeHull=True) print "Total elapsed time: \033[91m%gs\033[0m" % t1 mpu, t1, numtables = run(ChanceVars, DecVars, CPT, Strategy, Utility, verbose=True, ComputeHull=False) print "Total elapsed time: \033[91m%gs\033[0m" % t1
def main(args): print "[Solve ID by local search]" N, M, K, T = int(args[1]), int(args[2]), int(args[3]), int(args[4]) from Factor import Factor # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N, M) print "SPU" print sys.stdout.flush() SPUvalue, SPUit, SPUtime, SPUsize = run(ChanceVars, DecVars, CPT, Strategy, Utility, 1, False, 4 * N, False) print "Exact" print sys.stdout.flush() sol = len(DecVars) * [None] for n in range(len(DecVars)): sol[n] = Factor([DecVars[n]], defaultValue=1.0 / M) kPUvalue, kPUit, kPUtime, kPUsize = run(ChanceVars, DecVars, CPT, sol, Utility, K, True, 2 * N, False) print "Approximate" print sys.stdout.flush() sol2 = len(DecVars) * [None] for n in range(len(DecVars)): sol2[n] = Factor([DecVars[n]], defaultValue=1.0 / M) akPUvalue, akPUit, akPUtime, akPUsize = run(ChanceVars, DecVars, CPT, sol2, Utility, K, True, 2 * N, True, T) print print "METHOD \tTIME(s) \tMAX SIZE \tVALUE" print "SPU \t%10s\t%10s\t%g" % (str(SPUtime), str(SPUsize), SPUvalue) print "Exact \t%10s\t%10s\t%g" % (str(kPUtime), str(kPUsize), kPUvalue) print "Approximate\t%10s\t%10s\t%g" % (str(akPUtime), str(akPUsize), akPUvalue)
def main(args): print "[Solve ID by exhaustive search]" N,M=int(args[1]),int(args[2]) # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N,M) run(ChanceVars, DecVars, CPT, Strategy, Utility)
def main(args): print "[Solve ID by exhaustive search]" N, M = int(args[1]), int(args[2]) # sample network ChanceVars, DecVars, CPT, Strategy, Utility = sampleChainID(N, M) run(ChanceVars, DecVars, CPT, Strategy, Utility)