Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Трахтенброт, Б. А. Алгоритмы и вычислительные автоматы

.pdf
Скачиваний:
31
Добавлен:
21.10.2023
Размер:
9.86 Mб
Скачать

(например, машина 5Я?0, для которой (п) < п У п или

7Yffi0(/!)<HVlOg/7).

В связи с этим вспомним, что для перевода в десятич­

ную систему нам удалось

указать тьюрмнгову

машину Щ

с сигнализирующей Тэд-

(n) ~ 2 n lg л, что

по порядку

меньше, чем первоначальная опенка Тсдо„ (я) ~ я ' г . На первый взгляд, однако, создается впечатление, что всякая процедура распознавания симметрии так или иначе должна основы­ ваться на циклах сравнения рассмотренного выше типа; и не видно, за счет чего можно было бы добиться более су­

щественного

убыстрения. Эта догадка

подтверждается

сле­

дующей теоремой Я. М. Варздиня:

 

 

 

Т е о р е м а .

Какова бы ни была тыорингова машина

Ж,

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

симметрию,

для

нее

справедливо

условие

(¥=)•

 

 

 

 

 

 

 

 

 

 

Справедливость

этой

теоремы

будет нами установлена

в п.

19.1.

Однако

для

этого необходимо предварительно

более

детально

изучить

некоторые специфические

особен­

ности

тьюринговых

вычислений,

представляющие

общий

интерес. Этим мы и займемся

в следующем параграфе.

 

 

 

 

§ 18. СЛЕДЫ

ТЬЮРИНГОВЫХ

 

 

 

 

 

ВЫЧИСЛЕНИЙ

 

 

 

 

18.1. Следы.

Рассмотрим вычислительный процесс, обозначае­

мый

[Р], который выполняет тыорингова

машина ЭД, запущенная

в начальной конфигурации с исходным словом Р. Пронумеруем гра­ ницы между соседними ячейками так, как это указано на рис. 40, а, С каждой фиксированной границей / можно ассоциировать последо­

вательность внутренних

состояний

машины

следующим образом.

Если

в процессе

\Р]

головка

ни

разу не

пересекает

границу /,

то эта

последовательность пуста

(не содержит

никаких

элементов).

Пусть головка пересекает границу / ровно s раз: первый раз в состоя­ нии q (1), второй раз в состоянии q (2) и т.д. Тогда последовательность

q (\)q (2) ...

q (s), являющуюся

словом в алфавите

Q

внутренних

состоянии,

назовем следом процесса ЭД{ [Р] в точке

/

и

обозначим:

след ffl}(^\

/)• Это обозначение

содержит указание па

рассматривае­

мую машину Ш и на исходное слово Р. Однако в тех случаях, когда

из контекста ясно, какая имеется в виду машина или слово, будем применять упрощенные обозначения типа след (Р, / ) , след (/). Если первое прохождение головки было слева направо, то второе будет

справа налево и далее направления

прохождения будут также чере­

доваться. Ясно, что при / >

0 первое

прохождение может быть толь­

ко слева направо, а при / <

0 — в противоположном направлении.

Если процесс Ш [Р] бесконечен, то может случиться, что в некоторых границах / след тоже будет бесконечным. Однако, поскольку мы да-

150

лее будем рассматривать

лишь

конечные процессы,

заканчивающие­

ся выдачей

результирующего

слова R (зависящего от исходного

слова Р ) , то и следы будут конечными. Пусть

| след (/') | обозначает

длину следа

в точке /', т. е. число

пересечений

границы /. Очевидно,

каждое пересечение головкой

какой-либо

границы

связано с зат-

-/

О 1 2 3 f

 

J-t

J

j+f

 

 

n-f

n

 

Pd)p(2)m)

. .

. Pfj)

Р(И

• P(n)

 

 

 

 

 

4(2)

C =

^

j

 

 

 

 

a)

0 I 2

i-1 i

i+1

n-1 m+f

Hit) H(2) • • •

H(i)

H(i*l)

• • • H(m)

 

 

 

 

 

(

412)

 

 

 

 

 

 

 

ad)

 

 

 

 

 

 

 

if*)

^

 

 

 

 

 

 

us)

 

-1

0

1

2

3

b

 

 

 

P(i)P(2)Pf3)

• .

. Pfj) Htt'/> •

• Him)

(

4(f)

 

 

 

 

^=>qi3)

 

qjS)

.

 

в)

 

Рис. 40.

ратон одного такта работы машины. Поэтому справедливо неравен­ ство

% Ю > 21 след (Р. / ) | .

(1)

где суммирование берется по любому множеству границ. Строгое не­ равенство может возникнуть за счет того, что рассматривается лишь

151

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

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

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

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

на некоторых

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

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

ячейки,

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

не совершает

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

анализ

процесса

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

принципиальный вопрос: верно ли, что среди

алгоритми­

чески

разрешимых

проблем

существуют

сколь угодно

сложные

проблемы?

 

 

 

 

20.1.

Уточнение постановки вопроса. Попытаемся уточ­

нить этот

несколько

расплывчатый вопрос,

а

вместе с тем

и разъяснить, в каких терминах

мы пожелали

бы получить

ответ

на

него.

 

 

 

 

Допустим, что проблема, решаемая на машине Тьюринга 3J?, состоит в вычислении значений некоторой числовой функ­ ции ф (п) при /1=1, 2, 3,... Мы уже знаем (см. п. 11.3), что такая функция может оказаться очень быстро растущей. Вспомним, например, функцию ср, принимающую для аргу­ мента п значение З 2 ' (п этажей!), хотя, конечно, и такой внушительный рост может быть превзойден. Если значения аргумента и самой функции записываются унарно, то для любой машины Ш, вычисляющей ф, Тэд (п) будет не меньше, чем ф (/г); ведь машине потребуется такое коли­ чество тактов уже только для того, чтобы записать резуль­ тат— ф (п) палочек. В этом смысле, вычисляя быстро рас­ тущие функции, мы уже столкнулись со сколь угодно слож­ ными проблемами. Это положение сохранилось бы и в том случае, когда числа записываются в какой-нибудь позицион­

ной системе счисления, например в десятичной,

ибо

если

Ф (п) очень быстро растущая функция,

то и log1 0

ф (п)

(чис­

ло десятичных

цифр в записи числа

ср (п)) также

очень

быстро растет.

Однако

примеры такого рода

вызывают

некоторую обоснованную

неудовлетворенность.

Ведь в по­

добных ситуациях много времени тратится машиной на за­

пись громоздкого

результата,

хотя

может

быть процесс

его получения и вовсе не такой

уж

сложный. Более убе­

дительными были

бы примеры,

в

которых

сам результат

не громоздок (результирующее слово короткое), а значит почти все время тратится машиной на вычисление резуль­ тата. В связи с этим ограничимся рассмотрением лишь проб­ лем, заключающихся в распознавании свойства исходных данных; в этой ситуации решение может быть дано в виде однобуквенного слова «1» (да) или «0» (нет). (Пользуясь терминологией, употребляемой в логике, можно сказать, что это есть проблема вычисления предиката.) Среди таких проблем, как мы уже знаем, имеются и алгоритмически неразрешимые (например, распознавание самоприменимо­ сти, распознавание эквивалентности слов и др.). Если же проблема распознавания алгоритмически разрешима, то

157

время, затрачиваемое на решение тех или иных индивидуаль­ ных ее задач при использовании конкретного алгоритма (например, тыорпнговой программы Ж), уходит почти це­

ликом

на поиск ответа

(а не на его запись!).

 

 

В

связи с высказанными

соображениями

представляет

интерес следующий вопрос. Существует ли такая

вычисли­

мая

функция

/ (Р), определенная на словах

Р в

алфавите

J0,1}

 

и принимающая

натуральные значения, для которой

выполнено

условие:

пусть

5Ш — произвольная

машина

Тьюринга,

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

некоторое

свойство

Г слов

Р в

двоичном алфавите; тогда найдется

и такая

машина

Тьюринга 31, которая распознает то же самое свойство, и при этом

/fSR(P)<f(P) для всех слов Р.

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

20.2. Распознавание /-самоприменимости. На самом же деле оказывается, что такой вычислимой функции не суще­

ствует. Точнее,

справедлива следующая теорема.

 

 

Т е о р е м а

Ц е й т и н а.

Какова

бы ни

была вычис­

лимая функция

} (Р), существует свойство Г двоичных

слов,

для

которого

выполняются

условия:

 

 

 

 

а) это свойство эффективно

распознаваемо,

т. е. суще­

ствует машина

Тьюринга,

выясняющая

для каждого слова

Р,

обладает

ли

оно

свойством

Г;

 

 

 

 

б) какова

бы ни

была

машина 31,

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

это

свойство, ее временная сигнализирующая

t$R

удовлетворя­

ет

неравенству

 

 

 

 

 

 

 

(ЩР) > f (Р) для бесчисленного множества слов Р.

Доказательство этой теоремы получается путем подходя­ щей (и поучительной!) модификации теоремы п. 15.2 об алго­ ритмической неразрешимости проблемы распознавания самопрнменимости. Пусть / (Р) — вычисляемая функция из условий теоремы. Тогда, если на ленте произвольной ма­ шины 93? записан ее собственный шифр €0?' и машина запущена в работу, то возможен один и только один из следующих трех случаев: 1) машина 3)? не остановится в течение пер-

158

вых / (93?") тактов; 2) машина 93? остановится не позже чем через [ (50?') тактов и выдаст результат 1; 3) машина 2)? остановится не позже чем через / (S3?') тактов и выдаст ре­ зультат, отличный от 1.

Условимся говорить о машине Ж, что она /-самопримени­ ма, если имеет место ситуация 3) и что она /-несамопримени­ ма в противном случае, т. е. в ситуациях 1) и 2). Естествен­ но, возникает проблема распознавания/-самоприменимости: для любого двоичного слова Р узнать, является ли оно шиф­ ром /-самопримеиимой машины (короче, является ли Р /-самоприменимым шифром). При всем внешнем сходстве с проблемой самоприменимости имеет место, однако, сле­ дующий факт; проблема распознавания /-самопримени­ мости алгоритмически разрешима. Разрешающий алгоритм 2( заключается в следующем. 1. Для данного слова Р про­

веряем, является ли

оно шифром какой-либо машины.

Это можно эффективно

сделать так, как было разъяснено

в п. 14.2. Если Р не является шифром, то тем более оно не является /-самоприменимым шифром и ответ (отрицатель­ ный) уже найден. 2. Если Р является шифром, то сначала вычисляем число / (Р). Это можно сделать эффективно, ибо по предположению функция / (Р) вычислима, т. е. суще­ ствует алгоритм (машина Тьюринга), который по каждому слову Р позволяет находить значение / (Р). 3. Далее, по шифру Р восстанавливаем схему машины и, запуская ее в начальной конфигурации с записью слова Р, следим за ее работой в течение не более чем / (Р) тактов. Это позволяет нам фактически установить, какая из ситуаций (1, 2, 3) имеет место и, следовательно, позволяет получить правиль­ ный ответ на вопрос: /-самоприменим ли шифр Р?

Итак, нужный алгоритм описан. В отличие от общей проблемы распознавания самоприменимости, в которой машина может работать неограниченно долго, здесь ока­

залось существенным то, что

мы

располагаем верх­

ней границей (а именно / (Р))

для

числа проверяемых

тактов ее работы. Пусть $ — какая-нибудь машина Тьюрин­

га, распознающая /-несамоприменимость (такие

машины,

как

мы только

что убедились, наверняка существуют);

тогда

для любого

шифра 59?': (*) $ перерабатывает

СО?' в 1,

если 93?' /-самоприменима; (**) $ перерабатывает 93?' в 0, если 93?' / несамоприменима. По аналогии с доказательством из § 15 посмотрим, как будет перерабатывать машина $ свой собственный шифр

159

Соседние файлы в папке книги из ГПНТБ