受到 Nick Johnson 的博客Damn Cool Algorithms: Fountain Codes的启发,我决定尝试实现Luby Transform (LT) 代码。我只是把它推到了GitHub;它是用 Python 3 编写的。
我使用一个仅包含“hello”的非常短的文件来开发它,并在一个随机生成的 1MB 文件上进行了测试。该软件似乎可以有效地对文件进行编码和解码,仅在编码器和解码器之间共享原始文件的长度、块大小和液滴。
问题是,我应该如何证明这确实是 LT 代码的忠实实现?我如何证明解码算法是有效的?
我的意图是使用 Python 的计数引用系统删除使用过的液滴。我如何检查这确实发生了?
也欢迎对代码本身提供任何反馈,尽管它可能更适合作为评论(而不是答案)或 GitHub 上的问题。