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
Odpowiedzi:
Tylko rozszerzony komentarz z trywialnym przykładem; możesz wybrać język jednoelementowy:
tzn. zawiera pierwszą (w porządku leksykograficznym) zajętą maszynę bobra Turinga o rozmiarze (maszyna Turinga o wielkości która po zatrzymaniu osiąga największą liczbę 1 na swojej taśmie). k kLk k k
Dla każdego język jest regularny ... ale nie mamy pojęcia, jak zbudować mały DFA, który go rozpoznaje (chociaż ma tylko ) :-)L k ≤ 2 ∗ k ( log k + 2 )k Lk ≤2∗k(logk+2)
źródło
Język (dla pewnej liczby pierwszej ) może zostać rozpoznany przez automatyczny kwantowy automat skończony o stanie QFA), ale dowód nie jest konstruktywny.p O ( log p )MODp={aip∣i≥0} p O(logp)
Najbardziej znaną konstrukcyjnie uzyskaną liczbą stanów jest dla QFA z błędem ograniczonym rozpoznającym .M O D pO(log2+o(1)p) MODp
ODNIESIENIE : sekcja 4.2 (Ambainis i Yakaryilmaz, 2015) .
źródło
Innym rozwiązaniem jest użycie lematu Higmana :
Weźmy więc dowolny język L, jego zamknięcie pod słowem jest regularne, ale w ogóle nie jest możliwe do zbudowania, ponieważ L jest arbitralne.
źródło