"Chapter 4 presents the reconstruction of GPS, the General Problem Solver. The Implementation follows the STRIPS approach."
とのこと。ざっとみてみると、AIプロジェクトの進め方の例となっているみたい。そういう意味で、後続の章の基礎となりそうだから、丁寧にやろう。
- IPL (wikipedia)
- AIプログラミングの5ステップ(境界は流動的)
- Describe
- Specify
- Implement
- Test
- Debug and analyze
- Describe
- ふむ。今でいうと、プロセス構成としては平凡かな。いや、TestのいくつかはSpecifyの際に書いとくというのが、最近か。
- 4.1 Stage 1: Description
- means-ends analysis (wikipedia)。
- 4.2 Stage 2: Specification
- 特になし。
- 4.3 Stage 3: Implementation
- アルゴリズムが集合論とマッチしているときは、CLでもListをSetとして扱ってそのまま実装しちゃうのがいい感じ。
- シンボルのハイフンネーミングはよくない。son-at-homeは(son at home)のほうがよい。なぜかというと、語彙が増えたとき、ハイフンネーミングだとシンボル数が無用に増えるから。なるほど。
- 4.4 Stage 4: Test
- 特になし。
- 4.5 Stage 5: Analysis, or "We Lied about the G"
- 昔ながらのプログラミングは、仕様を満たすというのが目的だが、AIプログラミングは、新しい問題領域を開拓することが目的なこともある。なので仕様は曖昧であり、バグの概念も曖昧である。
- AIプログラミングはそもそもアジャイル、ということか。
- ここからの節はStage 5。
- 4.6 The Running Around the Block Problem
- "driving from home to school"というオペレータは表現が簡単。ここで簡単、というのはprecondsやadd-listやdel-listを構成できるということ。
- では、"running around the block"というようなのはどうだろう。これはdrivingと同じようには表現できない。drivingのときは、どこに居る、とかをprecondsとかにできたがrunningはできない。そうするとそれを表現するために"got some exercise"とかを考えなければいけない。
- この問題は後程扱う。
- 4.7 The Clobbered Sibling Goal Problem
- 「身内のgoalを使っちゃう」問題。
- 先程作ったGPSでは、goalが複数あるときにうまく機能しないことがある。goalsについて検査を進めていくときに、pass済みのgoal条件であるシンボルを、後続のgoalの実現のために消費してしまうケースがあるということ。
- この問題の発見者?はGerald Sussman。SICPの人だな。いろいろ繋っているなぁ。
- achieve-allで解決できる。
- 4.8 The Leaping before You Look Problem
- 「見るまえに飛べ」問題。
- 複数goalがある場合。例えば一つ目のgoalは達成できるが、二つ目はnilの場合。今のGPSのつくりだと、一つ目を達成する行動をしてしまって、二つ目を調べたところでnilとなる。
- 目的全体が達成できないならば、行動しない方がよい。計画してから行動する、というように変更しなければならない。
- 4.9 The Recursive Subgoal Problem
- 「どうどうめぐり」問題。
- subgoalsの組み合わせによっては無限ループが発生しうる。
- GPSにはループ検知機構が必要。
- 4.10 The Lack of Intermediate Information Problem
- nilになった場合の過程がわからない。デバッグ出力が無いのがよろしくない、という問題。
- dbgという関数をつくり、出力先として*debug-io*を使う。
- 4.11 GPS Version 2: A More General Problem Solver
- (mapc #'convert-op *school-ops*) でデータを一発で書き換えるという進め方、すごい。こういうことができるように使い熟していかねば。
- とりあえず、Version 2の写経まで。
シプサを途中までやってあるので、なんとか、GPSを計算理論上の文脈で捉えつつ読み進めることができている。
こつこつ。
0 件のコメント:
コメントを投稿