Файл: Алферова З.В. Теория алгоритмов учеб. пособие.pdf

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

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

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

Добавлен: 25.06.2024

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

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

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

ленточной головкой. За один шаг, зависящий от ее состояния и символов, считываемых входной и ленточной головками, машина Тьюринга может:

1)изменить состояние;

2)изменить символ считываемой ленточной головкой;

3)передвинуть входную и ленточные головки на одну клетку • независимо в любом направлении.

/ X, х2 •£? . . . .

Xt

, . . .

конечное

управление

бесконечной

память

Рис. 23

Формально двусторонняя недетерминированная машина Тью­ ринга (или просто машина Тьюринга) обозначается так:

M = ( S ,

X, Y, 8, s0, В, F),

где S, X, Y и F — конечное

множество состояний, входных симво­

лов, ленточных символов и заключительных состояний соответствен­

но: f s S , s 0 e 5 — начальное

состояние;

B e F — пустой символ;

 

6 — это отображение 5 X {X,

U {С,

S})

X Y в классе подмножеств

множества S X (Y — {В} X {—1, 0,

+1} X {—1, О, М-1}. Функция

6

осуществляет отображение вида С X X X Y—>S X Y X di X d2. Это означает, что машина Тьюринга М находится в состоянии s, считы­ вает х на входе и у на ленте, то она имеет право перейти в состоя­ ние «г напечатать непустой символ yi вместо у и передвинуть свои

входную и ленточные головки в направлениях di и d2

соответствен­

но (—1 обозначает сдвиг влево,

0 — отсутствие движений,

+ 1 —

сдвиг вправо).

 

 

М будет обозначаться

 

xi,

 

Конфигурация машины

Тьюринга

(s,

х2,^

.,

xi, „ .,

Хп, yi, Уг,.--,

Уз, • • •,

Ут)•

Здесь s — состояние

Xi

=

=

С, хп

= S,

х%, х3,

х п - 1 — вход,

где каждое

Хи,

2^k<n

принадлежит

X. Символы

г/i и ут

пустые, а у2, уз, •. •, Ут-i — непу­

стая часть ленты машины М. Входная и ленточная головки считы­

вают Xi и у,- соответственно.

 

_

_ Если М = (S, X, У, б, So,

В, F) и для любых s из S,

х, из X U {С,

S} и у из Y множество b(s, х, у) содержит не более одного элемен-

154


та, то М является

детерминированной.

Если ни для

каких

s,

х,

у

множество 6(s, х,

у) не содержит элементов

вида (р,

Y, — 1 ,

d),

то

М является односторонней. Таким образом,

определены

четыре

класса машин Тьюринга: \D, IN, 2D, 2N.

 

 

 

 

 

 

 

 

Два класса автоматов называются эквивалентными,

если

они

распознают одинаковые языки.

 

 

 

 

 

 

 

 

Теорема'(33).

Четыре класса машин Тьюринга (Ш,

IN,

2D,

2N)

попарно эквивалентны, и каждый точно

распознает

все языки

ти­

па 0.

 

 

 

 

 

 

 

 

 

2.10.2.Линейноограниченные автоматы

1.Машина Тьюринга с входной лентой называется линейноограниченной, если существует такое число с, что в процессе «до-

пускания» цепочки со машина не может использовать более чем с - | со) рабочих ячеек.

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

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

 

Детерминированным линейноограниченный автоматом с одной

лентой называется упорядоченная

шестерка

 

 

 

 

А = (Х,

S,

s0 8, F, d),

 

где

X, S, so, F имеют тот же смысл, что и в универсальном автома­

те,

d = {—1,

0, + 1 } , как и в двустороннем

автомате,

а отображе­

ние

б имеет

вид: 5 X X—*S

X X X d. Этот

автомат

работает сле­

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

Далее,

если

управляющее

устройство

автомата находится

в состоянии Si и считывает с ленты символ Xj и если

имеет

место

6{S{, Xj) =

(st, Xk, dq), то автомат

вместо Xj печатает

на ленте

сим­

вол Xk, переходит в состояние St и лента продвигается на одну

клет­

ку вправо при dq

= — 1 , влево — при dq = + 1

и остается на месте —

при dq = 0.

 

 

 

 

 

 

Условие допустимости или приемлемости входной последова­ тельности для детерминированного линейноограниченного автома-

155


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

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

Для детерминированных линейноограниченных автоматов дока­ зана следующая теорема.

Теорема 34 (Ландвебера). Множество цепочек, представимых линейноограниченным автоматом, есть язык типа 1, т. е. контекст­ но связанный.

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

Теорема 35 (Курода). Любой язык типа 2 представим в детер­ минированном линейноограниченном автомате.

Недетерминированным линейноограниченным автоматом с од­ ной лентой называется линейноограниченный автомат с одной лен­ ной, функция отображения которого неоднозначна, а начальным •состоянием может быть любое из состояний множества S0. Для недетерминированного линейноограниченного автомата входная последовательность считается приемлемой, если существует такой вариант работы автомата, что автомат сходит с правого конца за­ полненной ленты в одном из состояний s, множества F.

Область представимости недетерминированных линейноограни­ ченных автоматов определяется следующей теоремой.

Теорема 36 (Курода). Множество входных последовательностей является языком типа 1 тогда и только тогда, когда оно является множеством приемлемых последовательностей какого-либо недетеряинированного линейноограниченного автомата, т. е. когда это множество представимо таким автоматом.

Из этой теоремы и из того факта, что детерминированный ли­ нейноограниченный автомат заведомо не может делать больше, чем недетерминированный автомат такого же типа, следует, что класс -линейноограниченных автоматов обоих этих типов заведомо уже, чем класс машин Тьюринга, в том смысле, что область представи­ мости этих автоматов является точным включением области пред­ ставимости машин Тьюринга. В то же время класс линейноогра­ ниченных автоматов заведомо шире, чем класс конечных автома­ тов, которые, как мы увидим далее, представляют только языки типа 3. Следовательно, линейноограниченные автоматы являются промежуточными между конечными автоматами и машинами Тью­ ринга и притом адекватными определенному классу языков ти­ па 1 —контекстным языкам.

Теорема (37). Классы 2N и IN линейноограниченных автоматов

156


эквивалентны, и каждый распознает язык L тогда и только тогда,, когда L — {/} является контекстным.

Теорема (38). Классы 2D и ID линейноограниченных автоматовэквивалентны.

2.10.3. Автоматы с магазинной памятью

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

Таким образом, в автоматах с магазинной памятью

ограничение

накладывается не на объем памяти,

а на доступ

к

информации,

записанной на ленте памяти — в «магазине».

 

 

 

 

 

 

 

Автомат с магазинной

памятью

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

как упорядочен­

ная восьмерка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А =

(X, S,

s0, Z, а,

5,

F,

d),

 

 

 

 

 

где X, S, So, F — соответственно конечные непустые множества

вход­

ных символов и состояний управляющего

устройства,

начальное

состояние и выделенное

подмножество

 

состояний,

Z — конечное

множество вспомогательных

магазинных символов, а — специально

выделенный

символ

 

«стирание»

 

 

 

 

 

 

 

 

 

 

 

( a e Z ) ,

d={-\,

 

 

0,

+ 1 } ,

6 -

 

 

 

 

 

 

 

 

 

 

 

функция, осуществляющая

отобра­

 

 

 

 

 

 

 

 

 

 

 

жение

множества

S X (XV А)

X.Z

 

 

 

 

 

 

I

/

Входная

ленто-

в множестве S X Z* X d, если

авто­

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мат детерминированный, или в мно­

 

 

 

 

 

 

У. У

 

 

 

жество

конечных

подмножеств

мно­

 

 

 

 

 

 

 

 

 

 

 

жества S X Z* X d,

если

недетерми­

 

 

 

 

 

 

 

 

„машин

нированный.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

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

автомат с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 24

 

 

магазинной памятью

работает

сле­

 

 

 

 

 

 

 

 

дующим образом

(рис. 24).

 

 

 

 

 

 

 

 

 

 

цепочка и

В начальный

момент

на входной

ленте

записана

и считывающая головка

1 воспринимает

крайний

 

левый

символ

этой цепочки. Управляющее

устройство

 

находится

в состоянии s0,

лента памяти пуста и головка 2 расположена

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

левой

ее клетки. Если в некоторый момент

времени

имеет

место 6(s,-, xt,

Zi) (SJ, Vi, dq),

то это

означает,

что

автомат,

находящийся

в состоянии Si

и воспринимающий символ

xt

на ленте

памяти, пе­

реходит в состояние Sj, а на ленте магазинной

памяти

печатается

цепочка о, первый символ которой

печатается

в той клетке,

где

было записано Z\, и лента

сдвигается

на

\v\

— 1 клеток

влево

(\v \ —длина

цепочки

v).

После этого

входная лента

сдвигается

157


на

одну клетку влево, если dq = + 1 , на одну

клетку

вправо, если

dq

= — 1 , или остается на месте, если dq = 0.

памяти

не движется

 

Если цепочка v = Л , т. е. пустая, то лента

и содержимое ее не меняется. Если же v = а — стирающий символ,

то символ Zi на ленте памяти, против которого

стояла головка 2,

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

клетку вправо.

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

Для теории автоматов с магазинной памятью основной являет­

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

 

 

Теорема

39

(Хомского).

Язык L является

языком типа 2 тогда

и только тогда,

когда он представим в некотором недетерминиро­

ванном автомате с магазинной памятью.

 

Таким

образом, область

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

для класса недетер­

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

сом языков типа 2 , т. е. бесконтекстных

языков.

 

 

Множество, представимое в детерминированном автомате с ма­

газинной памятью, носит название детерминированного

бесконтек­

стного языка, т. е. языка типа 2°. Имеет

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

Теорема 40 (Хейнс-Шютценберже).

Если

А—детерминирован­

ный автомат с магазинной памятью, то множество L(A)

последова­

тельностей, которые в нем представимы,

являются бесконтекстным

языком без неоднозначности.

 

 

 

Однако обратное неверно, так как существуют языки типа 2 без неоднозначности, не являющиеся детерминированными.

2.10.4. Конечные автоматы

Наиболее простой моделью является автомат с конечным чис­ лом состояний (с конечной памятью) —конечный автомат.

Детерминированным конечным автоматом называется упорядо­ ченная система из пяти символов — «упорядоченная пятерка».

 

 

 

Л = (Х, S, s0,

8,

F),

 

 

 

 

 

где X = {хи

х%,...,

 

Хг} — множество

входных

символов

(входной

алфавит), S = {su

s 2 , . . . ,

sn} — множество

внутренних состояний,

г, п конечны, s Q e 5 — начальное

состояние, б —функция,

отобра­

жающая 5 X X в 5,

что обычно

записывается 6:S

X X—>S.

Эта

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

паре

символов

( S j , Xj)

некоторый

символ

Sh^S,

f s 5 — некоторое

выделенное

подмно­

жество состояний автомата (заключительные состояния).

 

 

Этот автомат

можно

интерпретировать так, как это

показано

на рис. 25.

 

 

 

 

 

 

 

 

 

 

 

 

 

Автомат

состоит

из

управляющего

устройства,

считывающей

головки и

бесконечной

вправо входной

 

ленты,

разделенной на

* Определение приемлемости в различных работах трактуется по-разному.

.158