Я не могу реализовать проблему Knight and Knave в прологе - PullRequest
0 голосов
/ 29 декабря 2018

Я недавно прочитал документ о Прологе, и я новичок в этом языке, пожалуйста, помогите мне.В документе, который я прочитал, написано следующее:

solve(Clues, Solution) :-
    Solution = [isa(a,A), isa(b,B)],
    Types = [knights, soldiers], 
    member(A, Types),
    member(B, Types),
    consequences(Solution, Statements, Consequences),
    consistent(Solution, Consequences).

Но я не знаю, как реализовать следующие вопросы:

Вы встречаете двух жителей, A и B.

А говорит: «Либо я мошенник, либо Б - рыцарь».

А говорит: «Я мошенник, но Б нет».

А говорит: «По крайней мере, один из нас - мошенник».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...