foundations of a.i.: search algorithms