Niekonstruowalne funkcje i nietypowe wyniki


10

W książce Arora-Barak w definicji funkcji konstruowalnych w czasie mówi się, że użycie funkcji, które nie są konstruowalne w czasie, może prowadzić do „anomalnych wyników”. Czy ktoś ma przykład takiego „anomalnego wyniku”? Słyszałem w szczególności, że mogą istnieć funkcje, których nie utrzymuje twierdzenie o hierarchii czasu, czy ktoś ma przykład takich funkcji? Czy jest coś w tym gdzieś w literaturze?



@JukkaSuomela: Tak, mam, ale chodzi o to, które funkcje można konstruować w czasie / przestrzeni i dlaczego są użyteczne.
Pascal,

Odpowiedzi:


11

Twierdzenie luki Borodina : Dla każdej całkowitej funkcji obliczeniowej istnieje całkowita funkcja obliczalna taka, że .sol(n)ntreT.jaM.mi[sol(t(n))]=reT.jaM.mi[t(n)]

W rzeczywistości dotyczy to każdej miary złożoności Blum zamiast .reT.jaM.mi

Zobacz także stronę wikipedii i odnośniki na niej.


6

Ponieważ artykuł w Wikipedii nie zawiera dowodu, a artykuł jest na ACM DL, pomyślałem, że może być przydatne opublikowanie dowodu tutaj:

TEOREM 3.7. (Twierdzenie luki).

Niech będzie miarą złożoności, nieskalującą funkcją rekurencyjną taką, że . Następnie istnieje rosnąca funkcja rekurencyjna tak że funkcje obliczalne ze miary złożoności są takie same jak funkcje obliczalne ze miary złożoności .Φsolx,sol(x)xttsolt

DOWÓD.

Zdefiniuj w następujący sposób:t

t(0): =1
t(n): =μk>t(n-1):jan,(Φja(n)<kΦja(n)>sol(k))
  1. dla wszystkich istnieje , ponieważ dla wszystkich :nkjan

    za. jeśli jest niezdefiniowany, to , iΦja(n)k,Φi(n)>g(k)

    b. jeśli to .Φja(n)k,Φja(n)<k

  2. k można znaleźć rekurencyjnie, ponieważ jest miarą złożoności, a zatem oraz są predykatami rekurencyjnymi.ΦΦja(n)<kΦja(n)>sol(k)

  3. t spełnia twierdzenie, ponieważ implikuje, że albo lub .njaΦja(n)<t(n)Φja(n)>solt(n)

CO BYŁO DO OKAZANIA.

Zauważamy, że dowolnie duże może być zgodne z Twierdzeniem 3.7. Załóżmy, że chcemy , a następnie zdefiniowaćtt(n)>r(n)

t(0): =r(0)+1
t(n):=μk>max{t(n1),r(n)}:

(Allan Borodin, „ Złożoność obliczeniowa i istnienie luk w złożoności ”, JACM 1972, z niewielkimi modyfikacjami).


Chodzi o to, aby zdefiniować t(n) co najmniej k dowolna funkcja (o indeksie mniejszym niż n), który można obliczyć pod względem stopnia złożoności g(k) można również obliczyć pod względem złożoności k.
Kaveh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.