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

SICStus Prolog - это диалект Пролога, соответствующий стандарту ISO, разработанный в Шведском институте компьютерных наук (SICS). Текущая версия: 4.3.5 - по состоянию на 08.12.2016
1 ответ

JIT-компилятор SICStus Prolog

В SICStus Prolog 4.3 добавлен JIT-компилятор для процессоров x86-64. У меня есть два вопроса относительно компилятора JIT. Во-первых, где я могу найти документацию (статьи, заметки или заметки) о возможностях (и ограничениях, дизайне и методах) комп…
03 мар '15 в 20:16
1 ответ

Ограничения Пролога -> Решаем головоломку

Ребята, я изучаю ограничения с помощью пролога и пытаюсь реализовать небольшую головоломку, используя эти новые знания. Цель головоломки проста: у меня есть квадратная сетка с несколькими числами сверху / снизу каждого столбца и справа / слева от ка…
11 дек '14 в 23:34
1 ответ

Предикат не работает должным образом в Прологе (SICStus)

У меня проблема с предикатом пролога. У меня одна доска, и я хочу проверить, нет ли у одного игрока фигур со значениями от 1 до 10, которые называются мобильными фигурами. Код показан выше: test_board([ [piece(' ',12,blk),piece('R2 ',2,red),piece('R…
01 ноя '12 в 20:17
6 ответов

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

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

Распространение состояния при бактрекинге в Прологе

Предположим, у меня есть простая программа на Прологе, которая ищет в определенном пространстве состояний: search(State, State) :- is_solution(State). search(State, Solution) :- generate(State, NewState), search(NewState, Solution). И я знаю, что: g…
20 май '12 в 22:32
2 ответа

SICStus Prolog: найти все решения

Есть ли способ показать все решения и / или узнать, сколько их в прологе SICSTus? Например, приведенный ниже код может быть использован для решения проблемы раскраски карты. :- use_module(library(clpfd)). solve_AUSTRALIA(WA,NT,Q,SA,NSW,V):- domain([…
27 ноя '16 в 20:49
3 ответа

Производительность встроенного предиката Пролог (есть)/2

Обновление: 11.6.2016 Расхождение производительности, которое я наблюдал с SICStus Prolog 4.3.2, полностью исчезло с недавно выпущенным SICStus Prolog 4.3.3. Престижность! Я обновил таблицу "runtimes" ниже, чтобы включить SICStus Prolog 4.3.3. Осно…
11 май '16 в 19:05
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 ответ

Фрагментация данных из текстового файла в список фактов в файл пролога

Я хочу разделить файл данных на список фактов, таких как functor(arg1, arg2, ..., argN) имя функтора - строка верхнего регистра, а аргументы - строки нижнего регистра, которые следуют за ними, впоследствии новые предложения сохраняются в файле проло…
18 янв '16 в 09:21
1 ответ

Пролог: как сказать с помощью global_cardinality, что список содержит хотя бы N элементов, равных M (M,N - целые числа)

Например: у меня есть некоторая переменная: A,B,C,D и условие: в списке [A,B,C,D] должно быть как минимум двойное число 2. Я могу использовать только комбинаторное ограничение global_cardinality/2,
1 ответ

Пролог: тестирование, если бит установлен

Я использую целые числа произвольной точности для представления плотных битовых векторов - размером от десятка до нескольких тысяч. Мой код часто должен проверять, установлены ли определенные биты (или нет), поэтому я сделал несколько микро-тестов, …
1 ответ

Как смоделировать atom_to_term(+Atom, -Term, -Bindings) SWI-Пролога в SICStus Prolog?

Я использую SICStus Prolog для написания агента Dali, и мне нужно преобразовать атом в термин, но я не могу использовать atom_to_term который встроен в SWI-Пролог
23 ноя '13 в 17:46
2 ответа

Использование ограничения in_set/2

Я пытаюсь использовать ограничение X чтобы не быть значением в списке. Из руководства SICStus Prolog: ?X in_set +FDSet Однако я не могу понять, как преобразовать список в FDSet. У меня есть список целых чисел [2,3,8,9] и я хочу ограничить область пе…
12 апр '12 в 03:29
1 ответ

Передача целых чисел произвольного размера из пролога в C

Прямо сейчас я изучаю, как связать SICStus Prolog с C-кодом. Я хотел бы иметь / использовать / увидеть реализацию C "веса Хэмминга" целых чисел произвольного размера в SICStus Prolog версии 4. Мне кажется, что мне нужны функции C для тестирования ти…
03 мар '15 в 12:39
3 ответа

Существует ли библиотека / методика сбора статистики для оптимального упорядочения предложений в Прологе?

Я пишу программу, в которой мне нужно посмотреть, соответствуют ли строки конкретному шаблону. Прямо сейчас я реализовал это в Прологе, как правило, соответствует Pattern(S), с более чем 20 различными определениями. В итоге я запускаю все двоичные с…
2 ответа

Переключение режимов в Прологе в командной строке Windows

Руководство Sicstus Prolog говорит пользователю "|?- consult(пользователь)". чтобы ввести предложения и "чтобы вернуться на верхний уровень, введите ^D.". Тем не менее, я использую Windows, а в руководстве нет инструкций по Windows. Как я могу верну…
17 мар '12 в 21:38
0 ответов

Пролог - Ограничения - Light-Up/Akari

Я пытаюсь разгадать загадку Light-Up, и у меня возникают проблемы с закреплением ограничений. Мой основной предикат: akari(Rows, Size) :- length(Rows, Size), maplist(length_list(Size), Rows), append(Rows, Board), domain(Board, 0, 2), processRows(Row…
04 дек '14 в 08:51
1 ответ

SICStus Prolog: статистика /2 значения, затронутые JIT

Обновление: Как сообщает @PerMildner, следующая проблема (присутствует в SICStus Prolog 4.3. 2) исчезла с новым SICStus Prolog 4.3. 3! Путь! Я использую SICStus Prolog 4.3.2 и узнаю некоторые из statistics/2 ключи, которые я не использовал раньше...…
22 май '16 в 19:16
2 ответа

В чем разница между количеством /3 и /3 в прологе?

В чем разница между количеством /3 и /3 в прологе? а как использовать цикл for с декрементом -1 вроде ( для (I, 9,0, -1) )? например:Dec = -2, Min_bound = 0, Max_bound = 9 Результат => 9,7,5,3,1
29 дек '15 в 09:36
1 ответ

Пролог-предикат powerset

Я хочу определить предикат powerset(X, P), который является истинным, когда P является powerset X. Должно работать независимо от того, заземлен или нет P.
26 апр '12 в 17:46