Advertisement
Guest User

Untitled

a guest
May 24th, 2016
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. graphCost(a, 63).
  2. graphCost(b, 26).
  3. graphCost(c, 60).
  4. graphCost(f, 32).
  5.  
  6. edge(a,b).
  7. edge(a,c).
  8. edge(b,d).
  9. edge(c,d).
  10. edge(d,e).
  11. edge(b,b).
  12. edge(c,f).
  13.  
  14. cost(a, 1).
  15. cost(b, 2).
  16. cost(c, 4).
  17. cost(d, 8).
  18. cost(e, 16).
  19. cost(f, 32).
  20.  
  21. visitAndMove2(A) :-
  22. +edge(A, _),
  23. nb_getval('Visited', Visited),
  24. ( +member(A, Visited) ->
  25. nb_setval('Visited', [A | Visited]),
  26. cost(A, C),
  27. nb_getval('Cost', Cost),
  28. TC is Cost + C,
  29. nb_setval('Cost', TC),
  30. write(' --> '), write(A), write(': '), writeln([A | Visited])
  31. ;
  32. write(A), writeln(' --|')).
  33.  
  34. visitAndMove2(A) :-
  35. edge(A, Child),
  36. A == Child,
  37. nb_getval('Visited', Visited),
  38. +member(Child, Visited),
  39. nb_setval('Visited', [Child | Visited]),
  40. cost(Child, C),
  41. nb_getval('Cost', Cost),
  42. TC is Cost + C,
  43. nb_setval('Cost', TC),
  44. write(A), write(' --> '), write(Child), write(': '), writeln([Child | Visited]),
  45. visitAndMove2(Child).
  46.  
  47. graphCost(A, Cost) :-
  48. nb_setval('Visited', [A]),
  49. cost(A, C),
  50. nb_setval('Cost', C),
  51. visitAndMove2(A),
  52. nb_getval('Cost', Cost).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement