Перейти к содержанию

Класс co-NP

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

В теории алгоритмов часто рассматривается класс, тесно связанный с P и NP, — класс дополнений языков из NP, называемый co-NP.

Формальное определение

Класс сложности co-NP определяется для множества языков, то есть множеств слов над конечным алфавитом [math]\displaystyle{ \Sigma }[/math]. Язык [math]\displaystyle{ L\subseteq \Sigma ^* }[/math] принадлежит классу co-NP, если существует детерминированная машина Тьюринга M и некоторый полином p такие, что [math]\displaystyle{ L = \{ x\in \Sigma ^* :\forall y, |y| \lt p(|x|) M(x, y)= 0\} }[/math].

Отношения класса NP с другими классами

Литература

  • Томас Х. Кормен и др. Алгоритмы: построение и анализ = Introduction to Algorithms. — 2-е изд. — М.: «Вильямс», 2006. — 1296 с. — ISBN 0-07-013151-1.
  • Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: «Вильямс», 2002. — 528 с. — ISBN 0-201-44124-1.