5/7 課題 「Excelを使った平均情報量の計算」
課題内容
Excelを使った平均情報量の計算のページに従って,作成した
ファイル「 report.xlsx 」をITC-LMSITC-LMS「0030577 情報」の
課題「Excelを使った平均情報量の計算」から提出してください.
途中で使うEntropyData.zip というファイルは,ITC-LMSITC-LMS「0030577 情報」の教材「5/7課題用データ」の中からダウンロードできます.
課題のURLにもあるように,「平均情報量」は「エントロピー」とも呼ばれます.熱力学のエントロピーと本質的には同じです.
「圧縮率」としては,日本で良く使われる「圧縮後のファイルサイズ / 圧縮前のファイルサイズ」を入れてください(0.5 と書いても50%と書いてもOK).この定義は適切ではないという議論もありますが(「圧縮率が高い」というと意味が逆になる),広く使われているので,ここではこれを使います.
Excelを使った平均情報量の計算のページでは課題のファイル名として,report.xls と書いてあるところがありますが,report.xlsx と読み替えてください.
締切
5/21(火) 23:59
注意
- 学生証番号によって対象とするファイルが異なるので,他の人と同じ結果にならな
いことがあります.
- 作成されるzipファイルのサイズはどのOSのどの圧縮ツールと使うかによって変わり
ます.課題ページに書かれた方法に従ってzipファイルを作成してください.
質問と解答
- Q.
- 6. ZIP形式の圧縮で,ターミナルをzipファイルを作成していますが, 「cd ディレクトリ」,「zip 圧縮ファイル 元ファイル」などが何をやっているかわかりません.
- A.
- これらで何をやっているかを理解するには、はいぱーワークブック「14.4 コマンドを使ったファイル操作」やはいぱーワークブック「15. コマンド」を読んでみてください。
- Q.
- ファイルを圧縮するなら,ターミナルからコマンドでやらなくても良いのでは?
- A.
- macOSに標準で入っているファイルマネージャーである Finder ではzip形式の圧縮ファイルをはいぱーワークブック「14.3.5 ファイルの圧縮」 の方法で作成することができます.ただ,これを使ってconstitution.txt(868バイト)を圧縮したファイル constitution.txt.zip はサイズが 1067バイトと,元よりも大きくなってしまいました.これは,作成するzipファイル中に
ssh0-01m:entropy 5320954122$ unzip -t constitution.txt.zip
Archive: constitution.txt.zip
testing: constitution.txt OK
testing: __MACOSX/ OK
testing: __MACOSX/._constitution.txt OK
No errors detected in compressed data of constitution.txt.zip.
のようにmacOS固有の情報(リソースフォークとメタデータ)も含んでしまっているためです.WinArchiver Lite など別の圧縮ツールを使えば,この問題は避けることがはできます,この演習では「ターミナルからコマンドを入力する」という経験を重視してこのようにしています.
- Q.
- 「ファイルの文字ごとの出現頻度を計測する」,「出現頻度をもとに平均情報量を求める」,「グラフを書く」という目的だったら,Excelを使うよりはGoogle Colaboratoryなどを使ってできるのでは?
- A.
- この演習ではExcelの使い方(本来の目的である表計算で使う方法)の紹介も兼ねて,この方法でおこなっています.
- Q
- 4. 数式の入力の「情報量の計算」のスライドでD3に"=-LOG(C3,2)" としているが,ここで"=IF(B3=0,0,-LOG(C3,2))"とすれば,出現回数が「0」の時に「#NUM」とする必要がないのでは?
- A.
- はい.それがわかっていれば自分でそのように修正するのは問題ありません.この演習でそのようにしていないのは,「条件判断が分からなくても使える」,「本来は計算式を入れたいセルに直接数値を入れるという修正方法も学ぶ」のが目的です.
- Q.
- abc.txt, Alice.txt, random.txt のシートのE29で平均情報量がも止まったが,そのセルを「コピー」して「まとめ」シートの平均情報量のセルにペーストするとエラーが出た.方法はないのか?
- A.
- ペーストする時に「形式を選択してペースト」を選び,「ペーストリンク」ボタンを押してください.セルに「=abc.txt!$E$29」のようにシート名も含めて参照を書くのと同じことになります.
- Q.
- zipは出現頻度の偏り以外の性質も使って圧縮しているので,「平均符号化長の下限がエントロピーになっている(情報源符号化定理)」ことは確かめられないのでは?
- A.
- はい.その通りです.「出現頻度の偏り」のみを使った圧縮プログラムがあれば良いのですが,そのようなプログラムは実用的でないので,それ以外の性質も使ったzipを使っています.「平均符号化長の下限」に関しては何もわかりませんが,「出現頻度の偏りと平均情報量の関係」,「出現頻度の偏りと圧縮率の関係」などの傾向だけはわかると思います.