рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Построение КА-распознавателей для праволинейных грамматик

Построение КА-распознавателей для праволинейных грамматик - раздел Математика, Основы ДИСКРЕТНОЙ МАТЕМАТИКИ Праволинейной Называется Контекстно-Свободная Грамматика, Вправых Частях Прав...

Праволинейной называется контекстно-свободная грамматика, вправых частях правил которой имеется не более одного нетерминала и этот нетерминал заканчивает правило. В праволинейных грамматиках допускаются эпсилон-правила вида X -> @ (т.е. нетерминал преобразуется в пустую цепочку).

Праволинейную грамматику всегда можно преобразовать в автоматную, для которой построение КА-распознавателя рассмотрено в предыдущем разделе. Алгоритм преобразования правил следующий: а) преобразовать правила вида A -> xyzB, где xyz - цепочка терминалов произвольной длины (в данном случае ¦ xyz ¦ = 3 ); вводят дополнительные нетерминалы по следующему принципу:

A -> x<yzB>; <yzB> -> y<zB>; <zB> -> zB (в угловых скобках записаны цепочки, для обозначения которых вводят новые нетерминалы);

Таким образом происходит замена исходного правила несколькими, которые сответствуют правилам автоматной грамматики. В нашем случае:

¦ A -> xM

A -> xyzB ==========> ¦ M -> yN

¦ N => zB

б) преобразовть правила вида A -> xyz, где xyz - цепочка терминалов произвольной длины (в данном случае ¦ xyz ¦ = 3 ); вводят дополнительный нетерминал F, который в КА будет служить финишным состоянием (см. разд. 3.1), а в преобразованной грамматике добавить правило F -> @

¦ A -> xyzF ===> ¦ см. пункт а)

A -> xyz ====> ¦

¦ F -> @

 

В результате таких преобразований получим автоматную грамматику, эквивалентную исходной праволинейной, для которой КА-распознаватель строится, как описано в разделе 3.1.

Примечания

1.При построении таблицы переходов в последнем столбце ставить

"доп." для всех состояний КА, для которых в полученной грамматике

есть эпсилон-правила.

2.Полученный КА обязательно проверить на достижимость и эквивалентность состояний; при необходимости выполнить процедуру преобразования в минимальный КА (переименование состояний КА не изменит множества распознаваемых цепочек).

 

8.3 Построение МП-распознавателей для S-грамматик

 

КС-грамматика (грамматика второго типа) называется S-грамматикой, если правые части всех правил этой грамматики начинаются стерминальных символов и для правил с одинаковыми левыми частями правые части начинаются с различных терминалов.

Правила имеют вид Х -> y&, где y - терминал; & - любая цепочка терминалов и нетерминалов, возможно пустая (S-грамматика несодержит эпсилон-правил).

Для S-грамматики существует формальная процедура построения МП-распознавателя с одним состоянием S по следующему алгоритму:

1.Входной алфавит МП-распознавателя V = {VT,-+}.

2.Множество магазинных символов { VN, VT1, /}, где VT1 -часть терминальных символов грамматики, которые встречаются в цепочках & множества правил.

3.Начальная конфигурация - в магазине находится начальный символ грамматики (например для грамматики G[Z] - Z /).

Замечание: условимся запись содержимого магазина вести так, чтобы верхний символ (тот, с которым работает МП-автомат) занимал самую левую позицию.

4.Управляющая таблица строится так: столбцы таблицы - символы входного алфавита (последний символ -+);строки таблицы - магазинные символы.

 

Заполнение управляющей таблицы:

а) для правил грамматики вида Х -> y& (& не пустая цепочка)

.... ¦ y ¦

¦ ¦ ....

............

-----+--------+----------

¦Зам.& /¦

X ¦ / ¦ ....

¦S / П¦

-----+---/---+----------

............

.... ¦ ..... ¦ ....

 

б) для правил грамматики вида Х -> y (& пустая цепочка)

.... ¦ y ¦

¦ ¦ ....

..............

-----+--------+----------

¦Выт.Х /¦

X ¦ / ¦ ....

¦S / П¦

-----+---/---+----------

............

.... ¦ ..... ¦ ....

В соответствии с п.п. а) и б) обрабатывается все множество Р правил грамматики.

в) клетки таблицы на пересечении терминал-магазинный символ и тот же терминал-входной алфавит:

.... ¦ y ¦

¦ ¦ ....

.............

------+--------+----------

¦Выт.y /¦

y ¦ / ¦ ....

¦S / П¦

------+---/---+----------

.............

.... ¦ ..... ¦ ....

г) все клетки последнего столбца таблицы (-+) заполняются "отв." кроме клетки на пересечении со строкой /, в которой ставится"доп."

д) оставшиеся клетки заполняются буквой Е-"состояние ошибки".

 

Пример Задана грамматика G[S] =(VT={a,b};VN={S,R}; S; P);

P={S->abR (1); S->bRbS (2); R->a (3); R->bR (4)}.

Построить МП-распознаватель для языка, порождаемого этой грамматикой.

 

Решение

 

1.Проверка нетерминалов на достижимость и продуктивность

S достижим (начальный символ); R достижим (правило 1);

R продуктивен (правило 3); S продуктивен (правило 1).

 

2.Построение МП-распознаватель(по виду правил делаем заключение, что это S-грамматика):

 

- входной алфавит V={a,b,--+};

 

- множество магазинных символов {S,R,b,/};

 

- начальное содержимое магазина S,/;

 

- управляющая таблица имеет вид:

 

г======T========T========T=======¬

¦ ¦ a ¦ b ¦ -+ ¦

¦ ¦ ¦ ¦ ¦

¦------+--------+--------+-------¦

¦ / ¦ E ¦ E ¦ доп. ¦

¦ ¦ ¦ ¦ ¦

¦------+--------+--------+-------¦

¦ ¦ Зам. /¦ Зам. /¦ ¦

¦ S ¦ bR / ¦ RbS / ¦ отв. ¦

¦ ¦ / П¦ / П¦ ¦

¦------+---/---+---/---+-------¦

¦ ¦ Выт. /¦ Зам. /¦ ¦

¦ R ¦ R / ¦ R / ¦ отв. ¦

¦ ¦ / П¦ / П¦ ¦

¦------+---/---+---/---+-------¦

¦ ¦ ¦ Выт. /¦ ¦

¦ b ¦ E ¦ b / ¦ отв. ¦

¦ ¦ ¦ / П¦ ¦

L======¦========¦===/===¦=======-

Примечание: поле для состояний осталось незаполненным, т.к.заполнять его нет смысла (состояние только одно).

3.Проверка работы МП-распознавателя.

Получим контрольную цепочку на основании правил грамматики:

2 1 4 3 3

S -> bRbS -> bRbabR -> bRbabbR -> bRbabba -> bababba

 

Работу МП-распознавателя по разбору цепочки bababba предста-

вим в виде таблицы:

-------------T-----------T-----------T------------T------------¬

¦ Необработ.¦ Обраб. вх.¦Верхн.симв.¦Содержимое ¦ Действие ¦

¦ цепочка ¦ символ ¦магазина ¦магазина ¦ с магаз. ¦

+---------T--+-----------+-----------+------------+------------+

¦ bababba-+ ¦ b ¦ S ¦ S / ¦ Зам. RbS ¦

¦ ababba-+ ¦ a ¦ R ¦ RbS/ ¦ Выт. R ¦

¦ babba-+ ¦ b ¦ b ¦ bS/ ¦ Выт. b ¦

¦ abba-+ ¦ a ¦ S ¦ S/ ¦ Зам. bR ¦

¦ bba-+ ¦ b ¦ b ¦ bR/ ¦ Выт. b ¦

¦ ba-+ ¦ b ¦ R ¦ R/ ¦ Зам. R ¦

¦ a-+ ¦ a ¦ R ¦ R/ ¦ Выт. R ¦

¦ -+ ¦ -+ ¦ / ¦ / ¦ допустить ¦

L------------+-----------+-----------+------------+-------------

- 28 -

Контрольная цепочка распознается построенным МП-распознавателем.

Работу МП-распознавателя можно трактовать так: на каждом шаге процесса обработки цепочки магазин представляет следующее утверждение о цепочке необработанных символов (включая и текущий) "вся цепочка будет допущена тогда и только тогда, когда оставшаяся необработанной цепочка входных символов выводима из цепочки

символов, находящихся в магазине".

 

– Конец работы –

Эта тема принадлежит разделу:

Основы ДИСКРЕТНОЙ МАТЕМАТИКИ

МЕЖДУНАРОДНОГО НАУЧНО ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Построение КА-распознавателей для праволинейных грамматик

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Условные обозначения, принятые в конспекте лекций
  N - множество всех натуральных чисел (N = {1,2,3,...}); Nо - множество всех натуральных чисел и ноль (Nо={0,1,2,3,...}); ї - знак принадлежности (" а ї А &quo

Действия с цепочками
Для цепочек допустимы следующие действия а) конкатенация (сцепление) цепочек: x = aba, y = cab; xy = abacab; б) возведение цепочек в степень: x=ab; (х)^1 = ab; (

Число элементов множества
  Для любого конечного множества М, число элементов (мощность множества) будем обозначать n(M). Пусть задано несколько множеств (подмножеств универсального множества): А,В,С,

Свойства бинарных отношений
Симметричность. Отношение R называется симметричным, если для любого элемента этого отношения (х,y) в множестве R есть соответствующая пара (y,x). Другими словами, есл

Простые высказывания; логические связки
  Простые высказывания будем обозначать p, q, r, ...Основное свойство простого высказывания: высказывание может быть или ложно(False, 0, "Hет") или истинно(True,1, "Да&

Составные высказывания; таблицы истинности
  Используя простые высказывания, логические связки(операции) и скобки, которые меняют порядок выполнения действий, можно строить составные высказывания (наибольший приоритет при выпо

Логические законы
  Пример 2 Построить таблицу истинности для В = ~(p -> q) / q.   Таблица истинности ----T---T----T--------T----------¬ ¦ p ¦ q ¦p->q¦~(p

Отношения между высказываниями
  Как было сказано выше, высказывание (простое или составное) полностью характеризуется таблицей истинности (число строк в этой таблице определяется по формуле 2^n, где n - количество

Аргументы
  Под аргументом будем понимать утверждение того, что некоторое высказывание (заключение) следует из других высказываний (посылок). Одной из задач логики является проверка пр

Общие понятия и определения
  Граф G как математический объект - это совокупность двух множеств: непустого множества вершин V и множества ребер E, элементы которого представляет собой неупорядоченные (для ориент

Элементы графов
  Граф без кратных ребер называют полным, если каждая пара вер- шин соединена ребром. Граф H называют частью графа G, если множество вершин графа H принадле

Диаметр, радиус и центр графа
  Задан единичный связный неориентированный граф G. Минимальная длина простой цепи с началом V' и концом V" называется расстоянием между этими вершинами d(V',V").

Параметры протяженности (диаметр, радиус и центр) графа
  Задан единичный связный неориентированный граф G. Максимальная длина простой цепи с началом V' и концом V" называется протяженностью между этими вершинами g(V',V").

Конечные автоматы - распознаватели
  Конечный автомат(в дальнейшем КА) - абстрактное вычислительное устройство с фиксированным и конечным объемом памяти, которое на входе читает цепочки(последовательности символов неко

Эквивалентность состояний КА
  Два состояния конечного автомата эквивалентны тогда и только тогда, когда, начав работу из этих состояний, конечный автомат будет допускать одни и те же цепочки. Другими словами, ес

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

Недетерминированный конечный автомат
  Недетерминированный конечный автомат (в дальнейшем НКА) представляет собой обычный КА с той разницей, что в таблице переходов паре входной символ - состояние ставится в соответствие

Автоматы-распознаватели с магазинной памятью
Далеко не для всех регулярных множеств можно построить КА-распознаватель, так как КА не имеет возможности сосчитать и запомнить количество символов обрабатываемой цепочки. Для этой цели используетс

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

Задачи на построение МП-распознавателей.
Таблица 1 г========T=============================================¬ ¦ N п/п ¦ Построить МП-распознаватель для следующих ¦ ¦ ¦ регулярных множеств ¦ ¦--------+----

Задачи на построение МП-трансляторов
Таблица 2 г=========T=============================================¬ ¦ N п/п ¦ Построить МП-транслятор, который преобразует¦ ¦ ¦ цепочку А в цепочку В. ¦ ¦-------

Эквивалентные преобразования КС-грамматик
  Для построения распознавателей грамматик, других целей очень часто необходимо преобразовать правила исходной грамматики к соответствующему виду. При этих преобразованиях язык, порож

Достижимых) нетерминалов
  В множестве Р правил грамматики G непродуктивным называют нетерминал из которого нельзя получить цепочку терминалов. Для поиска в множестве правил непродуктивных нетерминалов исполь

Изменение направления рекурсии
  Для построения распознавателей в правилах грамматики не должно быть левосторонней рекурсии, т.е. правил вида A -> Ax. Пусть в исходной грамматике есть следующее правило: A ->

Построение КА для распознания автоматных грамматик
  Любое регулярное множество, которое распознается КА, можно описать с помощью автоматной грамматики. Алгоритм построения грамматики следующий: 1.Начальный символ грамматики

Построение МП-распознавателей для q-грамматик
  КС-грамматика (грамматика второго типа) называется q-граммаикой, если правые части всех правил этой грамматики начинаются стерминальных символов и для правил с одинаковыми левыми ча

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги