请推荐一种使用非常奇怪的数据通道的纠错算法。
通道由两部分组成:Corrupter 和 Eraser。
Corrupter 接收到一个由 3 符号字母表中的 10000 个符号组成的单词,例如 {'a','b','c'}。
腐蚀者以 10% 的概率更改每个符号。
例子:
Corrupter input: abcaccbacbbaaacbcacbcababacb...
Corrupter output: abcaacbacbbaabcbcacbcababccb...
Eraser 接收到损坏的输出并以 94% 的概率擦除每个符号。
橡皮擦在 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)