我就用天步果老星宗人工智慧版程式解一下問題,紅色為答案. 
member(C,D,N,S,P,[[C|_],[D|_],[N|_],[S|_],[P|_]]).
member(C,D,N,S,P,[[_|Lc],[_|Ld],[_|Ln],[_|Ls],[_|Lp]]):-
member(C,D,N,S,P,[Lc,Ld,Ln,Ls,Lp]).
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,[[C1,C2|_],[D1,D2|_],[N1,N2|_],[S1,S2|_],[P1,P2|_]]).
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,[[_|Lc],[_|Ld],[_|Ln],[_|Ls],[_|Lp]]):-
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,[Lc,Ld,Ln,Ls,Lp]).
next(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,L):-
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,L);
right(C2,D2,N2,S2,P2,C1,D1,N1,S1,P1,L).
constraints(L):-
member(紅色,_,英國人,_,_,L),
member(_,_,西班牙人,_,狗,L),
member(黃色,_,_,長壽煙,_,L),
member(_,茶,烏克蘭人,_,_,L),
member(綠色,酒,_,_,_,L),
member(_,_,_,萬寶路,蛇,L),
member(_,橘子汁,_,肯特,_,L),
member(_,_,日本人,百樂門,_,L),
right(象牙色,_,_,_,_,綠色,_,_,_,_,L),
next(_,_,_,新樂園,_,_,_,_,_,狐狸,L),
next(_,_,_,長壽煙,_,_,_,_,_,馬,L),
next(_,_,挪威人,_,_,藍色,_,_,_,_,L).
thinking:-
constraints([[C1,C2,C3,C4,C5],[D1,D2,牛奶,D4,D5],[挪威人,N2,N3,N4,N5],
[S1,S2,S3,S4,S5],[P1,P2,P3,P4,P5]]),
L = [[C1,C2,C3,C4,C5],[D1,D2,牛奶,D4,D5],[挪威人,N2,N3,N4,N5],[S1,S2,S3,S4,S5],[P1,P2,P3,P4,P5]],
member(C,_,_,_,斑馬,L),
member(_,水,N,_,_,L),
顯示([斑馬,住在,C,村莊]),換行,
顯示([N,喝,水]),換行,
顯示([L]),換行,
多解.
run:-$thinking.
人工智慧解盤:
斑馬住在綠色村莊
挪威人喝水
[
[黃色 ,藍色 ,紅色 ,象牙色 ,綠色 ],
[水 ,茶 ,牛奶 ,橘子汁 ,酒 ],
[挪威人,烏克蘭人,英國人,西班牙人,日本人],
[長壽煙,新樂園 ,萬寶路,肯特 ,百樂門],
[狐狸 ,馬 ,蛇 ,狗 ,斑馬 ]
]

member(C,D,N,S,P,[[C|_],[D|_],[N|_],[S|_],[P|_]]).
member(C,D,N,S,P,[[_|Lc],[_|Ld],[_|Ln],[_|Ls],[_|Lp]]):-
member(C,D,N,S,P,[Lc,Ld,Ln,Ls,Lp]).
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,[[C1,C2|_],[D1,D2|_],[N1,N2|_],[S1,S2|_],[P1,P2|_]]).
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,[[_|Lc],[_|Ld],[_|Ln],[_|Ls],[_|Lp]]):-
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,[Lc,Ld,Ln,Ls,Lp]).
next(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,L):-
right(C1,D1,N1,S1,P1,C2,D2,N2,S2,P2,L);
right(C2,D2,N2,S2,P2,C1,D1,N1,S1,P1,L).
constraints(L):-
member(紅色,_,英國人,_,_,L),
member(_,_,西班牙人,_,狗,L),
member(黃色,_,_,長壽煙,_,L),
member(_,茶,烏克蘭人,_,_,L),
member(綠色,酒,_,_,_,L),
member(_,_,_,萬寶路,蛇,L),
member(_,橘子汁,_,肯特,_,L),
member(_,_,日本人,百樂門,_,L),
right(象牙色,_,_,_,_,綠色,_,_,_,_,L),
next(_,_,_,新樂園,_,_,_,_,_,狐狸,L),
next(_,_,_,長壽煙,_,_,_,_,_,馬,L),
next(_,_,挪威人,_,_,藍色,_,_,_,_,L).
thinking:-
constraints([[C1,C2,C3,C4,C5],[D1,D2,牛奶,D4,D5],[挪威人,N2,N3,N4,N5],
[S1,S2,S3,S4,S5],[P1,P2,P3,P4,P5]]),
L = [[C1,C2,C3,C4,C5],[D1,D2,牛奶,D4,D5],[挪威人,N2,N3,N4,N5],[S1,S2,S3,S4,S5],[P1,P2,P3,P4,P5]],
member(C,_,_,_,斑馬,L),
member(_,水,N,_,_,L),
顯示([斑馬,住在,C,村莊]),換行,
顯示([N,喝,水]),換行,
顯示([L]),換行,
多解.
run:-$thinking.
人工智慧解盤:
斑馬住在綠色村莊
挪威人喝水
[
[黃色 ,藍色 ,紅色 ,象牙色 ,綠色 ],
[水 ,茶 ,牛奶 ,橘子汁 ,酒 ],
[挪威人,烏克蘭人,英國人,西班牙人,日本人],
[長壽煙,新樂園 ,萬寶路,肯特 ,百樂門],
[狐狸 ,馬 ,蛇 ,狗 ,斑馬 ]
]
_________________________
天步占星
天步占星
前一個議題
索引