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

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

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

Рассмотрим команду вида

 

sq + s'Hq',

(1)

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

няется. Если

сравнить /<-слова до и после применения команды, то

оказывается,

что

пара

букв sq

просто заменяется парой букв s'q'.

В соответствии с этим

команде

(1)

машины Тьюринга сопоставляем

в исчислении

пм

ориентированную

подстановку

 

 

 

sq -*

s'q'.

Если же брать команду со сдвигом, то в зависимости от характе­ ра конфигурации (глубинная, левая и т. п.) и сдвига (влево, вправо) могут происходить изменения активной части ленты. По этой прнчн-

h

Ь

h

Ь

U ' I ' M i

 

 

Птггп

\Ь \h

Т Л Т П1

к

? 2

 

г)

о.)

б)

в)

 

Рис. 34.

 

 

не для команды не удается указать в исчислении такой

единственной

ориентированной

подстановки, которая

была бы ей

равноценна

(в том смысле, как это было сделано для команды (1)).

Однако, как

будет показано ниже, можно указать конечную систему

подстановок,

которая в своей

совокупности равноценна данной

команде.

П р и м е р .

В соответствии с командой | q„ -*

л / 7 ? 2 из функ­

циональной схемы для сложения происходят преобразования кон­ фигураций, показанные на рис. 34.

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

Для соответствующих /(-слов

имеем преобразования, представ­

ленные табл. 3.

 

 

 

 

Т а б л и ц а 3

Иоходное К-слово

Преобразованное

/(-слово

Л II <?,, 1 л

h \ Л

I

q2 h

h\q0\h

h 1 g2

h

h || q0 ft

h | Л Л q2

h

h\q,h

ft A

<72 ft

140

Легко видеть,

что слова из

правого столбца не возникают

за

счет применения

одной

и

той

же

ориентированной

подстановки

к соответствующим

словам

из левого

столбца.

 

 

 

Покажем теперь, как строится система ориентированных

под­

становок

соответствующая

команде

вида

 

 

 

 

 

 

 

 

 

sq-+s'nq',

 

 

 

(2)

(Случай

команды

 

вида

sq -*• s'JIq'

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

аналогично).

Введем следующие обозначения: если ячейка,

примыкающая

слева к обозреваемой, является

активной,

то букву,

помещенную

в ней, обозначим

через о; аналогично, т обозначает букву,

помещен­

ную в соседней

ячейке

справа,

если она

активна;

при

этом

не

исключено, что о или'Ъ. или обе одновременно — пустые энаки.

 

Подстановки, соответствующие команде (2), удобно классифи­

цировать

по типам

конфигураций:

 

 

 

 

 

 

 

 

 

 

 

 

I ч-

 

 

 

шли

 

 

 

 

I

 

 

 

 

 

 

 

ч

 

 

 

 

 

 

 

 

I

 

 

 

 

h

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

!

*

 

 

 

 

 

 

 

 

 

 

 

[ Ж С Б

 

 

 

г п ~ п

 

 

Рис 35.

 

 

 

Рис. 36.

 

 

 

Рис.

37.

 

 

1. Глубинная

конфигурация.

В /(-слове

имеются

вхождения

вида asqt.

Каждому

такому

вхождению (о, т — произвольные

внеш­

ние

буквы

машины)

соответствует

подстановка asqx-*

as'xq'.

 

 

2. Левая конфигурация. В /(-словах имеются вхождения вида

hsqx. Им соответствуют подстановки вида

 

 

 

 

 

 

 

 

 

hsqx -* hs'

<zq',

если

s'

ф

Д

 

 

 

 

 

 

hsqx -t hxq',

 

если

s'

Д .

 

 

Последняя

подстановка отражает тот факт, что ячейка, содержавшая

s, перестает быть

активной (см. рис. 35)

 

 

 

 

 

 

 

3. Правая конфигурация. В /(-словах имеются вхождения вида

csqh,

которым

соответствуют

подстановки

asqh -»• as' л q'li,

отра­

жающие факт

удлинения справа активной части ленты (см. рис. 36).

4. Одиночная конфигурация. В /(-словах

имеются

вхождения

hsqh,

которым

соответствуют

подстановки

 

 

 

 

 

 

 

 

 

hsqh -+ hs'

Д q'h,

если

 

s'

 

ФА.

 

 

 

 

 

 

hsqh-* h Д

r/'Л,

если

 

s'

=

Д .

 

 

Последняя подстановка отражает факт перемещения единственной активной ячейки (см. рис. 37).

Этим и завершается перечень ориентированных подстановок, соответствующих в исчислении п м машинной команде вида (2).

П р и м е р . Построить для машины Тьюринга 2, реализующей сложение (см. п. 9.3), соответствующее исчисление

141

 

Алфавит

 

n s

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

Л ,

*. Л

 

 

 

 

 

 

 

 

 

Команде

 

/\q°-*

l/7<?i

соответствует

подстановка

 

 

 

 

 

 

 

 

 

 

 

Л •* |<7i-

 

 

 

 

 

 

 

 

 

 

Команде

\q0

-»• Д Пц„

соответствуют

подстановки!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1 < А . 1 - | Л 1 < / а .

 

 

 

 

 

 

 

 

 

 

 

 

 

II 0о Л

 

I Л

Л

<?2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

II «?о

'

 

I Л

" Чь

 

 

 

 

 

 

 

Г л у б и н н ы е

 

Л

Ы

 

 

Л

Л

<?2.

 

 

 

 

 

 

 

 

Л

I <?о *

Л

Л

*

<?2,

 

 

 

 

 

 

 

 

 

 

 

 

Л

I qv

А

-* А

Л Л </2'.

 

 

 

 

 

 

 

 

 

 

 

 

*

М

 

-

4 Л

!'/•-• •

 

 

 

 

 

 

 

 

 

 

 

 

 

Чч - оЛ -* Л Л < ? 2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

• *

I '/о

-

</г!

 

 

 

 

 

 

 

 

 

Л е в ы е

 

I'

! <7о|

-

 

I '/2,

 

 

 

 

 

 

 

 

 

 

 

 

Л | q0

* -* In q2\

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р а в ы е

 

И о Л

- * I Л Л

<7а Л.

 

 

 

 

 

 

 

 

Л

I <?о л

Л

Л

Л 4V л,

 

 

 

 

 

 

 

 

 

 

 

 

* I <7о

-

 

Л

Л

<?•<'t!

 

 

 

 

 

 

 

О д и н о ч н ы е

{ Л | q, h -*• h Д </2 h,

 

 

 

 

 

Точно так же можно указать подстановки

соответствующие

остальным

командам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отметим теперь следующие свойства исчисления пЛ1,

построен­

ного по заданной машине

М\

Всякое К-слово

для

машины

М

является

 

У т в е р ж д е н и е

1.

словом в

я | Ц

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У т в е р ж д е н и е 2.

Если

$1 есть

К-слово,

описывающее

кон­

фигурацию

21, то в я

к нему

применима

не более

чем одна

подстанов­

ка. Эта подстановка

преобразует

21

в

К-слово

93

для

конфигурации

93,

в которую

машина

перерабатывает

21.

 

 

 

 

 

 

 

 

У т в е р ж д е н и е

3.

Если

21

является

заключительной

кон­

фигурацией

машины

М,

то к 21 не применима

никакая

подстановка.

 

Из этих

утверждений

непосредственно

вытекает,

что

вопрос о

том,

переводима ли в машине

М какая-нибудь конфигурация 21 в дру­

гую

конфигурацию

93,

равносилен

вопросу о том, переводимо ли

в исчислении

пм

/<-слово 21 в Л-слово 93.

Иными

словами, пробле­

ма

распознавания

переводимости

для

машин

 

Тьюринга

сводится

к проблеме распознавания переводимости для исчислений с ориен­ тированными подстановками. Этим и з а в е р ш а е т с я д о к а - з а т е л ь с т в о теоремы 1.

Если в качестве 93 берутся лишь заключительные конфигу­ рации в машине М, то из отмеченной выше сводимости вытекает

142

Т е о р е м а

2\

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

позволяющего

уста­

новить для

любого

исчисления

с

ориентированными

подстановками

и для любой

пары

слов "21 и ЧЬ, из которых

второе

является

заключи­

тельным, переводимо

Ч[ в 'ЗЗ

или

нет.

эквивалентности. Пусть R

16.2.

Неразрешимость

проблемы

н 5 —два /(-слова в исчислении я д / . Если R переводимо в S ориенти­

рованными

подстановками, то тем более R и S эквивалентны

в

ям.

Появятся

ли

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

если

объявить

подстановки

в л л /

неориентированными?

Ответ на

этот

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

в следую­

щей

лемме.

Если S

есть

заключительное

К-слово и

R

эквивалент­

Л е м м а .

но S

в пм

(допускают^

неориентированные

подстановки),

то

R

переводимо

в

S одними

лишь ориентированными

подстановками.

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

можность такого

алгоритма.

 

 

 

 

 

 

R <—• S,

 

 

 

 

Д о к а з а т е л ь с т в о

л е м м ы .

Если

то существует

дедуктивная

цепочка,

ведущая

от

R

к

S;

 

 

 

 

 

 

 

 

/? =

/?1_/?2-/?3-

 

 

 

...

-

R

^ - R ^

S .

 

 

(3)

Пусть

Rj,

— два

смежных

слова

в

этой

цепочке. Если

пере­

ход от

Rj к Rj+X

осуществляется

путем

применения ориентирован­

ной

подстановки

вида

Р

-> Q,

то

будем

писать

->- RJ+1;

 

если

же этот переход осуществляется

путем замены

в Rj

вхождения

пра­

вой части допустимой подстановки па левую (или,

что то же

самое,

Rj+l

переходит в

Rj

путем

применения

ориентированной

подста­

новки), то будем

писать

Rj

*-

Rj+i-

 

Рассмотрим теперь

следующие

возможные

случаи для

тройки

слов

в цепочке

(3):

 

 

 

 

 

 

 

 

 

Rj-i*-

 

Rj^Rj+t.

 

 

 

 

 

 

(4)

 

 

 

 

 

Я , . , - / ? , * -

R j + V

 

 

 

 

(5)

 

В силу

утверждения

2

(п.

16.1) слова Rj-i

и

Rj+l

в случае (4)

совпадают, ибо к слову Rj применима

лишь единственная подстанов­

ка. Поэтому обнаружение такой тройки в дедуктивной цепочке по­

зволяет сократить ее путем изъятия двух слов (например,

и

Rj).

В случае же (5) слова Rj-X

и Rjn могут быть в самом деле различ­

ными; в терминах машины

Тьюринга это соответствует тому

обстоя­

тельству, что по данной конфигурации машины предшествующая

ей

конфигурация однозначно не восстанавливается.

 

 

Вернемся теперь к цепочке (3). Поскольку R^ является

заклю­

чительной конфигурацией, то (см. утверждение 3) может быть лишь Rk-i -* Rk• Если в данной цепочке все стрелки являются правыми, то лемма уже установлена. Если же существуют левые стрелки, то пусть последняя встречается перед /'-м словом. Тогда имеется тройка

/?._,

•<- Rj •* Rj+\<

которая

может быть

сокращена на 2 слова,

и

мы

получаем более короткую дедуктивную цепь, ведущую от R

к

S.

Продолжая эту

процедуру

сокращения

цепочки, мы дойдем до

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

143

§17. КАЧЕСТВО АЛГОРИТМОВ

ИВЫЧИСЛЕНИЙ

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

вается числом

команд (указаний),

из которых

он

состоит.

,,При

другом подходе учитывается

сложность

вычислитель­

ных

процессов,

осуществляемых

в соответствии с

данным

алгоритмом, например число операций, которые необ­ ходимо выполнить для получения результата, или объем используемой при этом «памяти» и т. п. Различие в этих

подходах усматривается хотя

бы в том, что

для некото­

рых проблем мы располагаем

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

простыми и

короткими алгоритмами, однако фактическое их при­ менение требует очень больших вычислений, связанных с перебором сверхастрономического числа вариантов. Иначе говоря, может оказаться, что некоторое руководство к дей­ ствию само по себе просто и коротко формулируется, но само действие, предписываемое им, очень громоздко. Так обстоит, например, дело с алгоритмом поиска выигрышной стратегии для игры (см. § 2). С другой стороны,- встречают­

ся довольно громоздкие предписания, которые сравнитель­

но быстро приводят к цели.

17.1. Сигнализирующие функции. Определим теперь

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

Пусть Р — слово на ленте тыоринговой машины 93?,

изображающее исходную информацию. Число тактов, ко­

торые тратит машина SO?, в процессе своей работы до заклю­ чительной конфигурации, обозначим (Р). Рассмотрим

также наименьший кусок ленты, содержащий исходное слово Р, а также все те ячейки, которые хотя бы один раз

посещаются головкой в ходе этого процесса. Длина этого куска ленты есть не что иное, как объем внешней памяти, используемой машиной 3)? в процессе вычисления; обозна­ чим эту длину через (Р). Поскольку исходные данные

Р можно варьировать, то тем самым мы определили для

144

данной машины 50? две функции от аргумента Р, так назы­ ваемые временную и емкостную сигнализирующие машины SDf; они измеряют соответственно расход времени и памяти при вычислениях на машине Ж.

Наряду с этими функциями удобно пользоваться и функциями натурального аргумента п, которые по данной машине SO? и по фиксированному подалфавиту А ее внеш­ него алфавита определяются так:

Тэд (я) = max tsj)i (Р)

по всем словам Р длины п

«

в алфавите А;

Scffi(п) — maxsyft(P)

по всем словам Р длины п

 

в алфавите А.

В дальнейшем длина слова Р всюду обозначается | Р |. Эти функции также будем называть сигнализирующими; из контекста всегда будет ясно, о каких сигнализирующих

на самом деле идет речь. Разумеется, чем меньше эти функ­ ции (чем медленнее они растут с ростом л), тем проще вы­ числения на рассматриваемой машине. Часто нет возмож­

ности (да и

необходимости) указать точные и обозримые

формулы для интересующих нас конкретных

функций

7дд (п), SCQI

(п). Однако нередко удается указать

для них

некоторые достаточно хорошие (в том или ином смысле)

приближения по

недостатку

или с

избытком,

или, как

говорят

еще, — достаточно

хорошие

 

нижние

 

и верхние

оценки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17.2.

Оценки

для примеров

§ 9.

В

качестве

примеров '

рассмотрим

сначала тыоринговы

машины, описанные в § 9

для следующих трех

проблем:

 

 

 

 

 

 

I .

Переход

от п к п +

1 в десятичной

записи.

I I .

Перевод

унарной

записи

чисел

в

его

десятичную

запись.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I I I . Сложение

чисел,

заданных в унарной

записи.

Эти машины обозначим соответственно £0?ь

Ш?2, 9}?3 и

рассмотрим

подробнее

их

временные

сигнализирующие;

при этом воспользуемся теми оценками, которые были ука­ заны в § 9 в связи с разбором проблем I — I I I и их реше­ ния на машинах 50?ь 50?а, Ш?3. Напомним, что Ш?х применяется к словам Р в десятичном цифровом алфавите. Как уже от­

мечалось в п. 9.1, дольше всего машина

работает на словах

Р, сплошь состоящих из цифры 9: тогда

(Р) = I Р I + 1.

Итак,

 

145

Ш2 применяется

к словам в унарной записи. \Р \ = «озна­

чает,

 

что Р состоит из п палочек. В результате получается

слово R в десятичной записи,

причем | R |s^]1og1 0 п I + 1 .

В

п.

9.2

фактически

уже

 

установлены

неравенства

n

(п

+

1)

<

Тс%9 (/г) <

п (ft

+

1) +

2ft ( [log1 0 ft 1

+

1 ).

Нижняя

оценка

n (ft +

1) и

верхняя

оценка

п (п +

1)

+

+

2

/г ( ] logio п

f + О

здесь

 

не совпадают;

более

того,

при

/г ->

со

их

разность, т.

е.

абсолютная

погрешность,

возникающая при замене одной из этих величин другой, стремится к со. Однако полезно заметить, что отношение этих величин стремится к 1 при л.-»-со; иначе говоря, от­ носительная погрешность, которую мы допускаем при взаимной замене этих величин, стремится к нулю при /г-»- со. В соответствии с общепринятой терминологией о функциях f ("), g (»). таких, что

lim / («) = со, Mm g (л) = со, Mm f (n)lg (л.) = 1 при л - * со, говорят, что они асимптотически равны. Асимптотическое

равенство

записывается так: f ( f t ) ~ g ( f t ) .

Возвращаясь

к 7'eQ}o(ft),

мы видим, что установленные для

нее нижняя

и верхняя оценки асимптотически равны и, естественно, каждая из них асимптотически равна самой сигнализирую­

щей функции Тэд2 (п). Итак, для Тэд (ft)

мы имеем точ­

ную в смысле асимптотического равенства

оценку

Наконец, Э?3 применяется к словам Р вида

 

U раз

s раз

 

 

 

и тратит

при этом (см. п. 9.3)

время

^

(Р) =

2k (k +

+ s + 1). Пусть [ Р I =

k +

s - f 1 =

ft;

тогда

максимум

времени

достигается при

k =

п— 1;

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

 

ТШя(п) =

 

2{п-1)п~2п*.

 

 

17.3. Поиск л у ч ш е г о алгоритма. Коль скоро мы уже располагаем алгоритмом для решения данного круга задач, то легко можно его перестроить в другие алгоритмы, делающие то же самое, но значительно хуже. Важнее, конечно, знать, можно ли построить лучший алгоритм и как этого добиться на самом деле. Обратимся опять к при-

146

мерам I — I I I и попытаемся выяснить, можно ли для них предложить тыоринговы программы, которые быстрее при­ водят к результату, т. е. у которых временные сигнализи­ рующие медленнее растут. В случае I ясно, что убыстрение невозможно, ибо для слова 99...9 (п девяток) при любом

мыслимом

способе вычисления

потребуется по

крайней

мере п - f

1 такт для

записи одной единицы и п нулей.

В случае

I I , однако,

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

ботающую программу

Не выписывая ее, укажем лишь,

как происходит соответствующий

вычислительный

процесс

н чем ои отличается от процесса, протекающего в соответ­

ствии с программой

Э?2 (т. е. со схемой

 

рис.

18). В каждом

а)

3 | В 9

1 1

1

1

1

!

1

1

б;

3 7

0 1

1

1

1

1

! 1

6>

1

3

7

1

1

1

1

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

Рис.

38.

 

 

 

 

 

цикле происходит стирание очередной палочки на левом конце массива палочек, а не на правом конце, как в случае программы 9Й2. Другое различие заключается в том, что десятичная запись числа, выработанная на очередном цикле, перемещается вправо на одну ячейку и тем самым продви­ гается вплотную к уцелевшему массиву палочек. На рис. 38 указаны записи на ленте после 369-, 370-, 371-го циклов и их взаимное расположение. Ясно, что длительность /-го

цикла

не более чем 2 (] log1 0 у f +

1) +

1 тактов, из

коих

один

на стирание

очередной

палочки,

не более чем

2(1 log]0y 1 + 1) на переход к десятичной записи числа

п и на

перемещение

всей записи вправо

на одну

ячейку.

Итак,

 

 

Тт(п)<2

% (]loglu/[+!) + «<

 

 

<

2п (1 log1 0 п [ -f

1) -f п ~

2п log,,, /г.

 

Это существенно лучше, чем Г с ^ (л). Точнее,

 

 

П ш Г ^

{п)'Т^

(») = 0 при

п^-оо;

 

иначе говоря, Тс$ц по порядку меньше, чем.Гс^.

147

Полученный выигрыш во времени показывает, что вы­ годнее на каждом цикле перемещать десятичную запись, дли­ на которой сравнительно невелика, чем доставлять очеред­ ную «разменную» палочку с правого далекого конца.

Можно ли еще улучшить этот результат? Точнее, воз­ можна ли тыорингова программа 50?2 такая, что Год?» по порядку меньше даже, чем Тещ,;? К этому вопросу мы еще вернемся позднее (см. п. 19.2).

Наконец, для задачи I I I можно предложить программу 50?з, в соответствии с которой происходит замена звездочки

Pit) Р(2) PIS) т

чп-i

Pin)

if

— ^ pit)=pin) ?

 

)

Pl2)=Pln-l)7

Рис.

39.

 

на единицу и стирание крайней слева палочки. Очевидно, Тщ:. («) = п + I , что по порядку меньше, чем (п.), которая асимптотически равна п2. Более того, достаточно ясно, что дальнейшее существенное убыстрение процесса уже невозможно.

17.4. Распознавание симметрии. Рассмотрим еще сле­ дующий класс однотипных задач: для произвольного слова р = Р (]) р (2)... Р (п) в алфавите (0,1| следует узнать, симметрично ли оно, т. е. совпадает ли слово Р со своим зеркальным отображением Р (п) Р (п — 1)... Р (1). Как обычно, будем считать, что соответствующий распознаю­ щий алгоритм выдает 1 в случае утвердительного ответа и О — в противном случае. Легко составить тьюринговы про­ граммы, решающие эту проблему, но мы ограничимся*опи­ санием того, как протекает соответствующий вычислитель­ ный процесс. Начав работу в конфигурации рис. 39, головка запоминает символ Р (1), уходит на правый конец слова и, найдя символ Р (п), сравнивает его с Р (1). Если эти символы различны, то слово Р не симметрично, и тогда стирается первоначальная запись и на ленте записывается результат 0. В противном случае головка возвращается влево, отыс­ кивает Р (2) и начинает второй цикл, в котором сравни ваются Р (2) и Р (п — 1) и т. д. Дольше всего машина будет

148

работать, когда слово Р на самом деле симметрично. Тогда

будет

произведено

nil

циклов

сравнения,

в которых

го­

ловка

совершает

ход

вправо

на п ячеек,

обратный

ход

влево

на п— 1 ячейку, потом

следующий

ход вправо

на

а — 2 ячейки и обратный на п — 3 ячейки и т. д. На рис. 39

колебания

головки

изображены

зигзагообразной

линией

под

лентой.

Итак,

в

этом

случае тратится число

тактов

п +

(п -

1)

+ (п +

2) +

... =

/ 1 ( 1 + п)12 ~ пУ2.

Мож­

но было бы сэкономить время примерно вдвое за счет сле­ дующего усовершенствования алгоритма: машина 3? осу­ ществляет по одному сравнению после каждого хода в одну сторону. Например, после сравнения Р (/) с Р (п) при возвращении влево по пути считывается и запоминается зна­ чение Р (п — 1), которое после завершения обратного хода (влево) уже сравнивается с Р (2). При таком способе вы­ числения на машине уже будет Tg-j (п) — /г2/4. Легко понять, что возможны и дальнейшие усовершенствования. Пусть, например, при каждом перемещении в одном направлении

машина

3i2

запоминает

пару символов и сравнивает ее

сразу с соответствующей

парой на другом конце слова; так,

вначале пара Р (1) Р (2) сравнивается с парой Р (п— 1)Р (/г),

потом

пара

Р (3) Р (4)

с парой Р (п — 3) Р (п — 2)

и т. д. Это, конечно, потребует увеличения числа внутрен­

них состояний машины 912 по

сравнению

с машиной 9i,

однако время.работы сократится

вдвое, т. е.

(п) ~

пЧ8.

Вообще для

каждой константы

I можно построить тьюрин-

гову машину

SRj, которая на каждом ходе сравнивает

две

i-ки символов. Соответственно для временной сигнализи­ рующей имеет место асимптотическое равенство Tg^ (/г) ~

~ /г2 /4/. Хотя мы таким образом и добиваемся ускорения процесса вычисления, тем не менее для всех рассмотренных нами до сих пор машин SR, распознающих симметрию, временная сигнализирующая Тс^ по порядку не меньше /г2; точнее, для них справедливо следующее утверждение.

Существует константа Сстд, зависящая от Ш, но не зави­

сящая от п, такая, что

 

7g,,(/j)>Cg,r nS (/2=1, 2, 3, ...).

(#)

Возможно ли распознавание симметрии за время по порядку меньшее, чем /г2, т. е. существует ли машина Тьюринга Ж0 , распознающая симметрию, и такая что

lim 7Vj-)jo(n)lif0 при /г-» оо ?

149

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