CLP(FD), что означает Программирование логических ограничений в конечных доменах, реализует декларативную целочисленную арифметику в системах Prolog. Это чистая и общая замена арифметических предикатов нижнего уровня, позволяющая эффективно решать комбинаторные задачи, такие как задачи планирования, составления расписаний и распределения.
2 ответа

Получение отсортированного, отдельного списка целых чисел в Прологе

Я пытаюсь сделать что-то очень простое, изучая Пролог. Однако я запутался, почему это работает: ?- length( L, 3 ), maplist( member, L, [[1,2,3], [1,2,3], [1,2,3]] ), sort( L, L ). L = [1, 2, 3] ; Но это, казалось бы, эквивалентное изменение с исполь…
24 окт '14 в 22:00
1 ответ

Получить неограниченные границы доменов с C# SWI-Prolog DLL

Я использую Swi-Prolog Csharp DLL и CLP(FD). У меня есть следующий файл Prolog: :- use_module(library(clpfd)). constr(V0,V1,V2,C0,C1,C2) :- ((V0 #= 1901) #\/ (V0 #= 1750)) #<==> C0, ((V1 #= 3) #\/ (5 #= V1)) #<==> C1, ((V2 #>= 1)) #&l…
03 дек '18 в 10:29
2 ответа

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

У вас есть монеты достоинством 5, 10, 20, 50, 100чьи веса соответственно 2 г, 3 г, 10 г, 25 г, 50 г. Ваш кошелек слабый, поэтому вы не можете превышать вес 391 г. И вы можете положить в него только 3 монеты, имеющие одинаковое значение. Можете ли вы…
07 май '16 в 12:36
4 ответа

Как решить криптарифметическую головоломку в прологе

Я должен написать программу Prolog для решения криптарифметической головоломки. Мне нужно написать функцию решения ([A, M, P, D, Y]), которая присваивает переменным [A, M, P, D, Y] значения от 0 до 9, чтобы оно удовлетворяло уравнению AM+PM= ДЕНЬ. К…
14 дек '12 в 00:35
1 ответ

Пролог ограничения - головоломка

Я занимаюсь разработкой игры под названием woodntDie. Эта игра состоит из 9 частей, которые должны выглядеть следующим образом: Цель состоит в том, чтобы расположить все эти части и сделать их похожими на кости: Это четыре окончательных возможных ре…
13 дек '15 в 23:29
2 ответа

Прологическое программирование логики ограничений - Как установить домен в списке переменных домена с учетом списка целых чисел?

В основном то, что я хочу достичь, это: Учитывая список доменных переменных, установите эти переменные с доменом относительно списка номеров. Пример: ...... List=[A1,A2,A3], domain(List,1,5], setDomain(List,[1,2]), labeling([],List). Результат: A1=1…
04 янв '18 в 01:05
6 ответов

Обобщающая последовательность Фибоначчи с помощью SICStus Prolog

Я пытаюсь найти решение для запроса по обобщенной последовательности Фибоначчи (GFS). Вопрос: есть ли GFS, у которых 885 в качестве 12-го числа? Начальные 2 числа могут быть ограничены от 1 до 10. Я уже нашел решение найти N-е число в последовательн…
09 май '10 в 18:34
1 ответ

Почему пролог не возвращается после получения False?

У меня есть этот код, который оценивает список чисел и возвращает списки, соответствующие шаблону [G,A],[A,B],[B,C],[C,D],[D,E],[E,F],[F,G], Однако я хочу, чтобы числа были только уникальными числами. EG: ([0,2],[2,4],[4,19],[19,3],[3,5],[5,7],[7,0]…
16 фев '17 в 00:33
2 ответа

Понимание пролога [списки]

Я должен написать программу, которая делает это: ?- pLeap(2,5,X,Y). X = 2, Y = 3 ; X = 3, Y = 4 ; X = 4, Y = 5 ; X = 5, Y = 5 ; false. (дает все пары X,X+1 между 2 и 5, а также особый случай в конце). Это якобы решение. Я не очень понимаю, как это р…
27 апр '10 в 18:34
2 ответа

Криптограмма-головоломка с прологом CLPFD

Недавно я нашел небольшую игру в магазине приложений Google Play под названием Cryptogram. Есть десятки приложений, похожих на это. Идея состоит в том, чтобы сопоставить число с цветами, чтобы все уравнения звучали правдоподобно. Мне удалось довольн…
15 апр '18 в 04:09
1 ответ

Пролог - Нахождение всех корней куба с числом в качестве предела

Я хочу найти все корни куба, которые их кубы + их остаток складывают в число для пользовательских входов. Так, например, запрос: ?- smallerCube(X,20). Дал бы результат: 1 remainder 19 2 remainder 12 Так как 1^3 = 1 (остаток 19), 2^3 = 8(остаток 12) …
29 янв '16 в 15:08
1 ответ

Как установить домен парной переменной в CSP в Sicstus Prolog

Я использую Sicstus Prolog и пытаюсь разгадать загадку Domino. У меня есть список с тройками, которые мне нужно установить домен. Я знаю, как задать домен одной переменной или список отдельных переменных, но как я могу это сделать, если в моем списк…
16 дек '16 в 12:27
1 ответ

Можно ли установить домен переменной как перечисление имен в clpfd?

Я могу указать домен переменной следующим образом: MyVar in 1..10 или же MyVar in {1,10,15} но у меня есть переменная, которую я хотел бы указать так: Activity_1__room in {room_1, room_2} % i.e. as atoms not as integers Возможно ли это сделать? Коне…
09 май '13 в 20:58
1 ответ

Пролог - решатель дзигоку - время выполнения

Я новичок в Прологе (как в: я только что сделал главу Пролог на 7 языках за 7 недель), поэтому общие комментарии к любому из приведенного ниже кода очень приветствуются. Прежде всего: что такое дзигоку? Это похоже на судоку, за исключением того, что…
19 июл '15 в 12:44
2 ответа

Динамические Гибкие проблемы удовлетворения ограничений

Я ищу решатель логических ограничений с возможностью решать гибкие и / или динамические ограничения. Есть идеи?
18 апр '13 в 18:17
1 ответ

Списки Пролога - Дублирующая голова

Я пытаюсь составить список из двух последовательных терминов из списка терминов. Поэтому echo должен возвращать True, если L1 и L2 являются списками, а L2 содержит каждый элемент в L1 дважды подряд. Без clpfd. Я хочу, чтобы эхо приняло... echo([x,1,…
27 ноя '18 в 17:05
3 ответа

Булево назначение в Прологе

Все. Я хочу присвоить логическое значение переменной. Я пробовал такие вещи, как. Diagonal is (XPiece = XFinal) Diagonal is (XPiece =:= XFinal) Diagonal is (XPiece is XFinal) Нет работы... Какие-либо решения?
28 сен '11 в 16:38
1 ответ

График судоку пролог

У меня есть задание о CLP с CT. Я посмотрел на множество примеров судоку. Я узнал, как определить список строк, столбцов и полей. Однако, как я понял, моя проблема отличается от примеров классического блочного судоку. У нас есть граф G=(V,E). Ни у о…
09 июл '15 в 19:26
1 ответ

Что значит выразить эту загадку как CSP

Что подразумевается под приложенным изображением ниже. By labelling each cell with a variable, express the puzzle as a CSP. Hint: recall that a CSP is composed of three parts. Сначала я думал просто добавить переменные в каждую ячейку, такие как A, …
09 май '16 в 14:07
1 ответ

Решение мультипликативной головоломки 4x4 "5040" в Прологе с помощью clp(FD)

Сегодня я нашел головоломку на https://puzzling.stackexchange.com/questions/22064/the-5040-square: Заполните сетку 4x4 с положительными целыми числами так, чтобы: Каждая ячейка имеет другое целое число Произведение чисел в каждой строке равно 5040, …
11 сен '15 в 18:40