Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы.doc
Скачиваний:
9
Добавлен:
29.10.2018
Размер:
241.15 Кб
Скачать
  1. Минимальный конечный автомат. Первый вариант

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

Недостежимые – такие состояния, в которые нельзя попасть из начального.

Лишние состояния определяются с помощью разбиеня множества состояний на классы эквивалентности. Каждый такой класс содержит неразличимые состояния и может быть заменен на единственное состояние.

Второй вариант

Минимальный автомат — это автомат, имеющий наименьшее возможное количество состояний и реализующий заданную функцию выходов. Задача минимизации автомата сводится к поиску его минимальной формы.

Принцип построения

Минимальная форма автомата S (обозначается как Š) в теории автоматов представляет собой автомат с ň состояниями, образующими множество 1..σň}. Минимальный автомат из S строится следующим образом. Характеристические функции автоматов S и Š обозначаются соответственно gs, gz и g's , g'z соответственно. Тогда, если , то .

Таким образом, при построении Š по данному условию не возникает никакой неопределенности.

Алгоритм нахождения минимального автомата был предложен Ауфенкампом и Хоном. Ими было показано, что для нахождения минимального автомата необходимо находить последовательные разбиения Pi автомата S на классы 1, 2, …, k, (k+1) - эквивалентных между собой состояний, до тех пор пока на каком-то (k+1) шаге не окажется, что Pk = Pk+1. Таким образом, разбиение Pk дает все классы эквивалентности состояний автомата S. Всем состояниям S, принадлежащим классу эквивалентности Σl можно приписать общее обозначение, например, σl. Таким образом, автомат Š получается из автомата S путем «объединения» одинаково обозначенных состояний в одно состояние. Способы, которыми это объединение производится, существенно зависят от того, каким образом определен автомат — таблицей, графом или матрицей.

  1. Метод нахождения лишних состояний.

  1. Разбиваем все множество состояний на 2 класса – заключительные и остальные;

  2. Если мы имеем разбиение k, то k+1 строится следующим образом: состояния q маленкое i и q маленькое j относятся к одному классу эквивалентно в разбиении k+1, елси они относили к одному классу еквивалентно в предыдущем разбиении и значение их функций переходов также относились к одному классу эквивалентно в предыдущем разбиении.

  3. Строим разбиения на кассы эквивалентно до тех пор, пока k и k+1 разбиения не совпадут.

  1. Алгоритм минимизация ка.

Минимизация конечного автомата

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

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

Очевидно, что если некоторая строка различает состояния и такие, что и , то строка aw различает состояния и

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

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

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