示例#1
0
def have_cake():
    cakes = ['Cake']
    have_relations = make_relations('Have', cakes)
    eaten_relations = make_relations('Eaten', cakes)

    def get_init():
        pos = have_relations
        neg = eaten_relations
        return FluentState(pos, neg)

    def get_goal():
        return have_relations + eaten_relations

    return HaveCakeProblem(get_init(), get_goal())
def air_cargo_p1():
    cargos = ['C1', 'C2']
    planes = ['P1', 'P2']
    airports = ['JFK', 'SFO']
    at_relations = make_relations('At', cargos + planes, airports)
    in_relations = make_relations('In', cargos, planes)
    pos = create_expressions([
        'At(C1, SFO)',
        'At(C2, JFK)',
        'At(P1, SFO)',
        'At(P2, JFK)',
        ])
    init = FluentState(pos, [r for r in at_relations + in_relations if r not in pos])
    goal = create_expressions(['At(C1, JFK)', 'At(C2, SFO)'])
    return AirCargoProblem(cargos, planes, airports, init, goal)