Как ввести все результаты этого правила как факты в программу или как я могу обработать эти результаты как факты?
%Examples
%course_meetings(maths4,tutorial,t07,khaled_mohamed,'tutorial for t07')
%days([sat,sun...])
%tutorialrooms([c6301,b4108,c2201,c2301,c2202,c2203])
%slots([1,2,3,4,5])
day_tut(Day,Slot,Place,Course,Group,Instr,Descr):-
days(X),member(Day,X),
tutorialrooms(X1),member(Place,X1),
course_meetings(Course,tutorial,Group,Instr,Descr),
slots(X2),member(Slot,X2).
Я думал об использовании Assert, но я новичок в прологе, не уверен, как это работает, идея в том, что в конечном итоге я хотел бы создать расписание для всех групп в соответствии с определенными правилами, например, в каждой группе должен быть выходной, а лекции должны предшествовать учебным пособиям.,
1 ответ
Мои предложения исходят от SWI-Prolog.
Вы можете вставить данные в динамическую базу данных, используя assert/1; вы можете поместить кортеж в таблицу Linda без / 1 или использовать даже более продвинутые функции, такие как db_assert.
Вопрос, однако, не в том, КАК записывать эти данные, а в том, ПОЧЕМУ вы хотите это сделать. В зависимости от того, как вы намереваетесь решить проблему с расписанием, вам может понадобиться эта стратегия записи или такая, а может быть и вовсе нет.