Nachdem ich eine verwandte Frage über nichtkonstruktive Existenzbeweise von Algorithmen gelesen hatte , fragte ich mich, ob es Methoden gibt, um die Existenz von "kleinen" (etwa zustandsbezogenen) Rechenmaschinen zu zeigen, ohne sie tatsächlich zu erstellen.
Formal:
Nehmen wir an, wir erhalten eine Sprache und korrigieren ein Rechenmodell (NFAs / Turing Machine / etc.).
Gibt es nicht konstruktive Existenzergebnisse, die zeigen, dass eine Zustandsmaschine für L existiert, aber ohne die Fähigkeit, sie zu finden (in p o l y ( n , | Σ | ) Zeit)?
Zum Beispiel gibt es eine reguläre Sprache für die wir zeigen n s c ( L ) ≤ n , aber wir wissen nicht , wie ein bauen n -state Automaten für?
( ist die nicht-deterministische Zustand Komplexität des L , dh die Anzahl von Zuständen in dem minimal NFA die nimmt L ).
EDIT: Nach einigen Diskussionen mit Marzio (danke!) Ich denke, ich kann die Frage besser wie folgt formulieren:
Gibt es eine Sprache und ein Rechenmodell, für die Folgendes gilt:
Wir wissen, wie man eine Maschine baut, die mit m Zuständen berechnet .
Wir haben einen Beweis dafür , dass -Zustände Maschine für L vorhanden ist (wobei n < < m ), aber entweder wir können es überhaupt nicht finden oder es würde nehmen exponentielle Zeit , es zu berechnen.
Antworten:
Nur ein erweiterter Kommentar mit einem trivialen Beispiel; Sie können die Ein-Element-Sprache auswählen:
quelle
REF: Abschnitt 4.2 von (Ambainis und Yakaryilmaz, 2015) .
quelle
Eine andere Lösung besteht darin, Higmans Lemma zu verwenden :
Nehmen Sie also eine Sprache L, deren Unterwortabschluss regelmäßig ist, aber überhaupt nicht konstruierbar ist, da L willkürlich ist.
quelle