К. В. Первышев
ИЕРАРХИИ ПО ВРЕМЕНИ ДЛЯ АЛГОРИТМОВ С ОДНИМ ВИТОМ ПОДСКАЗКИ
1. Введение. Одним из первых результатов теории вычислительной сложности явилась теорема о существовании иерархии детерминированных алгоритмов по времени, доказанная в 60-е годы XX в. Хартманисом и Стирнсом [1]. Ими было показано, что для любых положительных а < b можно предъявить язык, который распознается некоторым детерминированным алгоритмом за время 0(пь), но при этом никакой детерминированный алгоритм не способен распознать этот язык за время 0(па). В частности, выполнено
DTinie //] С DTinie //’] С DTime[n3] С ... ,
где DTinie //*] обозначает класс языков, распознаваемых детерминированными машинами за время 0{пк).
С появлением таких понятий как NP-сложность и NP-трудность возник интерес к недетерминированным алгоритмам. В частности, был поставлен вопрос о существовании иерархии недетерминированных алгоритмов по времени. В качестве ответа на вопрос Куком [2] было показано, что
NTimeV'] С JNTimeV']
для любых положительных а < Ь. В последующих работах доказательство этой теоремы было упрощено.
К сожалению, ни одна из известных техник доказательства иерархий по времени неприменима к вероятностным алгоритмам. Так, открытым является вопрос о существовании иерархии по времени для любого из трех основных типов вероятностных алгоритмов: с двусторонней ошибкой, с односторонней ошибкой и без ошибки.
1.1. Иерархии для алгоритмов с подсказкой. Сравнительно недавно Бараком [3] была предложена новая техника доказательства иерархий по времени. Она была развита Фортноу и Сантанамом в работе [4], где они показали наличие иерархии по времени для вероятностных алгоритмов с двусторонней ошибкой, которым с каждым входом подается также один бит подсказки (один и тот же бит подсказки дается ко всем входам одной длины). В терминах сложностных классов было показано, что
BPTmie //'']/1 С BPTime[n6]/l
для любых положительных а <Ь.
Коротко опишем идею доказательства. Возьмем некоторый сложный, PSPACE-полный язык, имеющий instance checker, т. е. процедуру, способную проверить, что тот или иной алгоритм корректно распознает выбранный нами язык [5, 6]. Далее, для задачи распознавания нашего языка построим оптимальный алгоритм, т. е. алгоритм, гарантированно работающий не многим хуже любого другого алгоритма, распознающего этот язык [7]. Оптимальный алгоритм устроен довольно просто: будем
© К. В. Первышев, 2008
симулировать всевозможные вероятностные алгоритмы и среди выдаваемых ими ответов выберем правильный с помощью instance checker. Теперь, пусть время работы оптимального алгоритма есть Т(п). Тогда, по оптимальности алгоритма, никакой иной вероятностный алгоритм не способен распознать выбранный нами язык за время, которое было бы сильно меньше Т(п). Последнее, собственно, и означает наличие иерархии по времени.
Однако, поскольку функция Т(п), вероятно, имеет экспоненциальный рост, приходится производить «трансляцию» полученного результата с алгоритмов, работающих экспоненциальное время, на алгоритмы, работающие время полиномиальное. С последним шагом доказательства иерархии связана определенная проблема - для трансляции необходимо знать значение функции Т(п), которую, предположительно, нельзя вычислить эффективно. Именно здесь и возникает потребность в подсказке, которая могла бы нести информацию о функции Т(п).
Описанный выше подход позволил доказать существование иерархии по времени для вероятностных алгоритмов с ограниченной двусторонней ошибкой, использующих один бит подсказки:
BPTime //'']/1 С BPTime[n6]/l
для любых положительных а < b [8]. Отметим, что, поскольку даже один бит подсказки позволяет распознавать некоторые невычислимые языки, данная иерархия становится тривиальной, если алгоритмам, работающим время 0(па), не предоставлять подсказку.
В последующей работе Фортноу, Сантанам и Тревисан [8] доказали существование иерархии по времени и для вероятностных алгоритмов с ограниченной односторонней ошибкой, использующих один бит подсказки:
RPTime[n°]/l С RPTime[n6]/l
для любых положительных а <Ь.
Ими было также доказано существование квазиполиномиальной иерархии по времени для практически любой модели алгоритмов с одним битом подсказки. В частности, была получена квазиполиномиальная иерархия по времени для вероятностных алгоритмов, не допускающих ошибок и получающих один бит подсказки:
ZPTimeV1"' "!']/1 С ZPTimeV1"'J/1
для любых положительных а <Ь.
1.2. Полученные результаты.
Теорема. Для любого положительного d выполнено ZPTime[nd]/l С ZPP/1.
Используя известные методы (см., например, [3]), получаем
Следствие. Для любых положительных а < b выполнено
ZPTimeV'j/l С ZPTime[nb]/l.
Заметим, что доказанные теорема и следствие переносятся на практически любой иной тип алгоритмов с подсказкой.
Коротко опишем стратегию доказательства теоремы. Основным этапом является доказательство следующего утверждения: для произвольного положительного <1 выполнено
ZPP/1(п) £ ZPTime[nd]/(l(n) + 1),
где 1(п) есть некоторая функция, такая что l(n) ^ log п. Для доказательства этого утверждения построим полиномиальный по времени алгоритм с I (п) битами подсказки, который будет распознавать некоторый сложный язык «более хорошо», чем любой алгоритм, работающий время 0(nd) и использующий 1{п) + 1 бит подсказки. Теорема является следствием данного утверждения [8, лемма 10].
Предложенная нами стратегия доказательства не единственно возможная. В работе [9] было получено альтернативное доказательство данной теоремы, основанное на обобщении диагонального метода на алгоритмы с подсказкой постоянной длины.
2. Определения и обозначения. Под детерминированными машинами мы понимаем многоленточные детерминированные машины Тьюринга, под вероятностными -многоленточные вероятностные машины Тьюринга. Термины «машина» и «алгоритм» считаем взаимозаменяемыми.
Будем говорить, что детерминированная машина М с подсказкой {ап} распознает язык L за время Т(п), если для любой строки х длины п имеет место М(х, ап) = L(x) и при этом машина М совершает не более Т(п) шагов. Строку х будем называть входом, функцию 1{п) = \ап\ - длиной подсказки. Класс DTime[nd]/Z(n) состоит из тех языков, которые распознаются детерминированными алгоритмами с подсказками длины I (п) за время 0{nd).
Будем говорить, что некоторое свойство Р(п), где п есть натуральное число, выполняется бесконечно часто (б.ч.), если и только если оно верно для бесконечно многих
п. Свойство Р(п) выполняется почти всегда (п.в.), если и только если оно верно для
всех п начиная с некоторого поБудем рассматривать языки над двоичным алфавитом. Введем обозначение L|„ для L П {0,1}". Определим
i.o.DTime //;] = {L е {0,1}* : 3U е DTime//'] : б.ч. Ь\„ = U „}.
Будем говорить, что вероятностная машина N с подсказкой {ап} не допускает ошибок, если на любом входе х она выдает ответ из множества {0,1, X} и выполнено ровно одно из двух условий:
1) Рг {М.г. ап) = 1} > 1/2 и Рг {М.г. ап) = 0} = 0,
2) Рг (N(x,an) = 0} > 1/2 и Рг (N(x,an) = 1} = 0.
В первом случае будем говорить, что слово х принимается машиной с подсказкой; во втором случае - слово х отвергается. Обозначим через Ljy язык, состоящий из тех слов, которые принимаются данной машиной с подсказкой. Будем говорить, что машина N с подсказкой {ап} распознает язык L.
Класс ZPTiui<\//',J//(//) состоит из тех языков, которые распознаются вероятностными машинами без ошибок с подсказками длины 1{п) за время 0{nd). Определим
ZPP/l(n) = (JZPTimey,j//i//).
d
i.o.ZPTime[nd]/i(n) = {Le {0,1}* : 3U e i.o.ZPTime[nd]/l(n) : б.ч. L\n = U „}.
Заметим, что далеко не все вероятностные машины являются машинами, не допускающими ошибок. Более того, неизвестен вычислительный способ перечисления всех вероятностных машин без ошибок и только таких машин.
3. Доказательство теоремы. Рассмотренная теорема является следствием двух лемм.
Лемма 3.1. Для любого целого d ^ 1 существует функция l(n) ^ logra, такая что ZPP/1(п) £ ZPTime[nd]/(l(n) + 1).
Лемма 3.2. Для любого d ^ 1 существует некоторая функция l(n) ^ logn, такая что из ZPP/1(п) <j- ZPTime[n2ii]/(l(n) + 1) следует ZPP/1 ^ ZPTime[nd]/l.
Большая часть п. 3 отведена доказательству леммы 3.1. Отметим, что утверждение леммы 3.2 дано без доказательства в работе [8, лемма 10]. Для полноты приведем ее доказательство в конце п. 3.
3.1. План доказательства леммы 3.1. Возьмем некоторый сложный язык А, и по нему сконструируем некоторым специальным образом язык 1Z(A). Далее построим вероятностную машину М. с подсказкой длины 1(п), которая работает полиномиальное время и не допускает ошибок. Эта машина будет распознавать язык 7Z(A) «лучше», чем любая вероятностная машина N с подсказкой длины l(n) + 1, которая работает время 0(nd) и не допускает ошибок. «Лучше» в данном случае означает, что для некоторой длины п выполняется Ьм\п = TZ(A)\n, но при этом Lpf\n ф TZ(A)\„. Тем самым, Ьм Ф Ln-
Как и оптимальный алгоритм [7], машина М. будет симулировать вероятностные машины, работающие время 0(nd), с тем, чтобы распознавать язык 7Z(Â) лучше, чем они. В частности, на входах, имеющих длины {//(/. А-)}машина М. симулирует машину N = /<(/)• 11 на одной из этих длин машина М. будет определять принадлежность слов языку 7Z(A) лучше, чем машина N с произвольной подсказкой.
Язык 7Z(A) устроен таким образом, что сложность распознавания слов длины 7j(i, к) с ростом числа к убывает:
Поэтому типичной является ситуация, когда ЬлН»7(»,*0 = лишь Для к боль-
ших некоторого ко. Но если машина ¡1(1) справляется со словами длины п = т]({,ко), то машина Я4, располагающая большим количеством времени, может справиться со словами длины п = //(/. к\, — 1). Для этого ей нужно будет лишь дописать к данному на входе слову х длины п несколько, а именно п — п, ноликов и запустить машину N = ¡1(1) на полученной строке. Конечно, при этом машине М. придется симулировать порядка пЛ > пЛ шагов машины N.
Необходимость в подсказке возникает из-за того, что не существует вычислительного способа перечисления всех не допускающих ошибок вероятностных машин и только их. Нам же нужно быть уверенными, что машина М. запускает лишь вероятностные машины без ошибок. В противном случае машина М. сама может начать допускать ошибки.
Итак, мы вводим подсказку некой длины /(//). Но тогда машина М. должна решать язык лучше, чем машина ¡1(1) с любой подсказкой длины 1(п) + 1 (слагаемое +1 необходимо для применения леммы 3.2; оно, однако, не делает доказательство более трудным).
Указанная проблема преодолевается тем, что машина М. в качестве своей подсказки для входов длины п = г)({, к — 1) получает информацию о наличии или отсутствии ошибок у вероятностной машины ¡1(1) (один бит) и «лучшую» из подсказок машины ¡1(1) для входов длины п (1(п) + 1 битов), где п = к). Но в таком случае 1(п) = 1(тг)-|-2,
т. е. функция 1(т]({,к)) убывает с ростом к. При этом мы хотим, чтобы выполнялось
ЩА)\п(г,к+1) = {0гж : X е 7Z(A)\ri{iik}, I = ф,к + 1) -ф,к)}.
(1)
(2)
ограничение О l(n) log гг. Різ сложившегося затруднения выйдем, показав, что машина Л4 не нуждается в подсказке на входах длины г)(і, к), где к > | log г](і,0).
3.2. Построение языка. Пусть {рг}^і есть множество всех простых чисел (где рг = 2, р2 = 3, р3 = 5, ...).
Определение 3.1 (Разреженный язык).
Введенное отображение г/(і,к) инъективно. Для данного п положим іп и кп такими, что п = г)(іп, кп), если это возможно. Пусть также тп = ріп.
По сути, тп есть «реальная» длина слова х языка Т1(Ь), где п = \х\. Для опознания данного слова х алгоритму, работающему полиномиальное от длины входа время, достаточно определить принадлежность слова тт(х) длины тп языку Ь. При этом алгоритм может потратить время ро1у(п) = ро1у(тсп ). Видно, что с ростом к задача определения принадлежности слов длины г)(і, к) языку Т1(Ь) значительно упрощается.
Лемма 3.3 (Классификация). Для любых двух языков Ь и А и для любого бесконечного множества I С N верно хотя бы одно из следующих условий:
1) для почти всех і Є I для любого к,
2) для бесконечно многих і Є I для почти всех к,
3) для бесконечно многих і Є I для некоторого к, ф Т1(А)\п^^щ и Ь\п^^+ц =
Доказательство. Пусть условие 1) не выполнено. Тогда для бесконечно многих і С I существует такой к. что Ь\п^^щ Ф 7&(А)\п(і,к) ■ Тогда имеет место хотя бы одно из условий: 2) или 3). □
Лемма 3.4 ([8, лемма 5]). Для любых двух чисел а и Ь, таких, что 0 < а < Ь,
Лемма 3.5. Условие 1) классификации относительно языка 7Z(A) не выполняется
Доказательство. Предположим обратное. Пусть для почти всех I £ I для любого к, Цф^-) = Т1(А)\п(1^, в частности Ь\Р{ = И{А)\Р{. Учитывая, что ЩА)\р1 = ^1 к, имеем
г¡(і, к) = рЧ , где с = 26(і, і. к С 2. / 5? I. к ^ О,
(3)
fz при \х\ = г](г, к), х = Qlz, \z\=pi
7Г(Ж) = <
X иначе
(4)
ЩЬ) = {х : 7г(ж) ф X, 7г(ж) Є L}.
(5)
DTime 2" J ^ i.o.DTime[2"a]/(n - logn).
Выберем язык А е ОТш1е[2п3<*] \ !.о.ВТше[2п2<!]/(п — к^п). Он распознается некоторой детерминированной машиной Мд, работающей не более С а ■ 2"М шагов.
ни для какого языка L Є ZPTime[nii]/(l(n) + 1), где 1{п) ^ logn.
А Є i.o.ZPTime[nd]/(l(n) + 1).
Детерминированно симулируя вероятностную машину, получаем
2d
А Є i.o.DTime 2" ]/(l(n) + 1),
чего быть не может.
□
3.3. Построение оптимального алгоритма. Имея перечисление всех вероятностных машин {М{}^=1 (среди них и допускающих ошибки), определим новое перечисление ¡i(i) следующим образом:
ц(21 + г) = Мг, где 0 Si г < 21. (6)
Теперь любая вероятностная машина N в перечислении ¡1 заведомо встречается беско-
нечно много раз.
Опишем работу алгоритма М. на входе х длины п с подсказкой {ап, Ьп}^=1, которую определим позже:
1. Если тт(х) = X, выдать 0 и остановиться.
2. Найти in и кп такие, что п = 7j(i„, кп).
3. Запустить машину Ma на входе тт(х) на C'a ■ п шагов. Если выдан ответ г,
напечатать г и остановиться.
4. Если а„ = 0, выдать 0 и остановиться.
5. Положить N = //(/'„). п = //(/'„. кп + 1), у = О" ".г.
6. Симулировать nd+1 шагов вероятностной машины N на входе у длины п с подсказкой Ьп.
Заметим, что найти значения in, кп и pin по п можно довольно быстро, поскольку число п как длина входа дано в единичной системе счисления. Напомним, что mn = pin.
Слово х длины п назовем «длинным», если кп '¡i ^ log тп. Такие слова успешно распознаются машиной М., поскольку
ck„ = (26d^kn ^ ^llogmn = m3d; ^
п = (pinfn £ Гкп £ 2<d, (8)
С А -п 2 с А -2т“. (9)
Теперь определим длину подсказки
| !°gmn - 2кп при кп < § logm„;
10, иначе.
В частности, для длин п, не представимых в виде п = pf, значение 1{п) равно 0.
В самом деле, на таких длинах подсказка машине М. не нужна. При распознавании
же «длинных» слов, для которых кп '¡i | log тп, необходимость в подсказке также отсутствует, поскольку они успешно распознаются машиной Мд.
Теперь займемся «короткими» словами, у которых кп < |log mn. Пусть п = Tj(in,kn + 1). Если вероятностная машина N = fi(in) с некоторой подсказкой w длины l(n) + 1 корректно определяет принадлежность слов длины п языку 1Z(A) (не допуская при этом ошибок) и тратит на это не более nd+1 шагов, тогда положим а„ = 1 и Ь„ = w, иначе - а„ = 0. Имеем 1(п) = /(//) I 2 и, тем самым, l(n) = \ogmn — 2kn. Следовательно, l(n) ^ logn, так как тп ^ п.
Свойство 3.1. Ьм Є ZPP/Z(n).
Доказательство. По построению, алгоритм М. с выбранной подсказкой не допускает ошибок. Более того, Lm Є ZPP/l(n), поскольку п = пс и |ДГ| ^ п (ц(іп) ^ in s^n). □
Свойство 3.2. Пусть Im = {i : ß(i) = Ж}. Для любого языка Ьм £ ZPTime[n<i]/(l(n) + 1) для почти всех i G /дг для любого к равенство Ьм\г1({,к+1) = влечет Ьм|^(-^^(¿jfc) •
Доказательство. Рассмотрим вероятностную машину Ж с подсказкой длины 1(п) + 1, которая совершает не более См■ nd шагов и не допускает ошибок. Возьмем любое i0 > Сдг, такое что io Е In- Это возможно сделать, поскольку 1м бесконечно. Тогда Tj(io,k) > См для любого к.
Рассмотрим какое-либо число к. Положим п = Tj(io,k) и п = Tj(io,k + 1). Пусть теперь Lpf\n = lZ(A)\n. Это означает, что машина N = ß(io) с некоторой подсказкой w длины l(n) + 1 корректно определяет принадлежность слов длины п языку 7Z(A) и тратит на это не более nd+1 шагов. Тогда по определению подсказки {ап, Ьп}^=1 имеем а„ = 1 и Ь„ = w. По заданию алгоритма М. имеем Ьм\п = TZ(A)\„. □
3.4■ Доказательство леммы 3.1. Было показано, что Ьм G ZPP/i(n), где Lm ^ язык, распознаваемый оптимальным алгоритмом М.. Докажем, что
LM i ZPTime[nd]/(l(n) + 1).
Рассмотрим любой язык Lм G ZPTime[n<i]/(l(n) + 1). Он распознается некоторой вероятностной машиной без ошибок за время 0{nd) с подсказкой длины 1{п) +1. Покажем, что Ьм ф Ьм1 классифицировав язык Ьм относительно языка 7Z(A) по лемме 3.3 для 1м = {г • ß(i) = N}.
Согласно лемме 3.5, условие 1) классификации не выполняется ни для какого языка Ьм из класса ZPTime[n<i]/(l(n) + 1).
Пусть выполняется условие 2). Тогда для бесконечно многих i £ 1м для почти всех к Ьм\п(1,к) ф TZ(Ä)\п(г,Щ' 'Л<ЛЯ любого i для всех достаточно больших к имеем Ьм\п(1,Щ = 1Z{Ä)\n(i,k) благодаря машине Ма- Тем самым, для бесконечно многих i G 1м для всех достаточно больших к Ьм\п(1,к) Ф ^м\п(1,к)-
Пусть выполняется условие 3). Тогда для бесконечно многих i G 1м Для некоторого к Ьм\п(1,к) Ф TZ{Ä)\n(i,k) и Ьм\п(1,к+1) = TZ{A)\n(iyk+i)■ По свойству 3.2 для бесконечно МНОГИХ i G 1м ДЛЯ некоторого к имеем Ьм\п(г,к) = TZ{A)\n(i,k) ф ^ы\п(г,к)-
3.5. Доказательство леммы 3.2. Возьмем язык Ь G ZPP/l(n) \ ZPTime[n2<i]/(l(n) + 1). Он распознается некоторой вероятностной машиной без ошибки М с подсказкой {ап}^1 длины 1(п) за полиномиальное время. Идея доказательства заключается в построении языка Ь' по языку L, используя кодирование подсказки длиной входа, так чтобы получить Ь' G ZPP/1 \ ZPTimeУ]/1.
Пусть Ь(а„) обозначает число, двоичным представлением которого является подсказка ап. Очевидно, что 0 Ь(а„) ^ п — 1, так как длина подсказки не превышает log п. Положим s„ = Y^i=1 * = 0(п2). Далее, определим язык Ь' = {Ofela; : х G Ь, \х\ = п, к = sn-1 + Тем самым, каждое слово х G Ь длины п имеет «образ» в V вида
0к1х, длина которого обусловливается исключительно длиной п и соответствующей подсказкой ап. Определим длину образа:
т(п) = sn-i + b(a„) + 1 + п. (11)
Любые два слова различной длины имеют образы также разной длины:
т(п) < s„ + b(an+i) + 1 + (п + 1) = т(п + 1). (12)
Чтобы доказать, что V G ZPP/1, построим машину Ai', работающую полиномиль-ное время с однобитовой подсказкой {a'm\m=i. Положим а'т = 1, если и только если
существует такое число п, что т = т(п). Чтобы определить принадлежность слова у = 0к1х длины т языку L', машина М' высчитывает число п по числу т, проверяет сначала условие \х\ = п, а далее, что а'т = 1, и если это так, то запускает машину М на входе х с подсказкой ап, которая может быть легко восстановлена по длине т.
Теперь предположим, что L' Е ZPTime[nd]/l. Тогда L' распознается некоторой вероятностной машиной М' без ошибки за время 0(nd) с однобитовой подсказкой {а'т}т=1- Для получения противоречия с условием леммы построим машину М", работающую время 0(n2d) с подсказкой длины l(n) +1, которая распознает язык L. Снабдим машину М" подсказкой {ап, На входе х длины п машина М" полагает,
что у = 0к1х, где к = sn-1 + Ь(ап), и запускает М' с одним битом подсказки а!т^ на входе у длины т(п). Легко видеть, что Lm" = L. Поскольку |t/| = 0(\х\2), имеем L G ZPTime[n2<i]/(l(n) + 1). Получено противоречие.
4. Заключение. В данной работе доказано, что всего лишь один бит подсказки влечет наличие полиномиальной иерархии по времени для вероятностных алгоритмов без ошибки.
Доказанный результат обобщается на практически любую модель алгоритмов с одним битом подсказки. Для этого достаточно заметить, что приведенное нами доказательство в действительности не использует никаких специальных свойств модели вероятностных алгоритмов без ошибки.
Полученный результат подводит итог серии работ [3, 4, 8].
Summary
Pervyshev К. V. Time hierarchies for algorithms with a bit of advice.
A time hierarchy is proven for probabilistic algorithms with zero-sided error that take one bit of advice. The proof technique is applicable to many other models of algorithms that take one bit of advice.
Литература
1. Hartrnanis J., Stearns R. On the computational complexity of algorithms // Trans. Amer. Math. Soc. 1965. Vol. 117. P. 285-306.
2. Cook S. A hierarchy for nondeterministic time complexity // J. Comput. Syst. Sci. 1973. Vol. 7. P. 343-353.
3. Barak B. A probabilistic-time hierarchy theorem for “slightly non-uniform” algorithms // Lect. Not. Comp. Sci. 2002. Vol. 2483. P. 194-208.
4. Fortnow L., Santhanam R. Hierarchy theorems for probabilistic polynomial time // Proc. Symp. Found. Comp. Sci. 2004. P. 316-324.”
5. Babai L., Fortnow L., Lund C. Non-deterministic exponential time has two-prover interactive protocols // Proc. Conf. Comp. Complex. 1991. Vol. 1. P. 3-40.
6. Trevisan L., Vadhan S. Pseudorandomness and average-case complexity via uniform reductions // Proc. Conf. Comp. Complex. 2002. Vol. 1. P. 129-138.
7. Левин Л. А. Универсальные задачи перебора // Проблемы передачи информации. 1973. Вып. 9 (№ 3). С. 265-266.
8. Fortnow L., Santhanam R., Trevisan L. Hierarchies for semantic classes // Proc. Symp. Theory Comp. 2005. P. 348-355.
9. Melkebeek D., Pervyshev K. A generic time hierarchy with one bit of advice // Comp. Complex. 2007. Vol. 16, N 2. P. 139-179.
Статья рекомендована к печати проф. Л. А. Петросяном.
Статья принята к печати 21 февраля 2008 г.