УДК 510.66
DOI 10.25513/1812-3996.2017.4.22-25
О ГЕНЕРИЧЕСКОИ NP-ПОЛНОТЕ ОГРАНИЧЕННОМ ПРОБЛЕМЫ ОСТАНОВКИ
А. Н. Рыбалов
Омский государственный университет им. Ф. М. Достоевского, г. Омск, Россия
Информация о статье
Дата поступления 02.09.2017
Дата принятия в печать 12.09.2017
Дата онлайн-размещения 15.12.2017
Ключевые слова
Генерическая сложность, ЫР-полные проблемы, проблема остановки
Аннотация. Понятие полиномиальной сводимости играет центральную роль в классической теории сложности вычислений. Оно позволяет классифицировать многие практически важные алгоритмические проблемы как NP-полные, т. е. трудноразрешимые (при условии несовпадения классов Р и NP). В 2017 г. автор настоящей публикации ввел понятие генерической полиномиальной сводимости, которое сохраняет полиномиальную разрешимость алгоритмических проблем для почти всех входов, и было доказано, что классическая проблема выполнимости булевых формул является полной относительно этой сводимости в генерическом аналоге класса NP. В данной статье доказывается, что так называемая ограниченная проблема остановки для машин Тьюринга также является генерически NP-полной.
Финансирование
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 15-41-04312
ON GENERIC NP-COMPLETENESS OF A BOUNDED HALTING PROBLEM
A. N. Rybalov
Dostoevsky Omsk State University, Omsk, Russia
Article info Abstract. Notion of polynomial reducibility plays central role in classical computational
Received complexity theory. It allows to classify many practically important algorithmic problems
02.09.2017 as NP-complete and computationally hard (if P is not equal to NP). We use a notion of
generic polynomial reducibility of algorithmic problems which preserve decidability of a Accepted problem in polynomial time for almost all inputs. We prove that a bounded Halting prob-
12.09.2017 lem for Turing machines are generically NP-complete with respect to this reducibility.
Available online 15.12.2017
Keywords
Generic complexity, NP-complete problems, Halting problem
Acknowledgements
The reported study was funded by RFSR according to the research project № 15-41-04312
1. Введение
Полиномиальная сводимость алгоритмических проблем является важнейшим понятием в классической теории сложности вычислений. С его помощью можно сравнивать вычислительную сложность практически важных проблем и развивать богатую теорию NP-полноты, которая играет огромную роль в современной информатике: например, классическая монография М. Гэри и Д. Джонсона [1], посвященная NP-полным проблемам, в 2006 г. стала наиболее цитируемой работой по информатике.
В работе [2] была предложена теория генери-ческой сложности вычислений. В рамках этого подхода алгоритмическая проблема рассматривается не на всем множестве входов, а на некотором подмножестве «почти всех» входов. Такие входы образуют так называемое генерическое множество. Понятие «почти все» формализуется введением естественной меры на множестве входных данных. С точки зрения практики алгоритмы, быстро решающие проблему на генерическом множестве, так же хороши, как и быстрые алгоритмы для всех входов. В этом смысле генерический подход схож с подходом, изучающим сложность в среднем. Л. Левин в статье [3] ввел понятие полиномиальной сводимости и NP-полноты в среднем. Гуревич в работе [4] доказал NP-полноту в среднем многих классических проблем.
В статье [5] было введено понятие генериче-ской полиномиальной сводимости, которое сохраняет полиномиальную разрешимость алгоритмических проблем для почти всех входов, и было доказано, что классическая проблема выполнимости булевых формул является полной относительно этой сводимости в генерическом аналоге класса NP. В настоящей статье доказывается, что так называемая ограниченная проблема остановки для машин Тьюринга также является генерически NP-полной.
2. Генерическая вычислимость и сложность
Пусть i есть множество всех входов для некоторой алгоритмической проблемы, а S - некоторое его подмножество. Рассмотрим последовательность
где /п - множество всех входов проблемы размера п . Если случайно и равновероятно генерировать входы размера п, то вероятность попасть в 5 равна рп(5). Определим асимптотическую плотность множества 5 как предел (если он существует) цр) = !1трп(5).
Если предела не существует, то считаем, что асимптотическая плотность не определена.
Множество входов S с I называется генериче-ским, если |(S) = 1, и пренебрежимым, если |(S) = 0. Непосредственно из определения следует, что S является генерическим тогда и только тогда, когда I \ S пренебрежимо. Понятие генерического множества формализует интуитивное понятие множества «почти всех» входов в том смысле, что при увеличении размера входа вероятность того, что случайно сгенерированный вход попадет в генерическое множество, стремится к 1. Если последовательность pn (S) стремится к 0 экспоненциально быстро, т. е. существуют константы C > 0 и 0 <ст< 1 такие, что для любого n
Pn (S) < CCTn,
то множество S называется строго пренебрежи-мым. Множество S называется строго генериче-ским, если I\S строго пренебрежимо.
Алгоритмическая проблема S с I строго генерически полиномиально разрешима, если существует множество G сI такое, что:
1. g - строго генерическое.
2. g - разрешимое за полиномиальное время.
3. stG - разрешимое за полиномиальное время.
Генерический алгоритм, решающий проблему S , работает следующим образом. Сначала определяет, принадлежит ли вход генерическому множеству. Если да, то проверяет принадлежность входа S. Если нет, то отвечает «НЕ ЗНАЮ». Такой алгоритм правильно решает проблему S на почти всех входах.
Множество S с I принадлежит классу sgNP, если существует полиномиальное строго генериче-ское множество G с I, такое, что S t Gе NP.
3. Генерическая полиномиальная сводимость
Пусть I,J есть некоторые множества входов. Множество A с I генерически полиномиально сводится к множеству B с J (обозначается A<genP B), если существуют полиномиальный вероятностный алгоритм р: IхN ^P(J)^{?} (P(J) есть множество всех подмножеств J ) и полиномы p(n) и q(n) (степени больше 2) такие, что:
1. Vxе I либо Vn р(х,n) = {?}, либо Vn > q(k), где k = size(x), имеет место:
a. Vy ep(x,n) size(y) = n.
b. Все элементы в \(x,n) генерируются р равновероятно.
c \\(x,n)| >
. kl (p(n))*'
d. x e A ^\(x,n) с B.
e. x £ A ^\(x,n) с J \ B.
2. Множество jx eI: Vn\(x,n) = {?}} строго
пренебрежимо.
Обсудим все условия этого определения подробнее. Для каждого элемента x е/ и для каждого n>q(size(x)) вероятностный полиномиальный алгоритм р генерирует равномерно (условие 1b) либо {?}, либо достаточно большое (условие 1c) подмножество \(x,n) элементов из J размера n (условие 1a). Для x е A множество \(x,n) содержится в B, для x £ a множество \(x,n) содержится в J \B (условия 1d и 1e). Условие 2 гарантирует, что р дает неопределенный ответ на пренебрежимом множестве входов.
Множество S е sgNP называется генерически NP-полным, если для любого AesgNP имеет место A< S
A <genP S.
4. Ограниченная проблема остановки для машин Тьюринга
Машина Тьюринга M имеет конечное множество состояний Q = {q,"v9„}, где q - это начальное состояние и q - финальное состояние. Каретка машины M может читать и записывать символы из алфавита Z = {0,1,0} (0 - это пустой символ) при движении по бесконечной в обе стороны ленте, разделенной на ячейки. Программа PM машины M состоит из конечного набора правил (одно правило для каждого нефинального состояния q eQ и символа aeZ) вида
(i^j S) , где q eQ, beZ, и Se{R,L} - сдвиг каретки вправо или влево. Это правило утверждает, что M, находясь в состоянии q и читая кареткой символ a на ленте,
должна изменить состояние на q , записать символ
b вместо a и сдвинуть каретку (в правую или левую соседнюю клетку). Мы будем отождествлять машину M с ее программой PM . Размер машины
Тьюринга size(M) есть число ее нефинальных состояний. Обозначим через P множество всех машин Тьюринга.
Для машины M обозначим через c(M) множество всех машин, полученных из M добавлением новых состояний и приписыванием произвольных правил для новых состояний к программе M. Очевидно, что все машины из c(M) вычисляют ту же самую функцию, что и M, потому что новые состояния недостижимы из старых состояний M.
Лемма 1. Для любой машины M размера k и для любого n > k имеет место |c(M)n|_ 1 |Pn| (6(n + 1))3k' Доказательство. Программа машины с n нефинальными состояниями имеет вид
(qi,0)^(qi,bi-Si), (^ДН^А-S2),
(qi, О^^Д, S3 ),
(qn, 0)^(q; 3n ,Ьзп , S3n )' Для каждого правила существуют 3 варианта выбора символа b , 2 варианта выбора сдвига S и n +1 вариантов для выбора состояния перехода q.f. Поэтому имеется |Pn| = (6(n + i))3n возможных программ размера n .
Пусть M - машина с k нефинальными состояниями. Для любого n > k произвольная машины из c(M) имеет следующую программу:
3k фиксированных правил машины M:
(q^^"^''^ Si),
(qk, °)^(q;,3k ,b3k, S3k),
произвольные 3(n - k) правил
j,3k+i , b3k+i , S3k+i ) ,
(qn, 0)^(qj 3n ,ЬЗП , S3n )' Число таких машин есть |c(M)n| = (6(n + i))3(n-k). Поэтому
|c(M)n|_ (6(n + i))3(n-k)_ i |Pn| = (6(n +1))3" = (6(n +1))3*' Лемма доказана.
Рассмотрим множество BHP машин Тьюринга
M таких, что существует xe{0,l}* такой, что
XI <size(M) и M останавливается на x за <size(M)
шагов и выдает 1.
Теорема 1. Множество BHP генерически NP-полное.
Доказательство. Пусть S - любое множество из класса sgNP. Тогда существует полиномиальное строго генерическое множество G œ I, такое, что S о G eNP. Так как S n G e NP, то найдется машина Тьюринга M и полиномы p(n) и q(n) такие,
что x e S о G ^ найдется y e{0,l}* такой, что
|y| < p(| x| ) и M останавливается на (x, y) за
< q(|x| + |y|) шагов и выдает 1.
Теперь полиномиальный вероятностный алгоритм р, сводящий множество 5 к ВНР, работает
на (х,п), где п > д(|х| + р( |х|)), следующим образом. Если х еС, то он генерирует случайно и равновероятно машины из множества с(М*)п, где М* - это машина из с(М(х)) такая, что з'ив(М*)>д(|х| + р(\х|)). Если же хйС, то выдается множество {?}.
Проверим, что все условия определения гене-рической полиномиальной сводимости выполнены. Условия ^ и 1Ь выполнены очевидным образом. Условие ^ следует из леммы 1. Условия ^ и ^ следуют из того факта, что все машины из множества с(М*)п вычисляют ту же функцию, что и машина М(х). Наконец, условие 2 следует из строгой гене-ричности множества С . Теорема доказана.
СПИСОК ЛИТЕРА ТУРЫ
1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М. : Мир, 1982. 419 с.
2. Kapovich I., Myasnikov A. G., Schupp P., Shpilrain V. Generic-case complexity, decision problems in group theory and random walks // J. Algebra. 2003. Vol. 264, № 2. P. 665-694.
3. Levin L. Average case complete problems // SIAM Journal on Computing. 1987. Vol. 15. P. 285-286.
4. Gurevich Y. Average case completeness // Journal of Computer and System Sciences. 1991. Vol. 42. P. 346398.
5. РыбаловА. О генерической NP-полноте проблемы выполнимости булевых формул // Прикладная дискретная математика. 2017. № 36. C. 106-112.
ИНФОРМАЦИЯ ОБ АВТОРЕ
Рыбалов Александр Николаевич - кандидат физико-математических наук, доцент кафедры компьютерной математики и программирования, Омский государственный университет им. Ф. М. Достоевского, 644077, Россия, г. Омск, пр. Мира, 55а; e-mail: alexander.rybalov@gmail.com.
ДЛЯ ЦИТИРОВАНИЯ
Рыбалов А. Н. О генерической NP-полноте ограниченной проблемы остановки // Вестн. Ом. ун-та. 2017. № 4 (86). С. 22-25. DOI: 10.25513/1812-3996. 2017.4.22-25.
INFORMATION ABOUT THE AUTHOR
Rybalov Alexander Nikolaevich - Candidate of Physical and Mathematical Sciences, Docent of the Department of Computer Mathematics and Programming, Dostoev-sky Omsk State University, 55a, pr. Mira, Omsk, 644077, Russia; e-mail: alexander.rybalov@gmail.com.
FOR QTATIONS
Rybalov A.N. On generic NP-completeness of a bounded Halting problem. Vestnik Omskogo universi-teta = Herald of Omsk University, 2017, no. 4 (86), pp. 22-25. DOI: 10.25513/1812-3996.2017.4.22-25. (In Russ.).