ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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