A*
h([Node|Path],Goal, H) :-
stright_line_distance(Node,Goal,H).
f(Path,Goal,F) :-
reverse_path_cost(Path,G),
h(Path,Goal,H),
F is G+H.
reverse_path_cost([A,B],Cost) :-
arc(B,A,Cost).
reverse_path_cost([A,B|Path],Cost) :-
arc(B,A,Cost1),
reverse_path_cost([B|Path],Cost2),
Cost is Cost1+Cost2.
Previous slide
Next slide
Back to first slide
View graphic version