Wyraźny rozdział między konstruowaniem w czasie a konstruowaniem w przestrzeni?

10

Pokaż funkcję którą można konstruować w przestrzeni, ale nie można jej konstruować w czasie.fa(n)

Czy ten problem jest związany z możliwym rozdzieleniem klas złożoności DTIME (f (n)) i SPACJA (f (n))?

Tian Liu
źródło
3
en.wikipedia.org/wiki/Constructible_function O ile mi wiadomo, to pytanie nie ma związku z TIME (f (n)) vs SPACE (f (n)), ale zauważ, że te dwie klasy różne. Poszukaj artykułów „Na czas kontra przestrzeń”, „Na czas kontra przestrzeń II”, „Na czas kontra przestrzeń III”
Ryan Williams
Szybka obserwacja: Myślę, że problem jest równoznaczny z pytaniem, czy DTIME (f (n)) ALLTALLY i SPACJA (f (n)) ALLTALLY mogą być różne dla niektórych funkcji f (n), które można konstruować w przestrzeni, gdzie TALLY jest klasa języków, które są podzbiorami 1 ^ *.
Tsuyoshi Ito
Ups, mogą nie być równoważne. Oto dowód jednego kierunku. Jeśli istnieje język L = {1 ^ n | n∈S} ∈ TALLY∩ (SPACJA (f (n)) ∖ DTIME (f (n))) dla niektórych funkcji f (n), które można konstruować w przestrzeni, a następnie zarówno f ​​(n) i f (n) + χ_S (n ) (gdzie χ_S (n) jest funkcją charakterystyczną S) są konstruowalne w przestrzeni, ale nie oba są konstruowalne w czasie, a zatem co najmniej jedna z nich jest funkcją konstruowaną w przestrzeni, ale nie konstruowaną w czasie.
Tsuyoshi Ito,
2
Dzięki Ryanowi w twoim komentarzu wiem, że CZAS (f (n)) jest zawarty w PRZESTRZENI (f (n) / log f (n)) autorstwa Hopcroft i in., A ten drugi jest odpowiednio zawarty w PRZESTRZENI (f (n )) według twierdzenia o hierarchii przestrzeni.
Tian Liu,
Dzięki Tsuyoshi bardzo sprytne pomysły, jeśli zarówno f ​​(n), jak i f (n) + χ_S (n) są konstruowalne w czasie, wówczas możemy zdecydować, czy n∈S przypada co najwyżej f (n) +1, a zatem L ALLTALLY ∩ DTIME (f (n)), sprzeczność. ale czy twoje konstrukcje można nazwać „eksplodować”? który nie jest konstruowalny w czasie, f (n) lub f (n) + χ_S (n)? przez „wyraźne”, jeśli mam na myśli to, że możemy zdecydować o wartości f (n) dla wszystkich n, wówczas twoja konstrukcja jest jasna.
Tian Liu,

Odpowiedzi:

6

Funkcja jest konstruowalna w czasie, jeśli istnieje maszyna Turinga M, która na wejściu 1 n oblicza funkcję x T ( | x | ) w czasie O ( T ( n ) ) .T:NNM1nxT(|x|)O(T(n))

Funkcja jest konstruowalna w przestrzeni, jeśli istnieje maszyna Turinga M, która na wejściu 1 n oblicza funkcję x S ( | x | ) w przestrzeni O ( S ( n ) ) .S:NNM1nxS(|x|)O(S.(n))

Niektóre teksty wymagają, aby funkcje konstruowane w czasie / przestrzeni nie zmniejszały się. Niektóre teksty wymagają, aby funkcje konstruowane w czasie spełniały , a funkcje konstruowane w przestrzeni spełniały S ( n ) log n . Niektóre teksty nie wykorzystują zapisu O ( ) w definicji.T.(n)nS.(n)lognO()

W każdym razie łatwo jest wykazać, że każda „zwykła” funkcja spełniająca f ( n ) log n oraz f ( n ) = o ( n ) jest konstruowalna w przestrzeni, ale nie jest konstruowana w czasie.fafa(n)lognfa(n)=o(n)

Problem konstrukcyjności nie jest bezpośrednio związany z możliwym rozdzieleniem klas złożoności DTIME (f (n)) i SPACJA (f (n)). Jednak twierdzenia dotyczące hierarchii czasu i przestrzeni uwzględniają konstruktywność. Na przykład:

Twierdzenie o hierarchii czasu Jeśli , g są funkcjami konstruowanymi w czasie spełniającymi f ( n ) log f ( n ) = o ( g ( n ) ) , to D T I M E ( f ( n ) ) jest właściwym podzbiorem D T I M E ( g ( n ) ) .fasolfa(n)logfa(n)=o(sol(n))reT.jaM.mi(fa(n))reT.jaM.mi(sol(n))

Zobacz Arora & Baraka książkę lub zPapadimitriou aby uzyskać więcej informacji. (Ten ostatni używa terminu „właściwa funkcja złożoności” w odniesieniu do takiej, która jest możliwa do zbudowania zarówno w czasie, jak i przestrzeni).

MS Dousti
źródło
Dzięki. Wolę definicję, że funkcję można konstruować w czasie / przestrzeni, jeśli istnieje maszyna Turinga, która działa dokładnie tak, jak kroki / kwadraty taśmy. Oczywiście, według twierdzeń o liniowym przyspieszeniu czasu / przestrzeni, jest to równoważne z definicjami / podręcznika.
Tian Liu,
Sadeq, twoje definicje „konstruowalnego w czasie” i „konstruowalnego w przestrzeni” są identyczne dla każdego słowa. Czy mówisz, że to tylko dwie różne nazwy dla dokładnie tego samego pojęcia? Jeśli nie, być może powinieneś naprawić swoje definicje.
Yitz
To tylko literówka.
Tsuyoshi Ito,
Przepraszam, Yitz. Naprawiłem literówkę.
MS Dousti,
4

można konstruować w przestrzeni, ale nie w czasie. Powodem jest to, że można odwzorować 1 n na reprezentację binarną w przestrzeni O ( log n ), ale nie w czasie O ( log n ) .f(n)=logn1nO(logn)O(logn)

Mohammad Al-Turkistany
źródło
Dzięki komentarzowi i odpowiedzi. Ale czy możesz pokazać funkcję f (n), która jest co najmniej liniowa, to znaczy f (n)> = n, dla separacji? Wydaje się, że funkcja, którą można konstruować w czasie, nie może być mniejsza niż n z oczywistego powodu: musi odczytać wszystkie bity wejściowe, w przeciwnym razie argument przeciwnika może pokazać, że funkcja nie jest poprawnie obliczona.
Tian Liu,
@Tian, jest funkcją konstruowaną w przestrzeni, ale nie konstruowaną w czasie. fa(n)=n
Mohammad Al-Turkistany
Jeszcze raz dziękuję, ale czy zakładasz, że głowica czytająca na taśmie wejściowej początkowo znajduje się po lewej stronie do pierwszego bitu wejściowego? w takim przypadku, aby wykryć ostatni bit danych wejściowych, głowa musi przejść w prawo n + 1 razy, aż napotka pierwszy pusty wpis po wejściu. Zatem można konstruować w czasie. Więc proszę podać „nietrywialny” rozdział funkcją f (n)> = n + 1? fa(n)=n+1
Tian Liu,
2

Jeśli wszystkie funkcje kosmiczne konstruowalne są czasu konstruowalne, a . Aby to udowodnić (i podać przykład nietrywialnej funkcji konstruowanej w przestrzeni, ale przypuszczalnie nie konstruowanej w czasie), weźmy dowolną (prawdopodobnie E X P - S P A C E - C O M P L E T E ) problem L E X PmiXP.-T.jaM.mi=miXP.-S.P.ZAdomimiXP.-S.P.ZAdomi-doOM.P.L.miT.mi , L { 0 , 1 } . Następnie istnieje k N , st L można rozwiązać za pomocą DTM M wprzestrzeni 2 n k . Teraz zdefiniuj funkcję f ( n ) = { 8 n + 2 if  ( najpierw k √)L.miXP.-S.P.ZAdomiL.{0,1}kN.L.M.2)nk

fa(n)={8n+2)gdyby (pierwszy logn+1k kawałki bjan(n))L.8n+1jeszcze

2)nfafaL.

Ta odpowiedź wykorzystuje ten sam pomysł.

David G.
źródło