★★ Java の宿題ここで答えます Part 52 ★★
■ このスレッドは過去ログ倉庫に格納されています
0295デフォルトの名無しさん
2005/07/11(月) 23:55:15【 課題 】
情報源から出力されるアルファベットとして
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f}
の16 文字を考え,符号語は{0, 1} の系列を考えるものとする.情報源からの出力系列を与えると,各文字の出力確率を計算する.
file 名は“prob. 拡張子” とすること.各文字の出力確率を与えると,符号語を生成する.符号化方法としては,
Fano 符号,Shannon-Fano 符号,Shannon-Fano-Elias 符号,Huffman符号のいずれを用いても良い.
file 名は“codeword *. 拡張子” とすること.なお“*” には符号化法を示すためf, sf, sfe, h のいずれかを用いること.
符号語と情報源からの出力系列を与えると,符号化された系列を出力する.
file 名は“encode. 拡張子” とすること.符号語と符号化された系列を与えると,力系列に復号する.
file 名は“decode. 拡張子” とすること.
プログラムの使い方の説明の例UNIX のcommand line 上での使用を考えた場合,
次のような一連の操作によって,符号語の生成および符号化/復号化が行うことができる.
> prob data.txt prob.tbl
> codeword prob.tbl code.tbl
> encode code.tbl data.txt encode.txt
> decode code.tbl encode.txt decode.txt
ただし,各ファイルは以下のようなものである.
(ここでは簡単のためアルファベットが{0, 1, 2, 3} の4 文字の場合の例を記述する)
data.txt 出力系列のファイルで,
1023112201010230.....
のような文字列が入っている.
prob.tbl 出力確率のファイルで,各出力文字の出現確率がアルファベットの順に{0.55,0.25,0.15,0.05}のように行毎に記述されている.
code.tbl 符号語のファイルで,各出力文字に対する符号語がアルファベットの順に{0,10,110,111}のように行毎に記述されている.
encode.txt 符号化された系列のファイルで,{10011011110101101100...}のような符号語の系列が入っている.
decode.txt 復号化された系列のファイルで,{102311220.....}のような文字列が入っている.
【期限】 7月15日23時59分
どうかよろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています