Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_YaPiMT_ispravlennoe (2).docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
342.66 Кб
Скачать

Недетерминированные автоматы.

Недетерминированный конечный распознаватель (НКР) представляет собой обычный распознаватель, но значениями его функций перехода является множество состояний, а не отдельные состоянии, и вместо одного начального состояния задаётся множество начальных состояний.

НКР задаётся:

  1. Конечным множеством входных символов.

  2. Конечным множеством состоянии.

  3. Функцией перехода б, которая каждой паре состоящей из состояния и входного символа, ставит в соответствие множество новых состояний.

  4. Подмножеством состояний, выделенных в качестве начальных.

  5. Подмножеством состояний, выделенных в качестве допускающих.

Входная цепочка длинны n допускается недетерминированными конечными распознавателями (НКР) , когда можно найти последовательность состояний S0Sn,такую, что S0 – начальное состояний, Sn – допускающее, и для всех i: 0<in, состояний Si принадлежит множеству новых состояний, приписанных функцией переходов состоянию Si-1 для i-го элемента входной цепочки.

Способ представления конечных распознавателей с помощью таблицы переходов легко распространяется и на представление недетерминированных конечных распознавателей.

Во-первых, каждый элемент таблицы должен содержать множество состояний (перечисляя их через « , »).

Во- вторых, начальные состояния указываются с помощью стрелок. Если таких стрелок нет, подразумевается, что есть только одно начальное состояния (состояние соответствующее первой строке).

Пусть множество состояний {A, B, C}, входное множество {0,1} допускающее состояния {B, C} и начальные состояния {A, B}.

Переходы такие:

δ(A, 0)={A, B}

δ (B, 0)={B}

δ (C, 0)={ }

δ (A, 1)={C}

δ (B, 1)={C}

δ (C, 1)= {A, C}

0

1

→А

→В

С

А, В

В

С

С

А,С

0

1

1



Цепочка 11 – одна из допускаемых автоматом цепочек, т.к., B1C1C причём В – начальное состояний, С – допускающее. Существование одной такой последовательности переходов достаточно, чтобы показать допустимость цепочки и СУЩЕСТВОВАНИЕ другой – из начального состояния в отвергающее

B1C1А на это не влияет.

Одним из переходов недетерминированного распознавателя, а именно δ(C, 0) является переходом в пустое множество. Это означает, что для состояния С и входа 0 дальнейшие переходы не возможны. Такой элемент таблицы переходов может препятствовать существованию последовательности переходов для некоторой входной цепочки так для 10, т.к 1 переводит оба начальных состояния в С, множество преемников пусто, такие цепочки просто отвергаются на ряду с другими.

«Работу» недетерминированного автомата можно интерпретировать (представить) двояким образом. Покажем это на нашем примере. Пусть автомат находится в состоянии А и к нему применяется цепочка, начинающаяся с 0, тогда:

  1. Автомат осуществляет выбор перехода либо в А, либо в В, т.е. в одно из новых состояний, соответствующих старому состоянию А и входу 0.

Автомат продолжает работу подобным образом, и при этом возможно много выборов.

Если изменяется какая-нибудь последовательность выборов, при которой автомат под действием входной цепочки заканчивает работу в допускающем состоянии, то говорят, что эта входная цепочка допускается автоматом, т.е. достаточно СУЩЕСТВОВАНИЯ одной такой последовательности.

  1. Автомат распадается на 2 автомата, один в состоянии А, а другой – в состоянии В. При продолжении обработки входа происходит дальнейшее деление каждого автомата в соответствии с возможностями, содержащимся в таблице в переходов.

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

Пример:

Построим недетерминированный автомат с входным алфавитом {A, Л, Н, О, С, Ь}, который допускает только 2 цепочки: ЛАССО и ЛАНЬ.

С0 – начальное состояние

Л1 – Л в ЛАССО

А1 – А в ЛАССО

С1 – первое С в ЛАССО

С2 – второе С в ЛАССО

О – О в ЛАССО

Л2 – Л в ЛАНЬ

А2 – А в ЛАНЬ

Н – Н в ЛАНЬ

Ь – Ь в ЛАНЬ

Н

С

Л

О

А

Ь

С0

Л1

А1

С1

С2

0

Л2

А2

Н

Ь

Н

С1

С2

Л1Л2

О

А1

А2

Ь

0

0

0

0

0

1

0

0

0

1

Недетерминированность появляется двояким образом.

Во-первых, поскольку обе Л из ЛАССО и ЛАНЬ могут встречаться сразу после начального состояния, мы просто помещаем как Л1, так и Л2 в этот элемент таблицы.

Во-вторых, во многих местах встречается буква, которая не может быть правильным продолжением слова, и эти места мы оставляем незаполненными, как указание на то, что продолжение невозможно. Это освобождает нас от введения состояния – «ошибка».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]