Материал из Викиконспекты
|
|
Строка 11: |
Строка 11: |
| '''База'''. <tex>\Sigma_i = \Sigma_{i+1}</tex> из условия.<br/> | | '''База'''. <tex>\Sigma_i = \Sigma_{i+1}</tex> из условия.<br/> |
| '''Индукционный переход'''. Докажем, что если <tex>\Sigma_n = \Sigma_{n+1}</tex>, то <tex>\Sigma_{n+1} = \Sigma_{n+2}</tex>.<br/> | | '''Индукционный переход'''. Докажем, что если <tex>\Sigma_n = \Sigma_{n+1}</tex>, то <tex>\Sigma_{n+1} = \Sigma_{n+2}</tex>.<br/> |
− | Рассмотрим язык <tex>L \in \Sigma_{n+2}</tex>. <tex>L = \{x | \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}</tex>. Обозначим <tex>\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)</tex>. | + | Рассмотрим язык <tex>L \in \Sigma_{n+2}</tex>. <tex>L = \{x \colon \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}</tex>. Обозначим <tex>\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)</tex>. |
| Тогда получим язык <tex>L_f = \{\langle x, y_1\rangle | f(x, y_1) = 1\}</tex>.<br/> | | Тогда получим язык <tex>L_f = \{\langle x, y_1\rangle | f(x, y_1) = 1\}</tex>.<br/> |
| Заметим, что <tex>L_f \in \Pi_{n+1}</tex> и из вышедоказанной леммы следует, что <tex>L_f \in \Pi_n</tex>.<br/> | | Заметим, что <tex>L_f \in \Pi_{n+1}</tex> и из вышедоказанной леммы следует, что <tex>L_f \in \Pi_n</tex>.<br/> |
Версия 19:19, 10 мая 2012
Лемма: |
Если [math]\Sigma_i = \Sigma_{i+1}[/math], то [math]\Pi_i = \Pi_{i+1}[/math]. |
Доказательство: |
[math]\triangleright[/math] |
[math]L \in \Pi_{i+1} \Leftrightarrow \overline{L} \in \Sigma_{i+1} \Leftrightarrow \overline{L} \in \Sigma_i \Leftrightarrow L \in \Pi_i[/math]. |
[math]\triangleleft[/math] |
Теорема о коллапсе полиномиальной иерархии при совпадении [math]\Sigma_i[/math] и [math]\Sigma_{i+1}[/math]
Теорема: |
Если существует [math]i \colon \Sigma_i = \Sigma_{i+1}[/math], то [math]\Sigma_i = PH[/math]. |
Доказательство: |
[math]\triangleright[/math] |
Для доказательства теоремы достаточно показать, что если такое [math]i[/math] существует, то [math]\forall j \gt i[/math] верно, что [math]\Sigma_i = \Sigma_j[/math].
Докажем по индукции.
База. [math]\Sigma_i = \Sigma_{i+1}[/math] из условия.
Индукционный переход. Докажем, что если [math]\Sigma_n = \Sigma_{n+1}[/math], то [math]\Sigma_{n+1} = \Sigma_{n+2}[/math].
Рассмотрим язык [math]L \in \Sigma_{n+2}[/math]. [math]L = \{x \colon \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}[/math]. Обозначим [math]\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)[/math].
Тогда получим язык [math]L_f = \{\langle x, y_1\rangle | f(x, y_1) = 1\}[/math].
Заметим, что [math]L_f \in \Pi_{n+1}[/math] и из вышедоказанной леммы следует, что [math]L_f \in \Pi_n[/math].
Из определения сложностного класса [math]\Pi_n[/math] получаем, что [math]\exists R_{L_f}^{n} \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \forall y_2 \exists y_3 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})[/math]. Следовательно, [math]x \in L \Leftrightarrow \exists y_1 \forall y_2 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})[/math]. То есть язык [math]L \in \Sigma_{n+1}[/math]. |
[math]\triangleleft[/math] |
Теорема о коллапсе полиномиальной иерархии при совпадении [math]\Sigma_i[/math] и [math]\Pi_i[/math]
Теорема: |
Если существует [math]i \gt 0\colon \Sigma_i = \Pi_i[/math], то [math]\Sigma_i = PH[/math]. |
Доказательство: |
[math]\triangleright[/math] |
Для доказательства покажем, что [math]\Sigma_i = \Sigma_{i+1}[/math], и воспользуемся предыдущей теоремой.
Рассмотрим язык [math]L \in \Sigma_{i+1}[/math]. [math]L =\{x \colon \exists y_1 \forall y_2 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1})\}[/math]. Обозначим [math]\forall y_2 \exists y_3 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1}) = f(x, y_1)[/math]. Получим язык [math]L_f = \{ \langle x, y_1 \rangle \colon f(x, y_1) = 1\}[/math].
Тогда [math]L_f \in \Pi_i[/math], и из условия теоремы [math]L_f \in \Sigma_i[/math].
По определению сложностного класса [math]\Sigma_i \; \exists R_{L_f}^i \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \exists y_2 \forall y_3 \ldots Q y_{i+1} R_{L_f}^i(\langle x, y_1 \rangle, y_2 \ldots y_{i+1})[/math]. Тогда [math]x \in L \Leftrightarrow \exists \langle y_1, y_2 \rangle \forall y_3 \ldots Q y_{i+1} R_L^i(x, \langle y_1, y_2\rangle \ldots y_{i+1})[/math].
[math]R_L^i(x, \langle y_1, y_2\rangle, y_3, \ldots, y_{i+1})[/math]
return [math]R_{L_f}^i(\langle x, y_1\rangle, y_2, y_3, \ldots y_{i+1})[/math]
Значит, [math]L \in \Sigma_i[/math].
Заметим, что при [math]i = 0[/math] теорема, скорее всего, неверна. Так как если взять язык [math]L \in \Sigma_1[/math] и выполнить все шаги доказательства, то на выходе получится язык из [math]\Sigma_1[/math], а не из [math]\Sigma_0[/math]. |
[math]\triangleleft[/math] |
См. также