Описание тега clpb
CLP(B) stands for Constraint Logic Programming over Boolean variables. It extends Prolog with specialized reasoning for propositional formulas.
1
ответ
Построение логического выражения из данных структуры для clpb
У меня есть данные в следующем виде: :-use_module(library(clpb)). %inputs are ids that will have an associated boolean value. input(i1). input(i2). input(i3). input(i4). input(i5). input(i6). input(i7). input(i8). input(i9). input(i10). input(i11). …
15 сен '15 в 12:38
3
ответа
Бертран Рассел Пазл
Решите следующую проблему Калибана, переведя каждую подсказку "лояльно" на Пролог, то есть максимально лояльно. В качестве простого упражнения в абстракции предположим, что четыре бессмысленных символа a, b, c и d соответствуют в той или иной послед…
07 ноя '14 в 20:06
2
ответа
Можно ли использовать пролог для определения неверного вывода?
Если у меня есть две предпосылки следующим образом: a -> c (a подразумевает c) b -> c (b подразумевает c) и вывод вывод: a -> b (следовательно, a означает b), тогда заключение может быть признано недействительным, потому что: a -> c действительна дл…
15 окт '16 в 00:59
1
ответ
Подсчет решений в CSP
Я использую пролог, и у меня есть этот код: :- use_module(library(clpb)). fun(A, B, C, D, E) :- sat(A + B + C + D), sat(E), labeling([A, B, C, D, E]). Если я хочу посчитать все решения, как я могу это сделать? Я читал о sat_count(+Expr, -Count), исп…
21 ноя '16 в 14:57
1
ответ
Создание SAT Солвера на основе Groebner в Прологе
Я пытаюсь создать SAT-решатель, который конвертирует из конъюнктивной нормальной формы (CNF) с помощью реализации логических баз Гробнера: а) отрицание конкретной переменной, например -x будет преобразован в 1+x,б) Добавление той же переменной приве…
16 авг '17 в 09:35
3
ответа
Решатель грубой силы Prolog SAT для логических формул
Я пытаюсь написать алгоритм, который наивно ищет модели булевой формулы (NNF, но не CNF). У меня есть код, который может проверить существующую модель, но он потерпит неудачу (или не завершится), когда его попросят найти модели, по-видимому, потому …
17 дек '15 в 19:06
2
ответа
Нежелательные свойства CLPB
library(clpb) В настоящее время доступен в SICStus (оригинальная версия) и SWI (по мат). Позвольте мне прийти к сути довольно быстро: ?- X = 1+1, sat(X), X = 1+1. X = 1+1. ?- sat(X), X = 1+1. false. Так что это аналогичная проблема, поскольку она су…
13 ноя '15 в 16:41
2
ответа
Пролог реализации и /2, или /2, nand/2, ни /2, xor/2
Я хочу реализовать следующие предикаты в прологе и использовать их для таблиц истинности: и /2, или /2, nand/2, ни /2, xor/2 Может быть, кто-то может показать мне, как реализовать и /2, например, чтобы я мог сделать другие сам и опубликовать их здес…
28 окт '13 в 10:29
2
ответа
Пролог булево уравнение решить
Я получил эту программу для работы до сих пор в пролог GNU not(X) :- \+ X. and(X, Y):- X , Y. or(X, Y):- X ; Y. implies(X, Y):- \+ X ; Y. p. q. :- initialization(main). main :- write('Program start'), nl. Вы можете ввести и (p, q), и получить да, а …
12 сен '14 в 07:49
4
ответа
Обработка ограничений Prolog: Упаковочные квадраты
Я пытаюсь решить проблему обработки ограничений в прологе. Мне нужно упаковать 4 квадрата 5x5,4x4,3x3 и 2x2 в сетке 10x10. Они не могут пересекаться. Мои переменные выглядят так: Name: SqX(i), i=1..10, domain: 1..10 Где X 5,4,3 или 2. Индекс i предс…
29 ноя '12 в 10:33
4
ответа
Пролог САТ Солвер
Я пытаюсь создать простой решатель Prolog SAT. Моя идея состоит в том, что пользователь должен ввести булеву формулу, которая должна быть решена в CNF (Conjctive Normal Form) с использованием списков пролога, например (A или B) и (B или C) должны бы…
09 фев '11 в 23:21
2
ответа
Пролог: вычет, учитывая, что предметы могут быть в одном из двух наборов, с известными размерами набора
У меня есть 5 человек в комнате. Я напишу правила, чтобы определить, счастливы ли люди или грустны. Однако, прежде чем я начну с этого, я знаю, что из 5 - ровно 3 - счастливы, а 2 - грустны (и ни один не может быть и тем, и другим). Следовательно, д…
01 дек '15 в 19:37
1
ответ
Генерация случайных значений, когда ограничение выполняется и не выполняется
У меня есть следующее: :-use_module(library(clpfd)). list_index_value(List,Index,Value):- nth0(Index,List,Value). length_conindexes_conrandomvector(Length,Conindexs,Randomvector):- length(Randomvector,Length), same_length(Conindexs,Ones), maplist(=(…
23 апр '16 в 12:04
2
ответа
Пролог: сравнение соответствующих элементов в 2 списках
У меня 2 списка [x1, x2, ...xn] а также [y1, y2, ...yn] формы {0, 1}^n, Я хочу создать новый список [a1, a2 ... an] такой, что ai = xi AND yi для каждого i от 1 до n (т. е. если x1 = y1 = 1, то a1 = 1 или если x1 = 1, y1 = 0, то a1 = 0) Как я могу р…
12 ноя '15 в 12:13
3
ответа
PROLOG Неопределенная процедура ERROR (рекурсия двух параметров)
count([], 0, 0). count([X|T], M, N) :- 1 is X, count(T, MRec, NRec), M is MRec, N is NRec+1. count([X|T], M, N) :- 0 is X, count(T, MRec, NRec), M is MRec+1, N is NRec. control_number(L) :- count_digit(L, M, N), 2 is M, 3 is N. ?- control_number([1,…
03 июн '16 в 11:34
4
ответа
Ограниченное программирование булева решателя
Хьюи, Дьюи и Луи допрашиваются их дядей. Вот заявления, которые они делают: • Хьюи: "Дьюи и Луи имели равную долю в этом; если один виновен, значит и другой ". • Дьюи: "Если Хьюи виновен, то и я тоже". • Луи: "Мы с Дьюи не виноваты" Их дядя, зная, ч…
12 мар '14 в 15:28
3
ответа
Решение CNF с использованием Пролога
Изучая Пролог, я пытался написать программу, решающую проблему CNF (производительность не является проблемой), поэтому я решил использовать следующий код (!x||y||!z)&&(x||!y||z)&&(x||y||z)&&(!x||!y||z): vx(t). vx(f). vy(t). v…
26 фев '11 в 21:40
1
ответ
Нахождение последовательных назначений для логических формул
Я собираюсь реализовать проверку на логические термины в прологе. Мой текущий код не очень презентабельный, поэтому я просто скажу, что я хочу, чтобы моя программа делала, и, надеюсь, вы можете дать мне несколько полезных советов для этого:) Он долж…
07 июн '17 в 13:28
1
ответ
Распечатать результаты в текстовом файле с прологом
Я использую Prolog с clpd для решения логических задач. У меня есть правила, подобные этому ниже: :- use_module(library(clpb)). fun(A, B, C, D, E) :- sat(A + B + C, D), sat(E), labeling([A, B, C, D, E]); Можно ли распечатать результаты в файле? Как …
14 ноя '16 в 17:01
1
ответ
CLP(B) взвешенный sat_count/3 в Прологе
Для библиотеки CLP(B) SWI-Prolog я хочу реализовать взвешенную версию sat_count/2 sat_count(Sat0, N) :- catch((parse_sat(Sat0, Sat), sat_bdd(Sat, BDD), sat_roots(Sat, Roots), roots_and(Roots, _-BDD, _-BDD1), % we mark variables that occur in Sat0 as…
31 окт '17 в 07:59