Guest User

Untitled

a guest
Jan 19th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.67 KB | None | 0 0
  1.  
  2. :- consult('search.pl').
  3.  
  4. child(a, b).  child(a, c).
  5. child(b, d).  child(b, e).
  6. child(c, f).  child(c, g).
  7.  
  8. move([A|State], [B|[A|State]]) :-
  9.     child(A, B).
  10.  
  11. move([A|State], [B|[A|State]]) :-
  12.     anchestor(X, A),
  13.     child(X, B),
  14.     \+ member(B, [A|State]).
  15.  
  16. anchestor(A, B) :- child(A, B).
  17. anchestor(A, B) :-
  18.     child(A, X),
  19.     anchestor(X, B).
  20.  
  21. goal(State) :-
  22.     member(a, State),
  23.     member(b, State),
  24.     member(c, State),
  25.     member(d, State),
  26.     member(e, State),
  27.     member(f, State),
  28.     member(g, State).
  29.    
  30. depthfirst_traversal(X, List) :-
  31.     solve_depthfirst_cyclefree([X], Path),
  32.     last(Path, Result),
  33.     reverse(Result, List).
Add Comment
Please, Sign In to add comment