Файл: Трахтенброт, Б. А. Алгоритмы и вычислительные автоматы.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 124

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

часть границ,

пересекаемых

головкой, а также

по той причине, что

на некоторых

тактах головка

не сдвигается с обозреваемой

ячейки,

а следовательно,

не совершает

никаких пересечений. Иногда

анализ

процесса

gi{ [Р]

позволяет

обнаружить, что

в некоторых

точках

возникают

достаточно длинные следы. В таких

случаях неравенство

(1) может послужить для установления нижней оценки сигнализи­ рующей 1$)\{Р)- Именно таким методом мы намерены в дальнейшем получить нижние оценки сложности вычислений в ряде интересую­ щих нас случаев.

18.2. Эксперимент с разрезанной лентой. Значение понятия сле­ да состоит в том, что след отражает способ, которым машина посред­ ством своих внутренних состояний передает информацию с одной стороны границы на другую. Следующий мысленный эксперимент иллюстрирует наглядно это обстоятельство. Допустим, что нам из­ вестен след в точке / для процесса 9Л [Р]. Допустим далее, что правая полулента, начинающаяся в точке /, изъята (вместе с куском слова, расположенным на ней). Эксперимент заключается в следующем. Запускаем машину на уцелевшей левой полуленте так, что головка обозревает символ Р (1) в начальном состоянии. Тогда машина бу­

дет работать, как и прежде,

на целой ленте до тех пор, пока

впервые

головка сойдет с полулепты

в состоянии ц (1). Тогда вернем

головку

на крайнюю ячейку левой

полуленты в состоянии q (2) (оно нам из­

вестно, ибо след считается

известным) и тем самым дадим

возмож­

ность машине продолжать работу на левой полулепте до тех пор,

пока.она вновь не

покинет ее, на этот раз в состоянии

q (3). Тогда

мы опять вернем

головку в

крайнюю ячейку, придав ей состояние

q (4) и т. д. Если s

четно, то

после возвращения головки

в состояние

q (s) она больше уже не покинет левую полуленту и наконец остано­ вится на ней в заключительном состоянии. Тем самым эксперимент

будем считать

законченным. Если ж е

з нечетно, то головка в послед­

ний раз будет

возвращена в состояние

q (s — 1), а потом в некий мо­

мент она покинет левую полуленту в состоянии q (s); на этом экспери­ мент заканчивается. Совершенно очевидно, что в условиях описан­ ного нами эксперимента поведение машины на левой полуленте бу­

дет в точности таким же,

каким

оно было бы в обычном

процессе

93U^J без изъятия правой

полуленты. Это как раз

и означает, что

след в точке /, предполагаемый известным при проведении

экспери­

мента, содержит в себе всю информацию об изъятой правой

полулен­

те, которая может понадобиться

левой полуленте.

Точно

так же

в нем воплощена вся информация

о левой полуленте, необходимая

для правой полуленты.

 

 

 

 

18.3. Замещения. Допустим, что в процессе 5ЭД [И], который вы­ полняет машина $Ш, запущенная с исходным словом Н в некоторой точке i, возникает в точности такой же след, как прежде, при исход­ ном слове Р в точке / (см. рис. 40, а и б)\

след(Р, ]) = след(#, i).

Пусть Р[ обозначает начальный кусок длины / с л о в а Р, а Р" — его конечный кусок длины п — /; аналогичный смысл имеют обозна­ чения Н'а и Н'Р для слова # = Н(\)Н{2) ... Н(т). Рассмотрим на­ чальную конфигурацию со словом Р[Н'" (рис. 40, в) и соответствую­ щий процесс 50} \P\Hf\. Анализ эксперимента, описанного выше, по­ казывает, что в этой ситуации произойдет в точности следующее;

152


I

левее точки / процесс

[P[Hf]

будет протекать, как процесс 99} \Р],

правее же точки /, как процесс

[Н]

правее

(. В самой же точке /

след остается

прежним:

 

 

 

 

 

 

 

 

 

 

след (Я,

/) =

след(/У, /) =

след !0

Н™,

/').

 

Зигзагообразные линии на рис. 40, а—в

иллюстрируют примерный

путь головки

в процессах

Ш [Р\,

ЯК I / / ] ,

9Л[ЯС ( Н"Ч

Предположим,

что машина Я)} распознает

некоторое свойство слов. Тогда, если след

(Я,/) имеет четную длину, то в процесса дЯ\P'ttHf\

головка

естано-

вится левве точки/, обозревая

ячейку, содержащую

результат /, если

Р обладает распознаваемым

свойством, или 0,

если

Я не

обладает

этим свойством. Если же след (Я, /') имеет нечетную длину, то оста­

новка произойдет правее точки /, а результат будет

указан для

сло­

ва Н. В частности, на*с будет

интересовать случай,

когда

слова

Я и

Н эквивалентны относительно

данной машины 9Л,

т. е.,

когда'они

одновременно обладают или одновременно не обладают свойством, распознаваемым машиной Ш- В этой ситуации все сказанное выше можно резюмировать в виде следующего утверждения.

Л е м м а о з а м е щ е н и я х Пусть слова Р = PJP" и И =t •= Н'аН"' эквивалентны относительно распознающей машины 93}, причем следы, возникающие на границе между Р[ и Я1 ], а также между #,5 и Н"', равны. Тогда четыре слова!

 

piQ Р". = Я,

Н'0 Р'1

Р'о Н'1 Н'0 H'f = Н

— попарно

эквивалентны.

 

Иначе

говоря, Р* и

Р" могут заменять соответственно Н10 и Н'Р

без изменения результата.

 

В качестве прямого следствия из этой леммы укажем такой факт.

У т в е р ж д е н и е

А. Пусть

Я = Я J Я] и Н = Я/, #7 — сим­

метричные слова одинаковой длины я, причем / < я/2. Тогда, если

какая-нибудь тыорипгова

машина 93},

распознающая

симметрию,

порождает в точке /' (т. е. на границе между Я'0 и Р" и на

границе меж­

ду Н'а и Щ) одинаковые следы, то

Я,( =

Н[.

 

Действительно, в силу

леммы

слово

Р[И'- также

должно быть

симметричным. Но если бы в симметричном слове Н = н1н" мы заменили начальный кусок //(, длиной меньше половины всего слова Н куском той же длины, но отличным от Н\'в, то полученное слово наверняка было бы несимметричным.

§19. НИЖНИЕ ОЦЕНКИ СЛОЖНОСТИ

19.1.Сложность распознавания симметрии. Теперь мы в состоя­ нии доказать теорему Барздния (см. конец п. 17.4). Несправедли­ вость вытекает непосредственно из леммы 1, которая будет доказана ниже. Во избежание излишней громоздкости совершенно месушеет-

153


венном для наших оценок, мы будем считать далее, что употребляе­ мые натуральные числа л кратны четырем, т. е, что /г/2, л/4 — на­ туральные числа (в общем случае приходится заниматься с нижай­ шими по избытку или по недостатку числами, но все оценки сохра­

няют силу).

 

Л е м м а

1. Пусть $Ш — произвольная машина Тьюринга,

распознающая симметрию. Тогда можно подобрать константу Оэд (зависящую только от машины 9Л) так, что будет иметь место следую­ щее.

Для всех достаточно больших я (т. е. для всех л, начиная

с некоторого я

0 ) найдутся симметричные слова

Я длины

п такие,

что

|следд{(Р,

/ ) | > Dsyjj-л при / = я/4 + 1.

я / 4 + 2

.... л/2

(1)

Из этой леммы интересующая нас оценка получается тривиаль­ ным образом. Для всякого слова Р, удовлетворяющего условию (1), имеет место в соответствии с неравенством 1 из 18.1 также н такое неравенство:

 

^ ' 1 / 2

 

1т(Р)>

2

|след5щ(Р, / ) | >

 

= « / 4 + 1

 

Итак, гипотеза справедлива, если в качестве константы Сэд взято число Diyjj/4.

Мы докажем, что утверждение леммы 1 имеет место, если в ка­ честве Diffi взято число l/8log2 k, где k обозначает число внутренних состояний машины Ш- При таком подборе Эщ мы не только обнару­ жим, что среди симметричных слов длиной л найдется слово Р, удов­ летворяющее условию (1), но и что таких слов Р — «подавляющее большинство». Точнее, пусть Л'(л) — число симметричных слов Р длиной л, для которых условие (1) нарушено, и S(n) — число всех симметричных слов длиной л. Будет показано, что

lim N (n)/S (я) = 0 при п •* со,

(2)

т. е. условие (1) нарушается лишь для ничтожной доли всех слов длиной я. Для того же, чтобы показать (2), достаточно установить

следующее

предложение.

 

 

 

 

 

 

 

 

 

 

 

Л е м м а

2.

Пусть для

/' =

л/4

+

1, л/4 +

2

л/2

1, л/2

N (/, л) обозначает число симметричных слов Р длиной л, для кото­

рых

выполняется

неравенство: | след щ(Р,

/') |

< л/8 log2/e;

тогда

 

 

 

 

 

NU. "

X

23 , 1 /

8 .

 

 

 

 

(3)

 

Действительно,

N (я)

очевидным

образом

не

превосходит

2

N (/',

л), т.

е.

N (я)

< п/4

• 2 J " / a .

С другой

стороны,

число

/ = / 1 / 4 + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S (я) всех симметричных слов длины я в точности

равно

2п/2

(по­

тому

что мы

считали

л четным;

 

в

общем

случае

S (я) =

 

2'" / 2 '),

15*


т. е. числу всех двоичных слов половинной длины; в самом деле, ле­ вую половину симметричного слова, имеющую длину л/2, можно задавать любым из 2" / 2 возможных способов, а правая половина уже однозначно определяется как зеркальное отображение левой.

Таким образом,

 

/V(n)/S(rt)<

23/1/8 . л

 

 

при

л - » со.

 

 

 

 

4 . 2 " / 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

llama ближайшая цель — доказать

неравенство (3) из леммы 2.

Допустим, что мы имеем перечень всех

попарно

различных

следов,

каждый из

которых

короче,

чем я/8 log2k

i о1 , а 2 ,

аа,

 

о п , т. е.

мы считаем, что

таких

следов в

машине 9J? ровно к.

Тогда,

обо­

значив через L (а) число симметричных

слов длины я, которые в точ­

ке / имеют как раз след,

обозначенный

аа,

можно

представить

N (/

п) в виде суммы

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

N (/,

л) =

L (1) +

L (2) + ... +

L (а) +

... +

L (л).

(4)

Оценим сначала л. Поскольку след

— это слово в

fc-буквеипом

алфа­

вите (?,, q2,

 

 

то л

не

превосходит

числа

всех попарно

раз­

личных слов длиной, меньшей, чем «/8 Iog2 k в /s-буквеином

алфави-,

те, т. е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n<k+k*+

 

...

+ fe"/8

1og,

*

-

i

ип1Ъ log, ft_

1

ф

 

 

=

 

/г —1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-f-1 <

ft"''8 l o g ; ! * =

2 ( "^ 3

l o g

3

& ) l

o g !

* =

2"^8 .

 

 

(5)

Теперь оценим слагаемое L (a) (a =

1, 2,

 

л). Оно равно числу

всех симметричных

слов

Р

длиной

п,

 

имеющих

в точке /

след о а .

В силу утверждения

А из п.

18.3 (именно в этом

месте нашего

дока­

зательства

используются

факты о

следах,

установленные

в

§ 18)

у всех таких слов один и тот же начальный кусок

длиной/; обозна­

чим его R. С другой стороны, общее число всех симметричных

слов

длиной я с начальным куском

R точно

равно 2п/2~'.

Действитель­

но, поскольку в левой половине симметричного слова Р уже зафик­

сирован

начальный кусок R длиной /', то остается

только

перебирать

2^/2 — /

С П О С о б а м н

все варианты

для

куска Р (j +

1) Р (j + 2)...

...Р

(п/2), имеющего длину л/2 — /. Таким

образом,

 

 

 

 

 

L

(а) <

2 ' " 2 - ' ,

а =

1.

2

л .

 

(6)

Возвращаясь теперь к неравенству

(4) и учитывая

(5) и (6),

получаем

 

 

N(i

п)

< л . 2 " ' 2 - ' <

2 " / 8 . 2

" < ' 2 - " / 4

= 2 3 ' ' 8

f ! .

 

 

Тем

самым

доказано

неравенство

(3),

утверждаемое

леммой 2,

а вместе

с тем завершено

и доказательство

теоремы п. 17.4. Это зна­

чит,

что в классе

тыоринговых машин

не существует

лучшего (по

порядку!) способа распознавания симметрии, чем последовательное сравнение кусков слова, одинаково удаленных от середины.

19.2. Сложность перевода в десятичную запись. В приведенном выше доказательстве была существенно использована специфика работы машины Тьюринга, нашедшая отражение в лемме о замеще­ ниях и в предпосланных ей мысленных экспериментах с разрезом

155


ленты. Эти же обстоятельства могут быть использованы для уста­

новления

нижних оценок и в других случаях. Вернемся, например,

к задаче

I I (§ 9), для которой в п. 17.3 был предложен улучшенный

алгоритм [Шо, приводящий к результату с оценкой времени 2nlog1 0 /i, Предлагается следующее.

У п р а ж н е и и е. Показать, что для любой машины Тьюринга 9Л, переводящей унарную запись числа п в его десятичную запись, существует константа Сэд такая, что Т%\ (п) > CgiJ / г ' ° й ю « ' Иначе говоря, с точностью до порядка (до постоянного множителя) тыорин-

гова программа

является наилучшей.

 

0 1 2

5

п-2 n-f rt п+1

 

 

Рис.

41.

У к а з а н и е .

Пусть

начальная конфигурация такова, как

на рис. 41. Показать, что машина Ш, запущенная в этой конфигура­ ции, порождает попарно различные следы в точках 1, 2, ... Далее, проверить, что сумма длин п попарно различных следов удовлет­ воряет неравенству, которое нужно установить для Тщ.

§ 20. СУЩЕСТВОВАНИЕ СКОЛЬ УГОДНО СЛОЖНЫХ ПРОБЛЕМ

Для алгоритмически разрешимых проблем, которые мы рассматривали до сих пор, нам удавалось находить такие тьюринговы программы, которые доставляют решение за число шагов, не слишком большое по сравнению с длиной исходной записи; точнее, временные сигнализирующие ма­ жорировались квадратичной функцией Тещ (п) ^ Сс^гР. В некоторых случаях мы сумели доказать, что предлагаемые программы являются наилучшими из возможных в том смысле, что существенного увеличения скорости вычисле­ ния на машинах Тьюринга, т. е. уменьшения времени вычисления по порядку, уже невозможно достичь. Интуи­ тивно ясно, однако, что существуют проблемы, которые не допускают столь быстрого по времени решения на тьюринговых машинах, да и вообще на других машинах. Мы могли бы даже указать такие проблемы, для которых все извест­

ные алгоритмы

приводят

к очень

сложным

вычислениям

и для которых,

предположительно,

вообще

невозможны

алгоритмы, существенно

лучшие

 

в смысле

времени их

работы. В этом параграфе нам хочется обсудить следующий

156