コード例 #1
0
def main():
    parser = argparse.ArgumentParser()
    #parser.add_argument('-i','--input', help='help', default = 'cake.strips')
    parser.add_argument('-f','--input', help='help', default = 'domains/Blocks-Ground/')
    args = parser.parse_args()
    files_input = open(args.input+'files_input').read().split('\n')
    files_input = files_input[:len(files_input)-1]
    output_lines = []
    #print [file_name for file_name in files_input]
    for file_name in files_input:
        initial_time = clock()
        problem = Problem.read_strips(args.input+file_name)
        #problem = Problem.read_strips(args.input)
        time = 0
        while(True):
            time = time + 1
            variables, clauses = clauses_extractor(time, problem)
            export_cnf(variables, clauses)
            run_solver()
            if is_solution():
                plan = extract_plan(variables, problem.action_fluents)
                break
        output_line = [file_name] + [len(variables)] + [len(clauses)] + [len(plan)] + [clock()-initial_time] + [plan]
        output_list(output_line)
        output_lattex(output_line)