我希望你能幫助我。深度優先搜索算法序言
我想了解在Prolog的深度優先搜索算法和我所遇到下面的代碼
go(Start, Goal) :-
empty_stack(Empty_been_list),
stack(Start, Empty_been_list, Been_list),
path(Start, Goal, Been_list).
% path implements a depth first search in PROLOG
% Current state = goal, print out been list
path(Goal, Goal, Been_list) :-
reverse_print_stack(Been_list).
path(State, Goal, Been_list) :-
mov(State, Next),
% not(unsafe(Next)),
not(member_stack(Next, Been_list)),
stack(Next, Been_list, New_been_list),
path(Next, Goal, New_been_list), !.
reverse_print_stack(S) :-
empty_stack(S).
reverse_print_stack(S) :-
stack(E, Rest, S),
reverse_print_stack(Rest),
write(E), nl.
我有點明白是怎麼回事,但我不能爲我的生活中找到或發明一些我可以使用的事實。
請幫忙。即使它的一個非常簡單的事實中,我只需要在某處開始
預先感謝您
[這裏](http://stackoverflow.com/q/26946133/772868)是一個通用的解決了這個問題。你簡單地說'clos0(mov,Start,Finis)' – false 2014-11-21 16:20:14
請縮進'去'像其他謂詞 – vmg 2014-11-21 16:22:42
我可能已經去提問錯誤的方式,因爲我不明白假'回答 – 2014-11-21 16:27:23