Вопросы по теме 'prolog-toplevel'

Получение правды; ложный набор двух ответов для набора правил
во-первых, спасибо за помощь. Я пишу программу-пролог, описывающую семейные отношения, включая все версии родственников мужа. Логика есть, и мне нужна помощь, так это некоторые проблемы с прологом, так как я не очень разбираюсь в этом. Я пытаюсь...
4133 просмотров
schedule 30.10.2021

Ввод листинга в SWI-прологе и нажатие Enter ничего не делает
Я просматриваю руководство по прологу здесь , и оно предлагает мне ввести листинг для списка содержимого текущей базы знаний. Я почти уверен, что без загрузки КБ он должен отображать тарабарщину. Однако вместо этого у меня есть: после...
283 просмотров
schedule 08.09.2021

Почему эта программа на Прологе возвращает истину И ложь?
Я новичок в Prolog и пытаюсь понять, почему эта очень простая программа возвращает 2 решения: истина И ложь. Для меня это должно возвращать только истину, зачем тоже возвращать ложь? predicate1(_,[]). predicate1(X,[_|T]) :- predicate1(X,T). ?-...
64 просмотров
schedule 28.09.2021

Пролог. В запросе, как поставить условие на переменную, которую я не хочу видеть в результатах?
Представьте, что у меня есть следующая база знаний, которая дает каждому человеку его имя и возраст. person(mary, 39). person(john, 24). person(sandy, 17). Теперь я хочу получить всех лиц старше 20 лет. Кроме того, я просто хочу собрать их...
3140 просмотров
schedule 09.05.2022

swi-prolog не останавливается после первого истины с дизъюнкцией (или)
Я (абсолютный новичок в Прологе) пытаюсь понять смысл пролога. Вот пример Санты в swi-prolog : gives(santa,leonard,book). gives(santa,adrian,game). gives(santa,adrian,smartmax). likes(leonard,lego). likes(adrian,lego). likes(adrian,book)....
263 просмотров
schedule 30.07.2022

Как автоматизировать точку с запятой в Prolog
Я изучаю Prolog в классе, и мне показали способ автоматического нажатия клавиши с точкой с запятой, пока не будет больше решений. Я пробовал искать в Google, но получаю примеры с использованием findall , чего не было. Есть ли другие способы...
1133 просмотров
schedule 16.09.2022

Пролог не дает правильного ответа
Я изучаю Пролог. Я написал несколько простых фактов. Но похоже, что Пролог не дает мне правильных ответов. Пожалуйста, помогите мне понять, что я здесь делаю не так. facts - weather.pl weather(pheonix,summer,hot)....
132 просмотров
schedule 29.09.2022

Принятие 2 разных цветов, но не одинаковых цветов
Я пытаюсь выполнить упражнение, в котором мне нужно написать предикат colors/2 (или colors(C1,C2) :- ...), который работает следующим образом: ?- colors(red,blue). true. ?- colors(red,red). false. ?- colors(blue,blue). false. Итак, по...
45 просмотров
schedule 02.10.2022

Выучить пролог, упражнение 2.3
Я прохожу через сайт изучения пролога, чтобы попытаться выучить какой-нибудь пролог, и пытаюсь понять упражнение 2.3. Я предполагаю, что каждый вызов word () переходит на один вниз в какой-то стек или около того, и это объясняет, почему он, кажется,...
694 просмотров
schedule 26.04.2023

Правило Пролога - Ложь?
У меня есть факты: /**--(course,time,location)--*/ ctl('course1', 'time1','location1'). ctl('course2', 'time1','location2'). ctl('course3', 'time2','location3'). /**--Lecturer,course-*/ lc('lecturer1','course1'). lc('lecturer2','course2')....
272 просмотров
schedule 15.04.2023

Вопросительный знак в SWI-Prolog - недетерминированный функтор
Я только что попытался реализовать абсолютную функцию в Прологе, и у меня странное поведение. Мой код был: absval(X, RESULT) :- X >= 0, RESULT is X. absval(X, RESULT) :- X < 0, RESULT is -X. И когда я пробую в SWI-Prolog absval(-2,X)....
562 просмотров
schedule 30.07.2023

Определение рефлексивного переходного закрытия
Многие предикаты по существу используют некоторую форму транзитивного замыкания только для того, чтобы обнаружить, что завершение тоже должно быть рассмотрено. Почему бы не решить эту проблему раз и навсегда с помощью closure0/3 : :-...
4004 просмотров

Переход к предыдущему запросу в XSB или Ciao (Пролог)
При использовании swi-prolog можно вызвать предыдущий запрос с помощью клавиши со стрелкой ВВЕРХ (на терминале). Как этого можно добиться в системах XSB или Ciao prolog?
91 просмотров
schedule 24.06.2023

Есть ли способ написать предикат length/1, используя write/1 для печати результата?
У меня есть задание для школы, я недавно начал изучать Пролог. Это упражнение (довольно простое): Напишите на Прологе программу для нахождения длины заданного списка. Например, length([a, b, c, d, e]). должно напечатать 5 Я...
84 просмотров
schedule 22.06.2023

Определение сработавшего правила в файле пролога
У меня есть файл пролога, который классифицирует заданный предикатный бонгард (A, X) с заданными фоновыми фактами. Фрагмент правил: bongard(A,[neg]) :- triangle(A,C), \+ in(A,C,D), !. bongard(A,[neg]) :- \+ triangle(A,C), !. ... Я выполняю...
76 просмотров
schedule 20.12.2022

Как сортировать вывод в Prolog?
У меня есть следующий предикат: soln(L,M,O,R,S,V) :- permutation([L,M,O,R,S,V],[1,2,3,4,5,6]), R=\=S+1, R=\=S-1, M=:=L+1, O>M, O<S. Когда я вызываю его из REPL, он выводит правильные ответы: ?-...
230 просмотров
schedule 02.12.2022

да / нет возврат в запросе PROLOG
Я только изучаю PROLOG, и мне сложно понять, почему запросы, которые я выполняю, заканчиваются «да / нет». Вот моя КБ: male(albert). male(bob). male(bill). male(carl). male(charlie). male(dan). male(edward). female(alice). female(betsy)....
1287 просмотров
schedule 14.01.2023

Измените выходные значения по умолчанию в swi-prolog на true и false для оценки предиката.
Когда вы выполняете что-либо в прологе, вы можете видеть, что результат оценки выглядит следующим образом: истинный or ложный Я хотел бы изменить эти значения на персонализированные. Основываясь на этом вопросе , Я увидел,...
409 просмотров
schedule 23.03.2023

В SWI-Prolog при вызове copy_stream_data, как я могу избежать подсказки '|:'?
Я реализовал программу cat в SWI-Prolog, используя copy_stream_data . Файл args.pl : :- module(args, [withFilesOrUserInput/2]). withFilesOrUserInput(StreamFunction, []) :- call(StreamFunction, user_input)....
76 просмотров
schedule 25.11.2023

SWI-Prolog - показать длинный список
Я использую SWI-Prolog и пытаюсь распечатать список, но если в списке более 9 элементов, это выглядит так: [1, 15, 8, 22, 5, 19, 12, 25, 3|...] есть ли способ показать весь список?
23271 просмотров
schedule 12.02.2024