Теорема о непринадлежности XOR классу AC⁰ — различия между версиями
Rost (обсуждение | вклад) (→Теорема) |
Rost (обсуждение | вклад) (→Теорема) |
||
Строка 19: | Строка 19: | ||
Рассмотрим произвольную схему из [[Классы NC и AC| класса]] <tex>\mathrm{AC^0}</tex>. Не умаляя общности, будем считать, что: | Рассмотрим произвольную схему из [[Классы NC и AC| класса]] <tex>\mathrm{AC^0}</tex>. Не умаляя общности, будем считать, что: | ||
# Выходная степень каждого элемента равна <tex>1</tex>. | # Выходная степень каждого элемента равна <tex>1</tex>. | ||
− | # Схема имеет <tex> | + | # Схема имеет <tex>2n_0</tex> входных провода, причем последние <tex>n_0</tex> из них являются отрицанием первых <tex>n</tex> входов. |
# Элементы <tex>\lor</tex> и <tex>\land</tex> чередуются. Значит, схему можно разбить на уровни так, что на каждом уровне все элементы будут одинаковыми. | # Элементы <tex>\lor</tex> и <tex>\land</tex> чередуются. Значит, схему можно разбить на уровни так, что на каждом уровне все элементы будут одинаковыми. | ||
# Нижний уровень схемы состоит из <tex>\land</tex> элементов с единичной степенью входа. | # Нижний уровень схемы состоит из <tex>\land</tex> элементов с единичной степенью входа. | ||
− | Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на <tex>1</tex>, сохранив при этом число входов. Пусть <tex>n_0~-</tex> длина входной цепочки, а <tex>d~-</tex> глубина схемы. Выберем минимальное целое <tex>b</tex> так, чтобы <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>\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> элементов. | Пусть после <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> элементов. |
Версия 16:23, 3 июня 2012
Hastad’s switching lemma
Лемма: |
представима в виде - |
Замечание. Для функции
можно получить такой же результат, изменив КНФ на ДНФ и наоборот.Теорема
Определение: |
язык над алфавитом , состоящий из слов, содержащих нечетное число |
Теорема: |
. |
Доказательство: |
Рассмотрим произвольную схему из класса . Не умаляя общности, будем считать, что:
Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на , сохранив при этом число входов. Пусть длина входной цепочки, а глубина схемы. Выберем минимальное целое так, чтобы было не меньше, чем число элементов в схеме. Обозначим число входов схемы после -го шаге. ВозьмемПусть после -ого шага глубина схемы будет , причем наибольшая степень входа элемента на нижнем уровне будет . Если нижний уровень схемы состоит из элементов, тогда уровень выше из элементов . Каждый элемент можно считать -ДНФ. Воспользуемся леммой. Пусть , , а в качестве возьмем . Получаем, что с вероятностью функцию нельзя представить в виде -КНФ. Заметим, что при таком выборе . Тогда при достаточно больших верно, что . В итоге получаем, что -ДНФ можно переписать в виде -КНФ с вероятностью не менее . Поскольку верхний уровень КНФ состоит из элементов, также как и уровень над КНФ, то их можно объединить, уменьшив при этом глубину схемы на . Аналогично рассматриваем случай, когда нижний уровень схемы состоит из элементов. Заметим, что лемма применяется не более, чем к элементам исходной схемы. Тогда с вероятностью не менее после ( )-ого шага получаем схему глубины , у которой максимальная степень входа на нижнем уровне не больше . По построению эта формула либо КНФ, либо ДНФ. Такую схему можно сделать постоянной, если правильно зафиксировать переменных. Однако функцию, распознающую невозможно сделать постоянной, зафиксировав не все переменные. Получили противоречие. Поскольку рассматривали произвольную схему из класса , верно что |
Источники
- Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach