МП-автоматы, допуск по пустому стеку и по допускающему состоянию, эквивалентность — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «== Допустимость по заключительному состоянию == <font face="Times" size="3"> *'''Определение: '''Пусть <tex>\…»)
 
(Эквивалентность автоматов)
Строка 19: Строка 19:
 
[[Файл:EqualStackAutomata.png|left]]  
 
[[Файл:EqualStackAutomata.png|left]]  
  
'''1.''' Добавим переходы по <tex>\varepsilon</tex> из каждого допускающего состояния автомата <tex>\mathcal{P}_{T}</tex> в новое состояние <tex>p</tex>, которое отвечает за очистку стека. Находясь в состоянии <tex>p</tex>, автомат <tex>\mathcal{P_{N}}</tex> опустошает свой магазин и ничего не прочитывает на входе. Таким образом, как только исходный автомат <tex>\mathcal{P}_{T}</tex> приходит в допускающее состояние, прочитав слово <tex>w</tex>, <tex>\mathcal{P_{N}}</tex> опустошает свой магазин, также прочитав только <tex>w</tex>.
+
'''1.''' Добавим переходы по <tex>\varepsilon</tex> из каждого допускающего состояния автомата <tex>\mathcal{P}_{T}</tex> в новое состояние <tex>p</tex>, которое отвечает за очистку стека. Находясь в состоянии <tex>p</tex>, автомат <tex>\mathcal{P_{N}}</tex> опустошает свой магазин и ничего не прочитывает на входе. Таким образом, как только исходный автомат <tex>\mathcal{P}_{T}</tex> приходит в допускающее состояние, прочитав слово <tex>w</tex>, <tex>\mathcal{P_{N}}</tex> опустошает свой магазин, также прочитав слово <tex>w</tex>.
 +
 
 +
'''2.''' Во избежание случая, когда <tex>\mathcal{P}_{T}</tex> может опустошить свой магазин без допуска, <tex>\mathcal{P_{N}}</tex> использует свой маркер дна <tex>Z_{1}</tex>. Добавление нового стартового состояния <tex>s</tex> позволяет затолкнуть маркер <tex>Z_{0}</tex> автомата <tex>\mathcal{P}_{T}</tex> в магазин и перейти в стартовое состояние <tex>\mathcal{P}_{T}</tex>.
 +
 
 +
'''3.''' Каждый переход <tex>\mathcal{P}_{T}</tex> есть и у автомата <tex>\mathcal{P_{N}}</tex>, символ <tex>Z_{1}</tex> хранится в магазине под всеми символами из <tex>\Gamma</tex> и является символом, по которому нет переходов в <tex>\mathcal{P}_{T}</tex>. Тогда <tex>\mathcal{P_{N}}</tex> может совершить следующие действия: <tex>(s, w, Z_{1})\vdash (s_{0}, w, Z_{0} Z_{1})\vdash (q, \varepsilon, \alpha Z_{1})\vdash (p, \varepsilon,\varepsilon) </tex>, что означает <tex>\mathcal{P_{N}}</tex> допускает слово <tex>w</tex> по пустому магазину. 
 +
           
 +
 
 +
 
  
'''2.''' Во избежание случая, когда <tex>\mathcal{P}_{T}</tex> может опустошить свой магазин без допуска, <tex>\mathcal{P_{N}}</tex>         
 
  
 
</font>
 
</font>
 +
<font face="Times" size="3">
 +
*'''Доказательство:'''<tex>\Leftarrow</tex> Исходя из МП-автомата <tex>\mathcal{P}_{T}</tex>, допускающего язык <tex>L</tex> по пустому стеку, построим МП-автомат <tex>\mathcal{P_{N}}</tex>, допускающий <tex>L</tex> по заключительному состоянию.
 +
[[Файл:EqualAllowAutomataPict.png|left]]

Версия 01:07, 28 октября 2010

Допустимость по заключительному состоянию

  • Определение: Пусть [math]\mathcal{P}=(Q, \Sigma, \Gamma, \delta, s, Z_{0}, T)[/math] - МП-автомат. Тогда [math]\mathcal {L(P)}[/math] языком, допускаемым автоматом [math]\mathcal{P}[/math] по заключительному состоянию, является [math]\mathcal {L(P)}=\{w\mid(s, w, Z_{0})\vdash^{*}(q, \varepsilon, \alpha)\} [/math] для некоторого состояния [math]q\in T[/math] и произвольной магазинной цепочки [math]\alpha[/math]. Начиная с стартовой вершины [math]s[/math] и с [math]w[/math] на входе, автомат [math]\mathcal {P}[/math] прочитывает слово [math]w[/math] и достигает допускающего состояния. Содержимое магазина в этот момент не имеет значения.

Допустимость по пустому магазину

  • Определение: Для МП-автомата [math]\mathcal{P}=(Q, \Sigma, \Gamma, \delta, s, Z_{0})[/math] определим множество допускающих слов как [math]\mathcal {N(P)}=\{w\mid(s, w, Z_{0})\vdash^{*}(q, \varepsilon, \varepsilon)\} [/math], где [math]q[/math] - произвольное состояние. Таким образом автомат [math]\mathcal{P}[/math] прочитывает слово [math]w[/math], полностью опустошив свой магазин. Множество заключительных состояний [math]T[/math] не имеет значение.

Эквивалентность автоматов

  • Теорема: Классы языков, допускаемых МП-автоматами по заключительному состоянию и по пустому магазину (стеку), совпадают.
  • Доказательство:[math]\Rightarrow[/math] Исходя из МП-автомата [math]\mathcal{P}_{T}[/math], допускающего язык [math]L[/math] по заключительному состоянию, построим другой МП-автомат [math]\mathcal{P_{N}}[/math], который допускает язык [math]L[/math] по пустому стеку.
EqualStackAutomata.png

1. Добавим переходы по [math]\varepsilon[/math] из каждого допускающего состояния автомата [math]\mathcal{P}_{T}[/math] в новое состояние [math]p[/math], которое отвечает за очистку стека. Находясь в состоянии [math]p[/math], автомат [math]\mathcal{P_{N}}[/math] опустошает свой магазин и ничего не прочитывает на входе. Таким образом, как только исходный автомат [math]\mathcal{P}_{T}[/math] приходит в допускающее состояние, прочитав слово [math]w[/math], [math]\mathcal{P_{N}}[/math] опустошает свой магазин, также прочитав слово [math]w[/math].

2. Во избежание случая, когда [math]\mathcal{P}_{T}[/math] может опустошить свой магазин без допуска, [math]\mathcal{P_{N}}[/math] использует свой маркер дна [math]Z_{1}[/math]. Добавление нового стартового состояния [math]s[/math] позволяет затолкнуть маркер [math]Z_{0}[/math] автомата [math]\mathcal{P}_{T}[/math] в магазин и перейти в стартовое состояние [math]\mathcal{P}_{T}[/math].

3. Каждый переход [math]\mathcal{P}_{T}[/math] есть и у автомата [math]\mathcal{P_{N}}[/math], символ [math]Z_{1}[/math] хранится в магазине под всеми символами из [math]\Gamma[/math] и является символом, по которому нет переходов в [math]\mathcal{P}_{T}[/math]. Тогда [math]\mathcal{P_{N}}[/math] может совершить следующие действия: [math](s, w, Z_{1})\vdash (s_{0}, w, Z_{0} Z_{1})\vdash (q, \varepsilon, \alpha Z_{1})\vdash (p, \varepsilon,\varepsilon) [/math], что означает [math]\mathcal{P_{N}}[/math] допускает слово [math]w[/math] по пустому магазину.



  • Доказательство:[math]\Leftarrow[/math] Исходя из МП-автомата [math]\mathcal{P}_{T}[/math], допускающего язык [math]L[/math] по пустому стеку, построим МП-автомат [math]\mathcal{P_{N}}[/math], допускающий [math]L[/math] по заключительному состоянию.
EqualAllowAutomataPict.png