Вопросы по теме 'logic-programming'
Как реализовать nth(X,List,Item) GNU Prolog?
Я пытаюсь использовать API, который в основном совместим с GNU Prolog. К сожалению, предиката GNU Prolog nth(X,List,Item) здесь нет.
Как бы вы реализовали nth, используя предикаты ISO?
Описание: nth(X,List,Item) оценивается как true, если X-й...
5123 просмотров
schedule
28.05.2022
Пролог: циклы, управляемые отказом
Я использовал следующий цикл, управляемый ошибкой, чтобы перечислить все без использования точки с запятой.
happiness(fred,5).
happiness(john,3).
happiness(grace,2).
someGoal(X) :-
happiness(X,Y), write(Y), tab(4), fail.
В режиме...
1618 просмотров
schedule
28.04.2023
Пролог: показать список, содержащийся в списке
В настоящее время у меня есть следующие факты, определенные в программе Prolog:
hobbies([jarrod, [gaming, running, boxing]]).
hobbies([james, [programming, gaming, drawing]]).
Какой запрос может отобразить список увлечений Джаррода? (т.е....
108 просмотров
schedule
30.05.2022
Расширение core.logic для пользовательских типов
Я экспериментирую с core.logic и хочу, чтобы мой собственный тип данных участвовал в логические выражения:
(deftype Expression [node vars]
....)
В основном это представляет собой узел в дереве математических выражений, содержащий дерево...
185 просмотров
schedule
13.06.2022
Считаются ли проекции в двух направлениях реляционными в core.logic?
Я понимаю, что project в core.logic не является реляционным.
Однако кажется, что я могу получить реляционное поведение, проецируя в обоих направлениях внутри conda , например:
(defn lifto-with-inverse
"Lifts a unary function and its...
134 просмотров
schedule
08.03.2022
Программирование логики ограничений с наборами на Прологе
clpfd — это библиотека программирования ограничений для целых чисел в SWI Prolog. Есть ли аналогичная библиотека для наборов? Если нет, знаете ли вы какие-либо статьи, полезные для реализации такой библиотеки?
Это вообще выполнимо? На самом деле...
238 просмотров
schedule
19.10.2022
Вселенная Хербранда и Модель Наименьшего Хербранда
Я прочитал вопрос, заданный во вселенной Herbrand, Herbrand Базовая модель и модель Хербранда бинарного дерева (пролог) и данные ответы, но у меня немного другой вопрос, больше похожий на подтверждение, и, надеюсь, мое замешательство прояснится....
2495 просмотров
schedule
09.04.2023
Почему создание отношений в pyDatalog, кажется, дает мне неправильный ответ?
Я новичок в концепциях Datalog и изучаю его с помощью pyDatalog. Я экспериментирую с преобразователем единиц измерения. Итак, учитывая факты о том, сколько дюймов в метре, например, он должен быть в состоянии сказать мне, сколько метров в дюйме....
296 просмотров
schedule
02.07.2023
Перечисление бинарных деревьев в Прологе
Я пытаюсь создать правила Prolog для перечисления «двоичных деревьев» в форме списка в Prolog. Я новичок в Prolog.
Дерево с 0 узлами - это пустой список:
[]
Дерево с 1 узлом:
[[],[]]
Дерево с двумя узлами имеет 2 возможности:...
617 просмотров
schedule
17.08.2022
Как работает эта контекстно-свободная грамматика, использующая списки различий в Прологе?
Я читаю этот учебник по контекстно-свободным грамматикам в Прологе, и в нижней части страницы упоминается реализация контекстно-свободной грамматики в Прологе с использованием списков различий со следующим блоком кода:
s(X,Z):- np(X,Y), vp(Y,Z)....
668 просмотров
schedule
15.12.2023
Как мне получить список из списка ассоциаций в Прологе, а затем либо добавить к нему, либо создать его, если он не существует?
Извиняюсь за запутанный заголовок, но суть того, что я пытаюсь сделать, заключается в том, что у меня есть хеш-таблица/список ассоциаций с кучей ключей, каждый из которых соответствует списку.
Моя проблема заключается в том, что я в основном хочу...
645 просмотров
schedule
07.06.2023
Почему компилятор Münster считает, что соответствие шаблону в ++ недетерминировано?
Недавно я установил компилятор Münster Curry, чтобы заменить гораздо более медленный PAKCS, который я использовал. Первое, что я хотел проверить, это то, могу ли я использовать некоторые функции сопоставления шаблонов из PAKCS, потому что я знаю, что...
96 просмотров
schedule
03.07.2022
Смелое/Осторожное рассуждение в клинго
В руководстве Clingo есть два режима, называемых осторожным и храбрым, которые представлены следующим образом:
смелый Вычислите смелые последствия (объединение всех наборов ответов) логической программы.
осторожно Вычислить...
356 просмотров
schedule
09.10.2022
Как определить несколько штрафов, чтобы свести к минимуму в целом в Clingo?
Я пытаюсь использовать clingo для создания распределения турнирных игровых комнат:
player(1..20).
room(1..4).
played(1..20, 0).
rank(1..20, 1).
played(1..20, 1..20, 0).
0 { used_room(R) } 1 :- room(R).
3 { game(P, R) } 4 :- used_room(R),...
73 просмотров
schedule
14.08.2022
Эффективное сокращение пространства поиска в clingo
Я изо всех сил пытаюсь масштабировать проблему ограничения (она не работает для больших значений и / или если я пытаюсь оптимизировать, а не просто искать какое-либо решение). Я предпринял некоторые шаги, чтобы сократить пространство поиска,...
60 просмотров
schedule
06.03.2022