作者輕飄飄地就給出了cost function的另外一種關(guān)鍵的描述,而對(duì)于如何發(fā)現(xiàn)這種描述卻只是一語(yǔ)帶過(guò):"There is another way to write this cost function that is very helpful..?we can define the frequency of any internal node to be the sum of the frequencies of its descendant leaves“這其實(shí)就是我常常痛恨的“我們考慮…”,這里作者其實(shí)就是在說(shuō)”讓我們考慮下面這樣一種奇妙的轉(zhuǎn)換“,可是怎么來(lái)的卻不說(shuō)。但必須承認(rèn),《Algorithms》的作者還是算厚道的,因?yàn)楹竺嫠稚晕⒔忉屃艘幌拢骸皌his is, after all, the number of times the internal node is visited during encoding or decoding…”這個(gè)解釋就有點(diǎn)讓人恍然大悟了,但是千萬(wàn)別忘了,這種恍然大悟是一種錯(cuò)覺(jué),你還是沒(méi)明白為什么他會(huì)想到這一點(diǎn)。這就像是作者對(duì)你說(shuō)“仔細(xì)觀察問(wèn)題條件,我們?nèi)菀装l(fā)現(xiàn)這樣一種奇妙的性質(zhì)..”,怎么個(gè)“仔細(xì)”法?憑什么我自己“觀察”半天就是發(fā)現(xiàn)不了呢?霍夫曼本人難道也是死死盯著問(wèn)題“觀察”了一學(xué)期然后就“發(fā)現(xiàn)”了么?我們有理由相信霍夫曼肯定嘗試了各種各樣的方法,作出了各種各樣的努力,否則當(dāng)年Shannon都沒(méi)搞定的這個(gè)問(wèn)題花了他一學(xué)期,難道他在這個(gè)學(xué)期里面大腦就一片空白(或者所有的嘗試全都是完全不相干的徒勞),然后到學(xué)期末尾忽然“靈光一現(xiàn)”嗎?如果“仔細(xì)觀察”:),我們會(huì)發(fā)現(xiàn)兩個(gè)cost function表達(dá)中frequency的概念有微妙的差異,在第一個(gè)cost function中,只有葉子節(jié)點(diǎn)有frequency,而這個(gè)frequency必須和葉子節(jié)點(diǎn)的深度相乘。而在第二個(gè)cost function中,內(nèi)部節(jié)點(diǎn)也具有了frequency,可是所有節(jié)點(diǎn)的“frequency”忽然全都不跟深度相乘了。frequency的不同含義令人困惑。
總而言之,看書(shū)沒(méi)有經(jīng)過(guò)那個(gè)反復(fù)探索的 過(guò)程,而這個(gè)過(guò)程是加深記憶、形成經(jīng)驗(yàn)的關(guān)鍵,但恰恰這個(gè)過(guò)程是作者很難通過(guò)寫(xiě)作表達(dá)出來(lái)的,因?yàn)樗爆崱o(wú)聊、漫長(zhǎng),說(shuō)不定還反映了作者起初的水平不行,因此就被過(guò)濾掉了,但這是成長(zhǎng)進(jìn)步的精華部分,就像一個(gè)比喻,人們吃了肉,把骨頭丟給狗,但骨頭恰恰是最精華的部分