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

B-Prolog - это высокопроизводительная реализация стандартного языка Prolog с несколькими расширенными функциями, включая предложения соответствия, правила действий для обработки событий, решения ограничений в конечных областях, массивы и хеш-таблицы, декларативные циклы и табулирование.
1 ответ

8 королевских пазлов Графический интерфейс Netbeans(Java) + пролог SWI

Я нашел решение, только на Bprolog, и прошу помощи, как перевести его с помощью JPL на SWI PROLOG? Или, может быть, вы можете принять меня решение с помощью библиотеки jpl, используя // by Nobukuni Kino import java.awt.*; import java.awt.event.*; im…
02 июн '14 в 20:50
2 ответа

Настольные режимы и возврат в B-Prolog

Рассмотрим программу: :- table cost(+, min). cost(1, 0). cost(1, 1). cost(2, 1). Я ожидал, что результат cost(I, C). будет I = 1, C = 0; I = 2, C = 1 - все возможные входные аргументы с соответствующими минимальными результатами. Но я получаю только…
30 янв '13 в 23:14
5 ответов

Пролог: добавить номер к термину

Можно ли добавить число к термину напрямую? Т.е. я могу легко сделать что-то вроде этого: ?- A = 1 + 2, B = 3, C = A + B. C = 1+2+3 Но есть ли способ (оператор?) Указать что-то вместо '+' в C = A + B получить "C = 1+23"? Я чувствую, что прошу чего-т…
06 май '14 в 00:46
2 ответа

Лексикографически упорядочить два списка переменных, используя ограничения

Я пытаюсь реализовать ограничение лексикографического порядка в BProlog, используя его CLP(FD). Насколько я вижу из руководства, BProlog не предоставляет встроенного lexLeq ограничения (хотя существуют эффективные алгоритмы распространения для этого…
21 окт '15 в 12:06
1 ответ

Как назвать цель BProlog из программы на Си?

В документации BProlog упоминается: "B-Prolog имеет двунаправленный интерфейс с C, через который программы Prolog могут вызывать функции, написанные на C и C, а также могут вызывать Prolog. Программы на C, использующие этот интерфейс, должны включат…
28 мар '12 в 16:51
1 ответ

Могу ли я использовать субфункционный функтор с переменной в предикате?

Я новичок в прологе, и использую BProlog. Я читал пример программы для выполнения запроса по группе связанных данных. Но чтобы сделать выводы из фактов с похожей структурой, они написали много предикатов, таких как search_by_name,search_by_point, ко…
20 апр '12 в 05:03
2 ответа

Обходной путь sure_loaded/1 B-Пролог?

Есть ли обходной путь, чтобы обеспечитьозаборник sure_loaded/1 в B-Prolog, как это работает во многих других системах Prolog? Цель состоит в том, чтобы иметь преамбулу, чтобы остальная часть кода могла использовать sure_loaded/1 независимо от того, …
11 июн '14 в 16:11
1 ответ

Запуск графики CG на BProlog?

Я недавно установил B-пролог и попробовал примеры графики CG отсюда http://www.probp.com/ Согласно их руководству, я установил B prolog в C:/ drive и его компиляцию, но не выполняю их. Это cuba.pl go:- cuba(Os), cgWindow(Win,"cuba"), handleWindowClo…
05 окт '11 в 02:05
1 ответ

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

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

Чтение чисел из stdio в B-Prolog

Какой самый простой способ прочитать число или несколько разделенных пробелами чисел (НЕ за которыми следует точка) в B-Prolog из стандартного ввода? Например, для ECliPse я написал эти простые предикаты (мне не нужна обработка ошибок): read_number(…
19 янв '13 в 07:27
2 ответа

Вложенные петли с аккумуляторами в B-Prolog

B-Prolog имеет логические циклы. Например, вот как мы можем вычислить сумму [1,2,3]: test1 :- foreach(A in 1..3, [], ac(Sa, 0), ( Sa^1 is Sa^0 + A )), writeln(sa(Sa)). ?- test1. test1. sa(6) yes Но когда я пробую два вложенных цикла с аккумуляторами…
21 янв '14 в 05:27
3 ответа

Пролог бесконечный цикл

Это программа, которая должна выяснить, кто совместим с Джоном. Я новичок в Прологе. Чтобы сообщить Прологу, например. met(X,Y) = met (Y,X) много кода было написано. Теперь, когда я начинаю запрос ?- compatible(john, X) это входит в бесконечный цикл…
27 янв '13 в 13:38
1 ответ

Пролог для ошибки синтаксиса цикла

Я пытаюсь сделать игру похожей на тральщик, и мне нужно проверить соседей квадрата на карте, но я получаю синтаксическую ошибку в цикле for, я использую SWI-Prolog checkneighbours(X,Y) :- retractall(vecini(_)), assert(vecini(0)), foreach(I in X-1..X…
15 май '13 в 13:16