Классы PH, Σ и Π — различия между версиями
Строка 4: | Строка 4: | ||
|definition = | |definition = | ||
<tex>\Sigma_{i} = \{L|\exists R(x,y_{1},\cdots,y_{i}) \in P, p - poly : \forall x \in L \Leftrightarrow \exists y_{1} \forall y_{2} \exists y_{3} \cdots Q y_{i} : \forall j |y_{j}|~\le~p(|x|), R(x,y_{1},\cdots,y_{i})\},</tex><br/> | <tex>\Sigma_{i} = \{L|\exists R(x,y_{1},\cdots,y_{i}) \in P, p - poly : \forall x \in L \Leftrightarrow \exists y_{1} \forall y_{2} \exists y_{3} \cdots Q y_{i} : \forall j |y_{j}|~\le~p(|x|), R(x,y_{1},\cdots,y_{i})\},</tex><br/> | ||
− | где <tex>L</tex> - формальный язык <tex>,Q = \exists</tex> для <tex>i = 2k$-$1,</tex> <tex>Q = \forall</tex> для <tex>i = 2k</tex>. | + | где <tex>L</tex> {{---}} формальный язык <tex>,Q = \exists</tex> для <tex>i = 2k$-$1,</tex> <tex>Q = \forall</tex> для <tex>i = 2k</tex>. |
}} | }} | ||
Строка 10: | Строка 10: | ||
|definition = | |definition = | ||
<tex>\Pi_{i} = \{L|\exists R(x, y_{1},\cdots,y_{i}) \in P, p - poly : \forall x \in L \Leftrightarrow \forall y_{1} \exists y_{2} \forall y_{3} \cdots Q y_{i} : \forall j |y_{j}|~\le~p(|x|), R(x, y_{1}, \cdots, y_{i}) \},</tex><br/> | <tex>\Pi_{i} = \{L|\exists R(x, y_{1},\cdots,y_{i}) \in P, p - poly : \forall x \in L \Leftrightarrow \forall y_{1} \exists y_{2} \forall y_{3} \cdots Q y_{i} : \forall j |y_{j}|~\le~p(|x|), R(x, y_{1}, \cdots, y_{i}) \},</tex><br/> | ||
− | где <tex>L</tex> - формальный язык <tex>,Q = \forall</tex> для <tex>i = 2k$-$1,</tex> <tex>Q = \exists</tex> для <tex>i = 2k</tex>. | + | где <tex>L</tex> {{---}} формальный язык <tex>,Q = \forall</tex> для <tex>i = 2k$-$1,</tex> <tex>Q = \exists</tex> для <tex>i = 2k</tex>. |
}} | }} | ||
== Взаимоотношения между классами Σ и Π == | == Взаимоотношения между классами Σ и Π == | ||
{{Теорема | {{Теорема | ||
− | |statement = <tex>\Sigma_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex> | + | |statement = <tex>\Sigma_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex>. |
− | |proof = Пусть <tex>L \in \Sigma_{i} \Rightarrow \exists R : x \in L \Leftrightarrow \exists y_{1} \cdots Q y_{i} : R(x,y_{1},\cdots,y_{i}), \forall j |y_{j}| \le poly(|x|)</tex><br/> | + | |proof = Пусть <tex>L \in \Sigma_{i} \Rightarrow \exists R : x \in L \Leftrightarrow \exists y_{1} \cdots Q y_{i} : R(x,y_{1},\cdots,y_{i}), \forall j |y_{j}| \le poly(|x|)</tex>.<br/> |
− | Проверим, что <tex>L \in \Sigma_{i+1} \Leftrightarrow \exists R' : x \in L \Leftrightarrow \exists y_{1} \cdots Q y_{i} \bar{Q} y_{i+1} : R'(x,y_{1},\cdots,y_{i},y_{i+1})</tex> | + | Проверим, что <tex>L \in \Sigma_{i+1} \Leftrightarrow \exists R' : x \in L \Leftrightarrow \exists y_{1} \cdots Q y_{i} \bar{Q} y_{i+1} : R'(x,y_{1},\cdots,y_{i},y_{i+1})</tex>. |
<br/> | <br/> | ||
<tex>R'(x,y_{1},\cdots,y_{i+1})</tex> { | <tex>R'(x,y_{1},\cdots,y_{i+1})</tex> { | ||
− | return <tex>R(x,y_{1},\cdots,y_{i})</tex> | + | return <tex>R(x,y_{1},\cdots,y_{i})</tex>; |
} | } | ||
− | Проверим, что <tex>L \in \Pi_{i+1} \Leftrightarrow \exists R'' : x \in L \Leftrightarrow \forall y_{0} \exists y_{1} \cdots Q y_{i} : R''(x,y_{0},y_{1},\cdots,y_{i})</tex> | + | Проверим, что <tex>L \in \Pi_{i+1} \Leftrightarrow \exists R'' : x \in L \Leftrightarrow \forall y_{0} \exists y_{1} \cdots Q y_{i} : R''(x,y_{0},y_{1},\cdots,y_{i})</tex>. |
<br/> | <br/> | ||
<tex>R''(x,y_{0},y_{1},\cdots,y_{i})</tex> { | <tex>R''(x,y_{0},y_{1},\cdots,y_{i})</tex> { | ||
− | return <tex>R(x,y_{1},\cdots,y_{i})</tex> | + | return <tex>R(x,y_{1},\cdots,y_{i})</tex>; |
} | } | ||
Т.о., <tex>\Sigma_{i} \subset \Sigma_{i+1}, \Sigma_{i} \subset \Pi_{i+1} \Rightarrow \Sigma_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex>. | Т.о., <tex>\Sigma_{i} \subset \Sigma_{i+1}, \Sigma_{i} \subset \Pi_{i+1} \Rightarrow \Sigma_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex>. | ||
Строка 31: | Строка 31: | ||
{{Теорема | {{Теорема | ||
− | |statement = <tex>\Pi_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex> | + | |statement = <tex>\Pi_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex>. |
− | |proof = Пусть <tex>L \in \Pi_{i} \Rightarrow \exists R : x \in L \Leftrightarrow \forall y_{1} \cdots Q y_{i} : R(x,y_{1},\cdots,y_{i}), \forall j |y_{j}| \le poly(|x|)</tex><br/> | + | |proof = Пусть <tex>L \in \Pi_{i} \Rightarrow \exists R : x \in L \Leftrightarrow \forall y_{1} \cdots Q y_{i} : R(x,y_{1},\cdots,y_{i}), \forall j |y_{j}| \le poly(|x|)</tex>.<br/> |
− | Проверим, что <tex>L \in \Pi_{i+1} \Leftrightarrow \exists R' : x \in L \Leftrightarrow \forall y_{1} \cdots Q y_{i} \bar{Q} y_{i+1} : R'(x,y_{1},\cdots,y_{i},y_{i+1})</tex> | + | Проверим, что <tex>L \in \Pi_{i+1} \Leftrightarrow \exists R' : x \in L \Leftrightarrow \forall y_{1} \cdots Q y_{i} \bar{Q} y_{i+1} : R'(x,y_{1},\cdots,y_{i},y_{i+1})</tex>. |
<br/> | <br/> | ||
<tex>R'(x,y_{1},\cdots,y_{i+1})</tex> { | <tex>R'(x,y_{1},\cdots,y_{i+1})</tex> { | ||
− | return <tex>R(x,y_{1},\cdots,y_{i})</tex> | + | return <tex>R(x,y_{1},\cdots,y_{i})</tex>; |
} | } | ||
− | Проверим, что <tex>L \in \Sigma_{i+1} \Leftrightarrow \exists R'' : x \in L \Leftrightarrow \exists y_{0} \forall y_{1} \cdots Q y_{i} : R''(x,y_{0},y_{1},\cdots,y_{i})</tex> | + | Проверим, что <tex>L \in \Sigma_{i+1} \Leftrightarrow \exists R'' : x \in L \Leftrightarrow \exists y_{0} \forall y_{1} \cdots Q y_{i} : R''(x,y_{0},y_{1},\cdots,y_{i})</tex>. |
<br/> | <br/> | ||
<tex>R''(x,y_{0},y_{1},\cdots,y_{i})</tex> { | <tex>R''(x,y_{0},y_{1},\cdots,y_{i})</tex> { | ||
− | return <tex>R(x,y_{1},\cdots,y_{i})</tex> | + | return <tex>R(x,y_{1},\cdots,y_{i})</tex>; |
} | } | ||
Т.о., <tex>\Pi_{i} \subset \Sigma_{i+1}, \Pi_{i} \subset \Pi_{i+1} \Rightarrow \Pi_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex>. | Т.о., <tex>\Pi_{i} \subset \Sigma_{i+1}, \Pi_{i} \subset \Pi_{i+1} \Rightarrow \Pi_{i} \subset \Sigma_{i+1} \cap \Pi_{i+1}</tex>. | ||
Строка 47: | Строка 47: | ||
{{Теорема | {{Теорема | ||
− | |statement = <tex>\Sigma_{i} = co\Pi_{i}</tex> | + | |statement = <tex>\Sigma_{i} = co\Pi_{i}</tex>. |
− | |proof = <tex>co\Pi_{i} = \{L|\exists R(x,y_{1},\cdots,y_{i}) \in P, p - poly: x \in L \Leftrightarrow \exists y_{1} \forall y_{2} \cdots Q y_{i} : \forall j |y_j|~\le~p(|x|), R(x,y_{1},\cdots,y_{i})\}</tex><br/> | + | |proof = <tex>co\Pi_{i} = \{L|\exists R(x,y_{1},\cdots,y_{i}) \in P, p - poly: x \in L \Leftrightarrow \exists y_{1} \forall y_{2} \cdots Q y_{i} : \forall j |y_j|~\le~p(|x|), R(x,y_{1},\cdots,y_{i})\}</tex>.<br/> |
Из самого выражения для <tex>co\Pi_{i}</tex> очевидно равенство. | Из самого выражения для <tex>co\Pi_{i}</tex> очевидно равенство. | ||
}} | }} | ||
Строка 55: | Строка 55: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>PH_{1} = {\bigcup \atop {k \in \mathbb{N}}} \Sigma_{i}</tex><br/> | + | <tex>PH_{1} = {\bigcup \atop {k \in \mathbb{N}}} \Sigma_{i}</tex>.<br/> |
− | <tex>PH_{2} = {\bigcup \atop {k \in \mathbb{N}}} \Pi_{i}</tex><br/> | + | <tex>PH_{2} = {\bigcup \atop {k \in \mathbb{N}}} \Pi_{i}</tex>.<br/> |
− | <tex>PH_{3} = {\bigcup \atop {k \in \mathbb{N}}} (\Sigma_{i} \cup \Pi_{i})</tex> | + | <tex>PH_{3} = {\bigcup \atop {k \in \mathbb{N}}} (\Sigma_{i} \cup \Pi_{i})</tex>. |
}} | }} | ||
{{Теорема | {{Теорема | ||
− | |statement = Все три определения класса <tex>PH</tex> эквивалентны, т.е. <tex>PH_{1} = PH_{2} = PH_{3}</tex> | + | |statement = Все три определения класса <tex>PH</tex> эквивалентны, т.е. <tex>PH_{1} = PH_{2} = PH_{3}</tex>. |
− | |proof = <tex>\Sigma_{i} \subset \Pi_{i+1} \Rightarrow PH_{1} \subset PH_{2}</tex><br/> | + | |proof = <tex>\Sigma_{i} \subset \Pi_{i+1} \Rightarrow PH_{1} \subset PH_{2}</tex>.<br/> |
− | <tex>\Pi_{i} \subset (\Sigma_{i+1} \cap \Pi_{i+1}) \subset (\Sigma_{i+1} \cup \Pi_{i+1}) \Rightarrow PH_{2} \subset PH_{3}</tex><br/> | + | <tex>\Pi_{i} \subset (\Sigma_{i+1} \cap \Pi_{i+1}) \subset (\Sigma_{i+1} \cup \Pi_{i+1}) \Rightarrow PH_{2} \subset PH_{3}</tex>.<br/> |
− | <tex>\Pi_{i} \subset \Sigma_{i+1}, \Sigma_{i} \subset \Sigma_{i+1} \Rightarrow PH_{3} \subset PH_{1}</tex><br/> | + | <tex>\Pi_{i} \subset \Sigma_{i+1}, \Sigma_{i} \subset \Sigma_{i+1} \Rightarrow PH_{3} \subset PH_{1}</tex>.<br/> |
− | Т.о., <tex>PH_{1} \subset PH_{2} \subset PH_{3} \subset PH_{1}</tex> | + | Т.о., <tex>PH_{1} \subset PH_{2} \subset PH_{3} \subset PH_{1}</tex>. |
}} | }} | ||
{{Теорема | {{Теорема | ||
− | |statement = <tex>PH \subset PS</tex> | + | |statement = <tex>PH \subset PS</tex>. |
− | |proof = Пусть <tex>L \in \Sigma_{i} \Rightarrow \exists R : x \in L \Leftrightarrow \exists y_{1} \cdots Q y_{i} : R(x,y_{1},\cdots,y_{i}), \forall j |y_{j}| \le poly(|x|)</tex><br/> | + | |proof = Пусть <tex>L \in \Sigma_{i} \Rightarrow \exists R : x \in L \Leftrightarrow \exists y_{1} \cdots Q y_{i} : R(x,y_{1},\cdots,y_{i}), \forall j |y_{j}| \le poly(|x|)</tex>.<br/> |
То есть, для перебора всех возможных значений <tex>y_{j}</tex> потребуется не более, чем <tex>i \cdot poly(|x|)</tex> памяти. Заметим, что <tex>i \cdot poly(|x|)</tex> тоже полином. | То есть, для перебора всех возможных значений <tex>y_{j}</tex> потребуется не более, чем <tex>i \cdot poly(|x|)</tex> памяти. Заметим, что <tex>i \cdot poly(|x|)</tex> тоже полином. | ||
Таким образом, для любого формального языка из <tex>PH</tex> существует программа, разрешающая его на полиномиальной памяти. То есть, любой формальный язык из <tex>PH</tex> принадлежит <tex>PS</tex>. | Таким образом, для любого формального языка из <tex>PH</tex> существует программа, разрешающая его на полиномиальной памяти. То есть, любой формальный язык из <tex>PH</tex> принадлежит <tex>PS</tex>. | ||
}} | }} |
Версия 17:50, 13 апреля 2012
Классы Σ и Π
Определение: |
где — формальный язык для для . |
Определение: |
где — формальный язык для для . |
Взаимоотношения между классами Σ и Π
Теорема: |
. |
Доказательство: |
Пусть { return ; } Проверим, что Т.о., { return ; } . |
Теорема: |
. |
Доказательство: |
Пусть { return ; } Проверим, что Т.о., { return ; } . |
Теорема: |
. |
Доказательство: |
|
Класс PH
Определение: |
| .
Теорема: |
Все три определения класса эквивалентны, т.е. . |
Доказательство: |
|
Теорема: |
. |
Доказательство: |
Пусть |