開発環境
- 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.3(論理型プログラミングは数学的論理か)、無限ループ、notに関する問題、問題 4.65を解いてみる。
その他参考書籍
問題 4.65
(wheel ?person)のandの一つ目(supervisor ?middle-manager ?person)でマッチするのは、監督される人(?middle-manager)とその監督者(?person)。andの2つ目で監督される人(?middle-manager、値が束縛されている)が監督する人(?x)。
Oliverが監督する人、すなわち、(supervisor ?middle-manager (Warbucks Oliver))にマッチする一覧。
(supervisor (Bitdiddle Ben) (Warbucks Oliver)) (supervisor (Scrooge Eben) (Warbucks Oliver)) (supervisor (Aull DeWitt) (Warbucks Oliver))
よって、?middle-managerは3つの3つの値に束縛される。
次に、andの2つ目について。
?middle-managerが(Bitdiddle Ben)に束縛されている場合。
(supervisor (Hacker Alyssa P) (Bitdiddle Ben)) (supervisor (Fect Cy D) (Bitdiddle Ben)) (supervisor (Tweakit Lem E) (Bitdiddle Ben))
の3つの値が?xに束縛される場合がある。
?middle-managerが(Scrooge Eben)に束縛されている場合。
(supervisor (Cratchet Robert) (Scrooge Eben))
の1の値が?xに束縛される場合がある。
?middle-managerが(Aull DeWitty)に束縛されている場合、(Aull DeWitty)が監督する人はいないので?xに束縛される値無し。
ということで、3 + 1でWarbucks Oliverは四回出力される。
質問システムの実装はまだ(この先に実装もあるみたい)なので、実装できたら入出力結果を確認してみることに。
0 コメント:
コメントを投稿