
тюмгу / Тишин В.В. Дискретная математика в примерах
.pdfъ |
3,4,5 |
2,3,4 |
3,4,5 |
0 |
0 |
Таблица 6.4.3(окончание)
№24 |
1 |
2 |
3 |
4 |
5 |
A\Q |
|||||
а |
1,2,4 |
0 |
3,4 |
0 |
1,5 |
Ъ |
3,4 |
1,3,4 |
3,4,5 |
3,4,5 |
3,4 |
№25 |
1 |
2 |
3 |
4 |
5 |
A\Q |
|||||
а |
0 |
1,3 |
1,3,5 |
3,4 |
1,3,5 |
Ъ |
1,2,4 |
0 |
0 |
1,3,4 |
1,3 |
№26 |
1 |
2 |
3 |
4 |
|
л \в |
5 |
||||
а |
1,4 |
3,4 |
0 |
4,5 |
0 |
Ъ |
1,4,5 |
2,3 |
1,2 |
0 |
0 |
№27 |
1 |
2 |
3 |
4 |
|
л \в |
5 |
||||
а |
4 |
3,5 |
0 |
1,3 |
5 |
Ъ |
0 |
1,2,3 |
1,2,3 |
1,3,4 |
2,3 |
№28 |
1 |
2 |
3 |
4 |
|
A\Q |
5 |
||||
а |
2 |
0 |
1,3,5 |
0 |
1,3,5 |
Ъ |
4,5 |
3,5 |
5 |
2,4 |
0 |
№29 |
1 |
2 |
3 |
4 |
|
А\<2 |
5 |
||||
а |
1,3 |
4 |
1,2,3 |
3 |
0 |
Ъ |
1,2 |
1,3 |
0 |
4,5 |
5 |
№30 |
1 |
2 |
3 |
4 |
5 |
A Q |
а |
0 |
2 |
1,5 |
1,5 |
2,5 |
Ъ |
1,2 |
3,4 |
2,3 |
2,3,4,5 |
0 |
Пример решения задания 6.4.3
Решим задание 6.4.3 для недетерминированного автомата, заданного таблицей переходов:
|
|
|
|
|
Таблица 6.4.3а |
A\Q |
1 |
2 |
3 |
4 |
5 |
а |
2,4,5 |
3 |
5 |
4,5 |
4,5 |
Ъ |
3,5 |
0 |
3,4,5 |
0 |
0 |
Выясним, можно ли построить недетерминированный источник, соот ветствующий данному недетерминированному автомату, содержащий пустое ребро.
Если недетерминированный источник содержит пустую дугу, выходя щую из / - той вершины и заходящую в к - ю вершину, то, очевидно,
должны выполняться два условия:
1)z - тая вершина не встречается в какой-либо клетке таблицы автомата без к - той вершины;
2)множество вершин, в которое можно попасть, считав любой символ входного алфавита, из вершины к, включено во множество вершин, в
которое можно попасть из вершины 7, считав тот же символ.
Первое из этих условий выполняется для пар вершин (2;4), (2;5) и (4;5), но второе условие выполняется только для пары (4;5). Будем строить недетерминированный источник с пустой дугой, выходящей из 4 вер шины и заходящей в 5 вершину.
Получим:
Задание 6.4.4
1.Изобразить источник с одним истоком, представляющий событие а.
2.Записать таблицу соответствующего недетерминированного автома
та.
3.Построить таблицу детерминированного автомата, эквивалентного автомату, полученному в п. 2.
4.Провести переобозначение классов внутренних состояний и записать таблицу автомата без выхода в стандартном виде.
5.Взять по одному слову из события а и не а, проверить пред
ставление автоматом этих слов.
Таблица 6.4.4
№ |
а |
1(6сu а*6)(6*иса)*(аu 6с)
2(аи 6*с)(си 6а*)*(си са)
3(саи 6*)(а6и 6с)*(6и ас*)
4(аби с*)(6и ас)*(аи 6)
5(беиа*)(6и а*с)*(аи с)
6(аси 6*)(а6и 6с*)(аи 6)*
7(6аи с*6)(а*ибс)*(6и ас)
8(а*ибс)(6и с*а)*(аи 6с)
9(6*иа)*(аби с*а)(6и с)
10(6и с*а)(аи 6с)*(6*ис)
11(беиа*)(аи 6с)*(6*иас)
12(аи с6*)(аи 66)* (си аб)
13(66 и с*)(аси 6*) * (аи 6)
14(а*и6а)(аси 6*)*(си аб)
15(аби с*)(аи 6с*)*(6и 66)
16(a u b*)(ac * u&) * (bb и а)
17(6 и а * с )(6 с и а )* (с с и & )
18(ас и b*)(bb и с*) * (ас и Ь)
19(а и с*) * (Ьс и а*)(Ь и а)
Таблица б.4.4(окончание)
№ |
а |
20(ааи Ь*)(ас и й)*(аси а*)
21(йс*иа)(сси й)*(йи ас)
22(с*yjbc)(b и аа)*(аи й)
23(айис*)*(йсиа)(сийй)
24(йи ас*)(йи аа)*(си й)
25(й*иса)(си йа*)*(йи а*а)
26(а*си й ) ( й с *ий) *(ааи йс*)
27(ей и й)*(аи йс*)(аси а)*
28(с * а и й)(й и йа) * (а и ей)
29(й и а * с)(й * с и а) * (ей и ай*)
30(й * а и й )(й и с а )* (а и й )
Пример решения задания 6.4.4
Решим задание 6.4.4 для события a = (b* 'Jcb)(ba и с*) * (а и be).
1. Изобразим источник, учитывая, что конкатенации слов соответствует последовательное соединение источников, представляющих данные слова, объединению - параллельное соединение, а итерации - зацикли вание, так, чтобы каждому слову из события а соответствовал бы мар
шрут из начальной вершины источника в заключительную. Получим:
Ь
Рис. 6.4.4
2. Строим таблицу полученного недетерминированного автомата. В
клетке, соответствующей состоянию с/, и символу входного алфавита
и, будем писать список вершин, в которые можно попасть из верши ны с/;, считав по пути символ и. Так, например, из вершины 2, считав по пути символ b, можно попасть в вершины 2,4,5 и 7. Получим таб
лицу переходов недетерминированного автомата (табл. 6.4.4а):
|
|
|
|
|
|
|
Таблица б.4.4а |
A\Q |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
а |
6 |
6 |
0 |
6 |
4 |
0 |
0 |
Ъ |
2,4,5,7 |
2,4,5,7 |
4 |
5,7 |
0 |
0 |
0 |
с |
3,4 |
4 |
0 |
4 |
0 |
0 |
6 |
3. Строим вспомогательную таблицу следующим образом: в заголовке первого столбца выпишем номер начальной вершины (в нашем случае это - 1), а также номера всех вершин, в которые можно попасть из на чальной вершины по пустым рёбрам (в нашем случае - это вершины 2 и 4). Заголовки строк, как и в предыдущей таблице, помечаем символами
входного алфавита а, Ь, с. Далее, |
в клетку, соот |
Таблица б.4.4Ь |
|||||
ветствующую входному сигналу |
и |
и списку со |
|||||
стояний 1, 2, 4 запишем объединение содержимого |
|
1,2,4 |
|||||
клеток, |
находящихся на пересечении строки, |
по |
а |
||||
6 |
|||||||
меченной символом и и находящихся на пересе |
|||||||
Ъ |
2,4,5,7 |
||||||
чении строки, помеченной символом и и столбцов |
|||||||
с |
3,4 |
||||||
1, 2 и 4. Получим (табл. 6.4.4.Ь): |
|
|
|
||||
|
|
|
|
|
|||
Затем дополним таблицу тремя столбцами, поме |
|
|
|||||
тив их полученными списками. В нашем случае |
это 6; 2,4,5,7 и 3,4. |
||||||
Новые |
образовавшиеся |
|
|
|
|
|
|
клетки заполним по тому |
|
|
|
Таблица 6.4.4Ь |
|||
же правилу, по которому |
|
|
|
||||
|
|
|
|
|
|||
|
а |
1,2,4 |
6 |
2,4,5,7 |
3,4 |
||
|
6 |
0 |
4,6 |
6 |
|||
|
Ь |
2,4,5,7 |
0 |
2,4,5,7 |
4,5,7 |
||
|
с |
3,4 |
0 |
4,6 |
4 |
мы заполняли клетки первого столбца.
Получим (табл.6.4.4.Ь):
Продолжим построение таблицы до тех пор, пока будем получать новые столбцы. В итоге имеем (табл.6.4.4с):
Таблица б.4.4с
а |
1,2,4 |
6 |
2,4,5,7 |
3,4 |
0 |
4,6 |
4,5,7 |
4 |
5,7 |
6 |
0 |
4,6 |
6 |
0 |
6 |
4,6 |
6 |
4 |
|
Ъ |
2,4,5,7 |
0 |
2,4,5,7 |
4,5,7 |
0 |
5,7 |
5,7 |
5,7 |
0 |
с |
3,4 |
0 |
4,6 |
4 |
0 |
4 |
4,6 |
4 |
6 |
На основе полученной таблицы строим детерминированный автомат без выхода, с алфавитом {а,Ь,с}, в котором состояния будут соответство
вать спискам, проставленным в заголовках столбцов в построенной таб лице, начальному состоянию будет соответствовать список, которым помечен первый столбец, а заключительным состояниям будут соответ ствовать списки, в которые вошла заключительная вершина источника
(вершина 6 в нашем случае). Проведём переобозначение: 1,2,4 -1'; 6 - 2'; 2,4,5,7 - 3'; 3,4-4'; 0 -5 '; 4,6 - б'; 4,5,7-7'; 4-8'; 5,7-9'.
Перепишем таблицу, заменив списки номерами 9'.
Получим (табл.6.4.4d):
Таблица 6.4.4d
A\Q |
1' |
2' |
3' |
4' |
5' |
6' |
7' |
8’ |
9' |
а |
2' |
5' |
2' |
2' |
5' |
2' |
6' |
2' |
8' |
Ъ |
3’ |
5' |
3’ |
7' |
5' |
9' |
9' |
9' |
5' |
с |
4' |
5' |
6' |
8' |
5' |
8' |
6' |
8' |
2’ |
Проверим работу построенного детерминированного автомата без вы хода с начальным состоянием 1' и заключительными состояниями 2' и б' над словом сЪЪасссЪс , вошедшим в событие а:
|
с |
Ъ |
Ь |
а |
с |
с |
с |
Ъ |
с |
1' |
4' |
7' |
9' |
8' |
8' |
8' |
8' |
9' |
Т |
Как мы видим, в результате работы над словом, вошедшим в событие а, произошёл переход в состояние 2', являющееся заключительным для нашего автомата.
Возьмём слово, не попавшее в а, например, abbbac, проверим работу
над ним построенного автомата без выхода:
|
а |
ъ |
Ъ |
Ъ |
а |
с |
Г |
Т |
5' |
5' |
5' |
5' |
5' |
Как мы видим, в результате работы над словом, не вошедшим в событие а, произошёл переход в состояние 5', не являющееся заключительным для нашего автомата, что и следовало ожидать.
Задание 6.4.5
1.Пользуясь алгоритмом Макнотона-Ямады, провести анализ конечно го автомата, заданного диаграммой переходов. Начальное состояние -1.
2.Убедиться для некоторого маршрута из начальной в конечную вер шину соответствующего детерминированного источника, что слово а,
связанное с этим маршрутом, принадлежит построенному событию.
Для произвольного слова из построенного события указать маршрут из начальной в конечную вершину.
Таблица 6.4.5
автомат
Таблица 6.4.5(продолжение)
автомат
а,Ь
а /■—х , ^ ^ a,b |
s—^ |
6 о^^О , |
© |
1
Таблица 6.4.5(продолжение)
№ |
автомат |
8
9
1 0
11
12 ема,Ь ©, ма 5°а
Таблица 6.4.5(продолжение)
автомат