非常に奇妙なデータ チャネルを使用するためのエラー修正アルゴリズムを推奨してください。
チャネルは、Corrupter と Eraser の 2 つの部分で構成されています。
コラプターは、{'a','b','c'} のように、3 記号のアルファベットで 10000 記号からなる単語を受け取ります。
コラプターは各シンボルを 10% の確率で変更します。
例:
Corrupter input: abcaccbacbbaaacbcacbcababacb...
Corrupter output: abcaacbacbbaabcbcacbcababccb...
Eraser は破損した出力を受け取り、各シンボルを 94% の確率で消去します。
Eraser は、4 シンボルのアルファベット {'a','b','c','*'} で同じ長さの単語を生成します。
例:
Eraser input: abcaacbacbbaabcbcacbcababccb...
Eraser output: *******a*****************c**...
したがって、消しゴムの出力では、約 6%*10000=600 個のシンボルが消去されず、そのうちの約 90%*600=540 個が元の値を保持し、約 60 個が破損します。
このチャネルに最適なエラー訂正付きのエンコード/デコード アルゴリズムはどれですか?
99.99% を超える確率でデコードが成功する場合、どの程度の有用なデータを送信できますか?
このチャネルで 40 バイトのデータを送信できますか? (256^40 ~ 3^200)