[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00374] 「計算機プログラムの構造と解釈第二版」を読む会 第10回 議事録



「計算機プログラムの構造と解釈第二版」を読む会 第10回 議事録

日時:平成13年4月21日(土)
場所:(株)タイムインターメディア本社会議室
出席者(着席位置順、敬称略):
    
     鈴木 えんどう 
    ---------------+
                   |
                   | 坂
                   |
                   | 和田
                   |
    ---------------+
     やました 高林

読み手:鈴木
書記:やました

p.92 より

問題 2.63
a. tree->list-1、tree->list-2 はともに、二進木を in-order で辿って
   その順でリストを構成する。二つの手続きはすべての木に対して同じ結果を
   生じる。
b. tree->list-1 は append が再帰的に呼ばれるので、余分な、list 走査が起る。
   tree->list-2 は蓄積引数を使って append を使用しない copy-to-list を
   用いることで、list の余分な走査を回避している。

問題 2.64
a. プログラムをそのまんま説明するだけだど、「できる明快な短い説明」に
   ならない。((宿題))
b. 要素の数だけ、this-entry が呼ばれるので、θ(n)

問題 2.65
略

問題 2.66
p.91 の element-of-set? を改造する

2.3.4 例: Huffman 符号化木

本文の通信文の例 BACADAEAFABBAAAGAH は 18 文字なのだが、後の説明では
Aの文字が一文字すくない、17 文字の通信文を用いて説明している。
原文も同じ。なぜ?

自然言語の単語の頻度分布に関して、Zipf の法則というのがある。ということを
高林さん、和田先生が言及。

問題 2.67 - 2.70 
鈴木さんの予習を共有。
問題 2.70 の結果が変なことに気づく。
問題 2.68 は正しく動作するのに、問題 2.70 は正しく動作しない
ということで、generate-huffman-tree が使用している successive-merge
の定義を ad hoc にさわりまくる。解決しない。
これぞまさしく、「ゴンゾープログラミング」と高林さん。

結局、successive-merge コードにミスがあった。問題 2.68 が正しく
動作したのは、この問題で使用した sample-tree は 問題 2.69 の 
generate-huffman-tree を使用していない という落。

2.4 抽象データの多重表現

汎用手続き
データ主導
メッセージパッシング

p.101 最終パラグラフ2行目に誤殖とみられる字句発見
「この方法では複素数の実部を虚部の選択は、...」は
「この方法では複素数の実部と虚部の選択は、...」の誤殖と思われる。

問題 2.76 
     
   \ 型 |
演算 \  |  追加なし  | 追加あり
---------+------------+---------------------
追加なし |なんでもあり| メッセージパッシング
---------+------------+---------------------
追加あり |汎用演算    | データ主導
---------+----------------------------------

p.113 まで、
次回は、p.113 2.5.2 異るデータの統合 から

--
Nobuo Yamashita <nobsun@xxxxxxxxxxxxxxxxxx>

------------------------------------------------------------------------
◆ 「パワーアップ!検索エンジン30万馬力キャンペーン」開催中!(5/2マデ)
        http://www.infoseek.co.jp/ISCamp?svx=971122