δ ( q , ε , 1) = (q , 1) – спонтанний перехід;
δ ( q , 0, 0) = (q , ε), δ ( q , 1, 1) = (q , ε) – виштовхування з магазина;
δ ( q , ε, Z ) = (q , Z ) – перехід у завершальний стан.
Діаграма цього МП-автомата наведена на рис. 3.6.
Рисунок 3.6 - Діаграма переходів МП-автомата з прикладу 3.1
Наведемо приклад його роботи на ланцюжку 1111 (рис. 3.7).
Ми розглядали МП-автомати, що завершували роботу мовою L по досягненні завершального стану. Можна побудувати автомат, що завершує роботу при спустошенні магазина.
Якщо для деякої мови існує МП-автомат, що закінчує роботу по досягненні завершального стану, то існує і МП-автомат автомат для цієї мови, що завершує роботу при спустошенні магазина.
Справедливо і зворотне.
Клас контекстовільних мов відповідає класові мов, що допускаються МП-автоматами.
Становлять інтерес детерміновані МП-автомати (ДМП-автомати).
МП-автомат є детермінованим, якщо функція переходів має тільки одну пару значень для кожної трійки аргументів (при цьому, якщо значення δ (q, a, X) не порожнє, значення δ (q, ε , X) повинне бути порожнім).
Рисунок 3.7 - Робота МП-автомата на ланцюжку 1111
Якщо мова регулярна, вона є припустимою для деякого ДМП-автомата.
Мови ДМП-автоматів містять у собі всі регулярні мови (рис. 3.7).
Рисунок 3.8 - Співвідношення регулярних мов,
ДМП-мов і КВ-мов
Класи мов, що допускаються ДМП-автоматами по досягненні завершального стану і при спустошенні магазина, не збігаються.
Мови ДМП-автоматів мають однозначну граматику.
У той самий час існують мови з однозначною граматикою, що не є ДМП-мовами.
Наведемо деякі властивості контекстовільних мов.
Теорема (без доведення). Кожна контекстовільна мова породжується граматикою, усі продукції якої мають форму А → ВР або А → а, де А, В, P – змінні; а – термінал.
Ця форма називається нормальною формою Хомського.
Лема про розширення для контекстно-вільних мов. Нехай L – контекстовільна мова. Тоді існує така константа n, що якщо z – довільний ланцюжок довжини не менше n, то її можна подати у вигляді z = uvwxy, де
1) | vwx | ≤ n;
2) vx ≠ ε;
3) uviwxiy L для всіх і ≥ 0.
Лема про розширення часто використовується при доведенні того, що мова не є контекстовільною.
Контекстовільні мови замкнені щодо операцій об'єднання, конкатенації, замикання і суперпозиції.
Завдання до розділу 3
1 Написати граматику, яка для алфавіту {0,1} генерує всі рядки, включаючи порожній.
2 Є граматика з продукціями
PROGRAM → begin DECS ; STATS end
DECS → D ; DECS | D
STATS → S ; STATS | S .
Написати ліве породження для
begin D ; D ; S ; S end
3 Побудувати контекстовільну граматику, що генерує множину ланцюжків { 0n1n | n ≥ 1}.
4 Подана граматика породжує мову регулярного вирзу { 0*1(0|1)* }:
S → A1B , A → 0A | ε , B → 0B | 1B | ε.
Записати ліве породження для ланцюжка 00101.
5 Подана граматика породжує мову регулярного виразу {0*1(0|1)* }:
S → A1B , A → 0A | ε , B → 0B | 1B | ε.
Записати праве породження для ланцюжка 1001.
6 Подана граматика породжує мову регулярного виразу {0*1(0|1)* }:
S → A1B , A → 0A | ε , B → 0B | 1B | ε.
Записати ліве і праве породження для ланцюжка 00011.
7 Подана граматика породжує мову регулярного виразу {0*1(0|1)* }:
S → A1B , A → 0A| ε , B → 0B|1B| ε.
Записати ліве і праве породження для ланцюжка 00010.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.