Теорема о непринадлежности XOR классу AC⁰ — различия между версиями
(→Hastad’s switching lemma) |
(→Теорема) |
||
Строка 17: | Строка 17: | ||
<tex>\oplus \notin \mathrm{AC^0}</tex>. | <tex>\oplus \notin \mathrm{AC^0}</tex>. | ||
|proof= | |proof= | ||
− | Рассмотрим произвольную схему из [[Классы NC и AC| класса]] <tex>\mathrm{AC^0}</tex>. Не умаляя общности, будем считать, что: | + | Рассмотрим произвольную схему из [[Классы NC и AC| класса]] <tex>\mathrm{AC^0}</tex>. Допустим, что эта схема распознает язык <tex>\oplus</tex>. В силу особенности языка <tex>\oplus</tex> распознающая его схема должна зависить от всех своих входов. Однако воспользовавшись леммой, можно с большой вероятностью представить эту схему в виде КНФ или ДНФ. Заметим, что значение КНФ или ДНФ можно сделать постоянным, зафиксировав значение лишь одного дизъюнкта или конъюнкта соответственно. А значит, с высокой вероятностью произвольная схема из класса <tex>\mathrm{AC^0}</tex> не распознает язык <tex>\oplus</tex>, поскольку зависит не от всех входных значений. |
+ | |||
+ | Покажем, как представить схему из класса <tex>\mathrm{AC^0}</tex> в виде КНФ или ДНФ. Не умаляя общности, будем считать, что: | ||
# Выходная степень каждого элемента равна <tex>1</tex>. | # Выходная степень каждого элемента равна <tex>1</tex>. | ||
− | # Схема | + | # Схема не содержит элементов <tex>\neg</tex>. Вместо этого удвоим число входов, причем значения, подаваемые на добавленные входы будут противоположны значениям, подаваемым на исходные входы. |
# Элементы <tex>\lor</tex> и <tex>\land</tex> чередуются. Значит, схему можно разбить на уровни так, что на каждом уровне все элементы будут одинаковыми. | # Элементы <tex>\lor</tex> и <tex>\land</tex> чередуются. Значит, схему можно разбить на уровни так, что на каждом уровне все элементы будут одинаковыми. | ||
− | # Нижний уровень схемы состоит из <tex>\land</tex> элементов с единичной степенью входа. | + | # Все входы лежат на одном уровне. Нижний уровень схемы состоит из <tex>\land</tex> элементов с единичной степенью входа. |
− | Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на <tex>1</tex> | + | Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на <tex>1</tex>. Пусть <tex>d~-</tex> глубина схемы, а <tex>n_0~-</tex> число входов. Выберем минимальное целое <tex>b</tex> так, чтобы <tex>n_0^b</tex> было не меньше, чем число элементов в схеме. Обозначим <tex>n_i~-</tex> число входов схемы после <tex>i</tex>-го шага. Возьмем <tex>k_i=10b\cdot2^i.</tex> |
[[Файл:beforeHastadSwitchingTransformation.png|600x250px|thumb|center|Схема на <tex>i</tex>-ом шаге.]] | [[Файл:beforeHastadSwitchingTransformation.png|600x250px|thumb|center|Схема на <tex>i</tex>-ом шаге.]] |
Версия 23:54, 17 июня 2012
Hastad’s switching lemma
Лемма: |
представима в виде - |
Замечание. Для функции
можно получить такой же результат, изменив КНФ на ДНФ и наоборот.Теорема
Определение: |
язык над алфавитом , состоящий из слов, содержащих нечетное число |
Теорема: |
. |
Доказательство: |
Рассмотрим произвольную схему из класса . Допустим, что эта схема распознает язык . В силу особенности языка распознающая его схема должна зависить от всех своих входов. Однако воспользовавшись леммой, можно с большой вероятностью представить эту схему в виде КНФ или ДНФ. Заметим, что значение КНФ или ДНФ можно сделать постоянным, зафиксировав значение лишь одного дизъюнкта или конъюнкта соответственно. А значит, с высокой вероятностью произвольная схема из класса не распознает язык , поскольку зависит не от всех входных значений. Покажем, как представить схему из класса в виде КНФ или ДНФ. Не умаляя общности, будем считать, что:
Построим итеративный процесс, на каждом шаге которого можно с высокой вероятностью уменьшить глубину схемы на . Пусть глубина схемы, а число входов. Выберем минимальное целое так, чтобы было не меньше, чем число элементов в схеме. Обозначим число входов схемы после -го шага. ВозьмемПусть после -ого шага глубина схемы будет , причем наибольшая степень входа элемента на нижнем уровне не будет превосходить . Если нижний уровень схемы состоит из элементов, тогда уровень выше из элементов . Каждый элемент можно считать -ДНФ. Воспользуемся леммой. Пусть , число входов схемы, соответствующих рассматриваемому элементу . Тогда в качестве возьмем . Значит, с вероятностью не менее функцию нельзя представить в виде -КНФ. Заметим, что при таком выборе . Тогда при достаточно больших верно, что . В итоге получаем, что -ДНФ можно переписать в виде -КНФ с вероятностью не менее . Поскольку верхний уровень КНФ состоит из элементов, также как и уровень над КНФ, то их можно объединить, уменьшив при этом глубину схемы на . Аналогично рассматриваем случай, когда нижний уровень схемы состоит из элементов. Заметим, что лемма применяется не более, чем к элементам исходной схемы. Тогда с вероятностью не менее после ( )-ого шага получаем схему глубины , у которой максимальная степень входа на нижнем уровне не больше . По построению эта формула либо КНФ, либо ДНФ. Такую схему можно сделать постоянной, если правильно зафиксировать переменных. Однако функцию, распознающую невозможно сделать постоянной, зафиксировав не все переменные. Получили противоречие. Поскольку рассматривали произвольную схему из класса , верно что |
Источники
- Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach