Skip to content

定义Definition

局部译码与局部纠错

施工中 · 内容逐步修订

Locally decodable code · Locally correctable code · Local decoding

在接收词接近某个码字时,以少量坐标查询恢复指定消息符号或指定码字符号。

形式陈述 ​

两个恢复目标 ​

采用组合块码及其单射编码器 C:Σk→ΓN,不预设随机信道。这里 Σ,Γ 为至少含两个符号的有限字母表,k,N≥1 为整数,取 0≤δ<1 与 0≤η<1/2。接收词 w 满足

dH(w,C(m))≤δN

对某个消息 m。Locally decodable code(LDC)算法接收消息索引 i∈[k],查询 w 的至多 q 个位置,并输出 mi。要求对每个 m、每个上述 w 和每个 i,

Pr[Dw(i)=mi]≥1−η.

Locally correctable code(LCC)则接收码字坐标 j∈[N],目标输出 C(m)j。译码恢复原消息,纠错恢复未污染码字;若编码不是 systematic,两类坐标没有直接对应。

错误位置由 adversary 在算法随机币揭示前固定。若对手能看到查询后临时污染被问位置,任何少查询保证都可能失效;这属于 adaptive corruption 的另一模型。

查询与平滑性 ​

算法在坐标 oracle中本地计算免费,成本是读取 wj 的次数。查询可自适应,也可一次预选;答案字母表大小决定每次返回多少 bit。

许多 LDC 还要求 smoothness:对每个允许的接收词与目标 i,任一位置被读取至少一次的概率至多 O(q/N),其中常数不随目标、位置或块长变化。这样 adversary 污染 δN 个位置时,少量随机查询不易集中撞上坏点。仅有 q 小而查询总盯同一位置,不足以抗 adversarial errors。

直觉

全局译码先重建整条消息,局部算法则把问题倒过来:目标索引先给出,算法只需从受损长码字中找到足够支撑这一符号的少量冗余关系。好的码会把每个目标分散到许多不同查询组合中,使 adversary 即使污染固定比例的位置,也难以同时破坏大多数可用视图。

Smoothness 正是在形式化这种分散性。查询少并不代表鲁棒;若所有随机路径都经过同一坐标,对手只改一个位置便能让它们一起失效。局部可恢复结构必须同时提供短关系和足够均匀的落点。

例子与边界

Repetition 的多数恢复 ​

编码一 bit b 为 C(b)=bN。取 0<γ≤1/2 与 0<η<1/2。若坏位置比例至多 1/2−γ,均匀独立查询奇数 q 个位置并取多数。每个回答正确概率至少 1/2+γ;Hoeffding 界给出

Pr[多数错误]≤e−2qγ2.

所以 q=O(γ−2log⁡(1/η)) 可恢复消息 bit。算法不读取全部接收词,但 code rate 只有 1/N;简单局部恢复是用巨大冗余换来的。

当 N 为偶数且允许恰好 N/2 个错误时,接收词可能同时离 0N 与 1N 一样近,任何算法都无法知道原消息。半径条件不是浓缩证明的技术余项,而是唯一译码的可识别边界。

Hadamard 的二查询译码 ​

对 a∈F2k,Hadamard 线性码的码字以 r∈F2k 为坐标:

C(a)r=⟨a,r⟩(mod2).

要恢复消息 bit ai,均匀抽 r,查询 wr 与 wr+ei,输出二者异或。若两个位置都未污染,则

C(a)r+C(a)r+ei=⟨a,ei⟩=ai.

每个查询位置边缘均匀;坏位置比例为 δ 时,并合界给一次试验触碰污染的概率至多 2δ;同一次试验的两个位置相关,并合界不要求它们独立。用独立重复与多数表决,对 0<η<1/2,当 δ<1/4 时优势至少 1/2−2δ>0,取 O((1/2−2δ)−2log⁡(1/η)) 次重复可把错误降至 η。只有半径与 1/4 保持固定间隔时,这个优势损失才可藏进常数。

要纠正码字符号 C(a)z,改为查询随机 r 与 r+z 并异或,因为两份正确符号之和为 ⟨a,z⟩。当 z=0 时,目标恒为零,可直接零查询返回;其余 z 使用上述二查询。这个代数恒等式分别服务 message index ei 和 codeword index z,输出语义仍不同。

参数与失败边界 ​

LDC/LCC 要同时报告 code length N(k)、rate、相对距离、纠错半径 δ、查询数 q、成功率和 alphabet。两种字母表不同时,归一化码率是 klog⁡|Σ|/(Nlog⁡|Γ|),只有字母表相同才简化为 k/N。常数查询若要求指数 block length,仍是重要但不同的 trade-off。

若接收词同时接近两个码字,目标消息不唯一;半径通常需小于码的相对距离一半。List decoding 允许输出多个候选,local list decoding 还需 advice 或候选索引,不能冒充 unique local decoder。

查询地址本身通常由随机币和目标索引决定,不能依赖未知原消息。证明若在构造查询时使用 m,就假设了要恢复的对象。

推论与应用

与全局译码和测试的区别 ​

全局 unique decoder 读取足够多接收词并输出整个 m;LDC 每次只恢复指定符号,连续询问全部 k 个消息位可能总计 kq 次查询,也可能因复用样本有不同 trade-off。单次 local guarantee 不等于存在同样成本的全消息译码。

局部可测试码要求接受合法码字、拒绝远离整个码的接收词;它不接收恢复目标 i,也不承诺输出数据。一个 tester 的拒绝 witness 不能直接变成正确符号,反过来一个 decoder 也未必能估计到整个码的距离。

局部译码还与多服务器的信息论 private information retrieval 有直接联系,但上述 smoothness 上界本身不提供隐私。例如 N 为偶数,一个目标只在前半位置均匀查询,另一个只在后半位置均匀查询;每个位置的概率都至多 2/N,服务器却能由所在半区完全识别目标。完美的单服务器视图隐私要求:对每个服务器,其收到的查询分布与目标索引无关。[1]

Hadamard 的二查询给出具体实现。两台互不串通的服务器各保存同一码字,用户向第一台发送均匀 r,向第二台发送 r+ei,收到两 bit 后异或。每台单独看到的地址都均匀分布,与 i 无关;无错误码字上答案恰为 ai。两台若合并地址,则能算出 ei,所以不串通假设不可省略。这里还要计入两条地址各 k bit、两条回答各一 bit,以及指数长度的共享编码;两次查询不等于两 bit 总通信。

参考资料
  • Jonathan Katz and Luca Trevisan, “On the Efficiency of Local Decoding Procedures for Error-Correcting Codes,” STOC, 2000, pp. 80–86.
  • Sergey Yekhanin, “Locally Decodable Codes,” Foundations and Trends in Theoretical Computer Science 6(3), 2012, pp. 139–255.
  • [1] Sergey Yekhanin, “New Locally Decodable Codes and Private Information Retrieval Schemes,” §6 Definition 21:每个服务器的查询边缘分布须与目标索引无关;该定义与本文直接验证的两服务器 Hadamard 例子采用相同隐私口径。
  • Oded Goldreich, Howard Karloff, Leonard J. Schulman, and Luca Trevisan, “Lower Bounds for Linear Locally Decodable Codes and Private Information Retrieval,” Computational Complexity 15, 2006, pp. 263–296.
关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系