def run(FILE, options=Options()): solver = sagesat.SAGE_SAT(options) (success, program) = front(FILE) if not success: return success = middle(solver, program, options) if not success: return back(solver, program, options) if solver.options.SHARPSAT: return solver.sharpSAT() else: (is_sat, model) = solver.check(500) display_results(solver, program, is_sat, model) #print("Refine time:", solver.refine_time) return is_sat
G = CubeGraph(5) G.relabel() #print(G) c_edges = set(G.edges(labels=False)) off = c_edges.difference(cycle) for (u, v) in off: print("assert disallowed_edge(x," + str(u) + "," + str(v) + ")") sys.exit() base_dir = "../../test/enum_d5_matchings/" v1 = [(1, 3), (1, 5), (1, 9), (1, 17)] v2 = [(2, 3), (2, 6), (2, 10), (2, 18)] v7 = [(3, 7), (5, 7), (6, 7), (7, 15), (7, 23)] for i in itertools.product(v1, v2, v7): name = "e_" + "_".join([str(u) + str(v) for (u, v) in i]) print(name) f = open(base_dir + name, 'w') f.write(s) for (u, v) in i: f.write("assert required_edge(x," + str(u) + "," + str(v) + ")\n") f.close() options = Options() options.DUMP_INITIAL_DIMACS = True options.DIMACS_FILE = base_dir + name + ".dimacs" spec = base_dir + name run(spec, options)
''' Created on Sep 20, 2014 @author: ezulkosk ''' from common.common import Options from main import run if __name__ == '__main__': TEST_DIR = "../test/matching_counts/" options = Options() options.SHARPSAT = True print("Obtaining counts for hypercube matchings.") for d in range(2, 6): d_dir = TEST_DIR + "d" + str(d) + "/" print("Dimension " + str(d)) spec = d_dir + "matchings" print("\tmatchings: " + str(run(spec, options))) spec = d_dir + "forbidden_matchings" print("\tforbidden matchings: " + str(run(spec, options))) spec = d_dir + "maximal_forbidden_matchings" print("\tmaximal forbidden matchings: " + str(run(spec, options)))
#print(G) c_edges = set(G.edges(labels=False)) off = c_edges.difference(cycle) for (u,v) in off: print("assert disallowed_edge(x," + str(u) + "," + str(v) + ")") sys.exit() base_dir="../../test/enum_d5_matchings/" v1 = [(1,3), (1,5), (1,9), (1,17)] v2 = [(2,3), (2,6), (2,10), (2,18)] v7 = [(3,7), (5,7), (6,7), (7,15), (7, 23)] for i in itertools.product(v1,v2,v7): name = "e_" + "_".join([str(u) +str(v) for (u,v) in i]) print(name) f = open(base_dir + name, 'w') f.write(s) for (u,v) in i: f.write("assert required_edge(x," + str(u) + "," + str(v) + ")\n") f.close() options = Options() options.DUMP_INITIAL_DIMACS = True options.DIMACS_FILE=base_dir + name + ".dimacs" spec = base_dir + name run(spec, options)
return success = middle(solver, program, options) if not success: return back(solver, program, options) if solver.options.SHARPSAT: return solver.sharpSAT() else: (is_sat, model) = solver.check(500) display_results(solver, program, is_sat, model) #print("Refine time:", solver.refine_time) return is_sat if __name__ == '__main__': import cProfile #sys.argv.append("../test/petersen") #sys.argv.append("../test/antipodal") #sys.argv.append("../test/forbidden_matchings_of_hamilton_cycle") #sys.argv.append("../test/matching_counts/d5/maximal_forbidden_matchings") #sys.argv.append("../test/enum_d5_matchings/e13") #sys.argv.append("../test/count_matchings_cycle") sys.argv.append("../test/hamilton") options = Options() options.RECORD_TIMES = True #options.DUMP_INITIAL_DIMACS = True spec = sys.argv[1] run(spec, options) #print("Total time:", time.time() - start)
if not success: return back(solver, program, options) if solver.options.SHARPSAT: return solver.sharpSAT() else: (is_sat, model) = solver.check(500) display_results(solver, program, is_sat, model) #print("Refine time:", solver.refine_time) return is_sat if __name__ == '__main__': import cProfile #sys.argv.append("../test/petersen") #sys.argv.append("../test/antipodal") #sys.argv.append("../test/forbidden_matchings_of_hamilton_cycle") #sys.argv.append("../test/matching_counts/d5/maximal_forbidden_matchings") #sys.argv.append("../test/enum_d5_matchings/e13") #sys.argv.append("../test/count_matchings_cycle") sys.argv.append("../test/hamilton") options = Options() options.RECORD_TIMES = True #options.DUMP_INITIAL_DIMACS = True spec = sys.argv[1] run(spec, options) #print("Total time:", time.time() - start)
''' Created on Sep 20, 2014 @author: ezulkosk ''' from common.common import Options from main import run if __name__ == '__main__': TEST_DIR = "../test/matching_counts/" options = Options() options.SHARPSAT=True print("Obtaining counts for hypercube matchings.") for d in range(2,6): d_dir = TEST_DIR + "d" + str(d) + "/" print("Dimension "+ str(d)) spec = d_dir + "matchings" print("\tmatchings: " + str(run(spec, options))) spec = d_dir + "forbidden_matchings" print("\tforbidden matchings: " + str(run(spec, options))) spec = d_dir + "maximal_forbidden_matchings" print("\tmaximal forbidden matchings: " + str(run(spec, options)))