Теорема о непринадлежности XOR классу AC⁰ — различия между версиями
Rost (обсуждение | вклад) (→Теорема) |
Rost (обсуждение | вклад) (→Теорема) |
||
Строка 25: | Строка 25: | ||
Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на <tex>1</tex>, сохранив при этом число входов. Пусть <tex>n_0~-</tex> длина входной цепочки, а <tex>d~-</tex> глубина схемы. Выберем минимальное целое <tex>b</tex> так, чтобы <tex>n_0^b</tex> было не меньше, чем число элементов в схеме. Обозначим <tex>n_i~-</tex> число входов схемы после <tex>i</tex>-го шаге. Возьмем <tex>k_i=10b\cdot2^i.</tex> | Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на <tex>1</tex>, сохранив при этом число входов. Пусть <tex>n_0~-</tex> длина входной цепочки, а <tex>d~-</tex> глубина схемы. Выберем минимальное целое <tex>b</tex> так, чтобы <tex>n_0^b</tex> было не меньше, чем число элементов в схеме. Обозначим <tex>n_i~-</tex> число входов схемы после <tex>i</tex>-го шаге. Возьмем <tex>k_i=10b\cdot2^i.</tex> | ||
− | Пусть после <tex>i</tex>-ого шага глубина схемы будет <tex>d - i</tex>, причем наибольшая степень входа элемента на нижнем уровне будет <tex>k_i</tex>. Если нижний уровень схемы состоит из <tex>\land</tex> элементов, тогда уровень выше <tex>-</tex> из элементов <tex>\lor</tex>. Каждый <tex>\lor</tex> элемент можно считать <tex>k_i</tex>-ДНФ. Воспользуемся леммой. Пусть <tex>s = k_{i+1}</tex>, <tex>n = x</tex>, а в качестве <tex>t</tex> возьмем <tex>x - \frac{x}{\sqrt{n_i}}</tex>. | + | Пусть после <tex>i</tex>-ого шага глубина схемы будет <tex>d - i</tex>, причем наибольшая степень входа элемента на нижнем уровне будет <tex>k_i</tex>. Если нижний уровень схемы состоит из <tex>\land</tex> элементов, тогда уровень выше <tex>-</tex> из элементов <tex>\lor</tex>. Каждый <tex>\lor</tex> элемент можно считать <tex>k_i</tex>-ДНФ. Воспользуемся леммой. Пусть <tex>s = k_{i+1}</tex>, <tex>n = x</tex>, а в качестве <tex>t</tex> возьмем <tex>x - \frac{x}{\sqrt{n_i}}</tex>. Тогда с вероятностью <tex>\left(\frac{k_i^{10}}{\sqrt{n_i}}\right) ^ {k_{i+1}/2}</tex> функцию нельзя представить в виде <tex>k_{i+1}</tex>-КНФ. Заметим, что <tex>n_i = n_0^{1/2^i}</tex> при таком выборе <tex>t</tex>. Тогда при достаточно больших <tex>n</tex> верно, что <tex>\left(\frac{k_i^{10}}{\sqrt{n_i}}\right) ^ {k_{i+1}/2} = \left(\frac{k_i^{10}}{n_0^{1/2^{i+1}}}\right) ^ {k_{i+1}/2} \le \frac{1}{10n_0^b}</tex>. В итоге получаем, что <tex>k_i</tex>-ДНФ можно переписать в виде <tex>k_{i+1}</tex>-КНФ с вероятностью не менее <tex>1 - \frac{1}{10n_0^b}</tex>. Поскольку верхний уровень КНФ состоит из <tex>\land</tex> элементов, также как и уровень над КНФ, то их можно объединить, уменьшив при этом глубину схемы на <tex>1</tex>. Аналогично рассматриваем случай, когда нижний уровень схемы состоит из <tex>\lor</tex> элементов. |
[[Файл:XorNotInAC0StepByStep.gif|404px|thumb|center|Переход от <tex>i</tex>-ого к (<tex>i+1</tex>)-му шагу.]] | [[Файл:XorNotInAC0StepByStep.gif|404px|thumb|center|Переход от <tex>i</tex>-ого к (<tex>i+1</tex>)-му шагу.]] |
Версия 16:41, 3 июня 2012
Hastad’s switching lemma
Лемма: |
представима в виде - |
Замечание. Для функции
можно получить такой же результат, изменив КНФ на ДНФ и наоборот.Теорема
Определение: |
язык над алфавитом , состоящий из слов, содержащих нечетное число |
Теорема: |
. |
Доказательство: |
Рассмотрим произвольную схему из класса . Не умаляя общности, будем считать, что:
Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на , сохранив при этом число входов. Пусть длина входной цепочки, а глубина схемы. Выберем минимальное целое так, чтобы было не меньше, чем число элементов в схеме. Обозначим число входов схемы после -го шаге. ВозьмемПусть после -ого шага глубина схемы будет , причем наибольшая степень входа элемента на нижнем уровне будет . Если нижний уровень схемы состоит из элементов, тогда уровень выше из элементов . Каждый элемент можно считать -ДНФ. Воспользуемся леммой. Пусть , , а в качестве возьмем . Тогда с вероятностью функцию нельзя представить в виде -КНФ. Заметим, что при таком выборе . Тогда при достаточно больших верно, что . В итоге получаем, что -ДНФ можно переписать в виде -КНФ с вероятностью не менее . Поскольку верхний уровень КНФ состоит из элементов, также как и уровень над КНФ, то их можно объединить, уменьшив при этом глубину схемы на . Аналогично рассматриваем случай, когда нижний уровень схемы состоит из элементов. Заметим, что лемма применяется не более, чем к элементам исходной схемы. Тогда с вероятностью не менее после ( )-ого шага получаем схему глубины , у которой максимальная степень входа на нижнем уровне не больше . По построению эта формула либо КНФ, либо ДНФ. Такую схему можно сделать постоянной, если правильно зафиксировать переменных. Однако функцию, распознающую невозможно сделать постоянной, зафиксировав не все переменные. Получили противоречие. Поскольку рассматривали произвольную схему из класса , верно что |
Источники
- Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach