Gibt es nicht konstruktive Existenznachweise für „kleine“ Turingmaschinen / NFAs?


11

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.).LΣ

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)?nLpoly(n,|Σ|)

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?Lnsc(L)nn

( ist die nicht-deterministische Zustand Komplexität des L , dh die Anzahl von Zuständen in dem minimal NFA die nimmt L ).nsc(L)LL


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:L

  1. Wir wissen, wie man eine Maschine baut, die mit m Zuständen berechnet .Lm

  2. 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.nLn<<m


Was ist nsc (L)? Die Frage scheint mit der Komprimierung / Kolmogorov-Komplexität zu
tun

nsc (L) ist die nicht deterministische Zustandskomplexität von L (die Anzahl der Zustände in der kleinsten NFA, die L akzeptiert).
RB

eine andere Idee / Winkel, vielleicht gibt es einige "kleine" Schaltungsklassen (ein anderes Berechnungsmodell), für die bewiesen ist, dass sie bestimmte Funktionen berechnen können, aber die tatsächliche Konstruktion ist schwierig? SJ erwähnte kürzlich Barrington, dass Verzweigungsprogramme der Breite 5 die Mehrheit berechnen können ...?
vzn

@vzn Der Beweis des Barrington-Theorems gibt ein einfaches Verfahren zum Konvertieren von Formeln in Verzweigungsprogramme.
Sasho Nikolov

1
@RB: ok, Sie können weitere interessante Beispiele aus der ressourcengebundenen Kolmogorov-Komplexität (insbesondere der zeitgebundenen Komplexität) finden. Was ist beispielsweise bei einer Zeichenfolge die kleinste Maschine, die in der Zeit O ( 2 n ) ausgeführt wird und x druckt ? In diesem Fall können wir leicht ein TM erstellen, das x druckt. Um jedoch das kleinste zu finden, müssen alle TMs | gescannt werden M | < | x | (Die Zeit gebunden macht es berechenbar). Wenn ich mehr Zeit habe, werde ich meine Antwort erweitern. xO(2n)xx|M|<|x|
Marzio De Biasi

Antworten:


8

Nur ein erweiterter Kommentar mit einem trivialen Beispiel; Sie können die Ein-Element-Sprache auswählen:

Lk={Mσ(M)=Σ(k)}

Lkkk

kLk2k(logk+2)


Obwohl ich damit einverstanden bin, suchte ich nach einer Existenz, die Techniken für die explizit gegebene Sprache L zeigt.
RB

3
Was ist eine "explizit gegebene Sprache"?
Jeffs


2

Eine andere Lösung besteht darin, Higmans Lemma zu verwenden :

Eine unter Unterwörtern geschlossene Sprache ist regulär.

uvuv

Nehmen Sie also eine Sprache L, deren Unterwortabschluss regelmäßig ist, aber überhaupt nicht konstruierbar ist, da L willkürlich ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.