Класс P — различия между версиями
Строка 1: | Строка 1: | ||
− | В теории сложности '''Класс | + | В теории сложности '''Класс''' <tex>P</tex> - класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть |
+ | |||
+ | <tex>P=\bigcup_{i=0}^{\infty} DTIME(in^i)=\bigcup_{i=0}^{\infty}\bigcup_{k=0}^{\infty} DTIME(in^k)</tex>. | ||
==Определение== | ==Определение== | ||
− | Язык L лежит в классе | + | Язык L лежит в классе <tex>P</tex> тогда и только тогда, когда существует такая детерминированная машина Тьюринга <tex>m</tex>, что: |
− | # | + | # <tex>m</tex> завершает свою работу за полиномиальное время на любых входных данных |
− | # если на вход машине | + | # если на вход машине <tex>m</tex> подать слово <tex>l \in L</tex>, то она допустит его |
− | # если на вход машине | + | # если на вход машине <tex>m</tex> подать слово <tex>l \not\in L</tex>, то она не допустит его |
− | ==Свойства класса | + | ==Свойства класса <tex>P</tex>== |
# Замкнутость относительно дополнений. <tex> L \in P \Rightarrow \overline L \in P</tex> | # Замкнутость относительно дополнений. <tex> L \in P \Rightarrow \overline L \in P</tex> | ||
− | # Замкнутость относительно сведения по Карпу. <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>P</tex>== |
Класс задач, разрешимых за полиномиальное время достаточно широк, вот несколько его представителей: | Класс задач, разрешимых за полиномиальное время достаточно широк, вот несколько его представителей: | ||
− | * | + | * |
− | |||
− | Но, по [[теорема о временной иерархии|теореме о временной иерархии]] существуют и задачи не из | + | Но, по [[теорема о временной иерархии|теореме о временной иерархии]] существуют и задачи не из <tex>P</tex>. |
− | ==Задача равенства | + | ==Задача равенства <tex>P</tex> и <tex>NP</tex>== |
− | Одним из центральных вопросов теории сложности является вопрос о равенстве классов | + | Одним из центральных вопросов теории сложности является вопрос о равенстве классов <tex>P</tex> и [[NP]], не разрешенный по сей день. Однако легко показать, что по определению, <tex> P \subset NP</tex>, так как достаточно для любой задачи класса <tex>P</tex> привести ее решение в качестве сертификата, а значит задача по определению будет входить в класс <tex>NP</tex> |
Версия 17:29, 18 марта 2010
В теории сложности Класс
- класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть.
Содержание
Определение
Язык L лежит в классе
тогда и только тогда, когда существует такая детерминированная машина Тьюринга , что:- завершает свою работу за полиномиальное время на любых входных данных
- если на вход машине подать слово , то она допустит его
- если на вход машине подать слово , то она не допустит его
Свойства класса
- Замкнутость относительно дополнений.
- Замкнутость относительно Сведение по Карпу.
- Замкнутость относительно Сведение по Куку.
Примеры задач и языков из
Класс задач, разрешимых за полиномиальное время достаточно широк, вот несколько его представителей:
Но, по теореме о временной иерархии существуют и задачи не из .
Задача равенства и
Одним из центральных вопросов теории сложности является вопрос о равенстве классов NP, не разрешенный по сей день. Однако легко показать, что по определению, , так как достаточно для любой задачи класса привести ее решение в качестве сертификата, а значит задача по определению будет входить в класс
и