Детерминированные автоматы с магазинной памятью — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Пример)
м (Пример)
Строка 8: Строка 8:
 
==Пример==
 
==Пример==
 
Построим для языка:
 
Построим для языка:
# <tex> S \rightarrow 10H </tex>
+
# <tex> S \rightarrow 1H </tex>
# <tex> H \rightarrow 1H </tex>
+
# <tex> H \rightarrow 0F </tex>
# <tex> H \rightarrow 0H </tex>
+
# <tex> F \rightarrow 0F </tex>
# <tex> H \rightarrow \varepsilon </tex>
+
# <tex> F \rightarrow 1F </tex>
 +
# <tex> F \rightarrow \varepsilon </tex>
 
автомат <tex>A=(\{0,1\}, \{Z_0,X\}, \{q,p\}, q, \{p\}, Z_0, \delta)</tex> с функией перехода <tex>\delta</tex>:
 
автомат <tex>A=(\{0,1\}, \{Z_0,X\}, \{q,p\}, q, \{p\}, Z_0, \delta)</tex> с функией перехода <tex>\delta</tex>:
 
# <tex>\delta(q,0,Z_0)=(q,XZ_0)</tex>
 
# <tex>\delta(q,0,Z_0)=(q,XZ_0)</tex>

Версия 07:37, 17 января 2016

Определение:
Детерменированным автоматом с магазинной памятью (англ. deterministic pushdown automaton) называется автомат с магазинной памятью, для которого выполнены следующие условия:
  1. [math]\mathcal8 q \in Q, a \in \Sigma \cup \{ \varepsilon \}, X \in \Gamma \Rightarrow \delta(q, a, X)[/math] имеет не более одного элемента — [math] \delta : Q \times \Sigma \cup \{\varepsilon\} \times \Gamma \rightarrow Q \times \Gamma^*[/math].
  2. Если [math]\delta (q,a,X)[/math] непусто для некоторого [math]a \in \Sigma[/math], то [math]\delta (q,\varepsilon,X)[/math] должно быть пустым.


Пример

Построим для языка:

  1. [math] S \rightarrow 1H [/math]
  2. [math] H \rightarrow 0F [/math]
  3. [math] F \rightarrow 0F [/math]
  4. [math] F \rightarrow 1F [/math]
  5. [math] F \rightarrow \varepsilon [/math]

автомат [math]A=(\{0,1\}, \{Z_0,X\}, \{q,p\}, q, \{p\}, Z_0, \delta)[/math] с функией перехода [math]\delta[/math]:

  1. [math]\delta(q,0,Z_0)=(q,XZ_0)[/math]
  2. [math]\delta(q,0,X) =(q,XX)[/math]
  3. [math]\delta(q,1,X) =(q,X)[/math]
  4. [math]\delta(q,1,Z_0)=(p,Z_0)[/math]
  5. [math]\delta(p,0,Z_0)=(p,XZ_0)[/math]
  6. [math]\delta(p,0,X) =(p,XX)[/math]
  7. [math]\delta(p,1,X) =(p,X)[/math]

Пример мп-автомата.png

См. также

Источники информации

  • Хопкрофт Д., Мотвани Р., Ульман Д.Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2008. — 528с. : ISBN 978-5-8459-1347-0 (рус.)