Theoretisch fehlerkorrigierende Codes verwenden

39

Was sind theoretische Anwendungen von Fehlerkorrekturcodes neben der eigentlichen Fehlerkorrektur? Ich kenne drei Anwendungen: das Goldreich-Levin-Theorem über den harten Kern, Trevisans Konstruktion des Extraktors und die Verstärkung der Härte der Booleschen Funktion (von Sudan-Trevisan-Vadhan).

Was sind andere "ernsthafte" oder "entspannende" Anwendungen von Fehlerkorrekturcodes?

UPD: Eine amüsante Anwendung der Listendecodierung von Reed-Solomon-Codes ist eine Lösung für eine bestimmte Variante des Spiels mit 20 Fragen (und eine andere , einfachere Variante).

ilyaraz
quelle
1
Vielleicht bin ich albern, aber niemand hat über das PCP-Theorem gesprochen
AntonioFa

Antworten:

23

Hier ist eine einfache Anwendung zur Komplexität der Kommunikation (die ich jetzt auch in einem Kommentar von Andy Drucker auf seinem Blog sehe ) außerhalb des Kontextes der Derandomisierung:

Angenommen, Alice und Bob erhalten die Zeichenfolgen und y und sie möchten herausfinden, ob der Hamming-Abstand zwischen x und y höchstens ϵ n beträgt (wobei ϵ eine feste Konstante ist). Wir wollen eine untere Grenze der Kommunikationskomplexität für dieses Problem nachweisen. Die Beobachtung ist, dass jedes deterministische Protokoll für dieses Problem ein deterministisches Protokoll mit der gleichen Anzahl von Runden ergibt, um die Gleichheit von zwei Ketten a und b der Länge c n zu prüfen, wobei c < 1 in Abhängigkeit von ϵ eine gewisse Konstante istxyxyϵnϵabcnc<1ϵ. Warum? Um die Gleichheit von und b zu überprüfen , können Alice und Bob das Protokoll für das erste Problem auf C ( a ) und C ( b ) ausführen, wobei C ein Fehlerkorrekturcode mit einem Abstand von mindestens ϵ ist . Da es eine einfache lineare Untergrenze für das Gleichheitsproblem gibt, ergibt sich auch eine deterministische lineare Untergrenze für das erste Problem.abC(a)C(b)Cϵ

Arnab
quelle
Sehr saubere Anwendung!
Ilyaraz
1
xy
ilyaraz - wenn wir das tun würden, dann hätten sie, selbst wenn x, y gleich wären, nach dem Auffüllen eine große Hamming-Distanz. Der Sinn der Verwendung der Karte C () besteht darin, die Gleichheit zu bewahren und gleichzeitig die Ungleichheit zu "verstärken".
Andy Drucker
Wir wollen aber zwei Situationen unterscheiden: kleines Hamming-Gewicht gegen großes Hamming-Gewicht. Warum wollen wir uns um die Wahrung der Gleichheit kümmern?
Ilyaraz
3
Die interessanteste Anwendung dieser Idee besteht darin, eine Obergrenze für die zufällige Kommunikationskomplexität der Gleichheit zu beweisen: Vergleichen Sie einfach ein zufälliges Bit aus C (a) und C (b). Wenn a = b, dann erhalten Sie mit Sicherheit die Gleichheit, andernfalls haben Sie die Wahrscheinlichkeit epsilon, eine Ungleichheit zu erhalten. Dies erfordert O (logn) Bits (um den Index des verglichenen Bits zu wählen), und wenn die Parteien eine gemeinsame Zufälligkeit haben, ist die Komplexität nur O (1).
Noam
17

In der theoretischen Informatik gibt es eine GROSSE Anzahl von Anwendungen von Fehlerkorrekturcodes.

Eine klassische Anwendung [von der ich glaube, dass sie oben nicht erwähnt wurde] ist die Konstruktion von Zufallsextraktoren / Samplern. siehe zB hier: http://people.seas.harvard.edu/~salil/cs225/spring09/lecnotes/list.htm

Es gibt auch viele Anwendungen für die Kryptografie, und ich bin sicher, einer der informierten Leser würde sich freuen, darauf einzugehen :)

Dana Moshkovitz
quelle
Ich denke, das OP erwähnte in der Frage die Extraktorkonstruktion von Trevisan.
Suresh Venkat
14

Hier ist eine neue Anwendung, druckfrisch! Ein neuer ECCC-Bericht von Or Meir hat dies als Zusammenfassung:

Das IP-Theorem, das IP = PSPACE (Lund et al. Und Shamir in J. ACM 39 (4)) behauptet, ist eine der wichtigsten Errungenschaften der Komplexitätstheorie. Die bekannten Beweise des Theorems basieren auf der Arithmetisierungstechnik, die eine quantifizierte Boolesche Formel in ein verwandtes Polynom umwandelt. Die Intuition, die der Verwendung von Polynomen zugrunde liegt, wird im Allgemeinen durch die Tatsache erklärt, dass Polynome gute Fehlerkorrekturcodes darstellen. Die bekannten Beweise scheinen jedoch auf die Verwendung von Polynomen zugeschnitten zu sein und verallgemeinern sich nicht auf willkürliche Fehlerkorrekturcodes.

In dieser Arbeit zeigen wir, dass das IP-Theorem mit allgemeinen Fehlerkorrekturcodes bewiesen werden kann. Wir glauben, dass dies eine strenge Grundlage für die oben genannte Intuition darstellt und das IP-Theorem weiter beleuchtet.

Suresh Venkat
quelle
Ich habe Ihren Kommentar gesehen, als ich den gleichen Beitrag veröffentlichen wollte. Nett!
Ilyaraz
8

Es gibt eine Reihe von Artikeln über Steganographie und verdecktes Rechnen (beginnend hier ), die grundsätzlich fehlerkorrigierende Codes erfordern. Sie modellieren fehlgeschlagene Orakelaufrufe, um von einer beliebigen Verteilung als Rauschen in einem Kanal zu zeichnen.

Daniel Apon
quelle
7

Einige andere Beispiele:

  • ϵϵ

  • Verbesserte schnelle randomisierte Dimensionsreduktion (Fast Johnson-Lindenstrauss Transform) in Ailon-Liberty, SODA'08 .

Piotr
quelle
Sehr nette Antwort!
Ilyaraz
7

Fehlerkorrekturcodes werden in der Kryptographie verwendet, um das Problem der Informationsabstimmung zu lösen : Alice und Bob möchten sich auf einen Schlüssel K einigen, der mit (korrelierten) Zeichenfolgen X bzw. Y beginnt. (Ein Beispiel für diese Situation ist ein Protokoll, das sich auf einen verrauschten Kanal stützt, wobei Alice X an Bob sendet.) Eine Lösung besteht darin, Alice dazu zu bringen, einige fehlerkorrigierende Informationen C an Bob zu senden, damit er X rekonstruieren kann ist nicht so einfach: Da C einige Informationen an die gegnerische Eva weiterleitet, müssen wir die Privatsphäre erweitern, um den geheimen Schlüssel abzuleiten. Dies kann mit einer 2-universellen Hash-Funktion erfolgen, wie dies durch das übrig gebliebene Hash-Lemma garantiert wird.

Kürzlich wurden Fuzzy-Extraktoren als eine rauschtolerante Variante von Extraktoren eingeführt: Sie extrahieren eine gleichmäßig zufällige Zeichenfolge R aus ihrer Eingabe W und erzeugen auch einen "Fingerabdruck" P, so dass, wenn sich die Eingabe in eine ähnliche Zeichenfolge W 'ändert, die zufällige Zeichenfolge R kann aus P und W 'gewonnen werden. Die Konstruktion von Fuzzy-Extraktoren beruht auch auf Fehlerkorrekturcodes.

Felipe Lacerda
quelle
6

In der Tat gibt es, wie Dana sagte, viele Beispiele.

Bei der Fehlertoleranzberechnung sind Fehlerkorrekturcodes sehr wichtig. Ich denke, der 1988 erschienene Artikel von Ben-Or Goldwasser und Wigderson über Vollständigkeitstheoreme für nicht kryptografische fehlertolerante verteilte Berechnungen hat ECC -Charakter , obwohl die Ergebnisse der Fehlerkorrekturcodes nicht explizit zitiert werden.

Natürlich beruht der "Schwellenwertsatz", der eine fehlertolerante Quantenberechnung ermöglicht, in entscheidender Weise auf Quantenfehlerkorrekturcodes, die Quantenanaloga der gewöhnlichen ECC sind.
(Der Wikipedia-Artikel zum Schwellenwertsatz benötigt sicherlich Arbeit; der Artikel zur Quantenfehlerkorrektur ist jedoch besser.)

Gil Kalai
quelle
5

Schauen Sie sich die Liste der ECCC-Papiere an, die mit "Fehlerkorrekturcodes" gekennzeichnet sind .

Wenn Sie diese Liste durchsehen, werden Sie feststellen, dass es einen Zusammenhang zwischen Fehlerkorrekturcodes und PCPs gibt (ich weiß nicht, ob Sie dies als eine Anwendung betrachten, die "über die eigentliche Fehlerkorrektur hinausgeht") und auch PAC-Lernen .

Joshua Grochow
quelle
2
Insbesondere haben die Codes, die als "lokal testbare Codes" (Local Testable Codes, LTCs) bekannt sind, große Ähnlichkeiten mit PCPs, und Ideen, die beim Erstellen von LTCs verwendet wurden, waren auch beim Erstellen von PCPs nützlich. Ich bin mir auch nicht sicher, ob Trevisans Umfrage "Einige Anwendungen der Codierungstheorie in der Computerkomplexität" erwähnt wurde, aber das ist eine gute Referenz für Ihre Frage.
Andy Drucker
4

Um einen guten Überblick über die Verwendung von Fehlerkorrekturcodes in einer bestimmten praktischen Situation zu erhalten, schauen Sie sich Folgendes an:

Die Mathematik der Compact Disc von Jack H. Van Lint in Mathematics Everywhere, M. Aigner und E. Behrends (Herausgeber), American Mathematical Society, 2010

(Dieses Buch ist eine Übersetzung aus dem deutschen Original.)

Joseph Malkevitch
quelle
3

Eine andere Anwendung ist in Authentifizierungscodes. Hierbei handelt es sich im Wesentlichen um Codierungen, die dazu dienen, Manipulationen an der Nachricht zu erkennen, und die im Wesentlichen auf einer Fehlerkorrektur beruhen. Dies ist etwas mehr als eine einfache Fehlerkorrektur, die dazu neigt, Annahmen über die Rauschstruktur zu treffen.

Joe Fitzsimons
quelle
2

Fehlerkorrekturcode hatte Anwendungen beim Testen von Eigenschaften:

(Entschuldigung, dies ist ein bisschen voreingenommen in Bezug auf Artikel, die ich mitverfasst habe, hauptsächlich aufgrund meiner Vertrautheit mit diesen.)

Clement C.
quelle
1

Wir glauben , dass die codebasierte Kryptographie mit öffentlichen Schlüsseln postquant ist . Tatsächlich weist die Codebasis-Kryptographie den längsten Verlaufsnachweis unter den Post-Quantum-Public-Key-Schemata auf, aber die Schlüsselgrößen scheinen unpraktisch groß zu sein, wie 1 MB in McBits .

Wir verwenden Fehlerkorrekturcodes auch in der gitterbasierten Public-Key-Kryptographie, die eine Abstimmungsphase wie Felipe Lacerda verwenden. Tatsächlich ist das Modul-LWE-Schema Kyber (gitterbasiert) unsere derzeit beste Wahl für einen Austausch nach dem Quantenschlüssel.

Jeff Burdges
quelle