Esempio n. 1
0
def find_path(start, goal):
    maze_ops = make_maze_ops() 
    gps2.use(maze_ops)
    start_state = ('at '+str(start),)
    goal_state = ('at '+str(goal),)
    path =  gps2.gps2(start_state, goal_state, maze_ops)

    print_path(path, start)
Esempio n. 2
0
                  ('at-middle-room', 'on-floor')),
    gps2.operator('push-chair-from-door-to-middle-room',
                  ('chair-at-door', 'at-door'),
                  ('chair-at-middle-room', 'at-middle-room'),
                  ('chair-at-door', 'at-door')),
    gps2.operator('walk-from-door-to-middle-room',
                  ('at-door', 'on-floor'),
                  ('at-middle-room',),
                  ('at-door',)),
    gps2.operator('grasp-bananas',
                  ('at-bananas', 'empty-handed'),
                  ('has-bananas',),
                  ('empty-handed',)),
    gps2.operator('drop-ball',
                  ('has-ball',),
                  ('empty-handed',),
                  ('has-ball',)),
    gps2.operator('eat-bananas',
                  ('has-bananas',),
                  ('empty-handed', 'not-hungry'),
                  ('has-bananas', 'hungry'))
    ]
    

gps2.use(banana_ops)
print gps2.gps2( ('at-door', 'on-floor', 'has-ball', 'hungry', 'chair-at-door'),
                 ('not-hungry',),
                 banana_ops)

  
Esempio n. 3
0
    for item in l:
        r.append(on(item, 'table'))
    return r

def all_top_is_space(l):
    r = []
    for item in l:
        r.append(on('space', item))
    return r


# The simplest possible problem
print "----- 1 -----"
blocks = ['a','b']
ops = make_block_ops(blocks)
gps2.use(ops)
start1 = tuple(all_object_on_table(blocks) + all_top_is_space(blocks) + [on('space', 'table'),])
print start1
goal1 = [on('a', 'b'), on('b', 'table')]
print gps2.gps2(start1, goal1, ops)
print ""

# 3 blocks
print "----- 2 -----"
blocks = ['a','b','c']
ops = make_block_ops(blocks)

gps2.use(ops)
start2 = tuple([on('a', 'b'), on('b', 'c'), on('c', 'table'),  on('space', 'a'), on('space', 'table')])
print start2
goal2 = [on('a', 'table'), on('b', 'a')]