Вопросы по теме '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 просмотров
schedule
05.01.2023
Переход к предыдущему запросу в 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