[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00698] 第 25 回議事録
------------------------- infoseek ML Sponsor --------------------------
┏━┳━┳━┳≪資格の大原 合格Web 税理士講座 ≫━┳━┳━┳━┳━┓
┃大┃原┃税┃理┃士┃講┃座┃!┃合┃格┃者┃の┃84┃%┃が┃受┃講┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
★パソコンさえあれば自宅で学べるのが合格Web!24時間いつでも何度でも受講
┗ http://www1.ibc.ne.jp/ad/ibc0088.html
------------------------------------------------------------------------
えんどうです。
図もあるのですがとりあえず文字だけpostします。
2002/09/28 タイムインターメディア大会議室
和田先生 えんどう
------------------
野中さん | | 小林さん
牧瀬さん | | 金山さん
| | 山下さん(午後から)
------------------
4.4 章の復習
p.263 データベースの例
p.264
論理型プログラミングについて和田先生が説明するとき、
こういうものは無いに違いないとユーザーが聞くと、
コンピューターがそうではない、
と反例を示すのが論理型プログラミング、と説明する。
(job ?x (computer ?type)) と尋ねると、
(computer wizard) (computer programmer) (computer technician) は
該当するが、(computer programmer trainee) は該当しない。
なぜなら、
(computer programmer trainee)
↓
(computer . (programmer trainee))
~~~~~~~~~~~~~~~~~~~~~
第2要素はアトムでなくリストであるから
(a b c)
↓
(a . (b . (c . ())))
+---+ +---+ +---+
|a|-|-->|b|-|-->|c|/|
+---+ +---+ +---+
(job ?x (computer . ?type)) と質問すると
(job (reasoner louis) (computer programmer trainee))
も該当する。
(assert! (job (adc) (computer . programmer))) を入力しておくと、
(job ?x (computer . ?type)) に対してこれも該当する。
p.265 合成質問
and, or, not を使う
p.269 プログラムとしての論理
append 演算の説明
p.270
4.4.2 質問システムはどう働くか
p.158 の2次元の表が使われている
?x という質問をすると、内部では (? x) というリストになる。
(qeval (job ?p ?j) (singleton-stream '()))
を実行すると、
(((? j) administration secretary) ((? p) aull dewitt))
:
(((? j) computer wizard) ((? p) bitdiddle ben))
のようなframeのstreamが返ってくる
*質問システムは stream を使っているので解析しにくい。
また、あちこちで delay を使っているので途中結果を調べにくい。
"SICP Instractor's Guid" という本の話題:
プログラムの内部的な仕組みが詳しく書いてある?(和田先生)
山下さんの話によると詳しい説明はなく、
「ここでこういう宿題を出すと良い」などと書いてあるらしい。
apply-rules! のように ! を付けたほうが良い?(野中さん)
p.279 query-driver-loop の説明(和田先生)
p.289
map-over-symbols の説明
expand-question-mark の説明
p.290
(? 2 x) を ?x-2 と印字するための処理の説明
4.4の説明を録音しておけば良かった(和田先生)
p.280
4.4.4.2 評価器
qeval の定義
query のtype (job とか and とか)によって表から get してくる
単純質問
simple-query の説明
p.286
4.4.4.5 データベースの保守
p.282
4.4.4.3
pattern-match の説明
pat (job (? p) (? j))
dat (job (hacker alyssa p) (computer programmer))
p.290
4.4.4.8 フレームと束縛
extend の説明
休憩(昼食)
Macintosh の Gambit という処理系でストリームを動かすには?
マクロとバッククォートの説明 (SICPには出てこない)
(define-macro ((cons-stream h t)
`(cons ,h (delay ,t)))
(list 'cons h (list 'delay t))
'(a b c)
`(a b c)
`(a ,(+ 1 2) c) = (list 'a (+ 1 2) 'c)
utlisp では
'`(a ,(+ 1 2) s)
(list (quote a) (/+ 1 2) (quote s))
'`(cons ,t (delay ,h))
(list (quote cons) t (list (quote delay) h))
readマクロの説明 --> p.289 註 81
p.278
問題 4.68
ループ検出器 考え直し
4章の残りの問題 保留
p.293
5 レジスタ計算機での計算
5.1 レジスタ計算機の設計
下から6行め「aとbのを覚えて」→「aとbを覚えて」
p.295
問題 5.1
5.1.1 レジスタ計算機の記述言語
p.296
問題 5.2
(controller
(assign p (const 1))
(assign c (const 1))
test-c
(test (op >) (reg c) (reg n))
(branch (label factorial-done))
(assign t (op *) (reg c) (reg p))
(assign p (reg t))
(assign s (op +) (reg c) (const 1))
(assign c (reg s))
(goto (label test-c))
factorial-done)
p.297
働き
p.298
5.1.2 計算機設計における抽象
問題 5.3
(controller
(assign x (op read))
(assign guess (const 1.0))
iter
(assign g2 (op *) (reg g) (reg g))
(assign g3 (op sub) (reg g2) (reg x))
(assign g4 (op abs) (reg g3)
(test (op <) (reg g4) (const 0.001))
(branch (label sqrt-done))
(assign g5 (op /) (reg x) (reg g))
(assign g6 (op +) (reg g5) (reg g))
(assign g7 (op /) (reg g6) (const 2))
(assign g (reg g7))
(goto (label iter))
sqrt-done
(perform (op print) (reg g)))
p.299
5.1.3 サブルーチン
p.302
5.1.4 再帰を実装するためのスタックの使用
p.303
二重再帰
p.305
p.21の図 1.5の通りに計算している。
次回は 問題 5.4 から。
高林さんの「Schemeでメール処理」記事の話題、
Henry S. Warren, Jr. "Hacker's Delight" の話題
次回 11/9 (土) (第2土曜日)
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.javaopen.org/yasuyuki/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)
------------------------------------------------------------------------
★モー娘も応援の『○○○』、すっすごいっ!
http://www.infoseek.co.jp/Special?pg=quidam_if.html&svx=971122