Описание тега prolog-setof
NoneSetof/3 - это встроенный предикат ISO Prolog. Он определяет набор решений в виде списка для каждого отдельного экземпляра свободных переменных.
6
ответов
Не повторяйте решения в Прологе
Предположим, у вас есть база данных со следующим содержанием: son(a, d). son(b, d). son(a, c). son(b, c). Так что а и б - сыновья д и в. Теперь вы хотите знать, учитывая большую базу данных, кто брат кому. Решение будет: brother(X, Y) :- son(X, P), …
23 фев '13 в 15:28
1
ответ
setof/3 и NAF
Поэтому у меня есть множество фактов: course(cs61, "intro to cs") ... course(cs62b, "data structure") ... grade(adam, cs61, spring11, "A") ... grade(chrisitian, cs61, fall2010, "A-") Мне нужно определить предикат good_standing(Student) определить, я…
23 апр '12 в 19:38
2
ответа
Пролог - сумма членов списка
Я пытался найти окружность страны в Прологе. У меня есть готовый предикат borders(Country1, Country2, Length) а также setof(Item, Condition, Set) который дает список всех элементов в наборе, которые удовлетворяют условию. Чтобы получить окружность, …
03 окт '17 в 12:50
1
ответ
setof/3 не удаляет дубликаты
Я пытаюсь найти дополнение списка, учитывая список L1 и универсальный список L2 со следующим кодом: complement(L1, L2, Res):- setof(X, (nth0(N, L2, X), not(member(X,L1))),Res). Тем не менее, мои результаты включают дубликаты и не приведены в виде сп…
27 июл '16 в 10:20
2
ответа
Пролог - волчья козья капуста
Я работаю над игрой-головоломкой под названием "козлиная капуста-волк". Язык программирования - Пролог. change(e,w). change(w,e). move([X,X,Goat,Cabbage],wolf,[Y,Y,Goat,Cabbage]) :- change(X,Y). move([X,Wolf,X,Cabbage],goat,[Y,Wolf,Y,Cabbage]) :- ch…
27 янв '13 в 20:25
1
ответ
Экзистенциальный классификатор в прологе, используя setof / bagof
У меня был быстрый вопрос повторно. экзистенциальный классификатор, использующий setof в прологе (то есть ^). используя SICStus, кажется, что (несмотря на то, что утверждают многие веб-сайты), S действительно выглядит количественно в приведенном ниж…
31 дек '09 в 19:18
3
ответа
Prolog Recursion пропускает те же результаты
Мой код выполняется, но проблема в том, что он показывает одни и те же результаты более одного раза. Вот мой код: disease(hiv,[sore_throat,headache,fever,rash]). disease(pregnancy,[fatigue,vomiting,light_headedness,increased_waistline]). disease(flu…
29 ноя '11 в 04:22
0
ответов
Что означает "^" в прологе?
У меня есть база знаний о фильмах. Мои предикаты актера и актрисы выглядят так: % actor(M,A,R) -- actor A played role R in movie M % actress(M,A,R) -- actress A played role R in movie M Я пытаюсь сосчитать разных актеров и актрис в своей базе знаний…
25 ноя '16 в 00:07
0
ответов
bagof/3 непредсказуемо
Я сбит с толку следующими результатами. Я использую SWI-Prolog. ?- bagof(Q, (Q=A, (A=[a,_] ; A=[_,b])), X). A = [_G16898, b], X = [[_G16898, b]] ; A = [a, _G16892], X = [[a, _G16892]]. Заметить, что [a,_] а также [_,b] не объединены, чтобы дать отве…
01 мар '19 в 16:46
1
ответ
Как мне найти все решения для цели в Прологе?
У меня есть предикат P1, который возвращает значения одно за другим, как это: -? P1(ARGUMENTS, RETURN). -? RETURN = 1; -? RETURN = 2; -? RETURN = 3; -? fail. У меня также есть другой предикат под названием P2: P2(ARGUMENTS, LIST) :- P1(ARGUMENTS, RE…
23 сен '09 в 19:37
2
ответа
Использование сопоставления с образцом в Прологе для поиска подмножеств
Я новичок в прологе, и мне было интересно, если кто-нибудь может помочь мне с этой проблемой. Проблема: учитывая целые числа 1,2,3,4 и предикаты mult / 2, div / 2, div / 2, минус / 2 и минус / 2 и eval / 2, мне нужно написать предикатное решение /1 …
13 дек '15 в 00:36
2
ответа
Есть ли способ получить наборы элементов из транзакций эффективно с прологом?
Извините, что задаю этот вопрос, но с тех пор, как я запрограммировал его в Прологе, прошло много времени. Я думаю, что я привык к императивной парадигме.:-( Я пытаюсь получить наборы элементов из отношения Пролог: % transaction(Time, Client, Item) …
05 май '11 в 19:51
2
ответа
Максимальное количество вхождений в списке
Я пытаюсь написать функцию Prolog, которая с учетом списка возвращает элемент (ы), который повторяется в этом списке чаще всего, например: ['a', 'a', 'b', 'c', 'b'] должны возвращать ['a', 'b'] ['c', 'a', 'a', 'c', 'b', 'c', 'b'] должны возвращать […
20 май '11 в 17:10
0
ответов
Правила в список, пролог
Как мне вернуть это: place(place1). place(place2). place(place3). place(place4). В такой список: listPlace(X). что возвращает: X=[place1,place2,place3,place4]
29 окт '15 в 06:46
0
ответов
Пролог setof/3 не возвращает все элементы
Я делаю список всех пород собак в моей базе данных, например breed(beagle,medium, hunting). breed(bassets,medium, hunting). breed(labrador,large, guideDogs). breed(germanShepards,large, guardDogs). breed(boxer,unknown,unknown). breed(dalmation,unkno…
10 июл '17 в 14:17
0
ответов
Пролог: "\+ memberchk" внутри "setof"
У меня есть код Prolog следующей формы: setof(Element,some_function(P,Element,C),Elements) такой, что все экземпляры термина Element в решении some_function собраны в списке Elements, Теперь я хочу улучшить это с memberchk такой, что любой экземпляр…
30 май '15 в 11:32
2
ответа
SWI Пролог Использование агрегации
Я создал простую базу данных на SWI Prolog. Моя задача - подсчитать, как долго будет работать каждый из отделов в зависимости от производственного плана. Я почти закончил, но я не знаю, как подвести итоги. На данный момент я получаю что-то вроде это…
01 ноя '15 в 15:51
1
ответ
Пролог нескольких предикатов в findall/setof
Я пытаюсь найти предков греческих мифологических муз, используя следующие факты и правила (упрощенно): /* parent(A, B) - A is the parent of B */ parent(zeus, calliope). parent(zeus, clio). parent(zeus, melpomene). parent(zeus, euterpe). parent(zeus,…
11 мар '16 в 03:07
1
ответ
Найти все факты с соответствующими предикатами
У меня есть база фактов, полная interacts отношения: % Drug, Drug, Interaction Effect interacts(terbinafine,tramadol,muscle_spasm). interacts(terbinafine,triazolam,amnesia). interacts(terbinafine,warfarin,arterial_pressure_nos_decreased). interacts(…
15 апр '16 в 17:18
2
ответа
Почему существует разница в выводе setof между фактами с разным количеством элементов?
В Прологе дана база знаний по фактам: someFact(one). someFact(two). otherFact(one, two, 123, 456). otherFact(one, four, 789, 123). Запрос setof(X, someFact(X), List). дает такой результат: List = [one, two] Тем не менее, запрос setof(X, otherFact(on…
12 окт '16 в 17:09