Prolog Diners Problem Worksheet With Answers - Dr. Philip Cannata Page 5

ADVERTISEMENT

Prolog Diners Problem – Final Solution
places([place(_,0), place(_,1), place(_,2), place(_,3), place(_,4), place(_,5), place(_,6), place(_,7)]).
married(mrAstor, mrsAstor).
member(place(I, 0), Places),
betweenMen(X, Y) :- male(X), male(Y).
married(mrBlake, mrsBlake).
member(place(J, 1), Places),
married(mrCrane, mrsCrane).
member(place(K, 2), Places),
not(X) :- \+X.
married(mrDavis, mrsDavis).
member(place(L, 3), Places),
married(mrsAstor, mrAstor).
member(place(M, 4), Places),
print_places([]).
married(mrsBlake, mrBlake).
member(place(N, 5), Places),
print_places([A | B]) :- write(A), nl,
married(mrsCrane, mrCrane).
member(place(O, 6), Places),
print_places(B).
married(mrsDavis, mrDavis).
member(place(P, 7), Places),
male(mrAstor).
married(P,J),
male(mrBlake).
not(married(I, K)),
male(mrCrane).
not(married(J, L)),
male(mrDavis).
not(married(K, M)),
not(married(L, N)),
dinner(Y) :- places(Places),
not(married(M, O)),
member(place(mrAstor, A), Places),
not(married(N, P)),
member(place(mrsAstor, MA), Places),
not(married(O, I)),
member(place(mrBlake, B), Places), B is ((MA + 1) mod 8),
member(place(Y, Z), Places),
member(place(mrsBlake, MB), Places),
member(place(Zq, Q), Places), Q is (Z+1) mod 8,
member(place(mrCrane, C), Places),
member(place(Zr, R), Places), R is (Z+2) mod 8,
member(place(mrsCrane, MC), Places), MC is ((B + 4) mod 8),
member(place(Zs, S), Places), S is (Z+3) mod 8,
member(place(mrDavis, D), Places),
member(place(Zt, T), Places), T is (Z+4) mod 8,
member(place(mrsDavis, MD), Places), MD is 0,
member(place(Zu, U), Places), U is (Z+5) mod 8,
member(place(Zv, V), Places), V is (Z+6) mod 8,
member(place(Zw, W), Places), W is (Z+7) mod 8,
betweenMen(Zq, Zw),
not(betweenMen(Zq, Zs)),
not(betweenMen(Zr, Zt)),
not(betweenMen(Zs, Zu)),
not(betweenMen(Zt, Zv)),
not(betweenMen(Zu, Zw)),
not(betweenMen(Zv, Y)),
not(betweenMen(Y, Zr)),
print_places(Places).
Dr. Philip Cannata
5

ADVERTISEMENT

00 votes

Related Articles

Related forms

Related Categories

Parent category: Education
Go
Page of 5