Sử dụng mã sửa lỗi trong lý thuyết


39

Các ứng dụng của mã sửa lỗi trong lý thuyết bên cạnh việc sửa lỗi là gì? Tôi nhận thức được ba ứng dụng: Định lý Goldreich-Levin về bit lõi cứng, việc xây dựng bộ chiếtkhuếch đại độ cứng của hàm boolean (của Sudan-Trevisan-Vadhan).

Các ứng dụng 'nghiêm trọng' hoặc 'giải trí' khác của các mã sửa lỗi là gì?

CẬP NHẬT: một ứng dụng thú vị của việc giải mã danh sách mã Reed-Solomon là một giải pháp cho biến thể cụ thể của 20 câu hỏi trò chơi (và một biến thể khác, đơn giản hơn, đơn giản hơn).


1
Có lẽ tôi sẽ ngớ ngẩn, nhưng không ai nói về Định lý PCP
AntonioFa

Câu trả lời:


23

Đây là một ứng dụng đơn giản trong sự phức tạp trong giao tiếp (mà tôi thấy bây giờ cũng được mô tả trong một bình luận của Andy Drucker trên blog của anh ấy ) bên ngoài bối cảnh của sự bực bội:

Giả sử Alice và Bob được cung cấp các chuỗi và tương ứng và họ muốn tìm hiểu xem khoảng cách Hamming giữa và có nhiều nhất là (trong đó là một hằng số cố định). Chúng tôi muốn chứng minh sự phức tạp trong giao tiếp bị ràng buộc thấp hơn cho vấn đề này. Quan sát là bất kỳ giao thức xác định nào cho vấn đề này đều mang lại một giao thức xác định có cùng số vòng để kiểm tra đẳng thức của hai chuỗi và có độ dài trong đó là hằng số phụ thuộc vào . Tại sao? Để kiểm tra sự bằng nhau củay x y ε n ε một b c n c < 1 ε một b C ( một ) C ( b ) C εxyxyϵnϵabcnc<1ϵavà , Alice và Bob có thể chạy giao thức cho vấn đề đầu tiên trên và trong đó là một lỗi sửa mã với khoảng cách ít nhất là . Vì có một giới hạn tuyến tính thấp dễ dàng cho vấn đề bình đẳng, điều này cũng mang lại giới hạn dưới tuyến tính xác định cho vấn đề đầu tiên.bC(a)C(b)Cϵ


Ứng dụng rất gọn gàng!
ilyaraz

1
Nhưng ... Không phải chúng ta chỉ cần đệm với số lượng không đủ và - theo số đó sao? yxy
ilyaraz

ilyaraz - nếu chúng ta làm điều đó, thì ngay cả khi x, y bằng với bắt đầu, họ sẽ có khoảng cách Hamming lớn sau khi đệm. Điểm của việc sử dụng bản đồ C () là để duy trì sự bình đẳng trong khi cũng 'khuếch đại' bất đẳng thức.
Andy Drucker

Nhưng chúng tôi muốn phân biệt hai tình huống: trọng lượng Hamming nhỏ và trọng lượng Hamming lớn. Tại sao chúng ta muốn quan tâm đến việc giữ gìn sự bình đẳng?
ilyaraz

3
Việc sử dụng thú vị nhất của ý tưởng này thực sự là để chứng minh giới hạn trên về độ phức tạp giao tiếp ngẫu nhiên của đẳng thức: chỉ cần so sánh một bit ngẫu nhiên từ C (a) và C (b). Nếu a = b thì bạn chắc chắn sẽ có được sự bình đẳng, nếu không, bạn có xác suất epsilon để có được bất đẳng thức. Điều này đòi hỏi các bit O (logn) (để chọn chỉ số của bit được so sánh) và nếu các bên có tính ngẫu nhiên chung thì độ phức tạp chỉ là O (1).
Noam

17

Có một số lượng lớn các ứng dụng mã sửa lỗi trong khoa học máy tính lý thuyết.

Một ứng dụng cổ điển [mà tôi nghĩ không được đề cập ở trên] là xây dựng các bộ trích xuất / lấy mẫu ngẫu nhiên; xem, ví dụ, ở đây: http://people.seas.harvard.edu/~salil/cs225/spring09/lecnotes/list.htmlm

Ngoài ra còn có nhiều ứng dụng cho mật mã, và tôi chắc rằng một trong những độc giả có hiểu biết sẽ rất vui khi giải thích :)


Tôi nghĩ rằng OP đã đề cập đến việc xây dựng trình trích xuất của Trevisan trong câu hỏi.
Suresh Venkat

14

Đây là một ứng dụng mới, làm nóng báo chí! Một báo cáo ECCC mới của Or Meir có bản tóm tắt này:

Định lý IP, khẳng định rằng IP = PSPACE (Lund và cộng sự, và Shamir, trong J. ACM 39 (4)), là một trong những thành tựu chính của lý thuyết phức tạp. Các bằng chứng đã biết của định lý dựa trên kỹ thuật xác định, biến đổi một công thức Boolean được định lượng thành một đa thức liên quan. Trực giác làm cơ sở cho việc sử dụng đa thức thường được giải thích bởi thực tế là đa thức tạo thành mã sửa lỗi tốt. Tuy nhiên, các bằng chứng đã biết dường như phù hợp với việc sử dụng đa thức và không khái quát hóa thành các mã sửa lỗi tùy ý.

Trong công việc này, chúng tôi chỉ ra rằng định lý IP có thể được chứng minh bằng cách sử dụng các mã sửa lỗi chung. Chúng tôi tin rằng điều này thiết lập một cơ sở nghiêm ngặt cho trực giác đã nói ở trên và làm sáng tỏ thêm về định lý IP.


Tôi thấy bình luận của bạn, khi tôi có ý định đăng cùng một bài. Tốt đẹp!
ilyaraz

8

Có một loạt các bài báo về steganography và tính toán bí mật (bắt đầu từ đây ) về cơ bản yêu cầu các mã sửa lỗi. Họ mô hình các cuộc gọi tiên tri thất bại để rút ra từ một phân phối tùy ý dưới dạng nhiễu trong kênh.


7

Một vài ví dụ khác:

  • Xây dựng không gian mẫu độc lập -biased k khôn ngoan (ví dụ, Naor-Naor, STOC'90 ). Trên thực tế, họ sử dụng ECC hai lần: lần đầu tiên để xây dựng các không gian mẫu có thiên vị , sau đó chuyển đổi chúng thành các không gian độc lập k-khôn ngoan.ϵϵϵ

  • Cải thiện giảm kích thước ngẫu nhiên nhanh (Biến đổi nhanh Johnson-Lindenstrauss), trong Ailon-Liberty, SODA'08 .


Câu trả lời rất hay!
ilyaraz

7

Các mã sửa lỗi được sử dụng trong mật mã để giải quyết vấn đề đối chiếu thông tin : Alice và Bob muốn thống nhất về khóa K bắt đầu từ các chuỗi X và Y tương ứng. (Một ví dụ về tình huống này là một giao thức dựa trên kênh ồn ào, với Alice gửi X cho Bob.) Một giải pháp là khiến Alice gửi một số thông tin sửa lỗi C cho Bob để anh ta có thể xây dựng lại X. Tất nhiên, vấn đề không đơn giản như vậy: vì C rò rỉ một số thông tin cho đêm giao thừa, chúng ta cần thực hiện khuếch đại quyền riêng tư để lấy được khóa bí mật. Điều này có thể được thực hiện với hàm băm 2 phổ, được đảm bảo bởi bổ đề băm còn sót lại.

Gần đây, các trình trích xuất mờ được giới thiệu như một biến thể của các trình trích xuất chống nhiễu: chúng trích xuất một chuỗi R ngẫu nhiên đồng nhất từ ​​đầu vào W của nó và cũng tạo ra một "dấu vân tay" P để nếu đầu vào thay đổi thành một chuỗi tương tự W ', chuỗi ngẫu nhiên R có thể được phục hồi từ P và W '. Việc xây dựng các trình trích xuất mờ cũng dựa vào các mã sửa lỗi.


6

Andy Drucker đã đề cập đến cuộc khảo sát của Trevisan [Tre04] trong một bình luận cho một câu trả lời khác , nhưng tôi nghĩ rằng nó nên được đề cập trong một phông chữ lớn hơn!

[Tre04] Luca Trevisan. Một số ứng dụng của lý thuyết mã hóa trong độ phức tạp tính toán. Quaderni di Matematica , 13: 347 Tai424, 2004. http : //www.cs.ber siêu.edu / ~ luca / pub / cadingsurvey.pdf


6

Thật vậy, như Dana đã đề cập, có rất nhiều ví dụ.

Trong các mã sửa lỗi tính toán khả năng chịu lỗi là rất quan trọng. Tôi nghĩ rằng bài báo năm 1988 của Ben-Or Goldwasser và Wigderson Các định lý về tính toán phân tán lỗi không mã hóa , trong khi không trích dẫn rõ ràng kết quả sửa lỗi mã có hương vị ECC.

Tất nhiên, "định lý ngưỡng" cho phép tính toán lượng tử chịu lỗi phụ thuộc một cách rất quan trọng vào các mã sửa lỗi lượng tử là các chất tương tự lượng tử của ECC thông thường.
( Bài viết Wikipedia cho định lý ngưỡng chắc chắn cần có công việc; Nhưng bài viết về sửa lỗi lượng tử thì tốt hơn.)


5

Kiểm tra danh sách các giấy tờ ECCC được gắn thẻ "mã sửa lỗi" .

Tìm hiểu danh sách đó, bạn sẽ thấy rằng có một mối liên hệ giữa các mã sửa lỗi và các PCP (Tôi không biết liệu bạn có xem đây là một ứng dụng hay không "ngoài việc tự sửa lỗi.") Và cả việc học PAC .


2
Cụ thể, các mã được gọi là "mã có thể kiểm tra tại địa phương" (LTC) có sự tương đồng gần gũi với các PCP và các ý tưởng được sử dụng trong việc xây dựng LTC cũng rất hữu ích trong việc xây dựng các PCP. Ngoài ra, tôi không chắc cuộc khảo sát của Trevisan "Một số ứng dụng của lý thuyết mã hóa trong độ phức tạp tính toán" đã được đề cập, nhưng đó là một tài liệu tham khảo tốt cho câu hỏi của bạn.
Andy Drucker

4

Đối với một tài khoản rất hay về cách sử dụng mã sửa lỗi trong một tình huống thực tế cụ thể, hãy xem:

Toán học về đĩa compact, của Jack H. Van Lint, trong Toán học ở mọi nơi, M. Aigner và E. Behrends (biên tập viên), Hiệp hội toán học Hoa Kỳ, 2010

(Cuốn sách này là bản dịch từ bản gốc tiếng Đức.)


3

Một ứng dụng khác là trong mã xác thực. Đây thực chất là các bảng mã được thiết kế để phát hiện bất kỳ sự giả mạo nào với thông điệp và về cơ bản dựa vào sửa lỗi. Điều này có phần nhiều hơn là sửa lỗi đơn giản, có xu hướng đòi hỏi phải đưa ra các giả định về cấu trúc của tiếng ồn.


2

Mã sửa lỗi đã có các ứng dụng trong kiểm tra thuộc tính:

(Xin lỗi, đây là một chút thiên vị đối với các bài báo mà tôi là đồng tác giả, chủ yếu là do tôi quen với những điều đó.)


1

Chúng tôi tin rằng mật mã khóa công khai dựa trên mã là hậu lượng tử. Trên thực tế, mật mã cơ sở mã có kỷ lục lịch sử dài nhất trong số các lược đồ khóa công khai sau lượng tử, nhưng kích thước khóa có vẻ lớn về mặt chính xác, như 1MB trong McBits .

Chúng tôi cũng sử dụng mã sửa lỗi trong mật mã khóa công khai dựa trên mạng, sử dụng giai đoạn đối chiếu như Felipe Lacerda đã đề cập. Trên thực tế, đặt cược tốt nhất hiện tại của chúng tôi cho một trao đổi khóa sau lượng tử là lược đồ Module-Lwe Kyber (dựa trên mạng tinh thể).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.