Пазл офис пролог - PullRequest
       35

Пазл офис пролог

0 голосов
/ 23 марта 2020

Я пытаюсь выполнить задание по Прологу для школы, и в основном он пытается выяснить, у кого какой офис. Вопрос:

Охотник, Лора, Джим, Салли и Джек работают в одном здании с пятью смежными офисами. Хантер не работает в 5-м офисе, а Лора не работает в первом. Джим не работает в первом или последнем офисе, и он не находится в офисе рядом с Джеком или Лорой. Салли работает в каком-то офисе выше, чем у Лоры. Кто работает в каких офисах?

Итак, у меня есть код ниже, но я получаю:

uncaught exception: error(type_error(fd_evaluable,abs/1),(#\=)/2)

Вот код.

puzzle(P) :-
        findWhosOffice(P,Z),
        labeling([],Z).

findWhosOffice(P, Z) :-
        P = [hunter-Hunter, jack-Jack, jim-Jim, laura,Laura,sally,Sally],
        Z = [Hunter, Laura, Jim, Sally, Jack],

        Hunter #\= 5,
        Laura #\= 1,
        Jim #\= 1,
        Jim #\= 5,
        abs(Jim-Jack) #\=1,
        abs(Jim-Laura) #\=1,
        Sally #> Laura.

1 Ответ

0 голосов
/ 02 апреля 2020

Проблема в том, что вы не определили домен для переменных в Z. Существует также одно ограничение, которое отсутствует, чтобы сделать его действительным и уникальным решением.

...