Вопросы по теме 'clpfd'

Как добавить многочлены в Prolog?
У меня есть следующая задача: Напишите метод, который будет добавлять два полинома. То есть 0+2*x^3 и 0+1*x^3+2*x^4 дадут 0+3*x^3+2*x^4. Я также написал следующий код: add_poly(+A1*x^B1+P1,+A2*x^B2+P2,+A3*x^B3+P3):- (...
1506 просмотров
schedule 10.02.2024

Перенос ECLiPSe на Prolog
Решил задачу о размещении статей на конференции с помощью ECLiPSe. Цель такова: похожие статьи должны быть на одних и тех же сессиях. Это решение, которое работает в ECLiPSe: :- lib(fd). paper(1, 'An Empirical Study on Using Stereotypes to...
153 просмотров
schedule 11.05.2024

Пролог сумма списка чисел
Я новичок в Прологе и хочу написать poppler(Nums, Plate, Tastiness) , который принимает список ровно из 9 чисел в качестве входных данных и, если возможно, возвращает перестановку этих чисел, которая образует восхитительную тарелку поплера, когда...
455 просмотров
schedule 05.11.2023

Пролог: подсчет положительных элементов в списке
я хочу подсчитать положительные элементы в списке (VIsual Prolog). Итак, я написал эту функцию: positiveCount([], C). positiveCount([A], C) :- A > 0, C = C + 1. positiveCount([H|T], C) :- H > 0,!,C = C+1,positiveCount(T,C);...
1267 просмотров
schedule 05.01.2024

Как вы проверяете элементы подматрицы в Prolog
Я пытаюсь написать решатель Shikaku в EclipsE Prolog. Мои ограничения определяются следующим образом: solve(Problemname):- writeln("Start shikaku."), problem(Problemname, Width, Height, Hints), shikaku(Width, Height, Hints). shikaku(Width,...
362 просмотров

Предикат length/2, работающий с ограничениями
Вот короткий фрагмент кода, который является примером ситуации, в которой я часто оказываюсь, и который не работает так, как вы ожидаете: ?- L in 1..3, length(Ls, L). L = 1, Ls = [_G2634] ; L = 2, Ls = [_G2634, _G2637] ; L = 3, Ls = [_G2634,...
25 просмотров
schedule 06.02.2024

SWI Prolog против GNU Prolog - проблемы с CLP (FD) под SWI
Я написал быстрый предикат на Прологе, опробовав CLP (FD) и его способность решать системы уравнений. problem(A, B) :- A-B #= 320, A #= 21*B. Когда я звоню в SWI, я получаю: ?- problem(A,B). 320+B#=A, 21*B#=A. В то время как...
3246 просмотров
schedule 25.10.2022

Ограничение домена для переменной через список
У меня есть список, определенный в одной части моей программы как people([tom,betty,sue,fred,charles,chay]) Я хотел бы ограничить переменную N значениями в этом домене. Что-то типа : setup(GroupCount) :- length(Group, GroupCount),...
105 просмотров
schedule 07.10.2022

Понимание ограничений в Прологе
Я пытаюсь ознакомиться с ограничениями в Прологе, и у меня возникают проблемы с пониманием программы ниже: sudoku(Rows) :- length(Rows, 9), maplist(same_length(Rows), Rows), append(Rows, Vs), Vs ins 1..9,...
68 просмотров
schedule 13.01.2024