Skip to content

Instantly share code, notes, and snippets.

@jesg
Created March 21, 2015 16:19
Show Gist options
  • Save jesg/800a97d984a7a2028d1e to your computer and use it in GitHub Desktop.
Save jesg/800a97d984a7a2028d1e to your computer and use it in GitHub Desktop.
transform(State1,State2,[State1|Plan]) :-
transform(State1,State2,[State1],Plan), Plan \== [].
transform(State,State,Visited,[]).
transform(State1,State2,Visited,[State|Actions]) :-
edge(State1,State),
not(member(State,Visited)),
transform(State,State2,[State|Visited],Actions).
edge(a,b).
edge(a,c).
edge(a,d).
edge(a,e).
edge(a,e).
edge(c,f).
edge(c,g).
edge(f,h).
edge(e,k).
edge(d,k).
edge(x,y).
edge(y,z).
edge(b,c).
edge(z,x).
edge(y,u).
edge(z,v).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment