Advertisement
esraa_syam

prolog

May 5th, 2023
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. edge(1,5).
  2. edge(2,1).
  3. edge(3,1).
  4. edge(4,3).
  5. edge(5,8).
  6. edge(6,4).
  7. egde(7,5).
  8. edge(8,6).
  9. edge(1,7).
  10. egde(2,7).
  11. edge(3,6).
  12. edge(4,5).
  13. egde(6,5).
  14. edge(8,5).
  15.  
  16. %?-path(1,6,[1],path).
  17.  
  18. path(Node,Node,_,[Node]).
  19.  
  20. path(Start,Finissh,Visited,[Start|Path]):-edge(start,X), not(member(X , Visited)),
  21.  
  22. path(X,Finish,[Start|visited], path).
  23.  
  24. % depth first search in direct graph
  25.  
  26. path(Node,Node,_,[Node]).
  27. path(Start,Finish,Visited,[Start|Path]):-edge(Start,X),
  28. %not(members(X,Visited),
  29. members(X,Visited),
  30. Path(X,Finish,[X|Visited],Path).
  31.  
  32. members(_,[]).
  33. members(X,[H|T):- \+X=H,members(X,T).
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement