Упражнение 2.1.25 |
Детерминированные контекстно-свободные языки
К сожалению, теорема о детерминизации не переносится с конечных автоматов на автоматы с магазинной памятью. Возникает важный для практических приложений класс языков, распознаваемых детерминированными автоматами с магазинной памятью (то есть такими автоматами с магазинной памятью, которые ни в какой конфигурации не могут выбирать между несколькими очередными тактами). Точные определения этого класса автоматов и соответствующего класса языков даны в разделе 12.1. Чтобы получить полезный и естественный с точки зрения практики класс, нужно добавить в конец каждого слова специальный символ, называемый маркером конца слова. Языки из выделенного таким образом класса называются детерминированными контекстно-свободными языками. Во втором разделе лекции формулируется ряд свойств этого класса языков. Важность детерминированных контекстно-свободных языков для теоретической информатики обусловлена тем, что для каждого такого языка можно указать быстрый алгоритм, распознающий принадлежность слова этому языку.
12.1. Детерминированные автоматы с магазинной памятью
Определение 12.1.1. Будем говорить, что два перехода МП-автомата и являются совместными, если
- p1 = p2 ;
- или ;
- или .
Определение 12.1.2. МП-автомат называется детерминированным (deterministic), если он имеет ровно одно начальное состояние и все переходы этого автомата попарно несовместны.
Пример 12.1.3. МП-автомат M из примера 10.2.8 не является детерминированным, так как переходы и совместны.
Определение 12.1.4. Язык L над алфавитом называется детерминированным контекстно-свободным языком, если существует детерминированный МП-автомат, распознающий язык над алфавитом , где - дополнительный символ, не принадлежащий множеству . Символ называется маркером конца строки.
Пример 12.1.5. Рассмотрим алфавит . Язык - детерминированный контекстно-свободный язык, так как язык порождается детерминированным МП-автоматом (хотя язык L не порождается никаким детерминированным МП-автоматом).
Пример 12.1.6. Язык L, распознаваемый МП-автоматом M из примера 10.2.8, является детерминированным контекстно-свободным языком, так как язык порождается детерминированным МП-автоматом
гдеУпражнение 12.1.7. Является ли детерминированным контекстно-свободный язык ?