Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.10 KB | None | 0 0
  1. начальное(состояние([],[],[],[],[], ['Дискретная математика'-'401И', 'Физика'-'401И','Физика'-'402И'] )).
  2. целевое(состояние(_,_,_,_,_,[])).
  3.  
  4. переход(состояние(P1,P2,P3,P4,P5, [X | T]), состояние([X | P1],P2,P3,P4,P5,T)) :- not(contains(X, P1)).
  5. переход(состояние(P1,P2,P3,P4,P5, [X | T]), состояние(P1, [X | P2],P3,P4,P5,T)) :- not(contains(X, P2)).
  6. переход(состояние(P1,P2,P3,P4,P5, [X | T]), состояние(P1, P2, [ X | P3],P4,P5,T)) :- not(contains(X, P3)).
  7. переход(состояние(P1,P2,P3,P4,P5, [X | T]), состояние(P1, P2, P3, [X | P4],P5,T)) :- not(contains(X, P4)).
  8. переход(состояние(P1,P2,P3,P4,P5, [X | T]), состояние(P1, P2,P3,P4, [ X | P5],T)) :- not(contains(X, P5)).
  9.  
  10. достижимо(A,A).
  11. достижимо(A,B) :- переход(A,C), достижимо(C,B).
  12.  
  13. поиск(B) :- начальное(A) , целевое(B), достижимо(A,B).
  14.  
  15. contains(K, T) :- value(K, V), member(_-V, T).
  16. value(_-V, V).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement