next up previous
Next: 4 研究課題(換字暗号解読) Up: 情報処理II 第6回 情報の電子化 (2) Previous: 2.3 awk

3 レポート課題4

〆切は 6 月23日 (水曜)。 Subject は「情報処理II課題4」とすること。

課題4
英文中のアルファベットの出現頻度は `e' が一番高く、 その次は… などと言われ、 古典的な推理小説10の暗号11の話の種になったりしている12Gutenberg Project の中のテキストで、 そのことを確かめて見よ。 手作業ではなく、なるべくコンピューターにやらせること。 テキストごとに大きな違いがあるか?文字が別の記号に置き換えられた場合、 出現頻度情報から解読することの可能性について 論ぜよ (要するに 他の文字の出現頻度はどの程度まで一定しているのか調べる -- 実際に 試してみると良いのだけど)。 なお、 文字の頻度を調べる hindo.c というプログラムを 用意した13。(このプログラムは文字の出現頻度順には表示しないが、 sort を使えば簡単に頻度順に並べられる。どうすればいいか?今回 説明した話の簡単な応用である。)
hindo.c のコンパイルと使用例
isc-xas06% gcc -o hindo hindo.c  
isc-xas06% cat hindo.c | ./hindo  

テキスト、 あるいは作家ごとに単語の使用頻度の癖のようなものがあると思われるが、 そのことを Gutenberg テキストで実際に調べてみよ。 例えばルイス・キャロルとマークトウェインの書いたものにどの程度の差があるか?

また、できれば ~re00018/gutenberg/ に あるテキスト・ファイル以外のテキストを探して入手し (その方法も説明せよ)、 同じような解析を行なえ。


next up previous
Next: 4 研究課題(換字暗号解読) Up: 情報処理II 第6回 情報の電子化 (2) Previous: 2.3 awk
Masashi Katsurada
平成20年10月18日