Po przeczytaniu powiązanego pytania dotyczącego niekonstruktywnych dowodów istnienia algorytmów, zastanawiałem się, czy istnieją metody pokazania istnienia „małych” (powiedzmy, stanowych) maszyn obliczeniowych bez ich budowania.
Formalnie:
załóżmy, że otrzymaliśmy język i naprawiliśmy jakiś model obliczeniowy (NFA / maszyna Turinga itp.).
Czy istnieją jakieś niekonstruktywne wyniki istnienia pokazujące, że stanowa maszyna dla istnieje, ale bez możliwości jej znalezienia (w czasie )?L p o l y ( n , | Σ | )
Na przykład, czy jest jakiś zwykły język dla którego możemy pokazać ale nie wiemy, jak zbudować automat stanowy?n s c ( L ) ≤ n n
( jest niedeterministyczną złożonością stanu , tj. liczbą stanów w minimalnym NFA, które akceptuje ).L L
EDYCJA: po dyskusji z Marzio (dzięki!) Myślę, że lepiej sformułować pytanie w następujący sposób:
Czy istnieje język i model obliczeniowy, dla którego obowiązuje:
Wiemy, jak zbudować maszynę obliczającą która ma stanów.m
Mamy dowód, że stanowa maszyna dla istnieje (gdzie ), ale albo w ogóle jej nie możemy znaleźć, albo jej obliczenie zajęłoby wykładniczo czas.l n < < m