Скачать презентацию Совмещенный С-автомат S A Z W U a 1 Скачать презентацию Совмещенный С-автомат S A Z W U a 1

L2.pptx

  • Количество слайдов: 14

Совмещенный С-автомат S={A, Z, W, U, a 1, , 1, 2} Совмещенный С-автомат S={A, Z, W, U, a 1, , 1, 2}

Анализ конечных автоматов Требуется построить алгоритм, который позволял бы для любого КА Мили Мура Анализ конечных автоматов Требуется построить алгоритм, который позволял бы для любого КА Мили Мура А, заданного своими таблицами переходов и выходов или, соответственно, отмеченной таблицей переходов, и для любого множества N выходных сигналов автомата А находить регулярное выражение для события, представленного в автомате А множеством N выходных сигналов. Проблема анализа конечного автомата Мура заключается в следующем: дана таблица переходов или граф конечного автомата Мура А, дано начальное состояние a 1, автомата А и произвольное множество М его внутренних состояний. Требуется найти регулярное выражение для события, представленного в этом автомате множеством М.

Путем в автомате А с входным алфавитом (x 1, . . . , xn) Путем в автомате А с входным алфавитом (x 1, . . . , xn) и внутренними состояниями а 1, . . . , аm называется всякая конечная последовательность попарно l = aj 0 xi 1 aj 1 xi 2 aj 2…aj(k-1)xikajk (k>=0) при условии, что для любого p = 1, …, k состояние ajp-1, переводится входом xip в состояние аjp чередующихся букв aj и xi а именно: Путь называется простым, если все входящие в него состояния аj, за исключением, быть может, лишь первого aj 0 и последнего ajk, попарно различны. Если aj 0 = ajk, то путь называется замкнутым. Слово h=xi 1 xi 2, …, xik , получающееся в результате удаления из пути L символов внутренних состояний, называется (входным) словом, соответствующим этому пути. Легко видеть, что путь L однозначно определяется соответствующим ему входным словом h и начальным состоянием aj 0. Путь l входит в то или иное событие S , если соответствующее этому пути входное слово входит в S.

Типы путей Всякий путь в автомате А, имеющем внутренние состояния а 1, . . Типы путей Всякий путь в автомате А, имеющем внутренние состояния а 1, . . . , ат, начинающийся состоянием аi и кончающийся любым состоянием из любого множества внутренних состояний автомата М, будем называть путем типа аi М; пути типа аi аj мы будем называть просто путями типа аi. Если N — любое множество внутренних состояний, не содержащее состояния аi, то будем называть путем типа аi[N] всякий путь типа аi, не содержащий в своем составе ни одного состояния из множества N. Пути типа аi можно называть путями типа аi[N], выбирая в качестве множества N пустое множество внутренних состояний. Итак, далее будем рассматривать лишь два сорта типов путей: • тип аi М , который мы будем называть начальным, • тип аi[N] – циклическим. Если множество М состоит из единственного элемента аi, то начальный тип аi аi будет вместе с тем и циклическим. Всякий путь типа аi[N] будет вместе с тем и путём типа аi[N 1] (N 1 N)

Комплексы Пусть S – некоторое событие, представленное в автомате А с начальным состоянием а Комплексы Пусть S – некоторое событие, представленное в автомате А с начальным состоянием а 1 множеством М внутренних состояний. Начальным комплексом события S называется дизъюнкция всех простых незамкнутых путей типа а 1 М. Этот комплекс мы будем обозначать через Кs или просто через К, если рассматривается лишь одно событие S. Если а 1 М, то в начальный комплекс мы будем включать путь а 1, состоящий лишь из одной буквы, который условимся считать незамкнутым. Комплексом типа аi[N] называется выражение, получаемое в результате вычеркивания в каждом из простых путей типа аi[N] символов аi, стоящих в начале и в конце пути, объединения всех полученных в результате такого вычеркивания «урезанных» путей знаками дизъюнкции и заключения полученного выражения в итерационные скобки. В комплексы типов аi и аi[N] не включаются пути, состоящие лишь из одной буквы. Если пути какого-либо типа Р в автомате отсутствуют, то соответствующий комплекс типа Р мы будем называть пустым и отождествлять с пустым словом е.

Пример: x y 1 2 2 3 3 2 1 Непосредственным перебором находим по Пример: x y 1 2 2 3 3 2 1 Непосредственным перебором находим по таблице находим все простые незамкнутые пути типа 1>(1, 2): 1, 1 x 2 Начальный комплекс: 1 1 x 2 Простые пути типа 1: 1 y 1, 1 x 2 y 3 y 1 Простые пути типа 2: 2 x 2, 2 y 3 y 1 x 2 Простые пути типа 3: 3 x 2 y 3, 3 y 1 x 2 y 3 M = {1, 2} A 1 = 1 Найти комплексы всех типов для события S

Ранг комплексов. Будем приписывать всем комплексам типа аi[N] , для которых множество N состоит Ранг комплексов. Будем приписывать всем комплексам типа аi[N] , для которых множество N состоит из к элементов, ранг к+1. Комплексы типа аi при этом будут иметь ранг 1. Начальному комплексу по определению, присваивается нулевой ранг.

Алгоритм анализа КА Алгоритм анализа конечных автоматов состоит в последовательном применении одной операции – Алгоритм анализа КА Алгоритм анализа конечных автоматов состоит в последовательном применении одной операции – операции расширения. Суть этой операции состоит в замене всех входящих в то или иное выражение символов внутренних состояний автомата символами комплексов; операция выполняется в соответствии с правилом, называемым правилом замены. Правило замены. Если путь a 1 xi 1 aj 1 … xikajk входит в начальный комплекс, то буква a 1 заменяется символом комплекса типа a 1, буква aj 1 – символом комплекса типа aj 1 [a 1], буква aj 2 – символом комплекса типа aj 2 [a 1, aj 1] и т. д. Если же урезанный путь (т. е. путь без начального и конечного состояний) xi 1 aj 1 xi 2 aj 2 … xir входит в комплекс типа aj[N], то буква аj 1 заменяется символом комплекса типа aj 1 [N, aj] буква аj 2 — символом комплекса типа aj 2 [N, aj 1 ] и т. д. Операция расширения может применяться к любому регулярному выражению (и даже к произвольной формуле) над алфавитом, содержащим все буквы входного алфавита автомата и символы всех его комплексов. Если f (х1, . . . , хn, К, Кр1, . . . , Кps) — произвольная формула указанного вида, то операция расширения состоит, во-первых, в замене всех символов комплексов их явными выражениями через пути, а, во-вторых, в подстановке вместо символов внутренних состояний аi в каждом из возникших таким образом путей символов комплексов высших рангов в соответствии со сформулированным выше правилом замены.

Поясним операцию расширения на примере: K=1 1 x 2 – начальный комплекс 1 -е Поясним операцию расширения на примере: K=1 1 x 2 – начальный комплекс 1 -е расширение: K = 1 1 x 2 K 1 x K 2[1] = K 1 (e x K 2[1]) 2 -е расширение: K 1 (e x K 2[1]) = {y x 2 y 3 y}(e x{x y 3 x}) {y x. K 2[1]y. K 2[1, 2]y}(e x{x y. K 3[1, 2]x} ) 3 -е расширение: {у x. К 2[1]у. K 3[1, 2]y(е х{х у. К 3[1, 2]х}) = = {у х {х у3 х} уеу} (е х {х уех}) = {у х {х у3 x} yy}(e x{x yx}) {y x{x y К 3[1, 2]x} yy} (е х {х ух}). 4 -е расширение: {у х (х у. К 3[1, 2]x} уу} (е х {х ух}) = {у х (х уeх} уу} (е х {x yx }) = {у х {х ух} уу} (e x{x yx}).

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

Алгоритм анализа КА типа Мили Алгоритм анализа для случая конечных автоматов Мили отличается от Алгоритм анализа КА типа Мили Алгоритм анализа для случая конечных автоматов Мили отличается от построенного алгоритма лишь одной деталью. А именно, поскольку рассматриваемое событие S представляется в данном автомате Мили А с начальным состоянием а 1 не множеством М внутренних состояний, а множеством N выходных сигналов, необходимо иначе строить начальный комплекс. Вместо комплекса типа а 1 М в этом алгоритме строится комплекс типа а 1 N. Комплекс К представляет собою дизъюнкцию всех простых путей с отброшенной последней буквой, которые оканчиваются всевозможными парами ajk-1 xik, дающими при подстановке их в функцию выходов автомата А выходные сигналы, принадлежащие представляющему множеству N. В остальном алгоритм анализа конечных автоматов Мили ничем не отличается от алгоритма анализа конечных автоматов Мура.

Если событие S представлено в конечном автомате Мили Мура с m состояниями множеством выходных Если событие S представлено в конечном автомате Мили Мура с m состояниями множеством выходных сигналов (или множеством внутренних состоянии), то это событие регулярно и допускает регулярное выражение, циклическая глубина которого не превосходит m. Чтобы убедиться в справедливости этого предложения, достаточно заметить, что регулярное выражение для события S, получаемое в результате применения алгоритма анализа, конструируется с помощью m+1 расширения регулярного выражения K, циклическая глубина которого равна нулю. При этом после первого расширения циклическая глубина выражения остается равной нулю, а после» каждого следующего увеличивается не более чем на единицу. Однако, число m+1 представляет собою лишь верхнюю грань числа необходимых расширений. В отдельных случаях эта грань может и не достигаться.

x Y 1 2 3 2 3 1 3 K = 1 1 x x Y 1 2 3 2 3 1 3 K = 1 1 x 2 K 1 = {y x 2 x 3 x} K 2 = {y x 3 x 1 x} K 3 = {y x 1 x 2 x} 1 -е расширение: K = 1 1 x 2 K 1 x. K 2[1] = K 1(ex. K 2[1]) 2 -е расширение: 3 -е расширение:

Пример 3: Таблица переходов Таблица выходов x 1 2 2 1 x Y 1 Пример 3: Таблица переходов Таблица выходов x 1 2 2 1 x Y 1 z z 2 v v Y Найти регулярное выражение для события S, представленного в автомате S выходным сигналом v (при начальном состоянии 1) Начальный комплекс: K = 1 x 2 x 1 x 2 y Комплекс типа 1: K 1 = {y x 2 y} Комплекс типа 2: K 2 = {x y 1 x} K = 1 x 2 x 1 x 2 y K 1 x. K 2[1]x K 1 x. K 2[1]y = K 1 x. K 2[1](x y) = {y x 2 y}x{x}{x y} {y x. K 2[1]y}x{x}(x y) = {y x{x}y}x{x}(x y} S = {y x{x}y}x{x}(x y}