問題4.59 – SICP(計算機プログラムの構造と解釈)その232

問題4.59

以下の表明をデータベースに追加する。

(assert! (meeting accounting (Monday 9am)))
(assert! (meeting administration (Monday 10am)))
(assert! (meeting computer (Wednesday 3pm)))
(assert! (meeting administration (Friday 1pm)))
(assert! (meeting whole-company (Wednesday 4pm)))

a. 金曜日のすべての会合を探す

(meeting ?section (Friday ?time))

実行結果

;;; Query input:
(meeting ?section (Friday ?time))

;;; Query results:
(meeting administration (Friday 1pm))

b. Alyssa の規則

(assert! (rule (meeting-time ?person ?day-and-time)
               (or (meeting whole-company ?day-and-time)
                   (and (job ?person (?section . ?type))
                        (meeting ?section ?day-and-time)))))

実行結果

;;; Query input:
(meeting-time (Aull DeWitt) ?day-and-time)

;;; Query results:
(meeting-time (Aull DeWitt) (Wednesday 4pm))
(meeting-time (Aull DeWitt) (Friday 1pm))
(meeting-time (Aull DeWitt) (Monday 10am))

c. Alyssa の水曜日の会合を検索する

(meeting-time (Hacker Alyssa P) (Wednesday ?time))

実行結果

;;; Query input:
(meeting-time (Hacker Alyssa P) (Wednesday ?time))

;;; Query results:
(meeting-time (Hacker Alyssa P) (Wednesday 4pm))
(meeting-time (Hacker Alyssa P) (Wednesday 3pm))
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»