Результаты поиска по запросу "prolog-dif"

5 ответов

Что логического «не» в Прологе?

Проблема, с которой я сталкиваюсь, немного тривиальна. Я хочу использовать логическое не в Прологе, но кажется, чтоnot/1 это не то, что я хочу course(ai). course(pl). course(os). have(X,Y) :- course(X),course(Y),not(X = Y). Я ...

5 ответов

Пролог Список Плато

Просто познакомился с прологом, пытаясь выполнить несколько простых упражнений, но я застрял на этом. Я пытаюсь написать программу, которая выводит все подсписки списка ввода, где каждый подсписок имеет длину> 1, и его нельзя расширить до ...

3 ответа

Каковы плюсы и минусы использования ручной итерации списка по сравнению с рекурсией через сбой

Я все время сталкиваюсь с этим, и я никогда не уверен, каким способом это атаковать. Ниже приведены два метода обработки некоторых сезонных фактов. Я пытаюсь решить, использовать ли метод 1 или 2, и каковы плюсы и минусы каждого, особенно ...

ТОП публикаций

3 ответа

Использование \ == / 2 или dif / 2

Если я хочу убедиться, что две переменные не соответствуют одному и тому же термину, каков предпочтительный способ сделать это? Допустим, мне нужно найти ориентированные ребра в графе, а у узла не может быть ребра: node(a, x, y). node(b, z, x). ...

3 ответа

Принудительно прологи выбирают уникальные значения переменных

Хорошо, я новичок в Прологе, так что извините, если это что-то тривиальное, но я не могу найти правильный элегантный ответ на это. Я пытаюсь выполнить ...

1 ответ

Разница между X \ = Y и dif (X, Y)

Какая разница между этим: X \= Yи этот кусок кода: dif(X, Y)Я думал, что они должны вести себя так же, но они этого не делают. Вот пример: n_puta(L, N, X) :- nputa(L, N, 0, X). nputa([], N, C, _) :- N = C. nputa([G|R], N, C, X) :- G = X, ...

2 ответа

Пролог: человек родной брат?

У меня возникли проблемы с пониманием того, почему мой код в прологе делает что-то, основываясь на порядке, в котором я ввел свои правила Вот моя база данных: parent(tom, bob). parent(tom, liz). parent(mary, bob). parent(mary, liz). male(tom). ...

3 ответа

Проверьте, не превышает ли частота какого-либо элемента

Я хочу решить проблему: у меня есть список элементов Prolog. Если частота любого элемента большеN тогда ложь - это возвращение. Мои ожидания как ниже. ?- frequency([1,2,2,2,5],3). true. ?- frequency([1,2,2,2,2,5],3). false. У меня есть код для ...