Введение

И детерминированные, и недетерминированные машины могут решать больше задач, располагая большим объемом памяти. В теории вычислительной сложности теоремы об иерархии пространства являются результатами разделения, которые показывают, что детерминированные и недетерминированные машины могут решать больше задач в (асимптотически) большем объеме памяти при определенных условиях. Например, детерминированная машина Тьюринга может решать больше задач принятия решений, используя пространство n log n, чем используя пространство n. Аналогичные, несколько более слабые теоремы для времени известны как теоремы об иерархии времени. В основе теорем об иерархии лежит интуиция о том, что увеличение времени или объема памяти позволяет вычислять больше функций (или определять больше языков). Теоремы об иерархии используются для демонстрации того, что классы сложности по времени и пространству образуют иерархию, в которой классы с более строгими ограничениями содержат меньше языков, чем классы с более слабыми ограничениями. Здесь мы дадим определение и докажем теорему об иерархии пространства. Теоремы об иерархии пространства опираются на понятие пространственно-конструируемых функций. Детерминированная и недетерминированная теоремы об иерархии пространства утверждают, что для всех пространственно-конструируемых функций f(n) выполняется:

,
где SPACE обозначает либо DSPACE, либо NSPACE, а o относится к нотации "малое о".

Усовершенствование иерархии пространства

Если пространство измеряется как количество используемых ячеек независимо от размера алфавита, то 1=\mathsf{SPACE}(f(n)) = \mathsf{SPACE}(O(f(n))) потому что можно достичь любого линейного сжатия, перейдя на больший алфавит. Однако, измеряя пространство в битах, гораздо более четкое разделение достижимо для детерминированного пространства. Вместо того, чтобы быть определено до множительной постоянной, пространство теперь определено до аддитивной постоянной. Однако, поскольку любое постоянное количество внешнего пространства может быть сохранено путем хранения содержимого во внутреннем состоянии, у нас все еще есть 1=\mathsf{SPACE}{f}{n}=\mathsf{SPACE}{f}{n}+O{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}{n}}{n}}{n}}{n}}{n}}{n}{n}}}{n}}}{n}}{n}}}{n}}}{n}}{n}}}{n}}{n}}{n}}}}{n}}}}}{n}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} Предположим, что f - это конструктивное пространство. Пространство детерминировано. Для широкого спектра последовательных вычислительных моделей, в том числе для машин Тьюринга, SPACE ((f) n) ω (log (f) n) + n)) SPACE (f) n)). Это верно даже если SPACE{f}{n}{log}{f}{n}+n))) определяется с использованием другой вычислительной модели, чем \mathsf{SPACE}{f}{n}), потому что разные модели могут имитировать друг друга с O{\log}{f}{n}+n}) пространством над головой. Для определенных вычислительных моделей у нас даже есть SPACE (f) ω (n) 1) SPACE (f) n). В частности, это относится к машинам Тьюринга, если мы фиксируем алфавит, количество голов на входной ленте, количество голов на рабочей ленте (с использованием одной рабочей ленты) и добавляем делимитаторы для посещаемой части рабочей ленты (которые могут быть проверены без увеличения использования пространства). SPACE ((f ((n)) не зависит от того, бесконечна ли рабочая лента или полубесконечна. Мы также можем иметь фиксированное количество лент, если f (n) является либо SPACE-конструируемой тупл, дающей использование пространства на каждую ленту, либо SPACE-конструируемым числом, дающим общее использование пространства (не считая накладных расходов на хранение длины каждой ленты). Доказательство похоже на доказательство теоремы о иерархии пространства, но с двумя осложнениями: универсальная машина Тьюринга должна быть эффективной в пространстве, а обратная сторона должна быть эффективной в пространстве. В целом можно построить универсальные машины Тьюринга с O{\log{space} пространством над головой и при соответствующих предположениях только O{\displaystyle O}{\log{space}} пространством над головой (которое может зависеть от моделируемой машины). Для обращения ключевой проблемой является то, как обнаружить, если симулированная машина отклоняет, входя в бесконечную (с ограниченным пространством) петлю. Если просто подсчитать количество шагов, то расход места увеличится примерно на f (n). За счет потенциально экспоненциального увеличения времени петли могут быть обнаружены пространственно эффективно следующим образом: модифицируйте машину, чтобы стереть все и перейти к определенной конфигурации A при успехе. Используйте поиск на глубине, чтобы определить, можно ли достичь A в пространстве, ограниченном от исходной конфигурации. Поиск начинается с А и переходит через конфигурации, которые ведут к А. Благодаря детерминизму это может быть сделано на месте и без вхождения в цикл. Можно также определить, превышает ли машина пространственную границу (в отличие от цикла в пределах пространственной границы), повторяя все конфигурации, которые собираются превысить пространственную границу, и проверяя (опять же, используя поиск глубины), ведет ли начальная конфигурация к какой-либо из них.