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

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

Недетерминированный конечный автомат

Недетерминированный конечный автомат - раздел Математика, Основы ДИСКРЕТНОЙ МАТЕМАТИКИ   Недетерминированный Конечный Автомат (В Дальнейшем Нка) Предс...

 

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

В процессе построения такого недетерминированного конечного автомата должны быть определены следующие параметры:

а) входной алфавит V (конечное множество входных символов и символ "конец цепочки");

б) конечное множество состояний S;

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

г) множество допускающих состояний - Sдоп (подмножество множества состояний S, с которым сравнивается достигнутое НКА состояние после прихода символа "конец цепочки");

д) таблица переходов (управляющая таблица), которая паре текущее состояние - входной символ ставит в соответствие несколько новых состояний); если паре текущее состояние - входной символ нельзя поставить в соответствие ни одно состояние из множества S, то клетку таблицы переходов оставляют пустой.

Работу НКА можно интерпретировать двумя способами:

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

2. При возникновении альтернативы при работе НКА в выборе начального состояния или перехода, автомат распадается на конечные автоматы по количеству альтернатив, которые работают параллельно. Если при поступлении символа "конец цепочки" хотя бы один из параллельно работающих КА находится в допускающем состоянии, то такая цепочка допускается.

Существует процедура эквивалентного преобразования НКА в КА по следующему алгоритму (преобразуется таблица переходов НКА):

1. Изобразить столбцы для входных символов и записать их.

2. В первой клетке первой строки записать как множество все на чальные состояния.

3. Заполнить остальные клетки этой строки(кроме последней): по таблице переходов НКА выписать в виде множеств все состояния, в которые переходят состояния, записанные в первой клетке через соответствующие входные символы.

4. В первой клетке очередной строки записать одно из новых множеств состояний, которые получены в п.3 при заполнении клеток таблицы переходов и выполнить п.3.

5. Закончить процесс построение таблицы переходов после того как будут исчерпаны все варианты множеств, которые появились в таблице.

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

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

8. Определить остальные параметры КА по полученной таблице переходов.

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

Задан НКА: -------T---T-----T-----¬

¦ S ¦ k ¦ n ¦ --+ ¦

V = { 0, 1, --+ }; Sнач = { A, B }; +------+---+-----+-----+

S = { A, B, C }; Sдоп = { B, C }. ¦-->A ¦ A ¦ B,C ¦ 0 ¦

¦-->B ¦ B ¦ C ¦ 1 ¦

Преобразовать заданный НКА в КА и ¦ C ¦ ¦ A,C ¦ 1 ¦

минимизировать полученный КА. L------+---+-----+------

Р Е Ш Е Н И Е

1.Выполним процедуру преобразования НКА в КА по описанному алгоритму: ------T-----T-----T------¬ ----T---T---T-----¬

¦ S ¦ k ¦ n ¦ ---+ ¦ ¦ S ¦ k ¦ n ¦ --+ ¦

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

¦ A,B ¦ A,B ¦ B,C ¦ 1 ¦ ¦ a ¦ a ¦ b ¦ 1 ¦

¦ B,C ¦ B ¦ A,C ¦ 1 ¦ ¦ b ¦ c ¦ d ¦ 1 ¦

¦ B ¦ B ¦ C ¦ 1 ¦ ¦ c ¦ c ¦ e ¦ 1 ¦

¦ A,C ¦ A ¦A,B,C¦ 1 ¦ ¦ d ¦ f ¦ g ¦ 1 ¦

¦ C ¦ ¦ A,C ¦ 1 ¦ ¦ e ¦ ¦ d ¦ 1 ¦

¦ A ¦ A ¦ B,C ¦ 0 ¦ ¦ f ¦ f ¦ b ¦ 0 ¦

¦A,B,C¦ A,B ¦A,B,C¦ 1 ¦ ¦ g ¦ a ¦ g ¦ 1 ¦

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

Переобозначения состояний следующие:

a = { A, B }; b = { B, C }; c = { B }; d = { A, C }; e = { C };

f = { A }; g = { A, B, C }.

2.Проверим состояния полученного КА на достижимость:

{a} -->{a,b} --> {a,b,c,d} --> {a,b,c,d,e,f,g}

Все состояния КА достижимы.

3.Проверим состояния полученного КА на эквивалентность:

Первое разбиение множества состояний на подмножества по входному символу "конец цепочки": {f}; {a,b,c,d,e,g}.

Проанализируем воздействие входного символа "k" на второе

подмножество:

d --> f; e --> { } ; остальные остаются в этом подмножестве. Есть основания выделить d и e в отдельные подмножества.

Теперь разбиение будет иметь вид: {f}; {d}; {e}; {a,b,c,g}.

Проанализируем воздействие входного символа "n" на последнее подмножество:

b --> d; c --> e; a --> b; g --> g.

Состояния b и c переходят в другие группы и их нужно выделить; состояние а - в выделенное на этом шаге состояние b и на этом основании его тоже нужно выделить. В результате:{f}; {d}; {e}; {a}; {b}; {c}; {g}.

Вывод: эквивалентных состояний нет; полученный КА является минимальным.

4. По таблице переходов КА определим остальные его параметры:

V = { k, n, --+ }; Sнач ={a}; Sдоп = {a,b,c,d,e,g};

S = {a,b,c,d,e,f,g}.

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

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

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

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

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

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

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

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

Условные обозначения, принятые в конспекте лекций
  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
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги