ДМП-автоматы и неоднознчность — различия между версиями
(→Источники информации) |
|||
Строка 7: | Строка 7: | ||
Утверждаем, что конструкция [[Совпадение множества языков МП-автоматов и контекстно-свободных языков#th2|теоремы]] порождает однозначную [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|КС-грамматику]] <tex>\Gamma</tex>, когда [[Автоматы с магазинной памятью|МП-автомат]], к которому она применяется, детерминирован. Вначале вспомним [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора#t2|теорему]], говорящую, что для однозначности грамматики <tex>\Gamma</tex> достаточно показать, что она имеет уникальные левые порождения. | Утверждаем, что конструкция [[Совпадение множества языков МП-автоматов и контекстно-свободных языков#th2|теоремы]] порождает однозначную [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|КС-грамматику]] <tex>\Gamma</tex>, когда [[Автоматы с магазинной памятью|МП-автомат]], к которому она применяется, детерминирован. Вначале вспомним [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора#t2|теорему]], говорящую, что для однозначности грамматики <tex>\Gamma</tex> достаточно показать, что она имеет уникальные левые порождения. | ||
− | Предположим, <tex>S</tex> допускает <tex>w</tex> по пустому магазину. Тогда он делает это с помощью одной-единственной последовательности переходов, поскольку он детерминирован и не может работать после опустошения магазина. Зная эту последовательность переходов, мы можем однозначно определить выбор каждой продукции в левом порождении <tex>w</tex> в <tex>\Gamma</tex>. Правило автомата <tex>S</tex>, на основании которого применяется продукция, всегда одно. Но правило, скажем, <tex>\delta(q, a, X) = \{(r, Y_1Y_2 | + | Предположим, <tex>S</tex> допускает <tex>w</tex> по пустому магазину. Тогда он делает это с помощью одной-единственной последовательности переходов, поскольку он детерминирован и не может работать после опустошения магазина. Зная эту последовательность переходов, мы можем однозначно определить выбор каждой продукции в левом порождении <tex>w</tex> в <tex>\Gamma</tex>. Правило автомата <tex>S</tex>, на основании которого применяется продукция, всегда одно. Но правило, скажем, <tex>\delta(q, a, X) = \{(r, Y_1Y_2\dots Y_k)\}</tex>, может порождать много продукций грамматики <tex>\Gamma</tex>, с различными состояниями в позициях, отражающих состояния <tex>S</tex> после удаления каждого из <tex>Y_1</tex>, <tex>Y_2</tex>, <tex>\dots</tex>, <tex>Y_k</tex>. Однако, поскольку <tex>S</tex> детерминирован, осуществляется только одна из этих последовательностей переходов, поэтому только одна из этих продукций в действительности ведет к порождению <tex>w</tex>. |
}} | }} | ||
Версия 02:16, 6 января 2015
Эта статья находится в разработке!
Теоремы
Теорема: |
Если ДМП-автомата , то имеет однозначную КС-грамматику для некоторого |
Доказательство: |
Утверждаем, что конструкция теоремы порождает однозначную КС-грамматику , когда МП-автомат, к которому она применяется, детерминирован. Вначале вспомним теорему, говорящую, что для однозначности грамматики достаточно показать, что она имеет уникальные левые порождения. Предположим, допускает по пустому магазину. Тогда он делает это с помощью одной-единственной последовательности переходов, поскольку он детерминирован и не может работать после опустошения магазина. Зная эту последовательность переходов, мы можем однозначно определить выбор каждой продукции в левом порождении в . Правило автомата , на основании которого применяется продукция, всегда одно. Но правило, скажем, , может порождать много продукций грамматики , с различными состояниями в позициях, отражающих состояния после удаления каждого из , , , . Однако, поскольку детерминирован, осуществляется только одна из этих последовательностей переходов, поэтому только одна из этих продукций в действительности ведет к порождению . |
Теорема: |
Если ДМП-автомата , то имеет однозначную КС-грамматику для некоторого |
Доказательство: |
Пусть теореме существует однозначная грамматика , порождающая язык , т.е. . будет “концевым маркером”, отсутствующим в цепочках языка , и пусть . Таким образом, цепочки языка представляют собой цепочки из , к которым дописан символ . Тогда имеет префиксное свойство, и для некоторого ДМП-автомата . ПоТеперь по грамматике построим , для которой . Для этого нужно лишь избавиться от маркера в цепочках. Будем рассматривать как переменную грамматики и введем продукцию ; остальные продукции и одинаковы. Поскольку , получаем, что . Утверждаем, что однозначна. Действительно, левые порождения в совпадают с левыми порождениями в , за исключением последнего шага в — изменения на . Таким образом, если бы терминальная цепочка имела два левых порождения в , то имела бы два порождения в . Поскольку однозначна, также однозначна. |
См. также
- Детерминированные автоматы с магазинной памятью, допуск по пустому стеку
- Несовпадение класса языков, распознаваемых ДМП автоматами и произвольными МП автоматами
- Существенно неоднозначные языки
- Формальные грамматики
Источники информации
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2008. — 528 с. : ISBN 978-5-8459-1347-0 (рус.)