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

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

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

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

Добавлен: 19.10.2024

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

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

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

из рис. 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



раз н содержат все активные команды из 59?п; пассивные команды здесь опущены, так же, как п в программе рис. 45.

Легко понять, что процедура, проиллюстрированная только что на конкретном примере, всегда приводит к цели, т. е. перерабатывает любую заданную тыорингову про­ грамму 59? в «моделирующую» ее нейманову программу 50?. Возвращаясь к неймановой программе 50?0, заметим, что, исходя из начальной конфигурации рис. 48, а или рис. 48, б, она будет моделировать соответственно тьюринговы про­ цессы, происходящие в машине 59?0, при начальных конфи­ гурациях рис. 42, а, б. Это значит, что, начиная с рис. 48, а, в нижнем этаже неймановой ленты будет происходить «быстрое» перемещение символа л вправо, а, начиная с рис. 48, б, — «медленное» перемещение символа р вправо. Однако построенная указанным способом программа 50? (и, в частности, наша программа 50?о) однозначно определяет поведение нейманова автомата и для таких конфигураций

/V, которые не являются кодами тыорннговых

конфигура­

ций, т. е. и в том случае, когда в N имеется более чем один

элемент с состоянием вида

^ где д^=/\. Такие

состояния,

которые при тьюринговой

интерпретации показывают, что

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

команд программы 59?0

(см. рис. 49) нет таких, у которых

„ / |

|

о л / |

левая часть — тройка р д д или тройка A p„ , то в первых двух ячейках (активной зоны!) никаких изменений не произойдет. Зато на следующем такте в третьей ячейке появится сос­ тояние ^, потом такое же состояние появится в четвертой ячейке и т. д. Наконец, на (п — 1)ям такте возникнет кон­ фигурация рис. 48, д, которая более уже не будет изме­ няться.

170