Классы PH, Σ и Π — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показано 14 промежуточных версий 7 участников) | |||
Строка 3: | Строка 3: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>\Sigma_{i} = \{L|\exists R(x,y_{1},\cdots,y_{i}) \in P, p</tex> {{---}} <tex>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 \bigm| \exists R(x,y_{1},\cdots,y_{i}) \in \mathrm{P}, p</tex> {{---}} <tex>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 | + | где <tex>L</tex> — формальный язык <tex>,Q = \exists</tex> для <tex>i = 2k-1,</tex> <tex>Q = \forall</tex> для <tex>i = 2k</tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>\Pi_{i} = \{L|\exists R(x, y_{1},\cdots,y_{i}) \in P, p</tex> {{---}} <tex>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 \bigm| \exists R(x, y_{1},\cdots,y_{i}) \in \mathrm{P}, p</tex> {{---}} <tex>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 | + | где <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>. | ||
Строка 27: | Строка 27: | ||
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>. | |
}} | }} | ||
{{Теорема | {{Теорема | ||
− | |statement = <tex>\ | + | |statement = <tex>\Sigma_{i} = \mathrm{co\Pi_{i}}</tex>. |
− | |proof = | + | |proof = <tex>\mathrm{co\Pi_{i}} = \{L \bigm| \exists R(x,y_{1},\cdots,y_{i}) \in \mathrm{P}, p</tex> {{---}} <tex>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>\mathrm{co\Pi_{i}}</tex> очевидно равенство. | |
− | <br/> | + | }} |
− | + | ||
− | + | == Пример Σ и Π-полных задач == | |
− | + | {{Определение | |
− | + | |definition = Задачей <tex>\mathrm{QBF^{\Sigma}_{k}}</tex> называется объединение удовлетворимых булевых формул с <tex>k</tex> изменениями кванторов, где первым квантором является <tex>\exists</tex>.<br/> | |
− | <br/> | + | <tex>\mathrm{QBF^{\Sigma}_{k}} = \{\phi \bigm| \exists X_{1} \forall X_{2} \exists X_{3} \cdots : \phi(X_{1} \cdots X_{k})\}</tex>,<br/> |
− | + | где <tex>X_{i}</tex> {{---}} попарно непересекающиеся множества аргументов <tex>\phi</tex>. | |
− | |||
− | |||
− | |||
}} | }} | ||
+ | <tex>\mathrm{QBF^{\Sigma}_{k}}</tex> {{---}} <tex>\mathrm{\Sigma_{k}}</tex>-полная задача (доказательство аналогично доказательству [[Теорема Бермана — Форчуна|coNP-полноты TAUT]]). | ||
− | {{ | + | {{Определение |
− | | | + | |definition = Задачей <tex>\mathrm{QBF^{\Pi}_{k}}</tex> называется объединение удовлетворимых булевых формул с <tex>k</tex> изменениями кванторов, где первым квантором является <tex>\forall</tex>.<br/> |
− | + | <tex>\mathrm{QBF^{\Pi}_{k}} = \{\phi \bigm| \forall X_{1} \exists X_{2} \forall X_{3} \cdots : \phi(X_{1} \cdots X_{k})\}</tex>,<br/> | |
− | + | где <tex>X_{i}</tex> {{---}} попарно непересекающиеся множества аргументов <tex>\phi</tex>. | |
}} | }} | ||
+ | Аналогично предыдущей, <tex>\mathrm{QBF^{\Pi}_{k}}</tex> {{---}} <tex>\mathrm{\Pi_{k}}</tex>-полная задача. | ||
== Класс PH == | == Класс PH == | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex> | + | <tex>\mathrm{PH} = {\bigcup \atop {i \in \mathbb{N}}} \Sigma_{i}</tex>.<br/> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
+ | Замечание: иногда удобнее пользоваться альтернативными определениями <tex>\mathrm{PH}</tex>. Например: | ||
+ | * <tex>\mathrm{PH} = {\bigcup \atop {i \in \mathbb{N}}} \Pi_{i}</tex>,<br/> | ||
+ | * <tex>\mathrm{PH} = {\bigcup \atop {i \in \mathbb{N}}} (\Sigma_{i} \cup \Pi_{i})</tex>. | ||
{{Теорема | {{Теорема | ||
− | |statement = <tex>PH \subset PS</tex>. | + | |statement = <tex>\mathrm{PH} \subset \mathrm{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>\mathrm{PH}</tex> существует программа, разрешающая его на полиномиальной памяти. То есть, любой формальный язык из <tex>\mathrm{PH}</tex> принадлежит <tex>\mathrm{PS}</tex>. |
}} | }} | ||
− | [[Категория: | + | [[Категория:Классы сложности]] |
Текущая версия на 19:19, 4 сентября 2022
Классы Σ и Π
Определение: |
где — формальный язык для для . | —
Определение: |
где — формальный язык для для . | —
Соотношения между классами Σ и Π
Теорема: |
. |
Доказательство: |
Пусть { return ; } Проверим, что Таким образом, { return ; } . |
Теорема: |
. |
Доказательство: |
|
Пример Σ и Π-полных задач
Определение: |
Задачей
| называется объединение удовлетворимых булевых формул с изменениями кванторов, где первым квантором является .
Определение: |
Задачей
| называется объединение удовлетворимых булевых формул с изменениями кванторов, где первым квантором является .
Аналогично предыдущей,
— -полная задача.Класс PH
Определение: |
Замечание: иногда удобнее пользоваться альтернативными определениями
. Например:-
- .
Теорема: |
. |
Доказательство: |
Пусть |