Търсене в ограничена дълбочина (Depth-bound)
depth_bound(Depth,[[Goal|Path]|_],Goal,FinalPath):-
reverse([Goal|Path],FinalPath).
depth_bound(Depth,[Path|Stack],Goal,FinalPath):-
extend1(Depth,Path,NewPaths),
append(NewPaths,Stack,NewStack),
depth_bound(Depth,NewStack,Goal,FinalPath).
extend1(Depth,Path,NewPaths) :-