Karol
Bielny
inż. technik
informatycznych
Temat: [zagadka] Labirynt w prologu
Witam. Próbuje pobawić się troszkę zagadkami logicznymi wybrałem labirynt z książki Prolog programowanie, jednak za bardzo mi nie wychodzi...Program:
s(a,b).
s(b,e).
s(b,c).
s(d,e).
s(c,d).
s(e,f).
s(g,e).
go(X,X,T).
go(X,Y,T):-
(s(X,Z); s(Z,X)),
\+ member(Z,T),
go(Z,Y,[Z|T]).
jestskarb(g).
http://yfrog.com/5ilabiryntzj labirynt
a teraz problemy:
1. go(a,X,[]), jestskarb(X).
są dwa rozwiązania X=g i X=g
w jaki sposób zastosować odcięcie, żeby to nie występowało.
2. jak zadeklarować po wpisaniu komendy idz prolog rozwiązywał labirynt
próbowałem: idz:-go(a,X,[]), jestskarb(X). ale nie dziala
3.jak zrobić aby pokazywało kolejne przejścia między komnatami?
zmienne rozumiem następująco:
X - pokój w którym się znajdujemy
Y - pokój do którego wchodzimy z pokoju X
T - odwiedzone pokoje
Z - inny możliwy pokój do wejścia z pokoju X
Proszę o odpowiedź czy dobrze rozumiem to? I czy ktoś ma jakieś pomysły co do pytań?
Z góry dziękuję