2012-04-17 6 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を使うと思っていましたが、プロローグには新しくなっていますが、最終的には各グループのスケジュールを作成したいと思っています。チュートリアルを先行する必要があります...このルールのすべての結果をプログラムのファクトとして入力する方法、またはこれらの結果をファクトとしてどのように処理できますか?

+0

これを行う一般的な方法については、http://stackoverflow.com/a/24042110/772868を参照してください。 – false

答えて

1

私の提案はSWI-Prologから来ています。

アサート/ 1を使用して動的データベースにデータを挿入できます。あなたはout/1を使ってLindaテーブルにタプルを置くか、db_assertのようなさらに高度な機能を使うことができます。

しかし、このデータを記録するのは難しいのですが、その理由は何ですか?どのようにスケジューリングの問題に取り組もうとしているかによっては、このレコーディング戦略が必要な場合や、そうでない場合もあります。

+0

はい私はいくつかの規則に従って特定の有効な事実を印刷するためにプログラムを改良したいと考えています。 –

+0

アサート(小)またはdb_assert(大)を格納する予定のファクトの量に応じて、興味深いオプションがあります。 –

関連する問題