ДМП-автоматы и неоднознчность — различия между версиями
(→Теоремы) |
(→Теорема 0) |
||
Строка 9: | Строка 9: | ||
Построим <tex>G = (V, \Sigma, R, S)</tex>, где V состоит из следующих переменных. | Построим <tex>G = (V, \Sigma, R, S)</tex>, где V состоит из следующих переменных. | ||
#Специальный стартовый символ <tex>S</tex>. | #Специальный стартовый символ <tex>S</tex>. | ||
− | #Все символы вида <tex>[pXq]</tex>, где <tex>p</tex> и <tex>q</tex> — состояния из <tex>Q</tex>, а <tex>X</tex> — магазинный символ из <tex>\Gamma</tex>.<br>Грамматика <tex>G</tex> имеет следующие продукции: | + | #Все символы вида <tex>[pXq]</tex>, где <tex>p</tex> и <tex>q</tex> — состояния из <tex>Q</tex>, а <tex>X</tex> — магазинный символ из <tex>\Gamma</tex>.<br>Грамматика <tex>G</tex> имеет следующие продукции: |
− | Она гласит, что один из путей выталкивания X и перехода из состояния q в состояние | + | #* продукции <tex>S \rightarrow [q0Z0p]</tex> для всех состояний <tex>p</tex>. Интуитивно символ вида <tex>[q0Z0p]</tex> предназначен для порождения всех тех цепочек <tex>w</tex>, которые приводят <tex>P</tex> к выталкиванию <tex>Z_0</tex> из магазина в процессе перехода из состояния <tex>q_0</tex> в состояние <tex>p</tex>. Таким образом, <tex>(q, w, Z_0) \vdash (q, \epsilon, \epsilon)</tex>. Эти продукции гласят, что стартовый символ <tex>S</tex> порождает все цепочки <tex>w</tex>, приводящие <tex>P</tex> к опустошению магазина после старта в начальной конфигурации; |
+ | #* пусть <tex>\delta(q,a,X)</tex> содержит пару <tex>(r,Y_1Y_2...Y_k)</tex>,где <tex>a</tex> есть либо символ из <tex>\Sigma</tex>, либо <tex>\epsilon</tex>, а <tex>k</tex> — некоторое неотрицательное число; при <tex>k = 0</tex> пара имеет вид <tex>(r, \epsilon)</tex>. Тогда для всех списков состояний <tex>r_1, r_2, ..., r_k</tex> в грамматике <tex>G</tex> есть продукция<br><tex>[qXr_k] \rightarrow a[rY_1r_1][r_1Y_2r_2]...[r_{k-1}Y_kr_k]</tex>.<br>Она гласит, что один из путей выталкивания <tex>X</tex> и перехода из состояния <tex>q</tex> в состояние <tex>r_k</tex> заключается в том, чтобы прочитать <tex>a</tex> (оно может быть равно <tex>\epsilon</tex>), затем использовать некоторый вход для выталкивания <tex>Y_1</tex> из магазина с переходом из состояния <tex>r</tex> в состояние <tex>r_1</tex>, далее прочитать некоторый вход, вытолкнуть <tex>Y_2</tex> и перейти из <tex>r_1</tex> в <tex>r_2</tex>, и т.д. | ||
− | + | Докажем корректность неформальной интерпретации переменных вида <tex>[qXp]</tex>: | |
− | Докажем корректность неформальной интерпретации переменных вида [qXp]: | ||
[qXp] ⇒ w тогда и только тогда, когда (q, w, X) |− (p, ε, ε). | [qXp] ⇒ w тогда и только тогда, когда (q, w, X) |− (p, ε, ε). | ||
Строка 64: | Строка 64: | ||
допускает w по пустому магазину. Таким образом, L(G) = N(P). | допускает w по пустому магазину. Таким образом, L(G) = N(P). | ||
}} | }} | ||
+ | |||
===Теоремы1=== | ===Теоремы1=== | ||
{{Теорема | {{Теорема |
Версия 23:47, 4 января 2015
Эта статья находится в разработке!
Содержание
Теоремы
Теорема 0
Теорема (0): |
Пусть — МП-автомат. Тогда существует КС- грамматика , для которой . |
Доказательство: |
Построим , где V состоит из следующих переменных.
Докажем корректность неформальной интерпретации переменных вида [qXp] ⇒ w тогда и только тогда, когда (q, w, X) : |
Теоремы1
Теорема (1): |
Если для некоторого ДМП автомата , то имеет однозначную КС-грамматику |
Доказательство: |
Утверждаем, что конструкция теоремы 6.14 порождает однозначную КС-грамматику Предположим, , когда МП-автомат, к которому она применяется, детерминирован. Вначале вспомним (см. теорему 5.29), что для однозначности грамматики достаточно показать, что она имеет уникальные левые порождения. допускает по пустому магазину. Тогда он делает это с помощью одной-единственной последовательности переходов, поскольку он детерминирован и не может работать после опустошения магазина. Зная эту последовательность переходов, мы можем однозначно определить выбор каждой продукции в левом порождении в . Правило автомата , на основании которого применяется продукция, всегда одно. Но правило, скажем, , может порождать много продукций грамматики , с различными состояниями в позициях, отражающих состояния после удаления каждого из , , ..., . Однако, поскольку детерминирован, осуществляется только одна из этих последовательностей переходов, поэтому только одна из этих продукций в действительности ведет к порождению . |
Теорема (2): |
Если для некоторого ДМП-автомата , то имеет однозначную КС-грамматику |
Доказательство: |
Пусть теореме 1 существует однозначная грамматика , порождающая язык , т.е. . будет “концевым маркером”, отсутствующим в цепочках языка , и пусть . Таким образом, цепочки языка представляют собой цепочки из , к которым дописан символ . Тогда имеет префиксное свойство, и для некоторого ДМП-автомата . ПоТеперь по грамматике Утверждаем, что построим , для которой . Для этого нужно лишь избавиться от маркера в цепочках. Будем рассматривать как переменную грамматики и введем продукцию ; остальные продукции и одинаковы. Поскольку , получаем, что . однозначна. Действительно, левые порождения в совпадают с левыми порождениями в , за исключением последнего шага в — изменения на . Таким образом, если бы терминальная цепочка имела два левых порождения в , то имела бы два порождения в . Поскольку однозначна, также однозначна. |