ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.06.2024
Просмотров: 88
Скачиваний: 0
6. Дана КС-грамматика G — (Ут , Vn, Р, S) с правилами
Р = [S AC,S ^SB, S^B, |
С -* SEC, С -> ВС, С -* А). |
Определить сложность вывода терминальных цепочек, длине кото рых не превышает 10.
2.10.Абстрактные автоматы и их связь с языками
играмматиками
2.10.1.Основные понятия теории автоматов
Рассмотрим другой метод определения языка, основанный на использовании множества строк приемлемых некоторым распозна ющим устройствам, автоматам.
Все автоматы, которыми мы будем пользоваться, суть частные случаи машины Тьюринга с входной лентой, которая может быть
описана следующим |
образом. Машина имеет две ленты — входную |
|
и рабочую. Каждой |
ленте сопоставлены алфавит с |
выделенным |
в нем пустым символом и головка, также называемые |
соответствен |
|
но входными и выходными. |
|
Каждая лента ограничена слева, и крайняя левая ячейка всегда занята символом, не входящим в соответствующий алфавит.
Машина имеет конечное число внутренних состояний, среди ко торых выделены начальное и заключительное.
Элементарный акт машины представляет собой либо чтение символа на входной ленте с одновременным сдвигом входной голов ки на одну ячейку вправо и переходом машины в другое сос тояние, либо одно из следующих действий на рабочей ленте:
а) замена обозреваемого символа другим с одновременным сдвигом головки вправо и переходом машины в другое состояние;
б) то же, но со сдвигом влево; в) то же, но без< сдвига.
Когда машина находится в заключительном состоянии, ника кой элементарный акт невозможен.
Будем говорить, что машина находится в начальной ситуации (конфигурации), если на ее входной ленте непосредственно за ог раничивающим символом записана цепочка, не содержащая пусто го символа, рабочая лента пуста (кроме ограничивающей ячейки), обе головки обозревают ограничивающие символы и машина на ходится в начальном состоянии.
Машина находится в заключительной ситуации, если на вход
ной ленте обозревается первая слева пустая |
ячейка, |
рабочая лен |
та пуста, машина находится в заключительном |
состоянии. |
|
Машина допускает цепочку со, если начав |
работу |
в начальной |
ситуации с цепочкой со на входной ленте через конечное число ша гов, она может оказаться в заключительной ситуации.
Языком, допускаемым машиной М, называется множество до пускаемых его цепочек.
Автомат в общей форме представлен на рис. 22.
150
Он содержит |
входную ленту с отметками |
концов, на которой |
записана строка. |
Входная головка считывает по одному входному |
|
символу. Имеется |
конечное управление, которое может находиться |
|
в конечном числе |
состояний. Имеется конечная |
память, возможно, |
•с некоторой структурой. Автомат делает элементарные шаги, за висящие от состояния конечного управления, символа, считываемо го входной головкой, и конечного объема информации из беско нечной памяти. За один шаг он может сделать следующее:
Хп
конечное
упродление
Уо\У,\ Уг
Рис. 22
1)изменить состояние конечного управления;
2)передвинуть входную головку на одну клетку в любом на правлении или оставить ее на месте;
3)изменить бесконечную память.
Автомат может иметь не более одного допустимого элементар ного шага в каждой ситуации, тогда он является детерминирован ным. Он может иметь в некоторых ситуациях произвольное конеч ное множество допустимых шагов, тогда он является недетермини рованным. Если нет ограничений на движение входной головки, то автомат называется двусторонним. Если головке позволяется пе редвигаться только в одном направлении, то автомат будет одно сторонним.
В начале конечное управление автомата находится в некотором начальном состоянии при некотором начальном содержании бес конечной памяти и с входной_головкой у метки левого конца.
Условимся знаками С и 5 обозначать левую и правую метки концов соответственно и будем предполагать, что они не содержат ся ни в каком алфавите, если это не оговорено специально.
Множество автоматов с «одинаковой» структурой бесконечной памяти образует семейство автоматов. Семейство имеет четыре класса автоматов: односторонних детерминированных, односторон них недетерминированных, двусторонних детерминированных и
11* |
151 |
двусторонних недетерминированных. Сокращения эти классы обо значаются соответственно ID, IN, 2D, 2N.
По способу функционирования различают два вида автоматов: синхронные и асинхронные. В синхронных автоматах переходы из одних состояний в другие осуществляются через равные времен ные промежутки, в то время как в асинхронных автоматах эти пере ходы совершаются через неравные между собой промежутки вре мени.
Остановимся более подробно на законах функционирования ав
томатов. Состояние s(t) |
автомата в момент |
времени |
t однозначно |
||||||||
определяется предыдущим состоянием s(t—1) |
и входным |
сигна |
|||||||||
лом x(t). Поэтому можно записать |
|
|
|
|
|
|
|
||||
' |
s{t) |
= |
9 { s { |
t - l |
) , |
x(t)), |
|
|
|
|
|
где ф — функция, определяющая |
последующее |
состояние |
автома |
||||||||
та, которая |
обозначается |
просто |
q(s, |
х) |
и |
называется |
|||||
функцией переходов. |
|
|
|
|
|
|
|
|
|||
Выходной сигнал |
y(t) |
реального |
автомата |
всегда |
появляется |
||||||
после входного сигнала |
x(t). |
Однако относительно |
момента |
време |
|||||||
ни t перехода автомата |
из состояния |
s(t—1) |
в состояние s(t) вы |
ходной сигнал y(t) может появиться либо раньше, либо позже это
го момента |
времени. Поэтому справедливы выражения |
|
|
|||||||
|
(*) |
y(t) |
= b ( s ( t - l ) , |
X(t)); |
|
|
||||
|
(**-) |
y(t) |
= $(s(t), |
X(t)), |
|
|
||||
где я|5 — функция выходов |
обычная |
(*) |
или |
сдвинутая |
(**). |
Она |
||||
однозначно |
определяет |
выходную |
букву |
автомата в зависимости |
||||||
от состояния s(t—1) |
в |
предыдущий момент |
времени |
и входного |
||||||
сигнала x(t), |
если это обычная |
функция |
выходов, а в случае |
сдви |
нутой—от состояния s(t), в которое автомат переходит в текущий момент времени, и входного сигнала x(t).
Учитывая работу реальных автоматов, различают два рода аб страктных автоматов. Автоматами первого рода называют автома ты, описываемые следующими уравнениями:
S ( 0 = ? ( s ( * - 1 ) , x(t));
которые определяют закон функционирования этих автоматов, а автоматами второго рода называют автоматы, закон функциониро вания которых задается уравнениями.
|
s(*) = |
« p ( s ( / - l ) f |
* ( / ) ) ; |
|
y(t) |
= ${s[t), |
x(t)), |
met =1,2,... |
. |
|
|
Абстрактные автоматы |
любого рода называются правильными, |
|||
если |
выходной сигнал y(t) |
не зависит |
явно |
от входного сигнала |
x{t), |
а определяется лишь |
состоянием |
s(t—1) |
или s(t). |
152
Существует несколько эквивалентных способов задания аб страктных автоматов, среди которых по аналогии с графами можноназвать три: аналитический, геометрический и матричный.
Говорят, что задан абстрактный автомат А, если |
задана |
сово |
|||||||||||
купность пяти |
объектов: |
конечного |
множества |
Х = {*,}, i |
|
I = |
|||||||
= {1, 2 , . . . , т), |
называемого |
входным алфавитом |
автомата, |
ко |
|||||||||
нечного множества |
Y = {г/j}, |
/ е / |
= |
{1, 2 , . . . , /г}, |
называемого |
||||||||
выходным алфавитом автомата, произвольного множества S, назы |
|||||||||||||
ваемого алфавитом состояний, элемента s0 е S, называемого |
на |
||||||||||||
чальным состоянием автомата, и отображения |
б множества S в себя, |
||||||||||||
которое любому 5 е 5 |
и каждой входной букве х е ! |
сопоставляет |
|||||||||||
состояние Su^S, |
|
определяющее функцию переходов |
cp(s, |
х), |
и вы |
||||||||
ходную букву |
i / e F , |
определяющую |
обычную |
или |
сдвинутую |
||||||||
функцию выходов |
|
х). |
Следовательно, запись А |
= |
{X, |
S, Y, s0, |
F] |
||||||
обозначает произвольный |
абстрактный |
автомат. Если А — автомат |
|||||||||||
первого рода, |
то |
i|)(s, х)—обычная |
функция |
выходов, |
если |
же- |
|||||||
А — автомат второго |
рода, то ip(s, х) |
—сдвинутая |
функция |
выхо |
|||||||||
дов. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Если множество 5 конечно, то автомат А называется |
конечным |
||||||||||||
автоматом, в противном |
случае А — бесконечный |
автомат. Все |
ре |
||||||||||
альные автоматы являются конечными. |
|
|
|
|
|
|
|
Покажем теперь, каким образом определить отображение, ин дуцируемое заданным конечным автоматом А. Как известно, авто
мат функционирует в дискретном времени t = |
0,. 1, 2, ... |
. Предпола |
|||||||||
гается, |
что в начальный момент |
времени t = О автомат |
всегда на |
||||||||
ходится |
в начальном состоянии s e e 5 . В каждый момент |
времени, |
|||||||||
отличный от начального, на вход |
автомата |
подается |
входной |
||||||||
сигнал |
x{t)—произвольная |
буква |
входного |
алфавита |
X, |
а на |
|||||
выходе |
возникает |
некоторый выходной сигнал |
y{t)—буква |
вы |
|||||||
ходного |
алфавита |
Y. Пусть |
G(X) |
и G(Y)—соответственно |
|
множе |
|||||
ства входных |
и выходных |
слов |
|
автомата |
Акр |
— хцх& |
... |
xtk — |
|||
произвольное |
входное слово, т. е. pc=G(X) . |
Подача на |
вход |
авто |
мата А, установленного в начальное состояние, конечной последова
тельности х(1) = Хц, х(2) |
= Хгг, |
• • •, x{k) |
= хш |
|
на |
основании из |
|||
вестного отображения б вызывает появление |
однозначно |
опреде |
|||||||
ленной конечной |
последовательности |
|
|
у(\)=уц,у(2)=У]2,...> |
|||||
У№) = yjk на выходе автомата, |
которая |
соответствует выходному |
|||||||
слову г = уцу&... |
y-jh из G(Y). |
Поэтому г — д(р). |
Относя каждому |
||||||
входному слову p^G(X) |
соответствующее ему |
входное |
слово |
||||||
r e |
G(Y), получим |
искомое отображение |
б, которое и является ото |
||||||
бражением, индицируемым конечным автоматом |
А. |
|
|
||||||
Очевидно, что отображение б множества S ъ S однозначно за |
|||||||||
дает |
функции cp(six) и ap(si#), |
определяющие |
закон |
функциони |
рования автомата А, и наоборот.
Опишем классы автоматов, которые связаны с типами грамма тик в иерархии Хомского. -
Машина Тьюринга с двумя лентами, изображенная на рис. 23,. представляет собой устройство, бесконечной памятью которого является линейная лента клеток со считывающей и записывающей
15а