Вопросы по теме 'meta-predicate'

Почему maplist / 3 не использует шаблон?
Предикат maplist / 3 имеет следующую форму maplist(:Goal, ?List1, ?List2) Однако очень похожая функция findall / 3 имеет вид findall(+Template, :Goal, -Bag) У него есть не только цель, но и шаблон. Я нашел этот шаблон весьма...
524 просмотров
schedule 28.11.2021

Пользовательские операторы DCG
Предположим, я хочу написать собственный оператор для составления правил DCG таким образом, чтобы в противном случае они повторялись. Например, предположим, что у меня есть DCG, ws такой, что: ws --> []. ws --> " ", ws. чтобы...
99 просмотров
schedule 14.01.2022

Пролог: Фильтрация списка?
В настоящее время я работаю над очень коротким проектом на Prolog и просто застрял, пытаясь применить «фильтр», который я создал к списку. У меня есть то, что можно назвать фильтром, но я не могу его применить. Лучше проиллюстрирую: filter(A, B)...
18657 просмотров
schedule 30.04.2022

Соберите все минимальные решения из предиката
Учитывая следующие факты в базе данных: foo(a, 3). foo(b, 2). foo(c, 4). foo(d, 3). foo(e, 2). foo(f, 6). foo(g, 3). foo(h, 2). Я хочу собрать все первые аргументы, которые имеют наименьший второй аргумент, плюс значение второго аргумента....
1316 просмотров

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

Определение связности графа в прологе
Мне нужно сделать предикат isConnected/1 , который принимает граф в качестве аргумента и определяет, есть ли ненаправленный путь между парами. Предположим, у меня есть список ребер (где G — граф): isEdge(G,1,2). isEdge(G,2,3)....
1433 просмотров

Овеществленный call_with_time_limit / call_with_inference_limit
Я пытаюсь определить отношение callto_status(Goal, Status) , которое всегда завершается успешно и объединяет Status в соответствии с результатом вызова Goal (другими словами, я хотел бы реализовать овеществленную версию call_with_inference_limit/3...
137 просмотров
schedule 14.02.2024

список карт с параметризованным предикатом
Можно ли использовать параметризованный предикат в mapList ? Например, я хотел бы сделать следующее: перейти по списку и для каждого четного элемента (список содержит только числа) сопоставить этот элемент с некоторым значением (это значение...
1178 просмотров
schedule 17.05.2024