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

問題4.69

問題4.63 のデータベースと各規則の子と孫の関係を利用する。

(assert! (rule ((great . ?rel) ?x ?y)
               (and (son-of ?x ?w)
                    (?rel ?w ?y))))

(assert! (rule ((grandson) ?x ?y)
               (grandson-of ?x ?y)))

実行結果

;;; Query input:
((great grandson) ?g ?ggs)

;;; Query results:
((great grandson) Mehujael Jubal)
((great grandson) Irad Lamech)
((great grandson) Mehujael Jabal)
((great grandson) Enoch Methushael)
((great grandson) Cain Mehujael)
((great grandson) Adam Irad)

;;; Query input:
(?relationship Adam Irad)

;;; Query results:
((great grandson) Adam Irad)
((great great . son) Adam Irad)
((great . grandson-of) Adam Irad)
((great great . son-of) Adam Irad)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»