Вопросы по теме 'failure-slice'

пролог - бесконечное правило
У меня есть следующие правила % Signature: natural_number(N)/1 % Purpose: N is a natural number. natural_number(0). natural_number(s(X)) :- natural_number(X). ackermann(0, N, s(N)). % rule 1 ackermann(s(M),0,Result):-...
901 просмотров

Пролог: пифагорейская тройка
У меня есть этот код, который использует переменную верхней границы N, которая должна заканчиваться для X и Y пифагорейской тройки. Однако он зависает только тогда, когда достигает верхней границы. Не был уверен, как использовать разрез, чтобы...
2312 просмотров
schedule 14.02.2023

Лучшее завершение для s(X)-суммы
(Позвольте мне добавить это в волну промежуточных вопросов.) Обычное определение суммы двух натуральных чисел — nat_nat_sum/3 : nat_nat_sum(0, N, N). nat_nat_sum(s(M), N, s(O)) :- nat_nat_sum(M, N, O). Строго говоря, это определение...
357 просмотров

Список сортировки только с двумя элементами в прологе
сначала посмотрите на следующий пример: ?- fp(X,[b,a,b]). false Хорошо, потому что второй аргумент должен быть отсортированным списком из двух элементов. (В моей программе я предполагаю, что a<b ) ?-fp(X,[a,b,b]). X = [a, b, b] ;...
87 просмотров
schedule 20.08.2023

Удаление дубликатов в прологе
Я новичок в прологе и сейчас читаю книгу, которая дает мне практические примеры кода. Он поручил мне удалить дубликаты. Примечание: я прочитал другие stackoverflows, и я понимаю, как удалять дубликаты, но я не понимаю, почему мой код не работает....
2353 просмотров
schedule 30.10.2023

Перечислить по порядку в Прологе
Я пытаюсь «обратить» неупорядоченный обход, превратив неупорядоченный список обратно в BST. BSTs имеет форму предиката node(Value,Left,Right) или leaf , поэтому пустое дерево — это просто leaf , дерево с одним узлом — node(_,leaf,leaf) ....
408 просмотров

Как я могу избежать незавершения с целочисленным базовым случаем?
Я хочу написать предикат, который повторяется до 0, но он постоянно не завершается. Я использовал срез отказов, чтобы сузить его до этого: f(a, 0). f(b, 0). f(X, Y) :- false. Когда я загружаю файл как swipl -f test.pl , а затем запускаю...
115 просмотров
schedule 09.05.2022

Почему мое правило пролога застревает в бесконечной рекурсии
Мой код работает по своему прямому назначению, но всегда зацикливается в конце, что приводит к ошибке, говорящей о превышении предела стека. Мой код ниже: byCar(auckland,hamilton). byCar(hamilton,raglan). byCar(valmont,saarbruecken)....
112 просмотров