2013年10月25日金曜日

開発環境

計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の4(超言語的抽象)、4.4(論理型プログラミング)、4.4.1(推論的情報検索)、プログラムしての論理、問題 4.63を解いてみる。

その他参考書籍

問題 4.63

;; 孫を見つけるための規則を形式化
(rule (grandson ?g ?s)
      (and (son ?f ?s)
           (son ?g ?f)))

;; 息子を見つける規則を形式化
(rule (son ?m ?s)
      (or (son ?m ?s)
          (and (wife ?m ?w)
               (son ?w ?s))))

手動で確認。

;; Cainの孫
(grandson Cain ?s)
(and (son ?f ?s)
     (son Cain ?f))
;;
(grandson Cain ?s)
(and (son Enoch ?s)
     (son Cain Enoch))
;;
(grandson Cain Irad)
(and (son Enoch ?Irad)
     (son Cain Enoch))
;; ということで、Cainの孫はIrad

;; Lamechの息子たち
(son Lamech ?s)
(or (son Lamech ?s)
    (and (wife ?lamech ?w)
         (son ?w ?s)))
;;
(son Lamech ?s)
(and (wife lamech Ada)
     (son Ada ?s))
;; ということで、Lamechの息子はJabalとJubal

;; Methushaelの孫たち
(grandson Methushael ?s)
(and (son ?f ?s)
     (son Methushael ?f))
;;
(grnadson Methushael ?s)
(and (son Lamech ?s)
     (son Methushael Lamech))
;;
(grandson Methushael ?s)
(and (and (wife Lamech ?w)
          (son ?w ?s))
     (son Methushael Lamech))
;;
(grandson Methushael ?s)
(and (and (wife Lamech Ada)
          (son Ada ?s))
     (son Methushael Lamech))
;; よって、Methushaelの孫たちは、JabalとJubal

質問システムの実装はまだ(この先に実装もあるみたい)なので、実装できたら入出力結果を確認してみることに。

0 コメント:

コメントを投稿