Twierdzenie o hierarchii przestrzennej
W teorii złożoności obliczeniowej twierdzenia o hierarchii przestrzennej są wynikami separacji, które pokazują, że zarówno deterministyczne, jak i niedeterministyczne maszyny mogą rozwiązywać więcej problemów w (asymptotycznie) większej przestrzeni, z zastrzeżeniem pewnych warunków. Na przykład deterministyczna maszyna Turinga może rozwiązać więcej problemów decyzyjnych w przestrzeni n log n niż w przestrzeni n . Nieco słabszymi analogicznymi twierdzeniami dotyczącymi czasu są twierdzenia o hierarchii czasu .
Podstawą twierdzeń o hierarchii jest intuicja, że im więcej czasu, albo więcej miejsca, to możliwość obliczania większej liczby funkcji (lub decydowania o większej liczbie języków). Twierdzenia o hierarchii służą do wykazania, że klasy złożoności czasu i przestrzeni tworzą hierarchię, w której klasy o węższych granicach zawierają mniej języków niż te o luźniejszych granicach. Tutaj zdefiniujemy i udowodnimy twierdzenie o hierarchii przestrzeni.
Twierdzenia o hierarchii przestrzennej opierają się na koncepcji funkcji konstruowalnych w przestrzeni . Twierdzenia o deterministycznej i niedeterministycznej hierarchii przestrzeni stwierdzają, że dla wszystkich konstruowalnych w przestrzeni funkcji f ( n ),
- ,
gdzie SPACE oznacza DSPACE lub NSPACE , a o odnosi się do małej notacji o .
Oświadczenie
funkcja konstruowalna w przestrzeni, jeśli i istnieje maszyna Turinga, która oblicza funkcję w przestrzeni zaczynając gdzie ciąg kolejnych jedynek Większość typowych funkcji, z którymi pracujemy, jest konstruowalna w przestrzeni, w tym wielomiany, wykładniki i logarytmy.
każdej funkcji konstruowalnej w przestrzeni L, który jest rozstrzygalny przestrzeni , ale nie w przestrzeni .
Dowód
Celem jest zdefiniowanie języka, który można rozstrzygnąć w przestrzeni, przestrzeni . Język jest zdefiniowany jako L :
Dla dowolnej maszyny M , która decyduje o języku w przestrzeni , L będzie się różnić przynajmniej w jednym miejscu od języka M. o ) Mianowicie, dla niektórych wystarczająco dużych k , M użyje spacji na i dlatego będzie się różnić swoją wartością.
Z drugiej strony L jest w } Algorytm decydowania o języku L jest następujący:
- wejściu x oblicz constructibility _ próba użycia więcej ,
- Jeśli x nie ma dla TM _ _
- Symuluj M na wejściu x przez co najwyżej kroków (używając spacji . Jeśli symulacja próbuje użyć więcej niż niż operacji, a następnie odrzucić .
- Jeśli M zaakceptował x podczas tej symulacji, to odrzuć ; w przeciwnym razie zaakceptuj .
ograniczone do uniknąć sytuacji, w której się na wejściu x przypadek, w którym przestrzeń zgodnie wymaganiami, ale działa przez
Powyższy dowód dotyczy przypadku PSPACE, ale w przypadku NPSPACE należy wprowadzić pewne zmiany. Kluczową kwestią jest to, że podczas gdy w deterministycznej TM akceptację i odrzucenie można odwrócić (kluczowe dla kroku 4), nie jest to możliwe na maszynie niedeterministycznej.
W przypadku NPSPACE L należy najpierw przedefiniować:
Teraz algorytm musi zostać zmieniony, aby akceptował L , modyfikując krok 4 na:
- Jeśli M zaakceptował x podczas tej symulacji, to zaakceptuj ; w przeciwnym razie odrzucić .
L nie TM Zakładając , że L może być określone przez jakąś TM M użyciu i zgodnie z Immermana – Szelepcsényi można również określić za pomocą TM (nazywanej ) przy użyciu komórek Tu leży sprzeczność, więc założenie musi być fałszywe:
- w dla niektórych wystarczająco dużych k ) nie jest w \ wtedy M zaakceptuje to, dlatego w , dlatego w jest w (sprzeczność).
- w dla niektórych wystarczająco dużych k ) jest w wtedy M odrzuci go, dlatego w , dlatego w nie jest w { \ displaystyle {\ overline (sprzeczność).
Porównanie i ulepszenia
Twierdzenie o hierarchii przestrzeni jest silniejsze niż analogiczne twierdzenia o hierarchii czasu na kilka sposobów:
- Wymaga tylko, aby s(n) było co najmniej log n zamiast co najmniej n .
- Może rozdzielać klasy z dowolną różnicą asymptotyczną, podczas gdy twierdzenie o hierarchii czasu wymaga, aby były one rozdzielone czynnikiem logarytmicznym.
- Wymaga jedynie, aby funkcja była konstrukcyjna w przestrzeni, a nie w czasie.
Wydaje się, że łatwiej jest rozdzielić klasy w przestrzeni niż w czasie. Rzeczywiście, podczas gdy twierdzenie o hierarchii czasu nie odnotowało znaczącej poprawy od czasu jego powstania, twierdzenie o niedeterministycznej hierarchii przestrzeni odnotowało co najmniej jedno ważne ulepszenie Viliama Gefferta w jego artykule z 2003 r. „Zrewidowane twierdzenie o hierarchii przestrzeni”. W tym artykule dokonano kilku uogólnień twierdzenia:
- Rozluźnia wymóg konstruowalności przestrzeni. Zamiast po prostu oddzielić klasy unii i ) , oddziela do gdzie jest dowolną funkcją { \ funkcja. Funkcje te nie muszą być konstruowalne w przestrzeni ani nawet rosnące monotonicznie.
- Identyfikuje język jednoargumentowy lub język rejestracyjny, który należy do jednej klasy, ale nie do drugiej. W pierwotnym twierdzeniu język rozdzielający był dowolny.
- Nie wymaga, aby był przynajmniej log n ; może to być dowolna niedeterministycznie w pełni konstruowalna w przestrzeni funkcja.
Uściślenie hierarchii przestrzeni
Jeśli przestrzeń jest mierzona jako liczba komórek użytych niezależnie od rozmiaru alfabetu, to ponieważ można uzyskać dowolną kompresję liniową, przechodząc na większy alfabet. Jednak mierząc przestrzeń w bitach, można osiągnąć znacznie ostrzejszą separację dla przestrzeni deterministycznej. Zamiast być definiowana do stałej multiplikatywnej, przestrzeń jest teraz definiowana do stałej addytywnej. wewnętrznym, nadal mamy .
Załóżmy, że f jest konstruowalny przestrzennie. PRZESTRZEŃ jest deterministyczna.
- Dla szerokiej gamy sekwencyjnych modeli obliczeniowych, w tym dla maszyn Turinga, PRZESTRZEŃ ( f ( n ) - ω (log ( f ( n ) + n ))) ⊊ PRZESTRZEŃ ( f ( n )). Dzieje się tak nawet wtedy, gdy PRZESTRZEŃ( f ( n )- ω (log( f ( n )+ n ))) jest zdefiniowana przy użyciu innego ponieważ różne modele mogą symulować się nawzajem za pomocą miejsce na wierzchu.
- W przypadku niektórych modeli obliczeniowych mamy nawet PRZESTRZEŃ( f ( n )- ω (1)) ⊊ PRZESTRZEŃ ( f ( n )). W szczególności dotyczy to maszyn Turinga, jeśli ustalimy alfabet, liczbę głowic na taśmie wejściowej, liczbę głowic na taśmie roboczej (przy użyciu pojedynczej taśmy roboczej) i dodamy ograniczniki dla odwiedzanej części taśmy roboczej (która może sprawdzić bez zwiększania wykorzystania miejsca). SPACE( f ( n )) nie zależy od tego, czy taśma robocza jest nieskończona czy półnieskończona. Możemy również mieć stałą liczbę taśm roboczych, jeśli f ( n ) jest albo konstrukcyjną krotką SPACE podającą wykorzystanie przestrzeni na taśmę, albo konstrukcyjną liczbą SPACE( f ( n )- ω (log( f ( n ))) podającą całkowite wykorzystanie przestrzeni (nie licząc narzutu dla zapamiętywanie długości każdej taśmy).
Dowód jest podobny do dowodu twierdzenia o hierarchii przestrzeni, ale z dwoma komplikacjami: uniwersalna maszyna Turinga musi być wydajna przestrzennie, a odwrócenie musi być efektywne przestrzennie. Ogólnie można skonstruować uniwersalne maszyny Turinga z przestrzenią napowietrzną i przy odpowiednich założeniach, po prostu przestrzeń napowietrzna (co może zależeć od symulowanej maszyny). W przypadku odwrócenia kluczową kwestią jest to, jak wykryć, czy symulowana maszyna odrzuca, wprowadzając nieskończoną (ograniczoną przestrzenią) pętlę. Samo zliczenie liczby wykonanych kroków zwiększyłoby zużycie miejsca o około . Kosztem potencjalnie wykładniczego wzrostu czasu, pętle można wykrywać efektywnie przestrzennie w następujący sposób:
Zmodyfikuj maszynę, aby wymazać wszystko i przejść do określonej konfiguracji A, jeśli się powiedzie. Użyj przeszukiwania w głąb, aby określić, czy A jest osiągalne w przestrzeni ograniczonej od konfiguracji początkowej. Wyszukiwanie zaczyna się od A i przechodzi przez konfiguracje, które prowadzą do A. Ze względu na determinizm można to zrobić w miejscu i bez wchodzenia w pętlę.
Można również określić, czy maszyna przekracza granicę przestrzeni (w przeciwieństwie do zapętlenia w obrębie przestrzeni ograniczonej), iterując po wszystkich konfiguracjach, które mają przekroczyć granicę przestrzeni i sprawdzając (ponownie przy użyciu wyszukiwania w głąb), czy początkowa konfiguracja prowadzi do jakiegokolwiek z nich.
Wnioski
Wniosek 1
Dla dowolnych dwóch funkcji , , gdzie jest i jest konstruowalny w przestrzeni, .
Ten wniosek pozwala nam rozdzielić różne klasy złożoności przestrzeni. Dowolna funkcja w przestrzeni dla dowolnej liczby naturalnej k Dlatego dla dowolnych dwóch liczb naturalnych udowodnić . Pomysł ten można rozszerzyć na liczby rzeczywiste w następującym wniosku. Pokazuje to szczegółową hierarchię w klasie PSPACE.
Wniosek 2
Dla dowolnych dwóch nieujemnych liczb rzeczywistych .
Wniosek 3
- NL ⊊ P PRZESTRZEŃ .
Dowód
Twierdzenie Savitcha pokazuje, że że . Rezultatem jest ten wniosek wraz z faktem, że TQBF ∉ NL, ponieważ TQBF jest PSPACE-zupełny.
Można to również udowodnić za pomocą niedeterministycznego twierdzenia o hierarchii przestrzeni, aby pokazać, że NL ⊊ NPSPACE, oraz za pomocą twierdzenia Savitcha, aby pokazać, że PSPACE = NPSPACE.
Wniosek 4
- PRZESTRZEŃ ⊊ PRZESTRZEŃ .
Ten ostatni wniosek pokazuje istnienie rozstrzygalnych problemów, które są trudne do rozwiązania. Innymi słowy, ich procedury decyzyjne muszą wykorzystywać więcej niż przestrzeń wielomianową.
Wniosek 5
Istnieją problemy w PSPACE wymagające do rozwiązania dowolnie dużego wykładnika; dlatego PSPACE nie zwija się do DSPACE ( n k ) dla pewnej stałej k .
Zobacz też
- Arora, Sanjeev ; Barak, Boaz (2009). Złożoność obliczeniowa. Nowoczesne podejście . Wydawnictwo Uniwersytetu Cambridge . ISBN 978-0-521-42426-4 . Zbl 1193.68112 .
- Luca Trevisan . Uwagi na temat twierdzeń o hierarchii . Handout 7. CS172: Automaty, obliczalność i złożoność. UC Berkeley. 26 kwietnia 2004.
- Viliama Gefferta . Twierdzenie o hierarchii przestrzeni poprawione . Informatyka teoretyczna , tom 295, nr 1–3, s. 171-187. 24 lutego 2003 r.
- Sipser, Michael (1997). Wprowadzenie do teorii obliczeń . Wydawnictwo PWS. ISBN 0-534-94728-X . Strony 306–310 sekcji 9.1: Twierdzenia o hierarchii.
- Papadimitriou, Christos (1993). Złożoność obliczeniowa (wyd. 1). Addisona Wesleya. ISBN 0-201-53082-1 . Sekcja 7.2: Twierdzenie o hierarchii, s. 143–146.