Кіріспе
Детерминистік және детерминистік емес машиналар да көбірек орын берілген кезде көбірек мәселелерді шеше алады. Есептеу күрделілігі теориясында кеңістік иерархиясы теоремалары – бұл детерминистік және детерминистік емес машиналардың белгілі бір шарттарда (асимптотикалық) көбірек кеңістікте көбірек мәселелерді шеше алатынын көрсететін ажырату нәтижелері. Мысалы, детерминистік Тьюринг машинасы n log n кеңістікте n кеңістігіндегі шешімдік мәселелерді көбірек шеше алады. Уақытқа қатысты салыстырмалы теоремалар сәл әлсіз, олар уақыт иерархиясы теоремалары деп аталады. Иерархиялық теоремалардың негізі – уақыт пен кеңістік көлемі ұлғайған сайын, көбірек функцияларды есептеуге (немесе көбірек тілдерді шешуге) мүмкіндік туады деген түсінік. Иерархиялық теоремалар уақыт және кеңістік күрделілігі кластары иерархия құрайтынын көрсету үшін қолданылады, онда қатаң шектеулері бар кластарда, кеңірек шектеулері бар кластарға қарағанда аз тілдер болады. Осы жерде біз кеңістік иерархиясы теоремасын анықтап, дәлелдейміз. Кеңістік иерархиясы теоремалары кеңістікте құрастырылатын функциялар тұжырымына сүйенеді. Детерминистік және детерминистік емес кеңістік иерархиясы теоремалары барлық кеңістікте құрастырылатын f(n) функциялары үшін , мұнда SPACE – DSPACE немесе NSPACE дегенді білдіреді, ал o – кіші o белгісін білдіреді.
with either more time or more space comes the ability to compute more
functions (or decide more languages). The hierarchy theorems are used
to demonstrate that the time and space complexity classes form a
hierarchy where classes with tighter bounds contain fewer languages
than those with more relaxed bounds. Here we define and prove the
space hierarchy theorem. The space hierarchy theorems rely on the concept of space constructible functions. The deterministic and nondeterministic space hierarchy theorems state that for all space constructible functions f(n),
,
where SPACE stands for either DSPACE or NSPACE, and o refers to the little o notation.
Ғарыш иерархиясының жетілдірілуі
Егер кеңістік алфавит мөлшеріне қарамастан қолданылатын жасушалардың саны ретінде өлшенсе, онда 1 = SPACE(f(n)) = SPACE(O(f(n))), өйткені үлкен әліпбиге ауысу арқылы кез келген сызықтық сығылуға қол жеткізуге болады. Дегенмен, кеңістікті биттермен өлшеу арқылы детерминистік кеңістік үшін әлдеқайда нақтырақ бөлінуге қол жеткізіледі. Көбейту тұрақтысына дейін анықталудың орнына, кеңістік енді қосу тұрақтысына дейін анықталады. Алайда, ішкі күйге мазмұнды сақтау арқылы сыртқы кеңістіктің кез келген тұрақты мөлшерін үнемдеуге болады, сондықтан бізде әлі де 1 = SPACE(f(n)) = SPACE(f(n) + O(1)). f кеңістік құрастырылатын деп есептейік. SPACE детерминистік. Тюринг машиналарын қоса алғанда, әртүрлі тізбекті есептеу модельдері үшін SPACE(f(n) ω(log(f(n) + n))) ⊂ SPACE(f(n)). Бұл тіпті SPACE(f(n) ω(log(f(n) + n))) басқа есептеу моделімен анықталған жағдайда да орындалады, өйткені әртүрлі модельдер бір-бірін O(log(f(n) + n)) кеңістіктік жүктемемен симуляциялай алады. Кейбір есептеу модельдері үшін, тіпті SPACE(f(n) ω(1)) ⊂ SPACE(f(n)) бар. Атап айтқанда, бұл Тюринг машиналары үшін, егер біз әліпбиді, кіріс таспасындағы бас санын, жұмыс таспасындағы бас санын (бір жұмыс таспасын пайдалана отырып) және жұмыс таспасының араланған бөлігіне делимитерлерді қоссақ (оларды кеңістікті ұлғайтпай тексеруге болады). SPACE(f(n)) жұмыс таспасының шексіз немесе жартылай шексіз болуына байланысты емес. f(n) егер таспаға арналған орынды пайдалануды көрсететін SPACE құрастырылатын тупл немесе жалпы орынды пайдалануды көрсететін (әр таспаның ұзындығын сақтау үшін үстеме шығындарды есептемегенде) SPACE(f(n) ω(log(f(n)))) құрастырылатын сан болса, бізде жұмыс таспаларының тұрақты саны болуы мүмкін. Дәлел кеңістіктегі иерархия теоремасының дәлеліне ұқсас, бірақ екі қиындық бар: әмбебап Тюринг машинасы кеңістік бойынша тиімді болуы керек, ал кері айналу кеңістік бойынша тиімді болуы керек. Универсалды Тюринг машиналарын O(log(space)) кеңістіктік жүктемемен және тиісті болжамдар бойынша тек O(1) кеңістіктік жүктемемен құрастыруға болады (бұл симуляцияланатын машинаға байланысты болуы мүмкін). Кері айналу үшін негізгі мәселе – симуляцияланған машина шексіз (кеңістік шектеулі) циклға кіріп, бас тартса, оны қалай анықтау керек. Тек қадамдарды санау кеңістік тұтынуын шамамен f(n)-ға арттырады. Потенциалды экспоненциалды уақытты ұлғайту есебінен, циклдарды кеңістік бойынша тиімді түрде келесідей анықтауға болады: Машинаны бәрін өшіру үшін өзгертіңіз және сәттілік кезінде белгілі бір конфигурацияға ауысыңыз. Бастапқы конфигурациядан бастап шектелген кеңістікте А-ға жетуге болатынын анықтау үшін тереңдікке бірінші іздеуді пайдаланыңыз. Іздеу А-дан басталады және А-ға әкелетін конфигурацияларды қайталайды. Детерминизмнің арқасында бұл орындалуы мүмкін және циклге кірмейді. Сондай-ақ, машина кеңістік шегінен асып кете ме (кеңістіктегі шеңберге қарама-қарсы) кеңістік шегінен асып кететін барлық конфигурацияларды қайталау арқылы және бастапқы конфигурация олардың кез келгеніне әкелсе, оны тексеру арқылы (қайта тереңдікке бірінші іздеуді қолдану арқылы) анықтауға болады.
Modify the machine to erase everything and go to a specific configuration A on success. Use depth first search to determine whether A is reachable in the space bound from the starting configuration. The search starts at A and goes over configurations that lead to A. Because of determinism, this can be done in place and without going into a loop. It can also be determined whether the machine exceeds a space bound (as opposed to looping within the space bound) by iterating over all configurations about to exceed the space bound and checking (again using depth first search) whether the initial configuration leads to any of them.