Вопросы по теме '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 просмотров
schedule
20.05.2024
Предикат 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