Теорема Бейкера — Гилла — Соловэя — различия между версиями
Shevchen (обсуждение | вклад) м |
(→Теорема) |
||
Строка 33: | Строка 33: | ||
Пусть <tex>B</tex> — произвольное множество, а <tex>U_B = \{1^n \bigm| \exists x \in B : |x| = n\}</tex>. Ясно, что <tex>\forall B</tex> выполнено <tex>U_B \in \mathrm{NP}^B</tex> (сертификатом будет слово нужной длины из <tex>B</tex>). Построим такое множество <tex>B</tex>, что <tex>U_B \not\in \mathrm{P}^B</tex>. | Пусть <tex>B</tex> — произвольное множество, а <tex>U_B = \{1^n \bigm| \exists x \in B : |x| = n\}</tex>. Ясно, что <tex>\forall B</tex> выполнено <tex>U_B \in \mathrm{NP}^B</tex> (сертификатом будет слово нужной длины из <tex>B</tex>). Построим такое множество <tex>B</tex>, что <tex>U_B \not\in \mathrm{P}^B</tex>. | ||
− | Пронумеруем | + | Пронумеруем все полиномиальные программы, получим последовательность <tex>M_i</tex>. Множество <tex>B</tex> будем строить итеративно, на очередной итерации номер <tex>i</tex> делая так, что программа <tex>M_i</tex> не распознает множество <tex>U_B</tex>. |
− | |||
− | |||
− | |||
− | |||
− | + | В начале каждой итерации определимся с тем, с какой длиной слова <tex>n</tex> мы будем работать. Для <tex>n</tex> должны быть выполнены два условия: | |
− | * | + | * <tex>2^n > T(M_i, (1)^1</tex> (это ограничение может быть достигнуто, так как мы исследуем только полиномиальные программы) |
− | + | * <tex>n > \max_{s \in B} |s|}</tex> (это ограничение может быть достигнуто, так как в множестве <tex>B</tex> всегда конечное количество элементов) | |
− | |||
− | |||
}} | }} |
Версия 19:35, 5 июня 2013
Теорема
Теорема: |
Существуют такие оракулы и , что и . |
Доказательство: |
Существование оракула Рассмотрим PS-полный язык .
Следовательно, Существование оракула Пусть — произвольное множество, а . Ясно, что выполнено (сертификатом будет слово нужной длины из ). Построим такое множество , что .Пронумеруем все полиномиальные программы, получим последовательность . Множество будем строить итеративно, на очередной итерации номер делая так, что программа не распознает множество .В начале каждой итерации определимся с тем, с какой длиной слова мы будем работать. Для должны быть выполнены два условия:
|
Следствие
Утверждение: |
Если существует решение вопроса равенства и , то оно не должно «релятивизоваться». |
Для доказательства строгого включения классов часто используется метод диагонализации. Однако утверждения, полученные при помощи данной техники, могут быть «релятивизованы». То есть при «разрешении» машине Тьюринга доступа к оракулу некоторого языка доказанное соотношение классов сохраняется. Однако соотношение
и не должно «релятивизоваться» по теореме Бейкера-Гилла-Соловэя, следовательно, метод диагонализации не применим для решения этого вопроса.