読書会も急がば回れ

疲れすぎていて読書会に30分ばかり遅刻してしまうが、なんとか間に合う。昨日の途中までは比較的簡単なところだったが、昨日の後半から難しいところに入っていて、いろいろとしんどい。Knuth 先生の英文、そこまで難しい単語を使っているわけでも、ややこしい文法を使っているわけでもないのだが、かなり行間を読まないといけないのである。むしろこれは1文1文を Twitter にポストして鑑賞するほうがいいくらいではなかろうか。

午後、自分たちの担当グループの番。@pavlocat くんはアルゴリズムRuby で書き下し、Ruby バージョンと付き合わせる形で説明してくれて、丁寧でよかった。というか、Knuth 先生の書き方だとアルゴリズムがいくらネストしていてもインデントもなにもないので、やっていることは分かってみれば大したことないのに、一見読むと分かりにくいとか、そういう箇所がけっこう多い。(行間を読む、の中に、行間を読みつつアルゴリズムは脳内コンパイルする、というのも入っているのだろうか)  そういえば、大学で教育用計算機システム相談員をしていたとき、学部生の書いた Perl スクリプトや C のプログラムのデバッグを手伝ったりもしたのだが、全くインデントがないあるいはインデントが滅茶苦茶なプログラムを書く人も少なくなかったのを思い出した。

決められた時間で本を読まなければならない、という場合、時間が足りなくなったとき1文1文全部やっていると終わらなさそうだが、こういうのは高速に全部をざーっとやるより、飛ばすところは完全に飛ばしてもよいので、読むところはちゃんと段落単位くらいでしっかり読んでなにをやっているのか理解するほうが、読後感はよいように思う。緩急をつけるというか、飛ばしてもよいかどうかの判断は、事前に読んできた人でないと分からないので、そこだけガイドしてくれるといいというか……。

M1 のとき、統計的自然言語処理の基礎勉強会で英文の教科書を読んでいたのだが、決められたスケジュールで終わらせることが大事だからとにかく議論とかどうでもいいので先に進めたい、という人(1名)と、いやいや内容をちゃんと理解したいので延長してでもいいからしっかりやりたい、という人(残り全員)とで意見が割れ、松本先生まで介入して調整した (しっかりやることになった) ということがあったが、結局その後今年に至るまでその教科書を最後の章まで全部やり終えた学年は自分たちの代だけのようだし、ものすごい勢いで全体を舐めるくらいなら、分かる範囲だけでもしっかりやるほうがいいのではないか、と思うのである。

というわけで、結局具体例はほとんど飛ばしたが、それ以外重要なところはちゃんと文章を追う形で説明し、15分延長させてもらって自分の担当の範囲までを終了。3日間かかってようやく

Art of Computer Programming, Volume 4, Fascicle 0, The: Introduction to Combinatorial Algorithms and Boolean Functions

Art of Computer Programming, Volume 4, Fascicle 0, The: Introduction to Combinatorial Algorithms and Boolean Functions

を読了。これは大変だわ……。

17時半に終わって研究室に戻るが、どうも具合が悪いので18時半に帰宅 (秘書さんより早かった)。帰って倒れ込むように寝る。風邪の引き始めか、疲労が蓄積しているせいか分からないが……。