| Next: 5. Набросок доказательства теоремы
Up: 4. Как различать сложные
 Previous: 4.1. Полиномиальная сводимость
 Contents:  Содержание 
 
 
Прежде всего заметим, что этот класс включает в себя только
характеристические функции
(напомним, что
задачи, соответствующие таким функциям, состоят в проверке некоторого
свойства входного слова).
 
Теперь дадим  неформальное описание этого класса задач. У нас появляется
новый персонаж - Советник. От Исполнителя Советник отличается двумя
чертами: он интеллектуально всемогущ и пристрастен
(это означает, что Советник хочет, чтобы у рассматриваемого объекта
было  признано наличие исследуемого свойства, безотносительно к
истинному положению дел).  Последняя особенность  не позволяет
Исполнителю слепо опираться на мнение
Советника:  оно всегда одинаково.  Исполнитель может задавать Советнику
вопросы и действовать,  исходя из полученных ответов.  Каждый
вопрос-ответ считается одним действием.  Решение о значении функции
принимает Исполнитель.
 
 
Замечание  1.   
В литературе по теории сложности Исполнитель (несколько более
сильный - снабженный монеткой для подбрасывания) именуется
Артуром, а Советник - Мерлином. 
Функция (характеристическая)  принадлежит классу  , если
существует алгоритм для пары (Исполнитель, Советник), который всегда
(при любых возможных вариантах диалога между Исполнителем и Советником)
заканчивается за полиномиальное от длины входа время и результат работы
которого удовлетворяет
следующему условию: если  , то существует такой вариант диалога между Исполнителем и
Советником, что результат равен 1; если же  , то при любом
варианте диалога результат равен 0. 
 
Замечание  2.   
Из данного выше неформального определения ясно, что 
 (Исполнитель может ничего не спрашивать).
Является ли это включение строгим? Довольно интенсивные, хотя и
безуспешные, попытки ответить на этот вопрос продолжаются уже почти
30 лет. С. Смейл включил проблему  в число трех
важнейших математических проблем следующего столетия (две другие -
гипотеза Римана и гипотеза Пуанкаре), см. [10]. 
Прежде чем давать формальное определение класса 
 , заметим
следующее. Исполнитель работает вполне определенным образом, а
Советник - всеведущ. Поэтому, посмотрев на вход, Советник может сразу
сообщить Исполнителю весь их диалог, а Исполнитель - убедиться, что
Советник не соврал; Исполнителю на это потребуется время, полиномиально
зависящее от длины диалога. 
 
Определение  5.   
Функция  (со значениями в
множестве  ) принадлежит классу  , если она представима в
форме 
   где
  - полином,  , а  - длина слова. 
Здесь (и всюду далее) мы отождествляем логические значения
"ложь"  и "истина"   с 0 и 1 соответственно.
 
В духе предыдущего неформального обсуждения это определение нужно
понимать так:  - это сообщение Советника Исполнителю, а  - алгоритм проверки, который осуществляет
Исполнитель. 
 
Замечание  3.   
Приведем еще несколько неформальных интерпретаций класса 
 .
Слово  в данном выше определении можно понимать как
"подсказку"  Исполнителю, воспользовавшись которой он
может проверить выполнение  -свойства. Другими словами, у  -задачи
есть ответ,  который, быть может, трудно найти, но
проверить правильность ответа - легко. Популярно также представление
о слове  как о "доказательстве наличия свойства"
(подразумевается, что изучение доказательства занимает полиномиальное
от его длины время). 
 
Лемма  1.   
Пусть 
 . Тогда
а)  ;
б)  . 
 Доказательство.
Пункт а) фактически доказан выше.
 
Докажем пункт б), привлекая неформальных персонажей из предыдущего
обсуждения. Советник сообщает Исполнителю  (длина которого
ограничена некоторым полиномом  от длины  , поскольку  ) и
слово  , которое убеждает Исполнителя в том, что  .
Исполнитель может проверить, что ему действительно сообщено  .   
 
Определение  6.   
Функция 
 называется  -полной, если любая
функция из  к ней сводится4. 
Если некоторую 
 -полную функцию  можно вычислять
за время  , то любую  функцию  из  можно вычислять за время  , где число  зависит от  , но не от входа. 
 -полные функции существуют, например, функция задающая предикат
выполнимость для булевых формул: 
   В первой строчке предполагается, что
  есть запись логической
формулы с булевыми переменными  и
пропозициональными связками  . 
 
Теорема  1. (Кук, Левин)    
 1) 
 ;    
 2)  -  -полна. 
 
Следствие  .   
Если  , то  . 
Эскиз доказательства теоремы Кука-Левина будет приведен в следующем
разделе.
 
А пока заметим, что большая часть доказательств 
 -полноты
использует полиномиальную сводимость и следующую лемму. 
 
Лемма  2.   
Если  и  , то  -  -полная.
И вообще, если  -  -полная,  и  , то  -  -полная. 
 Доказательство.
Достаточно проверить транзитивность
сводимости: если 
 ,  , то  . Она следует из того, что композиция
двух полиномиально вычислимых функций полиномиально вычислима.   
 Next: 5. Набросок доказательства теоремы
Up: 4. Как различать сложные
 Previous: 4.1. Полиномиальная сводимость
 Contents:  Содержание
 Написать комментарий
 
 |