Описание тега prolog-tabling

Таблинг - это метод мемоизации для Пролога и в целом программирования табличной логики, который повышает эффективность и завершение.
2 ответа

Частичное упорядочение XSB Prolog

Я пытаюсь привести пример из руководства XSB версии 3.3.5 (из "Частичного порядка ответа"): :- table sp(_,_,po(</2)). sp(X,Y,1):- edge(X,Y). sp(X,Z,N):- sp(X,Y,N1),edge(Y,Z),N is N1 + 1. И я получаю ++Error[XSB/Runtime/P]: [Syntax] :- table sp ( …
20 ноя '11 в 03:21
2 ответа

Запоминать (и кэшировать) решения, найденные в запросе Prolog?

В этом вопросе о StackExchange я спросил (и он был решен) о программе Prolog, которую я пытался создать. Но хотя он работает в принципе, он не соответствует моим потребностям в реальном мире. Прежде чем я начну изучать еще один язык (Datalog), я хот…
19 янв '17 в 17:36
2 ответа

Оптимальное планирование с поэтапным программированием абдуктивной логики

Я хотел бы использовать абдуктивное логическое программирование, чтобы найти оптимальные планы. Исчерпывающий поиск в пространстве планов был бы непрактичным, но есть эвристика упорядочения, которая в обычном логическом программировании использовала…
04 апр '14 в 01:05
4 ответа

Удаление левой рекурсии в DCG - Пролог

У меня небольшая проблема с левой рекурсией в этой грамматике. Я пытаюсь написать это в Прологе, но я не знаю, как удалить левую рекурсию. <expression> -> <simple_expression> <simple_expression> -> <simple_expression> &…
1 ответ

Неравномерная производительность таблиц в BProlog 8.1

Я провел несколько экспериментов с возможностями табулирования в b-prolog версии 8.1 и был весьма удивлен наблюдаемой производительностью. Вот код, который я использовал. Подсчитывает количество шагов Коллатца N требуется для уменьшения некоторого н…
1 ответ

Ограниченный таблинг

Совсем недавно я начал играть с таблингом в Прологе; некоторые эксперименты, которые я проводил с b- prolog и xsb, можно найти в этом вопросе. Поскольку таблицы становились все больше и больше, я понял, что мне нужно найти некоторые параметры / пара…
04 май '15 в 11:19
2 ответа

Запись базы данных Пролога

У меня есть этот факторный предикат. fact(0, 1). fact(N, F) :- N > 0, N1 is N-1, fact(N1, F1), F is F1 * N. Как изменить этот предикат таким образом, чтобы при каждом запросе результат расчета сохранялся в базе данных? Новые запросы должны исполь…
02 мар '17 в 03:48
0 ответов

Как работает таблинг?

Мне интересно, как табулирование работает для повышения эффективности программ Prolog. Как это реализовано? И объяснения и ссылки приветствуются.
02 июл '13 в 13:41
1 ответ

Всегда сильно связанные компоненты через Prolog

Маркус Триска сообщил об алгоритме определения сильно связанных компонентов (SCC). Есть ли решение, которое определяет SCC без использования атрибутивной переменной и может работать в любое время. Чтобы у некоторых вершин могло быть бесконечно много…
1 ответ

Таблица в Prolog Game Search для крестиков-ноликов

Тем временем многие системы Prolog реализуют табличное представление. SWI-Prolog перенял большую часть таблиц XSB. Таблицы XSB предлагают преобразовать поиск игры: win(X) :- move(X,Y), \+ win(Y). В эту таблицу: :- table win/1. win(X) :- move(X,Y), t…
14 фев '21 в 12:27