- •Общие положения
- •Перечень тем
- •Тема 1 Конечные автоматы. Построение конечных автоматов для распознания регулярных множеств.
- •Тема № 1 Конечные автоматы. Построение конечных автоматов для распознания регулярных множеств
- •Построение конечного автомата – распознавателя для заданного регулярного множества
- •Задание
- •Варианты заданий темы 1 для самостоятельной подготовки
- •Вопросы по теории темы 1 для самостоятельной подготовки
- •Тема № 2 Построение мп – автоматов Построение мп – распознавателей Задание
- •Построение мп – трансляторов
- •Варианты заданий для самостоятельной подготовки
- •Вопросы по теории темы 2 для самостоятельной подготовки
- •Тема № 3 Формальные языки и грамматики Построение мп – распознавателей для кс–грамматик задание
- •Варианты заданий для самостоятельной подготовки
- •Вопросы по теории темы 3 для самостоятельной подготовки
Построение конечного автомата – распознавателя для заданного регулярного множества
Пример
Задание
Построить конечный автомат (КА–распознаватель) для распознания регулярного множества цепочек трехсимвольного алфавита: «Правильная цепочка содержит не более одного символа «с», начинается на «ba» и символы «a» приходят только парами.»
Р Е Ш Е Н И Е
Представим стратегию работы КА в соответствии с заданием на диаграмме переходов см. рис.1:
а) в начальном состоянии 1 КА воспринимает только символ b при этом состояние изменяется на 2; в этом состоянии может прийти только а (обеспечено начало в соответствии с условием) и состояние изменится на 3; в состоянии 3, для обеспечения пары а, может прийти только а с переходом в состояние 4;
б) в состоянии 4 может прийти один из символов (b или с), но символ с в цепочке только один и после перехода в 5 он уже не может приходить (вся логика переходов представлена на диаграмме переходов);
в) состояние 1 – начальное; состояния 4,5,6,8 – допускающее
2 Информацию п.1 представим в виде управляющей таблицы КА.
-
а
b
c
–|
1
E
2
E
0
2
3
E
E
0
3
4
E
E
0
4
E
6
5
1
5
7
5
E
1
6
3
6
5
1
7
8
E
E
0
8
E
5
E
1
Проверим состояния КА на достижимость и эквивалентность.
а) проверка на достижимость:
{1} {1,2} {1,2,3} {1,2,3,4} {1,2,3,4,5,6} {1,2,3,4,5,6,7} {1,2,3,4,5,6,7,8}
В построенном списке переходов присутствуют все состояния.
Вывод: все состояния достижимы.
б) проверка на эквивалентность:
{1, 2, 3, 7} { 4, 5, 6, 8 } (по воздействию символа –| все состояния разбиты на допускающие и отвергающие)
воздействие символа а:
{1}; {2}; {3}; {7}; {5}; {4,6,8}.
воздействие символа b:
{1}; {2}; {3}; {7}; {5}; {4,6}; {8}.
воздействие символа c:
{1}; {2}; {3}; {7}; {5}; {4}; {6}; {8}.
Вывод: эквивалентных состояний нет (построен минимальный конечный автомат).
Полное описание конечного автомата:
Vвх = {a,b,c, –|}; S = {1, 2, 3, 4, 5, 6, 7, 8}; Sнач = 1; Sдоп = { 4, 5, 6, 8}.
Варианты заданий темы 1 для самостоятельной подготовки
Построить конечный автомат (КА–распознаватель) для распознания регулярного множества цепочек трехсимвольного алфавита, ,заданного в виде описания.
№ задачи |
Описание регулярного множества |
1 |
Содержит не более двух символов 1, начинается на 3, а символ 2 встречается только парами |
2 |
Содержит не более двух символов 2, начинается на 11, а символ 3 встречается только по одному |
3 |
Содержит ровно два символа 1, заканчивается на 23 и символы 1 и 2 не стоят рядом |
4 |
Содержит не более одного символа 3, начинается на 21, а символ 1 встречается только парами |
5 |
Содержит два символа 2, заканчивается на 13 и символы 2 и 3 не стоят рядом |
6 |
Содержит не более двух символов 3, начинается на 13, а символ 1 встречается только по одному |
7 |
Содержит ровно два символа 2, заканчивается на 31 и символы 2 и 3 не стоят рядом |
8 |
Содержит ровно одно сочетание 12, заканчивается на 2 и символы 2 и 3 не стоят рядом |
9 |
Содержит ровно одно сочетание 32, заканчивается на 1 и символы 1 и 3 не стоят рядом |
