ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.06.2024
Просмотров: 84
Скачиваний: 0
клетки. Вначале на ленте записана входная цепочка так, что в каж дой клетке ленты содержится по одному символу цепочки. На чальный символ записан в крайней левой клетке, а все клетки той части ленты, которая расположена правее последнего символа за писи входной цепочки, пусты, т. е. в каждой из этих клеток записан «пустой» символ Л . Головка в начальный момент расположена
против крайней левой клетки
Xj.. |
А А |
ленты, а управляющее |
устройство |
||
находится в начальном состоя |
|||||
|
|
||||
|
|
нии. |
|
|
|
|
|
В каждый очередной такт го |
|||
У. У |
|
ловка |
воспринимает |
символ на |
|
|
|
ленте, |
управляющее |
устройство |
Р |
И С |
2 5 |
изменяет |
свое состояние |
в соот |
|
|
|
|
ветствии с отображением б, а лен |
|||
та сдвигается |
на |
одну клетку влево. |
Если |
головка воспринимает |
||
пустой символ |
А , который |
записан |
правее последнего |
символа |
входной последовательности, то это будет означать прекращение ра боты автомата, т. е. состояние управляющего устройства больше не изменяется.
Допустимой, или приемлемой, называется входная последова тельность, обладающая следующим свойством: когда головка вос
принимает последний символ этой |
входной |
последовательности, |
||||
автомат переходит в одно из состояний множества |
F. |
|
|
|||
Множество допустимых входных |
последовательностей |
автома |
||||
та А, |
или множество последовательностей, представимых |
в |
авто |
|||
мате А |
множеством состояний F, обозначается |
L(A). |
Такое |
мно |
жество, являясь множеством цепочек символов из конечного алфа
вита X, будет с точки зрения теории |
языков |
некоторым языкам |
над терминальным словарем VT = X. |
Таким |
образом, естественно |
возникает способ сопоставления автоматов, языков и грамматик.
Для конечных автоматов множество L(A) выделяется известной теоремой Клини.
Теорема 41 (Клини). Для любого конечного автомата А множе ство L(A) допустимых последовательностей является регулярным, т. е. языком типа 3. Эта теорема объясняет, почему языки типа 3 называются языками с конечным числом состояний.
Детерминированным конечным автоматом с двумя лентами на
зывается упорядоченная |
шестерка |
|
|
||||
|
|
|
А = |
(X, |
У, S, |
s0, |
8, X), |
где |
X, S, |
s0 и б имеют тот же смысл, что и для конечного автомата |
|||||
с одной |
лентой, |
У = {yi, |
у%,.. |
., yi} |
— множество выходных симво |
||
лов |
(выходной |
алфавит), / — конечно, |
а X— функция, осуществля |
ющая отображение 5 X X в У, т. е. X : S X X—»-У.
Интерпретация этого автомата представлена на рис. 26. Кроме входной ленты автомат имеет бесконечную вправо выход
ную ленту, которая может перемещаться только в одну сторону — справа налево. Каждый очередной такт в клетке ленты печатается
159
символ, и лента сдвигается на одну клетку. Этот автомат назы вается последовательной машиной, или автоматом Мили. Автомат
Мили М каждой цепочке входных |
символов |
и однозначно |
ставит |
||
в соответствие цепочку |
выходных |
символов |
со, что записывается |
||
М (и) — со. Очевидно, что М ( Л ) = |
Л . |
|
|
||
|
|
|
Недетерминированным |
конеч |
|
|
|
ным автоматом с одной |
лентой |
||
входная |
лента |
называется |
упорядоченная пя |
||
терка |
|
|
|||
|
|
|
|
У. ч
?
;
Рис. 26
ное (начальное)
А=(Х, |
S, S0, 8, F), |
где X, S, F имеют тот же смысл, что и в определении детермини рованного автомата, б — отобра жение множества S X X в мно жество всех подмножеств состоя ний S, a S0— некоторое выделен
множества S.
Представление множества входных последовательностей в не детерминированном автомате понимается следующим образом. Множество входных последовательностей U допустимо в недетер минированном конечном автомате, если для каждой последова тельности этого множества найдутся два таких состояния Si Sg и 5i F и такой вариант работы (т. е. такие конкретные, значения функции б), что последовательность U переводит автомат И3| состоя ния Si в состояние Sj.
Доказана следующая |
теорема. |
|
|
|
|
|
||
Теорема |
42 (Рабина |
и |
Скотта). |
В недетерминированных |
одно- |
|||
ленточных конечных |
автоматах, так же |
как |
и в детерминирован |
|||||
ных, допустимы регулярные множества |
цепочек и |
только |
они. |
|||||
С помощью |
недетерминированных |
автоматов |
нельзя |
расширить |
класс представимых множеств. Однако недетерминированный ко нечный автомат обычно имеет меньшее число состояний по сравне нию с детерминированным автоматом, представляющим то же мно жество.
Конечный автомат с двумя лентами является недетерминиро ванным, если при одной и той же ситуации, характеризуемой па рой (Si, Xj), возможно конечное число вариантов его действия. Сле довательно, такой автомат может одной входной цепочке поставить в соответствие конечное множество выходных цепочек.
Двусторонний конечный автомат отличается от обычного детер минированного автомата тем, что входная лента бесконечная в обе стороны и может двигаться не только влево, но и вправо, а также
может оставаться неподвижной. При этом отображающая |
функция |
|||
б : 5 X X—KS |
заменяется |
функцией |
б : 5 X X—vS X d, |
где d — |
= {—1, 0, + 1 } . Символ d |
показывает, |
в какую сторону |
должна |
сдвинуться входная лента: —1 соответствует сдвигу на одну клетку вправо, + 1 — с д в и г у влево на одну клетку, 0 — лента остается не подвижной.
160
Множество L(A) всех допустимых последовательностей такого автомата определяется следующей теоремой.
Теорема 43 {Рабина, Скотта, Шепердсона). Для каждого дву стороннего автомата А можно эффективно определить такой ав томат В, который имеет то же множество приемлемых входных по следовательностей, что и автомат А. Поэтому множество L(A) ре гулярно, т. е. является языком типа 3.
Таким образом, двусторонний автомат не расширяет возможно сти конечных автоматов. Соответствие между основными видами автоматов и представимыми в них языками сведены в табл. 4.
Т а б л и ц а 4
№ |
Наименование автомата |
Тип предста- |
п/п |
вимого языка |
1 |
Детерминированный и |
недетерминированный |
|
3 |
|||
|
конечный автомат |
|
|
|
|
|
|
2 |
Детерминированный |
автомат |
с |
магазинной |
<-^> |
2 |
|
|
памятью |
|
|
|
|
||
3 |
Недетерминированный |
|
автомат |
с |
магазинной |
» 2 |
|
|
памятью |
|
|
|
|
||
4 |
Детерминированный |
|
линейноограниченный |
< |
2 |
||
5 |
автомат |
|
линейноограниченный |
у 1 |
|||
Недетерминированный |
|
|
|
||||
|
автомат |
|
|
|
|
|
|
6 |
Детерминированная |
и |
недетерминированная |
ч — * |
О |
||
|
машина Тьюринга |
|
|
|
|
В этой таблице использованы следующие обозначения. Стрелка о- означает, что язык тогда и только тогда типа i (i = О, 1,2, 2D , 3), когда он представим в автомате типа Ah (k = 1, 2, . . . , 6). Стрелка —>- означает, что если язык представим в автомате Л&, то он является языком типа i. Стрелка -*- означает, что если язык яв ляется языком типа i, то найдется автомат типа Аи, в котором он представим.
Т а б л и ц а 5
Обозначение |
Общая теория языков |
Математическая |
Программиро |
Математические |
лингвистика |
вание |
модели |
VT |
Терминальный |
Основной сло |
Выходные |
Выходной |
алфавит |
|
словарь |
варь языка |
символы |
|
|
|
(алфавит) |
Вспомогатель |
Набор |
Множество |
состоя |
|
Нетерминаль |
||||
|
ный словарь |
ные граммати |
команд |
ний управляюще |
|
s |
(алфавит) |
ческие термины |
|
го устройства |
|
Начальный |
Предложения |
Программа |
Начальное |
|
|
|
нетерминаль |
|
|
состояние |
|
р |
ный символ |
Синтаксические Операции |
Отображающая |
||
Система |
|||||
|
продукций |
правила |
|
функция |
|
161
В заключение рассмотрим возможную трактовку понятий и ре зультатов общей теории языков применительно к трем основным областям, где эти результаты используются: математической линг вистике, языкам программирования и теории автоматов.
В табл. 5 собраны аналогичные понятия из этих трех областей и указаны соответствующие им понятия общей теории языков.
Упражнения:
1. По каждому из приводимых ниже конечных автоматов А по строить праволинейную КС-грамматику, порождающую .множество
Т(А).
а) |
А |
= |
(S, |
X, |
р, |
б, |
{рз}), б задается |
табл. |
6. |
|
|
|
б) |
А |
= |
(S, |
X, |
ри |
б, {pi, рь), |
6 задается табл. |
7. |
|
|||
|
|
|
|
|
Т а б л и ц а 6 |
|
|
Т а б л и ц а 7 |
||||
|
|
|
|
|
|
|
в |
|
| в |
| |
в | |
с |
|
|
|
Pi |
|
|
Рг |
Рь |
Pi |
Pi |
|
Рз |
Pi |
|
|
|
Рг |
|
|
Рз |
Pi |
Pi |
Pi |
|
Po |
Pe |
|
|
|
|
|
|
Рг |
Р 5 |
Рз |
Pi |
|
Pi |
Рг |
|
|
|
Pi |
|
|
Рз |
Pi |
Pi |
Рг |
|
Рз |
Pi |
|
|
|
Рь |
|
|
|
Pi |
Рь |
Pi |
|
Po |
Рз |
|
|
|
|
|
|
|
|
Ре |
Pi |
|
Рг |
P« |
На пересечении строки pi и столбца x указано значение |
б (/?,:, |
х). |
2. Построить МП-автомат Mi такой, что X = {а, Ь} и |
Т(М) |
— |
множество всех цепочек, содержащих одинаковое число входящих символов а и Ь.
3. Построить МП-автомат М, такой, что X = {а, |
Ь} и |
Т(М) — |
||
= {аПЬпф\п^1, |
/ ^ s l } U {аПЬ2па{Ь3{\п^1, |
i^l}. |
|
|
4. Построить МП-автомат, допускающий |
язык, |
порождаемый |
||
грамматикой |
с правилами Р = {s—>ТТ, Т—уТа, |
Т—УЬТ, |
Т—УС}. |
|
5. Задано множество команд конечного автомата, допускающе |
||||
го язык {ambn\n, |
mZ>zO}. |
|
|
|
( a 1 S 0 ) - * S 1 ;
(«А) -> 5 ь
( * A ) - *S a ;
( * i S a ) - S a ;
Построить грамматику, порождающую этот язык, и определить
еетип.
6.Построить линейноограниченные автоматы, допускающие языки:
|
L2 = |
{хсх \ х е {а, Ь}$г). |
|
7. |
Язык L = {aPb(icr\p |
+ q~^-r) является КС-языком. |
|
Выписать КС-грамматику, порождающую этот язык. |
Опреде |
||
лить, |
к какому более узкому классу языков он принадлежит. По |
||
строить детерминированный МП-автомат, допускающий |
этот язык. |
162