Zagadka Einsteina
Na podstawie przedstawionych faktów:
1. Jest pięć domów.
2. Anglik mieszka w czerwonym domu.
3. Hiszpan ma psa.
4. Kawę pija się w zielonym domu.
5. Ukraińczyk pije herbatę.
6. Zielony dom stoi zaraz na prawo od domu w kolorze kości słoniowej.
7. Palacz papierosów "Gold Old" hoduje ślimaki.
8. Papierosy "Kools" pali się w zółtym domu.
9. Mleko pija się w środkowym domu.
10. Norweg mieszka w pierwszym domu.
11. Osoba paląca "Chesterfieldy" żyje w domu, obok osoby, hodującej lisa.
12. "Kools"-y pali się w domu zaraz obok tego, w którym hoduje się konie.
13. Palacze "Lucky Strike" piją sok pomarańczowy.
14. Japończyk pali "Parliments".
15. Norweg żyje obok niebieskiego domu.
Należy odpowiedzieć na pytanie:
Kto pije wodę?
Kto hoduje zebrę?
Przykładowa implementacja w języku Prolog
:- op(100,xfy,na).
Dom na Ulicy :- member(Dom,Ulicy).
na_prawo(Prawy,Lewy,[Lewy,Prawy | _]).
na_prawo(Prawy,Lewy,[_|Reszta]) :- na_prawo(Prawy,Lewy,Reszta).
obok(X,Y,Lista) :- na_prawo(X,Y,Lista).
obok(X,Y,Lista) :- na_prawo(Y,X,Lista).
fakty(Ulicy) :-
Ulicy = [_, _, _, _, _],
dom(czerwony, anglik, _, _, _) na Ulicy,
dom(_, hiszpan, pies, _, _) na Ulicy,
dom(zielony, _, _, kawa, _) na Ulicy,
dom(_, ukrainczyk, _, herbata, _) na Ulicy,
na_prawo(dom(zielony,_,_,_,_), dom(kosc_sloniowa,_,_,_,_), Ulicy),
dom(_, _, slimaki, _, old_gold) na Ulicy,
dom(zolty, _, _, _, kools) na Ulicy,
[_, _, dom(_, _, _, mleko, _), _, _] = Ulicy,
[dom(_, norweg, _, _, _) | _] = Ulicy,
obok(dom(_, _, _, _, chesterfieldy), dom(_, _, lis, _, _), Ulicy),
obok(dom(_, _, _, _, kools), dom(_, _, kon, _, _), Ulicy),
dom(_, _, _, sok, lucky_strike) na Ulicy,
dom(_, japonczyk, _, _, parliaments) na Ulicy,
obok(dom(_, norweg, _, _, _), dom(niebieski, _, _, _, _), Ulicy).
hoduje_zebre(Ktos,Ulicy) :-
fakty(Ulicy),
dom(_,Ktos,zebra,_,_) na Ulicy.
hoduje_zebre(Ktos) :- hoduje_zebre(Ktos,_).
pije_wode(Ktos,Ulicy) :-
fakty(Ulicy),
dom(_,Ktos,_,woda,_) na Ulicy.
pije_wode(Ktos) :- pije_wode(Ktos,_).
Wyszukiwarka
Podobne podstrony:
Zagadka EinsteinaZagadka Einsteina rozwiązaniezagadka EinsteinaSchalter ICs mit einstellbarer StrombegrenzungAlbert Einstein Principles Of Theoretical PhysicsZagadka 4Regis Ed Kto odziedziczył gabinet EinsteinaAlbert Einsteinzagadki 4ZagadkaAlbert Einstein What Is The Theory Of Relativitzagadki 4więcej podobnych podstron