Documente Academic
Documente Profesional
Documente Cultură
einstein(Case, Prop_Peste) :-
=(Case, [[casa, norvegian, _, _, _, _], _, [casa, _, _, _, lapte, _], _, _]),
membru([casa, britanic, _, _, _, rosu], Case),
membru([casa, suedez, caine, _, _, _], Case),
membru([casa, danez, _, _, ceai, _], Case),
dreapta([casa, _, _, _, _, verde], [casa, _, _, _, _, alb], Case),
membru([casa, _, _, _, cafea, verde], Case),
membru([casa, _, pasare, pallmall, _, _], Case),
membru([casa, _, _, dunhill, _, galben], Case),
langa([casa, _, _, marlboro, _, _], [casa, _, pisica, _, _, _], Case),
langa([casa, _, _, dunhill, _, _], [casa, _, cal, _, _, _], Case),
membru([casa, _, _, winfield, bere, _], Case),
langa([casa, norvegian, _, _, _, _], [casa, _, _, _, _, albastru], Case),
membru([casa, german, _, rothmans, _, _], Case),
langa([casa, _, _, marlboro, _, _], [casa, _, _, _, apa, _], Case),
membru([casa, Prop_Peste, peste, _, _, _], Case).
Interogare:
| ?- einstein(Case,Prop_Peste) .
Case = [[casa,norvegian,pisica,dunhill,apa,galben],
[casa,danez,cal,marlboro,ceai,albastru],
[casa,britanic,pasare,pallmall,lapte,rosu],
[casa,german,peste,rothmans,cafea,verde],
[casa,suedez,caine,winfield,bere,alb]],
Prop_Peste = german ?
Yes
Problema 2.
% Einstein's Riddle
member(X,[X|T]).
member(X,[H|T]):-member(X,T).
Problema 3:
Maria
Enuntul problemei:
Avem o fetita, Maria în bucatarie.
Pe poliţa de sus se afla ciocolata.
Maria vrea sa ia ciocolata dar nu poate ajunge pana la ea.
In camera se mai afla o cutie, pozitionatã in dreptul ferestrei pe care maimuta o poate folosi.
Maria poate realiza urmãtoarele actiuni :
-sã meargã pe podea
-sã se urce pe cutie
-sã împingã cutia
-sã ia ciocolata dacã stã pe cutie chiar langa poliţă
Poate Maria să ia ciocolata ?
Codul în Prolog:
%starile
miscare(stare(P1,pe_podea,B,H),
merge(P1,P2),
stare(P2,pe_podea,B,H)).
%poate lua
poate_lua(stare(_,_,_,are)).
poate_lua(Stare1):- miscare(Stare1,M,Stare2),poate_lua(Stare2).
Interogãri:
Yes
Yes
| ?- poate_lua(stare(la_fereastra, pe_cutie, la_fereastra, nu_are)).
no