示例#1
0
def parseDomAndProb(domain_file, problem_file):
	""" Returns tuple 
			1) Operator Graphs
			2) Object Elements
			3) Init dummy Action
			4) Goal dummy Action
	"""
	parser = Parser(domain_file, problem_file)
	domain, dom = parser.parse_domain_drw()
	problem, v = parser.parse_problem_drw(dom)
	global args
	args, init, goal = problemToGraphs(problem)
	objects = set(args.values())

	addNegativeInitStates(domain.predicates.predicates, init, objects)

	domainAxiomsToGraphs(domain)
	Operators = domainToOperatorGraphs(domain)

	for op in Operators:
		for eff in op.effects:
			FlawLib.non_static_preds.add((eff.name,eff.truth))
				#update(op.effects)

	from GlobalContainer import GC
	GC.object_types.update(obTypesDict(domain.types))

	return Operators, objects, GC.object_types, init, goal
示例#2
0
def parseDomAndProb(domain_file, problem_file):
    """ Returns tuple 
			1) Operator Graphs
			2) Object Elements
			3) Init dummy Action
			4) Goal dummy Action
	"""
    parser = Parser(domain_file, problem_file)
    domain, dom = parser.parse_domain_drw()
    problem, v = parser.parse_problem_drw(dom)
    global args
    args, init, goal = problemToGraphs(problem)
    objects = set(args.values())

    addNegativeInitStates(domain.predicates.predicates, init, objects)

    domainAxiomsToGraphs(domain)
    Operators = domainToOperatorGraphs(domain)

    for op in Operators:
        for eff in op.effects:
            FlawLib.non_static_preds.add((eff.name, eff.truth))
            #update(op.effects)

    from GlobalContainer import GC
    GC.object_types.update(obTypesDict(domain.types))

    return Operators, objects, GC.object_types, init, goal
示例#3
0
def parseDomAndProb(domain_file, problem_file):

	parser = Parser(domain_file, problem_file)
	domain, dom = parser.parse_domain_drw()
	problem, v = parser.parse_problem_drw(dom)

	GC.object_types.update(obTypesDict(domain.types))

	args, init, goal = problemToGraphs(problem)
	objects = set(args.values())

	addNegativeInitStates(domain.predicates.predicates, init, objects)

	domainAxiomsToGraphs(domain)
	Operators, DOperators = domainToOperatorGraphs(domain)

	addStatics(Operators)
	addStatics(DOperators)

	return Operators, DOperators, objects, GC.object_types, init, goal
示例#4
0
				rFollowHierarchy(object_types, ob.parent, accumulated)
	
import sys	
if __name__ ==  '__main__':
	num_args = len(sys.argv)
	if num_args >1:
		domain_file = sys.argv[1]
		if num_args > 2:
			problem_file = sys.argv[2]		
	else:
		domain_file = 'domains/mini-indy-domain.pddl'
		problem_file = 'domains/mini-indy-problem.pddl'
	
	parser = Parser(domain_file, problem_file)
	domain, dom = parser.parse_domain_drw()
	problem, v = parser.parse_problem_drw(dom)
	op_graphs = domainToOperatorGraphs(domain)
	for opgraph in op_graphs:
		opgraph.print_graph_names()
		print('\n')
	
	strucDict = problemToGraphs(problem)
	print('\nargs \n')
	Args = strucDict['args']
	for argElement in Args.values():
		print(argElement)
	print('\ninit\n')
	strucDict['init'].print_graph_names()
	print('\ngoal\n')
	strucDict['goal'].print_graph_names()
示例#5
0

import sys
if __name__ == '__main__':
    num_args = len(sys.argv)
    if num_args > 1:
        domain_file = sys.argv[1]
        if num_args > 2:
            problem_file = sys.argv[2]
    else:
        domain_file = 'domains/mini-indy-domain.pddl'
        problem_file = 'domains/mini-indy-problem.pddl'

    parser = Parser(domain_file, problem_file)
    domain, dom = parser.parse_domain_drw()
    problem, v = parser.parse_problem_drw(dom)
    op_graphs = domainToOperatorGraphs(domain)
    for opgraph in op_graphs:
        opgraph.print_graph_names()
        print('\n')

    strucDict = problemToGraphs(problem)
    print('\nargs \n')
    Args = strucDict['args']
    for argElement in Args.values():
        print(argElement)
    print('\ninit\n')
    strucDict['init'].print_graph_names()
    print('\ngoal\n')
    strucDict['goal'].print_graph_names()