Теорема о ёмкостной иерархии — различия между версиями
Mashuna (обсуждение | вклад) (→Доказательство) |
Mashuna (обсуждение | вклад) (→Формулировка) |
||
Строка 1: | Строка 1: | ||
== Формулировка == | == Формулировка == | ||
− | '''Теорема о емкостной иерархии''' утверждает, что для любых двух [[Конструируемая по памяти функция|конструируемых по памяти функций]] <math>f</math> и <math>g</math> таких, что <math> \lim_{n \rightarrow \infty} f(n)/g(n) = 0</math>, выполняется <math>DSPACE(g(n)) \ne DSPACE(f(n))</math>. | + | '''Теорема о емкостной иерархии''' утверждает, что для любых двух [[Конструируемая по памяти функция|конструируемых по памяти функций]] <math>f\,\!</math> и <math>g\,\!</math> таких, что <math> \lim_{n \rightarrow \infty} f(n)/g(n) = 0</math>, выполняется <math>DSPACE(g(n)) \ne DSPACE(f(n))</math>. |
== Доказательство == | == Доказательство == |
Версия 23:55, 12 марта 2010
Формулировка
Теорема о емкостной иерархии утверждает, что для любых двух конструируемых по памяти функций и таких, что , выполняется .
Доказательство
Зафиксируем
и .Рассмотрим язык
не допускает, используя не более памяти .Пусть
, тогда для него есть машина Тьюринга такая, что .Рассмотрим
.Пусть
допускает . Тогда , но в по определению не может быть пары , которую допускает . Таким образом, получаем противоречие.Если
не допускает , то не принадлежит языку . Это значит, что либо допускает , либо не допускает, используя памяти больше . Но , поэтому на любом входе использует не более памяти. Получаем противоречие.Следовательно такой машины не существует. Таким образом,
., так как можно проэмулировать машину Тьюринга такую, что . Для каждой пары рассмотрим . Если завершила работу и не допустила, то допускает . В другом случае не допускает. Так как любая такая машина использует памяти не более , а , будет использовать памяти не более .
Получается, что и . Следовательно,
Теорема доказана.