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

Как вы можете добавлять элементы в список или вычислять их из базы знаний, не используя findall или assert/retract в Prolog?
У меня есть база знаний, состоящая из базы данных студентов в файле «students.pl», например: % student(Name,Percent,List_of_Marks_in_3_subjects). student('abc',83,[80,80,90]). student('pqr',70,[70,60,80]). student('xyz',76,[80,70,80]). Я хочу...
272 просмотров

Альтернатива найти все
Я пытаюсь создать альтернативу findall в Prolog. Что у меня есть: solutions(A,T,S) :- T, assert(temp(A)), fail. solutions(A,T,S) :- obtain([],S). obtain(X,S) :- retract(temp(A)), obtain([A|X],S). obtain(S,S). Однако...
609 просмотров
schedule 05.11.2022

Пролог Использование findall/3 на матрице
У меня есть следующая матрица в моем прологе SWI; matrix(1,[ [*,*,*,*,*,*,*,*,*,*,*,*], [*,*,*,spots(2,4),spots(2,5),*,*,*,*,spots(2,10),spots(2,11),*],...
286 просмотров
schedule 22.04.2022

Findall с несколькими переменными в Prolog
Я хотел бы получить список решений из правила, которое я создал на Прологе. Однако предикат findall работает только с одной переменной. Может ли кто-нибудь предложить, как обойти это очевидное ограничение? Мое правило beat(P,M,E) Что...
2333 просмотров
schedule 12.07.2022

Перевести Haskell в Prolog - найти подсписок суммы
Я пытаюсь перевести следующий код Haskell: -- sublistSums list sum returns a list of the sublists of list that add up to sum sublistSums :: [Int] -> Int -> [[Int]] sublistSums [] 0 = [[]] sublistSums [] _ = [] sublistSums (x:xs) sum =...
448 просмотров

Пролог - получение списка друзей друзей
Я изо всех сил пытаюсь получить достойный результат, У меня есть друзья, friend(a,b). friend(a,b2). friend(a,b3). friend(b,c). friend(c,d). friend(d,e). friend(e,f). Используя findall(X,friend(a,X),List) , я получаю всех прямых друзей...
870 просмотров
schedule 23.11.2022

Установка в поиске
У меня есть правило: best_fit(Team, Enemies, Result, List) :- findall((H, E), score(H, Enemies, Team, E), List), где определение оценки: score(Hero, Enemies, Team, Result) :- hero(Hero), ... Я хотел бы найти только тот (H,...
30 просмотров
schedule 02.09.2022

Найти все в прологе
У меня есть сотрудники: employee(2,2,'George','Johnson','12/16/1987'). employee(4,3,'Noah','Jones','6/9/1984'). employee(5,4,'Jack','Brown','2/16/1992'). employee(6,6,'Charlie','Davis','3/28/1997'). employee(7,1,'Leo','Miller','6/6/1997')....
99 просмотров
schedule 27.07.2023