Теорема о связи вопросов EXP=NEXP и P=NP

Материал из Викиконспекты
Перейти к: навигация, поиск

Формулировка[править]

[math]\text{P=NP} \Rightarrow \text{EXP=NEXP}[/math]

Доказательство[править]

Рассмотрим NEXP-полный язык [math]\text{BH}_{2N}=\{\langle m, x, t \rangle ~|~ m(x)=1, T(m, x) \le t \}[/math]. Докажем, что при условии выполнения равенства [math]\text{P=NP,~BH}_{2N} \in \text{EXP}[/math].

Сведем [math]\text{BH}_{2N}[/math] к [math]\text{BH}_{1N}[/math] по Карпу за экпоненциальное время [math]\left( \text{BH}_{2N} \le_{\tiny{\text{EXP}}} \text{BH}_{1N} \right)[/math]. Для этого запишем [math]\text{t}[/math] в унарной системе счисления: [math]\langle m, x, t \rangle \rightarrow \langle m, x, 1^t \rangle[/math]. Ясно, что для выполнение этого сведения потребуется выполнить [math]O(2^{p_1(t)})[/math] операций, где [math]p_1[/math] — полином.

Поскольку мы предположили, что [math]\text{P=NP}[/math], то существует детерминированная машина Тьюринга [math]M[/math], разрешающая [math]\text{BH}_{1N}[/math] за полиномиальное от длины входа время [math]\left( T(M, \langle m, x, 1^t \rangle) ~=~ O(p_2(|\langle m, x, 1^t \rangle|)),~ p_2 \in \text{\textit{\large{poly}}} \right)[/math]. Имея ее, легко построить машину [math]M'[/math], которая сначала выполняла бы описанное выше сведение, а затем подавала бы полученный результат на вход машине [math]M[/math]. То есть [math]M'(\langle m, x, t \rangle) ~=~ M(\langle m, x, 1^t \rangle)[/math].

Заметим, что время работы машины [math]M'[/math] складывается из времени, необходимого на преобразование входа, и времени работы машины [math]M[/math].

[math]T(M', \langle m, x, t \rangle) ~=~ O(2^{p_1(t)}) + O(p_2(|\langle m, x, 1^t \rangle|)) = O(2^{poly(|\langle m, x, t \rangle|)})[/math]

Полученное равенство означает, что [math]\text{BH}_{2N} \in \text{EXP}[/math], откуда в силу NEXP-полноты языка [math]\text{BH}_{2N}[/math] вытекает включение [math]\text{NEXP} \subset \text{EXP}[/math]. Поскольку обратное включение [math]\left(\text{NEXP} \supset \text{EXP}\right)[/math] тривиально, то это и означает, что [math]\text{EXP=NEXP}[/math]