2012-04-17 20 views
0
%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,但我對prolog不熟悉,不知道它是如何工作的想法是最終我想根據一定的規則示例爲所有組創建一個計劃示例每個組應該有一個休息日和講座應該在教程之前...如何將該規則的所有結果作爲程序中的事實輸入,或者如何將這些結果作爲事實進行處理?

+0

請參閱http://stackoverflow.com/a/24042110/772868一般方法如何做到這一點 – false 2014-06-15 08:53:20

回答

1

我的建議來自SWI-Prolog。

您可以使用assert/1將數據插入動態數據庫;您可以將元組放在Linda表上,使用out/1或使用更高級的功能,例如db_assert。

然而,問題不是如何記錄這些數據,而是爲什麼你想這樣做。根據您打算如何解決日程安排問題,您可能需要這種錄製策略,或者甚至可能不需要。

+0

是的我知道我仍然打算修改程序來打印出某些有效的事實根據一些規則。 – 2012-04-17 19:17:22

+0

取決於你打算存儲的事實量(小)或db_assert(大)可能是有趣的選項。 – 2012-04-18 17:07:28

相關問題