開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- Scheme (プログラミング言語)
- MIT/GNU Scheme (処理系)
計算機プログラムの構造と解釈(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 コメント:
コメントを投稿