Sei ein Alphabet, dh eine nicht leere endliche Menge. Eine Zeichenfolge ist eine endliche Folge von Elementen (Zeichen) aus . Als Beispiel ist das binäre Alphabet und ist eine Zeichenfolge für dieses Alphabet.Σ { 0 , 1 } 0110
Solange mehr als 1 Element enthält, spielt normalerweise die genaue Anzahl der Elemente in keine Rolle: Bestenfalls erhalten wir irgendwo eine andere Konstante. Mit anderen Worten, es spielt keine Rolle, ob wir das binäre Alphabet, die Zahlen, das lateinische Alphabet oder Unicode verwenden.Σ
Gibt es Beispiele für Situationen, in denen es darauf ankommt, wie groß das Alphabet ist?
Der Grund, warum ich daran interessiert bin, ist, dass ich zufällig auf ein solches Beispiel gestoßen bin:
Für jedes Alphabet definieren wir das zufällige Orakel als ein Orakel, das zufällige Elemente aus zurückgibt , sodass jedes Element die gleiche Chance hat, zurückgegeben zu werden (die Chance für jedes Element ist also ).O Σ Σ 1
Berücksichtigen Sie für einige Alphabete und - möglicherweise unterschiedlicher Größe - die Klasse der Orakelmaschinen mit Zugriff auf . Wir sind an den Orakelmaschinen in dieser Klasse interessiert, die sich genauso verhalten wie . Mit anderen Worten, wir möchten ein Orakel mit einer Turing-Maschine in ein Orakel umwandeln . Wir werden eine solche Turingmaschine als Konvertierungsprogramm bezeichnen.Σ 2 O Σ 1 O Σ 2 O Σ 1 O Σ 2
Sei und . Das Konvertieren von in ein Orakel ist einfach: Wir fragen zweimal ab und konvertieren die Ergebnisse wie folgt: , , , . Dieses Programm läuft eindeutig in -Zeit.Σ = { 0 , 1 , 2 , 3 } O Σ 1 O Σ 2 O Σ 1 00 → 0 01 → 1 10 → 2 11 → 3 O ( 1 )
Nun sei und . Für diese beiden Sprachen werden alle Konvertierungsprogramme in -Zeit ausgeführt, dh es gibt keine Konvertierungsprogramme von nach , die in -Zeit ausgeführt werden.Σ = { 0 , 1 , 2 } O ( ∞ ) O Σ 1 O Σ 2 O ( 1 )
Dies kann durch Widerspruch bewiesen werden: Angenommen, es gibt ein Konvertierungsprogramm von nach das in ausgeführt wird. Dies bedeutet, dass es ein so dass höchstens Abfragen an .O Σ 1 O Σ 2 O ( 1 ) d ∈ N C d Σ 1
d C ' C k C ' d - k C. kann in bestimmten Ausführungspfaden weniger als Abfragen durchführen. Wir können leicht ein Konvertierungsprogramm erstellen, das ausführt und verfolgt, wie oft eine Orakelabfrage durchgeführt wurde. Sei die Anzahl der Orakelabfragen. dann zusätzliche Orakelabfragen durch, verwirft die Ergebnisse und gibt zurück, was hätte.
Auf diese Weise gibt es genau Ausführungspfade für . Genau dieser Ausführungspfade wird in Folge zurückkehr . Jedoch nicht eine ganze Zahl ist , so dass wir einen Widerspruch haben. Daher gibt es kein solches Programm.C ' 1 C'02d
Allgemeiner , wenn wir Alphabete und mit und , dann gibt es genau dann ein Konvertierungsprogramm von nach wenn alle Die in der Primfaktorisierung von auftretenden Primzahlen erscheinen auch in der Primfaktorisierung von (daher spielen die Exponenten der Primzahlen in der Faktorisierung keine Rolle).Σ 2 | Σ 1 | = n | Σ 2 | = k O ≤ 1 O ≤ 2 n k
Eine Folge davon ist, dass wenn wir einen Zufallszahlengenerator haben, der eine binäre Zeichenfolge der Länge , wir diesen Zufallszahlengenerator nicht verwenden können, um eine Zahl in mit genau gleicher Wahrscheinlichkeit zu erzeugen .{ 0 , 1 , 2 }
Ich habe mir das obige Problem ausgedacht, als ich im Supermarkt stand und überlegte, was ich zum Abendessen haben sollte. Ich fragte mich, ob ich mit Münzwürfen zwischen Wahl A, B und C entscheiden könnte. Wie sich herausstellt, ist das unmöglich.
Antworten:
Es gibt einige Beispiele in der formalen Sprachtheorie, bei denen 2-stellige und 3-stellige Alphabete qualitativ unterschiedliche Verhaltensweisen ergeben. Kozen gibt das folgende schöne Beispiel (umschrieben):
quelle
Dinurs Beweis des PCP-Theorems beruht stark auf der Manipulation der Alphabetgröße.
Insbesondere ist die Gesamtstruktur des Beweises eine iterative Anwendung einer Graph-Powering-Technik, bei der ein Logarithmus in der Graphgröße mehrmals angegeben wird. Bei jeder Iteration wird das Diagramm zu einem regulären expandierenden Diagramm vorverarbeitet, das durch eine Potenz (die die Alphabetgröße in die Luft sprengt) verstärkt wird. Anschließend wird eine PCP-Komposition angewendet (wobei jede Einschränkung über ein großes Alphabet in ein System von Einschränkungen umgewandelt wird) ein kleines Alphabet).
Das implizite Ziel des Prozesses ist es, einen Weg zu finden, den Amplifikationsschritt wiederzuverwenden, bis der UNSAT-Wert ein konstanter Bruch wird (was den PCP-Satz beweist). Der entscheidende Punkt ist, dass das resultierende Diagramm nicht das ist, was für die endgültige Reduzierung benötigt wird, es sei denn, die Alphabetgröße wird jedes Mal zurückgezogen.
quelle
Die Anforderungen Ihres Beispiels sind sehr streng. Wenn Sie es nur entspannen zu verlangen , dass die Umwandlung in arbeitet in Erwartung . Es ist möglich, unter Verwendung einer konstanten Anzahl von Münzwürfen gleichmäßig aus { 0 , 1 , 2 } zu probieren .O(1) {0,1,2}
Ich bin kein Experte in diesem Bereich, aber ein schönes Beispiel dafür, dass die Größe des Alphabets eine Rolle spielt, sind Codierung und prägnante Datenstrukturen. Stellen Sie sich vor, Sie möchten eine Nachricht über dem Alphabet im Alphabet { 0 , 1 } darstellen (z. B. um sie in Ihrem Binärcomputer zu speichern). Sie möchten den erforderlichen Speicherplatz minimieren, aber gleichzeitig einzelne Zeichen der Nachricht schnell lesen und schreiben können (sagen wir in O ( 1 ) ). Probleme wie diese werden seit geraumer Zeit untersucht. Das aktuelle Papier{0,1,2} {0,1} O(1) von Dodis, Patrascu und Thorup darüber und die darin enthaltenen Referenzen sollten ein guter Ausgangspunkt sein.
quelle
Bei fehlerkorrigierenden Codes ist es möglich, dass es einen grundlegenden Unterschied zwischen Binärcodes und Codes gegenüber größeren Alphabeten gibt, da die Gilbert Varshamov-Beispiele für Codes, die einen Bruchteil von Fehlern korrigieren (die im Wesentlichen gierige oder zufällige Beispiele sind), von einigen angenommen werden im binären Fall eng sein und bekanntermaßen über ein großes Alphabet über algebraische Geometriecodes nicht eng sein. Dies führte einige zu Spekulationen darüber, dass die Standarddefinition von Fehlerkorrekturcodes für ein großes Alphabet nicht das richtige Analogon zu binären Fehlerkorrekturcodes ist.
quelle
Das Ergebnis ist etwas technisch, aber wenn Sie interessiert sind, können Sie Lemma 8 mit Abschnitt 4.1 für relevante Theoremaussagen vergleichen.
quelle