Слайд 5Модели алгоритмических преобразований
![Модели алгоритмических преобразований](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-4.jpg)
Слайд 14В регулярных выражениях опускают лишние скобки с
учётом того, что наивысшее предпочтение
![В регулярных выражениях опускают лишние скобки с учётом того, что наивысшее предпочтение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-13.jpg)
(priority) имеет
операция итерации (повторения), затем идёт конкатенация,
и лишь затем - объединение.
Сокращение p+ для обозначения pp* (т.е. все итерации
кроме пустой цепочки).
Примеры регулярных выражений и обозначаемых ими
регулярных множеств:
а) a(e+a)+b – обозначает множество {a, b, aa};
б) a(a+b)* – обозначает множество всевозможных
цепочек, состоящих из a и b, начинающихся с a, например,
a(a+b)^3=a(a+b)(a+b)(a+b)=aaaa или abbb или abba…;
в)(a+b)*(a+b)(a+b)*–обозначает множество всех непустых цепочек, состоящих из a и b, то есть множество {a, b}+;
г) ((0+1)(0+1)(0+1))* – обозначает множество всех цепочек,
состоящих из нулей и единиц, длины которых делятся на 3.
Слайд 15Примеры и задачи на усвоение
Совпадают ли множества, соответствующие
двум данным РВ:
а) a*b и b
![Примеры и задачи на усвоение Совпадают ли множества, соответствующие двум данным РВ:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-14.jpg)
+ aa*b;
б) b(b+ab)*a и b(b*ab)*b*a;
в) b(ab+b)* и bb*a(bb*a)*.
Возьмём п. а) и посмотрим, какие множества
соответствуют первому и второму РВ соответственно:
a*b ={ b , ab , aab , …, anb , …}
b + aa*b ={ b , ab , aab , …, anb , …},
т.е. имеем с помощью РВ разные записи одного и
того же РМ.
Слайд 19Читающие (распознающие) автоматы
![Читающие (распознающие) автоматы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-18.jpg)
Слайд 23ДКА и НДКА
Различают детерминированные (ДКА) и недетерминированные (НДКА) конечные автоматы.
КА называется недетерминированным
(НДКА),
![ДКА и НДКА Различают детерминированные (ДКА) и недетерминированные (НДКА) конечные автоматы. КА](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-22.jpg)
если в диаграмме его состояний из одной вершины исходит несколько дуг с одинаковыми символами. Если таких вершин нет, то это ДКА.
Слайд 26Теорема Клини. Две задачи КА
Теорема Клини содержит два утверждения:
1. Каждое регулярное
![Теорема Клини. Две задачи КА Теорема Клини содержит два утверждения: 1. Каждое](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-25.jpg)
выражение определяет регулярный язык
2. Каждый регулярный язык может быть задан некоторым R- выражением.
Задача синтеза состоит в построении конечного автомата, распознающего язык, заданный некоторым регулярным выражением.
Задача анализа состоит в том, чтобы по диаграмме конечного автомата К записать R-выражение, для которого соответствующий ему R-язык совпадает с
языком, распознаваемым автоматом К.
Слайд 28Преобразование регулярного выражения в КА
![Преобразование регулярного выражения в КА](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-27.jpg)
Слайд 35Преобразование КА в регулярное выражение
![Преобразование КА в регулярное выражение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-34.jpg)
Слайд 39Обратное преобразование в НДКА
Преобразование в ДКА
L(M)=(1*+01)*00(0+1)*
0 0 10 23
Q0
![Обратное преобразование в НДКА Преобразование в ДКА L(M)=(1*+01)*00(0+1)* 0 0 10 23](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/878319/slide-38.jpg)
= {q0, q1, q2, q3}
Q1 = {q0, q1, q2, q3,{q1, 2}}.
Состояния q1 и q2 не достижимы из начального состояния q0 и могут быть исключены. Получим исходный КА рис.2.2. с состояниями
Q1= {q0, q3,{q1, 2}}