Вопросы по теме '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 просмотров
schedule
18.04.2023
Альтернатива найти все
Я пытаюсь создать альтернативу 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 просмотров
schedule
14.03.2023
Пролог - получение списка друзей друзей
Я изо всех сил пытаюсь получить достойный результат,
У меня есть друзья,
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