これは私の課題の手がかりです:
ノーマ、アンディ、エドワード、オリビアの 4 人の運転手は、一時停止標識の走行、スピード違反、違法な左折、赤信号の 4 つの交通違反で起訴されました。手がかりを使用して、各容疑者が違反した法律を見つけます。
手がかり
- ノルマは赤信号も一時停止の標識も通さなかった。
- アンディはスピード違反で止められたことはありません。
- エドワードは違法な左折をした。
- オリビアは一時停止の標識で止まるように常に注意していました。
プロローグを使用して解決する必要があります。
これまでに次のコードを試しました。
violatated(Violation):-
member(Violation,[speeding,leftturn,stop,red]).
solve(S):-
S=[[Name1,Violation1],
[Name2,Violation2],
[Name3,Violation3],
[Name4,Violation4]],
%five drivers: Norma, Andy, Edward, Olivia
Name1 = norma,
Name2 = andy,
Name3 = edward,
Name4 = olivia,
violated(Violation1), violated(Violation2), violated(Violation3), violated(Violation4),
Violation1 \== Violation2, Violation1 \== Violation3, Violation1 \== Violation4,
Violation2 \== Violation1, Violation2 \== Violation3, Violation2 \== Violation4,
Violation3 \== Violation1, Violation3 \== Violation2, Violation3 \== Violation4,
Violation4 \== Violation1, Violation4 \== Violation2, Violation4 \== Violation3,
%Edward made an illegal left turn
Violation3 == leftturn,
%Norma did not run either a red light or a stop sign
Violation1 \== red,
Violation1 \== stop,
%Andy was never stopped for speeding.
Violation2 \== speeding,
%Olivia was always careful to stop at a stop sign
Violation4 \== stop.
プロローグ初心者ですみません!