第137回 素人くさいSICP読書会(at 三田某所)
- 会場提供ありがとうございました。
- 2008年最後の回
- 自分、やる気なし
- 酒飲みたいと騒いでたら、なぜか冷蔵庫から缶チューハイが出てきた。ありがとうございました
- 問題4.58
- とりあえずホワイトボードで
- naoya_tさんが動く処理系のコードをwikiにアップしてくれたのでありがたく使うことに
最初に書いたコード。これだと社長しかひっかからなかった
(rule (big-shot ?person) (and (job ?person (?section . ?type1)) (or (not (supervisor ?person ?boss)) (not (job ?boss (?section . ?type2))))))
hisaさんの答え。略しすぎで×
(rule (big-shot ?person) (and (job ?person (?sec . ?t1)) (job ?boss (?sec . ?t2)) (not (supervisor ?person ?boss)) (not (same ?person ?boss))))
で、なぜか最初の答えのor-notをnot-andにしたらうまく動いた。これが正解っぽい。なぜ最初のが動かないのが謎。notの挙動のせいか?
(rule (big-shot ?person) (and (job ?person (?section . ?type1)) (not (and (supervisor ?person ?boss) (job ?boss (?section . ?type2))))))