Это мое назначение ключ:Попытка решить простую Prolog назначение
Четыре драйвера: Norma, Энди, Эдвард, и Оливия были обвинены четыре нарушения правил дорожного движения: бег знак остановки, превышение скорости, что делает нелегальный левый поворот и запуск красного света. Используйте подсказки, чтобы узнать, какой закон нарушает каждый подозреваемый.
Улики
- Норма не бежать либо красный свет или знак остановки.
- Энди никогда не останавливался для ускорения.
- Эдвард совершил незаконный левый поворот.
- Оливия всегда была осторожна, чтобы остановиться на знаке остановки.
Мне нужно решить это с помощью пролога.
Я попытался следующий код до сих пор:
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.
Простите за то, что новичок в прологе!