Теорема Бейкера — Гилла — Соловэя — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Теорема)
Строка 1: Строка 1:
 +
{| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;"
 +
|+
 +
|-align="center"
 +
|'''НЕТ ВОЙНЕ'''
 +
|-style="font-size: 16px;"
 +
|
 +
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.
 +
 +
Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.
 +
 +
Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.
 +
 +
Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.
 +
 +
''Антивоенный комитет России''
 +
|-style="font-size: 16px;"
 +
|Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
 +
|-style="font-size: 16px;"
 +
|[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки].
 +
|}
 +
 +
  
 
==Теорема==
 
==Теорема==

Версия 07:11, 1 сентября 2022

НЕТ ВОЙНЕ

24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.

Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.

Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.

Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.

Антивоенный комитет России

Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки.


Теорема

Теорема:
Существуют такие оракулы [math]A[/math] и [math]B[/math], что [math]\mathrm{P^A} = \mathrm{NP^A} [/math] и [math]\mathrm{P^B} \ne \mathrm{NP^B} [/math].
Доказательство:
[math]\triangleright[/math]

Существование оракула [math]A[/math]

Рассмотрим PS-полный язык [math]\mathrm{TQBF}[/math].

[math] \mathrm{P^{TQBF}} \overset{(1)}{\subseteq} \mathrm{NP^{TQBF}} \overset{(2)}{\subseteq} \mathrm{NPS^{TQBF}} \overset{(3)}{=} \mathrm{PS^{TQBF}} \overset{(4)}{=} \mathrm{PS} \overset{(5)}{\subseteq} \mathrm{P^{TQBF}} \Rightarrow [/math]
[math]\Rightarrow \mathrm{P^{TQBF}} = \mathrm{NP^{TQBF}}[/math].

  1. [math] \mathrm{P} \subseteq \mathrm{NP} \Rightarrow \mathrm{P^{TQBF}} \subseteq \mathrm{NP^{TQBF}} [/math].
  2. Так как [math]S(p,x) \le T(p, x)[/math], то [math] \mathrm{NP} \subseteq \mathrm{NPS} \Rightarrow \mathrm{NP^{TQBF}} \subseteq \mathrm{NPS^{TQBF}} [/math].
  3. По теореме Сэвича [math] \mathrm{NPS^{TQBF}} = \mathrm{PS^{TQBF}} [/math].
  4. [math] \mathrm{TQBF} \in \mathrm{PS} \Rightarrow \mathrm{PS^{TQBF}} = \mathrm{PS} [/math].
  5. [math] \mathrm{TQBF} \in \mathrm{PSC} \Rightarrow \mathrm{PS} \subseteq \mathrm{P^{TQBF}} [/math].

Следовательно, [math]\mathrm{P^{TQBF}} = \mathrm{NP^{TQBF}}[/math]


Существование оракула [math]B[/math]

Пусть [math]B[/math] — произвольное множество, а [math]U_B = \{1^n \bigm| \exists x \in B : |x| = n\}[/math]. Ясно, что [math]\forall B[/math] выполнено [math]U_B \in \mathrm{NP}^B[/math] (сертификатом будет слово нужной длины из [math]B[/math]). Построим такое множество [math]B[/math], что [math]U_B \not\in \mathrm{P}^B[/math].

Пронумеруем полиномиальные программы, получим последовательность [math]P_i[/math]. Множество [math]B[/math] будем строить итеративно, на очередной итерации номер [math]i[/math] делая так, что программа [math]P_i[/math] не распознает множество [math]U_B[/math].

В начале каждой итерации определимся с тем, с какой длиной слова [math]n_i[/math] мы будем работать. Для [math]n_i[/math] должны быть выполнены три условия:

  • [math]2^{n_i} \gt T(P_i, (1)^{n_i})[/math] (это ограничение может быть достигнуто, так как мы исследуем только полиномиальные программы)
  • [math]n_i \gt n_{i-1}[/math] (слово должно быть длиннее, чем слово, с которым мы работали на предыдущем шаге)
  • [math]n_i \gt \max\limits_{s \in B} |s|[/math], где [math]B[/math] — текущая версия множества, которое мы строим (это ограничение может быть достигнуто, так как в множестве [math]B[/math] всегда конечное число элементов). Кроме этого, слово должно быть длиннее, чем все слова, про которые наш оракул раньше ответил, что в множестве [math]B[/math] их нет.

Затем запустим программу [math]P_i[/math] на слове [math](1)^n[/math]. Каждый раз, когда она будет обращаться к оракулу для множества [math]B[/math], будем делать следующее:

  • если запрошенное слово ранее было добавлено в множество [math]B[/math], отвечаем [math]ACCEPT[/math]
  • в противном случае отвечаем [math]REJECT[/math]

Если программа отработала и решила, что слово [math](1)^n[/math] принадлежит языку [math]U_B[/math], ничего делать не надо: ни одного слова длины [math]n[/math] в языке [math]B[/math] нет (из-за третьего требования к длине обрабатываемых слов), и никогда не появится (из-за второго требования к длине обрабатываемых слов).

В противном случае, необходимо найти такое слово длины [math]n[/math], о котором программа [math]P_i[/math] не спрашивала оракул (оно всегда существует из-за первого требования к длине обрабатываемых слов: программа просто не успела бы спросить обо всех словах длины [math]n[/math]), и добавить это слово в множество [math]B[/math]. После этого все слова длины [math]n[/math] автоматически добавятся в язык [math]U_B[/math], и программа [math]P_i[/math] не будет верно распознавать этот язык (она будет неверно работать на слове [math](1)^n[/math]).
[math]\triangleleft[/math]

Следствие

Утверждение:
Если существует решение вопроса равенства [math]\mathrm{P}[/math] и [math] \mathrm{NP}[/math], то оно не должно «релятивизоваться».

Для доказательства строгого включения классов часто используется метод диагонализации. Однако утверждения, полученные при помощи данной техники, могут быть «релятивизованы». То есть при «разрешении» машине Тьюринга доступа к оракулу некоторого языка доказанное соотношение классов сохраняется. Однако соотношение [math]\mathrm{P}[/math] и [math]\mathrm{NP}[/math] не должно «релятивизоваться» по теореме Бейкера-Гилла-Соловэя, следовательно, метод диагонализации не применим для решения этого вопроса.