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

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

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

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

 

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

1.Начальный символ грамматики - начальное состояние КА.

2.Терминальные символи грамматики - алфавит КА (без символа

"конец цепочки" --+).

3.Нетерминальные символы грамматики - множество состояний КА.

4.Если в таблице переходов КА есть переход из состояния А в состояние В при поступлении входного символа х - ввести правило следующего вида: А -> xB .

5.Если D - допускающее состояние КА, то ввести правило следующего вида: D -> @ (@-пустая цепочка).

Пример Задан КА a b -+

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

- множество состояний S={A,B,C}; ¦ ¦

- начальное состояние A; B ¦ A C ¦ отв

- множество допускающих состояний ¦ ¦

S1={A,C}. C ¦ C B ¦ доп

L--------

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

 

Решение

1. Начальный символ грамматики A.

2. Множество терминальных символов грамматики VT={a,b}.

3. Множество нетерминальных символов VN={A,B,C}.

4. Множество правил P ={ A -> aA (1); A -> bB (2); B -> aA (3);

B -> bC (4); C -> aC (5); C -> bB (6); A -> @ (7); C -> @(8)}.

Для проверки правильности построения грамматики получим вывод цепочки aaabb, которая допускается заданным КА.

(1) (1) (1) (2) (4) (8) (правила)

A --> aA --> aaA --> aaaA --> aaabB --> aaabbC --> aaabb

 

Для всякой автоматной грамматики (грамматика типа 3) можно построить КА-распознаватель. Алгоритм построения КА - распознавателя следующий:

1.Входной алфавит КА V = {VT,-+ }.

2.Множество состояний КА S = {VN,F} (F-финишное состояние КА - единственное допускающее состояние КА-распознавателя).

3.Начальное состояние КА - начальный символ грамматики.

4.Множество допускающих состояний S1 = { F }.

5.Таблица переходов КА (управляющая таблица) строится следующим образом:

- обозначить столбцы таблицы символами входного алфавита КА

(последний столбец - символ "конец цепочки");

- обозначить строки таблицы состояниями КА (первая строка-начальное состояние КА);

- в соответстви с правилами X -> yZ заполнить клетку таблицы на пересечении строки Х и столбца y переходом в состояние Z;

- в соответствии с правилами Х -> z заполнить клетку таблицы на пересечении строки Х и столбца z переходом в состояние F;

- заполнить клетки последнего столбца (все "отв.", кроме пересечения F и -+ - "доп.");

- оставшиеся незаполненными клетки таблицы заполнить символом Е-состояние ошибки (если КА попал в это состояние, то вызывается внешняя процедура обработки ошибок, а цепочка отвергается, как несоответствующая грамматике); допускается оставлять оставшиеся клетки незаполненными, подразумевая переход в пустое множество - то же состояние ошибки (это удобно при построении НКА).

 

Примечания:

 

1.Перед началом построения КА-распознавателя проверить множество нетерминалов грамматики G на продуктивность и достижимость; при необходимости выполнить эквивалентные преобразования грамматики G в G1 с укороченым множеством правил Р.

 

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

преобразовать в КА-распознаватель.

 

Пример

Для грамматики G[Z] построить КА-распознаватель.

G[Z] = (VT={a,b,c}; VN={ Z,A,B }; Z; P={Z->aA, A->bA, A->cB, B->cZ,

B->b, A->a}).

Решение

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

а) продуктивны нетерминалы A и В (на основании двух последних правил); на основании первого правила продуктивен нетерминал Z;

б) достижими все терминалы (правила 1 и 3).

 

2.Зададим параметры автомата-распознавателя:

 

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

- множество состояний автомата S={Z,A,B,F};

- начальное состояние автомата - Z;

- множество допускающих состояний автомата S1={ F };

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

 

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

¦ ¦ a ¦ b ¦ c ¦ -+ ¦

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

¦ Z ¦ A ¦ E ¦ E ¦ отв. ¦

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

¦ A ¦ F ¦ A ¦ B ¦ отв. ¦

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

¦ B ¦ E ¦ F ¦ Z ¦ отв. ¦

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

¦ F ¦ E ¦ E ¦ E ¦ доп. ¦

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

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

на эквивалентность состояний и минимизировать (проверить самостоятельно).

Проверка работы КА: Пусть задана цепочка из грамматики G[Z] abccaa (вывод в грамматике получить самостоятельно).

 

 

Необработанная Текущее состояние Новое состояние

цепочка КА - расп-ля КА - расп-ля

abccaa-+ Z A

bccaa-+ A A

ccaa-+ A B

caa-+ B Z

aa-+ Z A

a-+ A F

-+ F доп.

 

Примечание: по самому левому символу необработанной цепоки и текущему состоянию КА в соответствии с таблицей переходов вырабатывается новое состояние.

Заданная цепочка будет допущена построенным КА-распознавателем.

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

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

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

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

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

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

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

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

Условные обозначения, принятые в конспекте лекций
  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 ->

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

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

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