Класс P — различия между версиями
| Строка 1: | Строка 1: | ||
| − | В теории сложности '''Класс''' <tex>P</tex>  | + | В теории сложности '''Класс''' <tex>P</tex> —  класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть   | 
| <tex>P=\bigcup_{i=0}^{\infty} DTIME(in^i)=\bigcup_{i=0}^{\infty}\bigcup_{k=0}^{\infty} DTIME(in^k)</tex>.   | <tex>P=\bigcup_{i=0}^{\infty} DTIME(in^i)=\bigcup_{i=0}^{\infty}\bigcup_{k=0}^{\infty} DTIME(in^k)</tex>.   | ||
| Строка 13: | Строка 13: | ||
| # Замкнутость относительно [[Сведение по Карпу|сведения по Карпу]]. <tex> L \in P , M \le L \Rightarrow M \in P</tex> | # Замкнутость относительно [[Сведение по Карпу|сведения по Карпу]]. <tex> L \in P , M \le L \Rightarrow M \in P</tex> | ||
| # Замкнутость относительно [[Сведение по Карпу|сведения по Куку]]. <tex> L \in P , M {\le}_c L \Rightarrow M \in P</tex> | # Замкнутость относительно [[Сведение по Карпу|сведения по Куку]]. <tex> L \in P , M {\le}_c L \Rightarrow M \in P</tex> | ||
| − | # <tex>L \subset P \Rightarrow P=P^L</tex>, где <tex>C^D</tex> &mdash   | + | # <tex>L \subset P \Rightarrow P=P^L</tex>, где <tex>C^D</tex> — множество языков, разрешимых с органичением C с помощью оракула из D (C и D — сложностные классы). | 
| ==Примеры задач и языков из <tex>P</tex>== | ==Примеры задач и языков из <tex>P</tex>== | ||
Версия 18:24, 18 марта 2010
В теории сложности Класс — класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть
.
Содержание
Определение
Язык L лежит в классе тогда и только тогда, когда существует такая детерминированная машина Тьюринга , что:
- завершает свою работу за полиномиальное время на любых входных данных
- если на вход машине подать слово , то она допустит его
- если на вход машине подать слово , то она не допустит его
Свойства класса
- Замкнутость относительно дополнений.
- Замкнутость относительно сведения по Карпу.
- Замкнутость относительно сведения по Куку.
- , где — множество языков, разрешимых с органичением C с помощью оракула из D (C и D — сложностные классы).
Примеры задач и языков из
Класс задач, разрешимых за полиномиальное время достаточно широк, вот несколько его представителей:
- определение связности графов;
- вычисление наибольшего общего делителя;
- проверка простоты числа.
Но, по теореме о временной иерархии существуют и задачи не из .
Задача равенства и
Одним из центральных вопросов теории сложности является вопрос о равенстве классов и NP, не разрешенный по сей день. Однако легко показать, что по определению, , так как достаточно для любой задачи класса привести ее решение в качестве сертификата, а значит задача по определению будет входить в класс
