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

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

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

1) пусть S f-самоприменима; тогда по определению f-самоприменимости (вариант 3) она выдает результат, от­ личный от 1. Но согласно (**) это означает, что на самом деле й выдает результат 0, а следовательно, ®/-несамо- применима. Полученное противоречие заставляет нас (так же, как и в п. 15.2) отвергнуть предположение о /-самопри­ менимости машины ®;

2) пусть й /-несамоприменима; тогда по определению возможен один из вариантов (1 или 2). Вариант 2 приводит к противоречию в точности так же, как это было обнару­ жено для варианта 1. Тем самым выясняется, что имеется лишь одна возможность, а именно, что реализуется вариант 1, т. е. справедливо утверждение: если машина Й распознает

/-самоприменимость

и Я" является ее шифром, то

($')

>

 

Для

завершения

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

теоремы

остается

показать,

что

для

рассматриваемой

нами

тьюрннговой

машины

Я'

кроме

слова

найдется

еще

бесчисленное

множество

других

слов

Р,

для

которых также

t§, (Р)

>

>

/ (Р).

Это

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

так.

Пусть 10? — про­

извольная

тыорингова

машина,

полученная

из

машины

$

в результате

фиктивного расширения

ее внешнего алфа­

вита. Как

уже

отмечалось

в п.

10.1, если такие

машины

$

и 9)? запустить на одном и том же исходном двоичном слове

Р в стандартной конфигурации, то они будут работать со­

вершенно

одинаково.

В частности,

(Р) =

(Р). Ясно

также, что для данной машины существует

бесчисленное

множество

фиктивных

расширений й ь

®2 . ••• • Очевидно,

они также распознают /-самоприменимость, а следовательно,

для

каждой машины Й, и для ее

шифра Й/

 

 

 

 

tai(Si)>f

(Г,),

1

=

1,2,3,

 

 

 

во,

поскольку

t$>{®i) = tg.(®'i)

для

/ =

1,

2,

3,

то

 

 

> / ( $ / )

при

( =

1,

2,

3...

 

 

Теорема полностью

доказана.

 

 

 

 

 

 

 

 

На самом

деле

посредством

более тонкой

конструкции

можно при условиях теоремы обнаружить существование такого свойства Г двоичных слов, для которого утвержде­ ние б) теоремы справедливо в следующей более сильной форме (теорема Рабииа): б) Какова бы ни была машина £, распознающая это свойство Г, ее временная сигнализирую­ щая удовлетворяет неравенству t% (Р) > / (Р) для всех двоичных слов Р за исключением конечного их числа.

160

Группа П. / р ^ р ' ,

1р'-у?",

/ р " - ^ / 7 Р )

| р - * р ' ,

|р' - >р",

| р" ^ /7р.

Эти команды не изменяют записи на ленте, а лишь управ­ ляют перемещением головки. В соответствии с командами группы I , начиная с конфигурации рис. 42, а, головка приступает к перемещению вправо, сохраняя состояние я; дойдя до символа р, «отражается» и, переходя в состоя­ ние я ' , начинает перемещение влево. В соответствии с ко-

Сплошь палочки

в)

1

1

 

1

1

\

р

 

1

ж

 

 

1 . . .

1

р

 

1

 

1

 

£>

 

 

 

.

"/г

 

8)

1

1

 

1

1 . . .

|

р

 

f>

 

 

 

 

 

 

ч)

L

I

 

1

1

1

р

д)

1

 

. . .

р"

Ж'

 

Р

i

1

1

1

 

 

 

 

ж' р

 

 

 

 

 

Рис.

42.

 

 

мандами группы

I I , начиная

с конфигурации рис. 42, б,

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

Предположим теперь, что головки двух экземпляров машины 9Яо запущены одновременно на одной ленте, содер­ жащей так же, как и выше, запись слова I \ \... | ] р. В кон­ фигурации рис. 42, в указаны начальные положения головок и соответствующие внутренние состояния. Тогда согласно командам групп I — I I каждая из головок начнет переме­ щаться вправо. Нетрудно проверить, что если длина п слова / | | р является четным числом, то за 3 (/г/2—1) тактов «быстрая» головка (запущенная в состоянии я) успеет добе­

жать до буквы р и, отразившись

от нее, дойдет в

состоянии

я ' до ячейки, содержащей (п/2 4-

1)-ю букву слова

l \ |... | \р.

За это же время «медленная» головка (запущенная в состоя­ нии р) успеет дойти в состоянии р" до ячейки с (п/2)-й бук­ вой. Итак, на такте 3(д/2 — 1) получится конфигурация рис. 42, г, т. е. головки «столкнутся» как раз в середине

162

слова. На следующем такте головки «перепрыгнут» друг через друга и появится конфигурация рис. 42, д\ после этого медленная головка продолжает путь вправо, а быстрая — влево.

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

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

ки друг к другу,

что возникает опасность

их столкновения

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

ячейке, предписывается

выполнять такую

команду, которая устраняет эту опасность. С помощью команд такого типа можно уточнить для любого v = 2, 3, ...

понятие «системы v-тьюринговых машин с общей внешней памятью». Такая система может рассматриваться как единая машина нового типа; при этом обычно считают, что в ка­ честве ее компонент взяты v экземпляров одной и той же машины Тьюринга вд. Не приводя здесь окончательных определений, мы можем, однако, заметить, что ни при каком v применение систем из v-тьюринговых машин не может решать полностью задачи о распараллеливании вычисли­ тельного процесса, ибо на каждом такте основная масса ячеек (точнее, все, за исключением v ячеек) по-прежнему

пребывает

в вынужденном

бездействии.

 

 

21.2. Автоматы

Неймана. Опишем

машину иного

типа — автомат Неймана,

в котором

принцип

распарал­

леливания

доведен,

так

сказать,

до

конца.

Соответ­

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

6*

163

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

Нейманов элемент — это устройство, которое на каждом такте t — 1, 2, 3, .... пребывает в одном из конечного числа состояний гъ г2, rv , образующих его алфавит R. Эле­ мент имеет два входных канала — левый и правый, по каждому из которых на такте t также поступает по одному

состоянию

из

R

(рнс. 43).

Состояние

элемента

на

такте

 

 

 

 

t

+ 1 зависит

исключительно от

 

 

 

 

того,

 

в

каком

 

состоянии

он

 

 

 

 

пребывал

в

предыдущем

такте

 

 

 

 

t

и какие

состояния

на том

же

 

 

 

 

такте

/

поступали

 

по

входным

 

 

 

 

каналам.

Иначе

 

говоря,

эле­

 

 

 

 

мент

реализует

функцию трех

 

Рис.

43.

 

переменных

 

У (р,

 

г, q)\

значе­

 

 

ние

самой

функции,

а

также

 

 

 

 

значения ее аргументов при-

надлежат

алфавиту

R.

Равенство

х¥

(rh

 

 

r]t

r( n ) =

= гп означает: если

элемент

находится

в

состоянии

г},

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

и по правому — гт, то

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

гп.

Такое

равенство

будем

записывать

и в

виде

так

называемой

неймановой команды

rtrjrm-*-ra.

 

 

 

 

 

 

 

 

 

 

 

Итак,

функционирование элемента

задается

функцией

у ¥, или что то же самое, множеством

 

из

v 3

неймановых

команд, называемое

неймановой

программой.

 

 

 

Состояние г будем называть спокойным (или состоянием

покоя), если выполнено условие Чг

(г,

г,

г)

— г, или,

что

то же самое, rrr-*-r\

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

воз­

бужденным (или возбуждающим). Это означает, что эле­ мент, пребывающий в состоянии покоя, может быть выведен из него только при условии, что хотя бы по одному из его каналов поступает возбуждающее состояние. Впредь пред­ полагается, что среди состояний множества R имеется одно специально выделенное состояние покоя 15b. Итак:

ф ф ф —»- ф.

( # )

 

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

164

но на рис. 44, а. Фиксируя в момент t каким-то образом состояния элементов, мы тем самым задаем некоторую

нейманову

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

K(t).

Для

любого

элемента

а в ленте

обозначим

через

a

(t)

его состояние

в момент

t, т. е. в конфигурации

К (t) и через а~

(/)

, сс+ (() состоя­

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

Заметим,

что

состояния

а~ (t), а+

(t) воспринимаются

элементом а

по

левому и

правому каналам соответственно; это позволяет ему выра­ ботать свое состояние a (t + 1) в следующий момент, согласно его программе. Поскольку это справедливо для всех элементов ленты, то за один такт в результате одно-

CL(t*t)=rm

6)

г

г

г

ОС" ОС ос+

Рис. 44.

временного действия всех элементов возникает непосред­ ственно следующая конфигурация K(t + 1). Точно так же далее вырабатываются конфигурации K(t + 2), K(t + 3), ...

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

В дальнейшем мы будем рассматривать лишь конечные неймановы конфигурации, т. е. такие конфигурации, в ко­ торых все элементы за исключением конечного (но не фикси­

рованного) их числа пребывают в состоянии покоя

ф . При

этом

наименьший кусок

неймановой

ленты, вне

которого

все

элементы пребывают

в

состоянии

ф, будем

называть

активной зоной автомата

данной

конфигурации). Оче­

видно, из условия ф): следует, что в автомате Неймана, пер­ воначально запущенном в конечной конфигурации, будут возникать впредь только конечные конфигурации, ибо на каждом такте активная зона может расшириться не более, чем на два элемента — по одному на каждом ее краю. Поэ­ тому, хотя формально автомат Неймана определен нами как бесконечный объект, тем не менее он является по существу

165

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

 

OL-(t)

 

 

 

 

 

 

 

 

 

 

 

 

о

пюбое

!

любое

О

!

О

1

*

£

f

о

0\

2)

0

О

любое

1

Ф 0

£

0

1 0

1

0 S 0

 

1

О

любое

*;

£

 

1

 

 

 

 

 

 

0

1

г

любое

1

Ф

£

0

0 £

0

£

£

 

Рис.

45.

 

 

 

 

 

 

Рис.

46.

 

 

 

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

21 3

Пример:

неймановы

часы. Пусть

нейманов

элемент &

имеет четыре состояния: ф, 0, е,

1. В его программе, приведенной на

рис 45,

приняты следующие упрощающие соглашения,

которых мы

будем придерживаться и впредь.

 

 

 

 

Во-первых, опущены пассивные команды, т. е. те команды, ко­

торые не вызывают изменения a

(t) (т. е. а (t

+ 1) =

а

(/)), а

указа­

ны только активные команды. Во-вторых, применяется

унифициро­

ванная

запись для

однотипных

команд; например,

первая

строка

в рис. 45 указывает на 16 команд, которые получаются, если пере­

бирать

независимо значения ф , О, в,

1 для

сс~ (/)

и для a+(t).

В соот­

ветствии с этой программой, 'исходя

из

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

К (()

рис. 46,

будут

выработаны конфигурации К

{t

+

1), К

(( +

2), ...

На ри­

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

реводе

от К (/) к

К U + 1) одновременно

происходит

изменение

состояний во всех восьми элементах активной

зоны;

при

переходе к

К (/ +

2) — только

в пяти. Интересно проследить за

работой наше­

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

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

возникающие

конфигурации в том случае, когда

v = 3; рядом

с ними записаны

номера

команд, которые

фактически

применяются

при

переходе к

очердной

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

Как видно

166

из рис. 47, начиная с / =

11, автомат впадает

в периодический про­

цесс,

ибо

К (П)

=

/< (3). Следовательно,

в

крайне правой

ячейке

активной

зоны

единица

будет

появляться

периодически,

 

начиная

с t =

10,

через

каждые

8 =

23

тактов

и больше ни

в какие

другие

такты. Аналогично

при

любом

другом

v

единица

будет

возникать

на правом краю активной зоны через каждые 2V тактов. В этом смыс­

ле можно сказать, что описанный нами нейманов элемент

позволяет

строить «часы» с периодом 2V

на

активной

зоне длины v.

 

 

 

21.4. Нейманово

моделирова­

К(1)

0

0

0

0

0

 

ние

машин

Тьюринга.

 

Пусть

 

 

 

 

 

 

 

 

Z

 

заданы

машина

Тьюринга

Ш с

К 12)

0

/

0

0

0

 

внешним

алфавитом

su

 

s2,

 

 

К

(5)

0

О

Е

0

13

 

sft

и состояниями

qu

qz,

 

 

qm

0

 

 

 

 

 

 

 

 

 

 

 

и

произвольная

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

К

ЩФ

 

 

 

 

 

/( в этой машине. Любую

ячей­

К

(5)\0

 

 

 

 

 

ку а ленты в

 

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

/(

 

 

 

'.2J.S

можно

охарактеризовать

столб­

 

 

 

1

0

 

К

(6)

0

£

0

 

цом вида д ,

где

х

символ,

 

 

 

 

 

 

 

 

 

записанный

в

ячейке

a,

a

q

К (7)

0

О

£

£

0

 

определяется

 

условием:

если

К

(8)

0

1

£

a

0

 

ячейка

обозревается

головкой,

 

 

 

 

 

 

 

У,*

 

то

q — соответствующее

состоя­

К W)

0

0

1

£

0

 

ние

машины,

 

если

же

а

 

не

KffO)

0

1

О

f

0

 

обозревается,

 

то

q

символ

w

Д . Мы

предполагаем,

что

си­

 

 

 

 

 

0

:

К(11)\ф

0

£

0

 

мвол

Д

отличен

от

qlt

 

q2,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

qm.

 

То,

что он

совпадает

с

пу­

 

 

Рис.

47.

 

 

стым символом внешнего алфави­

 

 

 

 

 

 

 

 

та машины Ж,

 

нам не

мешает.

 

 

 

 

 

 

 

 

Очевидно,

различных таких столбцов может быть в точности

(пг -\- \)k;

их

 

можно рассматривать

как

«двухэтажные»

буквы некоторого нового «двухэтажного» алфавита R. Среди

этих «двухэтажных»

букв

имеется,

естественно,

и буква

д,

характеризующая

каждую

пустую и вместе с тем

необоз-

реваемую

ячейку

в

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

К;

собственно

говоря,

все ячейки ленты, за исключением конечного их числа, будут охарактеризованы именно «двухэтажной» буквой д. Те­ перь, если мы буквы из R будем интерпретировать как сос­ тояния некоторого нейманова элемента, то ясно, как всякая тьюрингова конфигурация К естественным образом коди­ руется некоторой неймановой конфигурацией К- Напри­ мер, на рис. 48, а, б изображены неймановы конфигурации, кодирующие тыоринговы конфигурации рис. 42, а, б.Более

167

того, по заданной тыоринговой программе 9J? можно по­ строить нейманову программу 9Й так, что если 9R переводит за один такт К и К!, то автомат Неймана с программой Ж пе­ реводит за один такт К в конфигурацию, кодирующую

1)

.1

 

ЛЛЫЛЛ

 

 

л 1

1 1 1

S) л р л л л

в)

л

 

Л1р|Л|Л|я'

 

г)

л Ы л л л 1

 

 

l\t

I

ЮЛря

е)

ЛЫЛЛЛ;

 

ж)

 

Л Ы Л Л Л !

з)

At I I

Л1РЛМЛ

 

а)

лг

л л л л л

 

 

л г

 

Л Л | Л Л Л

I I

лл л л

11 1 1

лл л л

лл л л

лл

ЛЛ|ЛЛ;

I

|Л!Р'|Д|Л

л л л л

I

л|л|л л

ЛН Р Л

РИ С . 48.

лл л

11 1 р л

л л л л л

лл л л л

лл л л л

РА

я. Л Л1

РА

л|л|л|л л

РА

л л л л л

p\h

л л л л л

Ил

л л л я л

Р\Л

Л Л Л Л Л

К'. В этом смысле автомат Неймана 9Й моделирует машину Тьюринга ЗЙ, причем, как легко понять, роль состояния

покоя играет буква д.

_

Процедуру перехода от 9Й и 3)? поясним на примере тьюринговой программы 50?0 из 21.1. В этой программе имеет­ ся команда рп-*-Лп'. Поэтому для любой тройки вида

д^Л., где х, у — любые внешние символы машины Э3?0,

168

в программе $?0 фигурирует команда: * дд->-л>. Она в точ­ ности отражает факт смещения головки из ячейки а+ в ячей­ ку а и появления состояния я' . По тем же соображениям

 

<L(t) ОС®

а.Ц4

 

Пояснения

 

1

1

i

У

X

 

 

 

 

Ж

А

А

X

 

 

 

 

2

X

1

УА

i

 

 

 

 

 

А

fc

А

 

 

 

 

3

X

Р

У

Р

 

рл * ~ Л Я Г

 

А

X

А

А

 

 

 

X

Р

 

 

 

 

 

 

У

 

 

 

 

 

S

А

л

я •

Уп'

 

 

 

 

X

1

У

1

 

 

 

 

6

А

я'

А.

А

 

 

 

 

X

У

Г

i-

 

 

 

 

 

А

А

я'

 

 

 

 

 

 

 

 

 

 

7

X

1

Л

 

 

 

 

 

Л

л-

1

 

 

 

 

в

X

>

У

 

 

 

 

л

л

л"

 

 

 

 

3

X

>

L

 

 

 

 

А

Л

 

 

 

 

10

г

X

У

' X

 

IP —

 

 

11

 

л

А

Л>

 

 

 

 

X

1

У

 

 

 

 

 

 

А

 

У

1

 

 

 

12

X

 

Ifi'-^fi"

 

 

А

 

А

>

 

 

 

к.

X

> УА

А

 

 

 

 

Л

 

 

 

 

 

 

X

 

X

 

 

 

 

> л

 

 

->,,.

 

15

лю*

С

/

1

. Размножение

 

 

бое

я

л.

f>

 

i

/

лю­

1

 

 

 

 

й.

А

бое

я

 

 

 

 

17

i

1

 

1

 

Разрешение ни /Ж—>• П

 

 

Л

и.

1

А

 

 

 

 

/8

лю­

i

i>

 

 

 

 

бое

л>

Л

 

 

 

 

 

 

 

fti0: команды

/-1¥

 

 

 

 

 

 

 

 

 

 

л,

 

: кдЬан&ы 1-/8

 

 

 

 

 

Рис. 49.

 

в Ж0

включаются

команды вида д д д - >

д и ^ д д - » - Л . Если

мы поступим

аналогично для каждой команды программы

9)?„,

мы и

получим, очевидно, программу 9)?0 нейманова

автомата, моделирующего 5Ш0. Верхние 14 строк рис. 49 как

7 зак. 2бз

169

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