信息理论修炼手册(0) -- 编码理论基础与乱七八糟

研究背景

编码理论中研究的核心问题为:将一串长度为k的比特序列 $c \in {0, 1}^k $​​​ 经过某种encoing,生成一串长度为n的新的比特序列 $\widetilde{c} \in {0, 1}^n$​​​​​​​​​​​​,注意这串新的比特序列可能在存储或者传输过程中被改变。如何设计encoing方法,使得即使部分信息丢失,依然可以复原最初的信息。

设计encoding的方法,很显然应该考虑如下四点:

  • (1)必须假定错误必然发生;
  • (2)必须能够在某种程度上复原原消息;
  • (3)所引入的overhead要小,即 $k/n$​ 要接近1
  • (4)必须足够高效(时间复杂度不可过高)

想同时满足上面的四点显然不是一件容易的事情,很多时候设计者需要进行权衡:比如,如果要overhead特别小,那么纠错性就很可能收到影响。

常用概念和定义

编码(Code)

A Code of block length n over an alphabet $\sum$ is $C \subseteq \sum^n$ , the element $c \in C$ are codewords

  • 案例(1)

C = {HELLOWORLD, BRUNCHTIME, ALLTHETIME} 是字母表$\sum = {A, B, … Z}$​​​ 上长度为10的一组编码

  • 案例(2)
ㄟ(●′ω`●)ㄏ
0%