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

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

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

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

Добавлен: 19.10.2024

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

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

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

повременное сползание на одну позицию правой конфигу­ рации влево и левой конфигурации вправо и сравнение пары подошедших к точке стыка полуконфпгурапий. Рис. 53,о изображает сравнение «Р (v) = Р (v + 1)?», рис. 53, б — сравнение «Р (v — 1) = Р (v + 2)?» и т. д. Если слово Р симметрично, то на (v — 1)-м такте появится конфигурация рис. 53, д, которая на следующем такте приведет к конфи-

oc7t)

пюбое

г

Я

z

л

Z

Л

Z

Л

А

А

А

А

А

А

 

 

 

 

Пояснения

х

У

У

х,у,q-

произвольные

П

1

1

Сползание

правой,

полунонфи

гурааии

X

У

z

q,x,y,z

-

произвольные

л

Л

 

Сползание

левой

 

х

 

>

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

X

Z

до

обнаружения

л

Л

Л

асимметрии

X

У

Z

x,y,z

-

произвольные>

л

п

л'

 

но

xty

Сползание

левой

X

 

Z

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

любое

после

обнаружения

Л'

Л'

 

асимметрии

X

х

1

 

 

 

л

П

I

х,у,

z -

произвольные,

X

У

О

 

х*у

 

Л

П

I

 

 

х

г

о

Выдача

результата

Л'

Л

г

 

 

 

 

 

Рис.

54.

 

 

гурации рис. 52, д. Допустим, что слово Р несимметрично и

это обнаруживается

впервые при сравнении «Р (v — k —

_ 1 ) = р (v + /г)?»,

т. е. Р (v — k — 1) Ф Р (v - f k). Тогда

на следующем такте (рис. 53, г) это зафиксируется появле­ нием нижнего символа Л' у точки стыка. Этот символ сохра­ няется при дальнейшем сползании. На предпоследнем так­ те появляется конфигурация рис. 53, е, которая еще через один такт переходит в конфигурацию рис. 52, е. Теперь ясно, что для доказательства теоремы 3 достаточно решить следующую задачу.

J86.


Вторая задача. Построить нейманову программу Э?п, которая обеспечивает переработку конфигурации рис. 52, а в конфигурацию рис. 53, а с соблюдением следующих условий:

а)

переработка происходит за время,

не большее чем

С'П (С — константа);

 

б)

3 i n не имеет общих с 3?^ состояний

кроме состояний:

Л(покоя), л, л, п, п\ в) по ходу этой переработки до появления конфигура­

ции рис.

53, а нигде не появляются состояния л,

л, п.'п-

Легко

понять, что, объединяя

списки активных

команд

программ

и 5кп , мы получим

программу Ш0, удовлетво­

ряющую требованиям теоремы 3,

Именно сначала произой­

дет переход от рис. 52, а и 53, а согласно SRn, а затем далее от 53, а к 52, д или к 52, в согласно fSls- При этом общее затра­ чиваемое время не превышает дозволенной оценки.

Роль программы 9?п заключается, очевидно, в том, чтобы довести одновременно до каждой буквы слова Р информа­ цию-о том, какой половине слова она принадлежит: левой или правой. Аналогия с задачей о стрелках достаточно проз­ рачна. Специфика новой ситуации сводится лишь к следую­ щим двум пунктам: 1) теперь мы имеем дело со стрелками двух категорий (нули и единицы), вместо прежних стрелков одной категории (сплошь палочки); 2) вместо общего для всех приказа «пли» (нижний символ*) теперь стрелкам из левой полушеренги, нужно выполнять приказ «пли на­ лево!» (нижний символ Л), а стрелкам из правой полушерен­ ги— приказ «пли. направо!» (нижний символ П). Однако обе эти особенности несущественны; и рассмотренное нами решение (§ 22) легко может быть приспособлено и к'новым

условиям, причем оценка времени останется

прежней,

т. е. до синхронизированных выстрелов пройдет

не более

5 п тактов. Модификации, которые нужно ввести, потребуют лишь увеличения числа внутренних состояний нейманова элемента (стрелка). Например, вместо двух верхних сим­ волов I, р потребуются четыре: /°, I 1 , р°, р 1 — для запоми­ нания того, какие буквы (0 или 1) стояли в тех местах, где заканчивались очередные циклы дихотомии. В заключи­ тельном такте это позволяет восстанавливать в верхнем этаже первоначальное слово Р; кроме того, увеличение числа состояний необходимо для того, чтобы после первой дихотомии и впредь до выстрела в левой и правой полузовах длиной п/2 употреблялись различные состояния.

167


Это позволяет на заключительном такте установить всюду в левой полузоне нижний символ Л, а всюду в правой полузоне — другой нижний символ П. Опуская эти детали, можем считать теорему 3 доказанной.

а)

0

0 х(1) х(г)

х(£)

x(S-l)xfS)

0

0

 

0

уш)0}

у(г)

yd)

 

 

 

$-1) y(s)

 

0

 

 

0

0

 

0

 

 

 

0

0

 

 

в)

 

X(t) Х(2)

 

 

 

 

 

0

х(5)\

 

 

 

 

 

ф

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J

 

 

г)

 

 

щ

 

Ш

 

 

 

i(S-2)z(S-/)\х(5)

 

 

X//J Х(2)\

 

(0

 

 

 

xlS-l)x(S) 0

 

 

 

 

0

 

0

 

 

 

0

 

0

 

 

 

0

xlf)

 

T(i-1)

 

 

 

№0x(s)\

 

 

3)

 

0

\xY2)

 

xfi)

 

 

 

 

 

 

 

<x(f)

 

 

Ф1)

 

 

 

0

Ф

0

 

 

 

\х(2)\

 

 

 

 

 

 

 

~0~

Xl3)

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

 

 

0

\0

 

 

 

 

И \у(г)

0

 

 

 

 

 

 

 

 

 

И I

 

 

 

 

 

 

 

 

 

 

\У12)\

 

0

 

 

 

0

0

0

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 55.

 

 

 

 

 

 

 

23.4. Тьюрингово

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

 

автомата

Неймана.

Идея,

лежащая

в основе этого моделирования, иллюстри­

руется

рис. 55. Рассмотрим

нейманову

 

конфиграцию

рис. 55, а, где правее

x(s) и левее

л:(1) — сплошь состояния

покоя. Иначе говоря,

активная

зона

этой

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

«покрывается»

словом

х (1) х (2)...

х (s),

где среди

х (i)

(L = 1, 2,

s), допускаются, вообще говоря, и вхождения

состояния покоя ф. Тогда за один такт эта конфигурация перерабатывается в конфигурацию рис. 55, б, активная зона которой, очевидно, во всяком случае не длинее s -f- 2

188


и

уж

наверняка покрывается словом

у (0)

у (1)...

у (s)

у

(s +

1) в алфавите всех состояний. На

рис.

55, в, г,

д, е

изображены конфигурации «трехэтажной» машины Тью­ ринга 50?, которая на своем втором этаже стремится ими­

тировать работу заданного автомата Неймана

91. На

рис. 55, в и е показано, как в 50? кодируются

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

55, а и б. Для и м и т а ц и и одного нейманова

такта

головка

машины 2)?совершает колебания, изображенные посредством зигзагообразной линии под лентой на рис. 55, в. При пер­ вом пробеге — слева направо — машина записывает на верхнем этаже каждой посещаемой ячейки содержимое вто­ рого этажа соседней с нею левой ячейки. В результате воз­ никает конфигурация рис. 55, г. При возвращении налево в нижний этаж каждой ячейки заносится содержимое вто­ рого этажа соседней справа ячейки. Итак, после одного полного колебания в каждой ячейке зоны длины s + 2 уже накоплена информация о состоянии соответствующей ней­ мановой ячейки и о состояниях ее соседей слева и справа. Начиная свой очередной пробег слева направо, машина 50? осуществляет в каждой ячейке замену тройки неймановых состояний тем состоянием, которое предписывается суще­ ствующей командой программы 31; это состояние заносится на второй этаж, а другие два этажа очищаются. К концу третьего пробега запись на тьюринговой ленте уже имеет вид, указанный на рис. 55, е. Наконец, головка возвра­ щается влево, не производя никаких записей и, достигнув ячейки с записью и (0), переходит в состояние (обозначен­ ное на рис. 55, в через г0). Теперь она уже готова к сле­ дующему циклу, в котором будет моделироваться следующий нейманов такт. Ясно, что можно построить машину Тьюрин­ га 50?, выполняющую описанный нами алгоритм (подтверж­ дение основной гипотезы теории алгоритмов).

При составлении программы 50? на самом деле нужно учитывать еще некоторые другие, впрочем, довольно оче­ видные детали. Например, машине 50? необходимо как-то помечать на каждом цикле ячейку, из которой она начи­ нает свои колебания, дабы при обратном движении она могла бы обнаружить ее и продолжать свой путь ровно на

одну ячейку дальше.

 

 

Оценим число тактов, которые затратит

машина 50?

при имитации t тактов автомата Неймана 50?,

запущенного

на конфигурации с активной зоной длины

d.

Очевидно,

53? содержит t циклов с общей длительностью

не более,

чем сумма арифметической прогрессии

 

 

189