1. A method for finding a low cost path from a source location to a target location through a traversable region partitioned into a plurality of clear tiles, each tile being an area outlined by a plurality of boundary segments, the method comprising: searching for a path by propagating a cost function from at least one boundary segment in the traversable region to at least one other boundary segment; recording the cost function for each boundary segment to which a cost is propagated; backtracking from the target location to the source location using recorded cost functions for boundary segments after searching; and providing a shortest path from the source location to the target location after backtracking.