Детерминированные автоматы с магазинной памятью — различия между версиями
| Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | Определим <tex>P=(Q,\Sigma,\Gamma,\delta,q_0,Z_0,F)</tex> как <b> | + | Определим <tex>P=(Q,\Sigma,\Gamma,\delta,q_0,Z_0,F)</tex> как <b>автомат с магазинной (стековой) памятью</b>, где <br> |
* <tex>Q</tex>: конечное множество состояний. | * <tex>Q</tex>: конечное множество состояний. | ||
* <tex>\Sigma</tex>: конечное множество входных символов. | * <tex>\Sigma</tex>: конечное множество входных символов. | ||
* <tex>\Gamma</tex>: конечный магазинный алфавит {{---}} множество символов, которые можно помещать в магазин. | * <tex>\Gamma</tex>: конечный магазинный алфавит {{---}} множество символов, которые можно помещать в магазин. | ||
| − | * <tex>\delta</tex>: функция переходов. <tex>\delta (q,a,X)=(p,\gamma)</tex> | + | * <tex>\delta</tex>: функция переходов. <tex>\delta (q,a,X)=(p,\gamma)</tex>, где |
** <tex>q</tex>: текущее состояние из Q. | ** <tex>q</tex>: текущее состояние из Q. | ||
| − | ** <tex>a</tex>: входной символ. | + | ** <tex>a</tex>: входной символ или <tex>\epsilon</tex>. |
** <tex>X</tex>: магазинный символ из <tex>\Gamma</tex>. | ** <tex>X</tex>: магазинный символ из <tex>\Gamma</tex>. | ||
** <tex>p</tex>: новое состояние из Q. | ** <tex>p</tex>: новое состояние из Q. | ||
| Строка 15: | Строка 15: | ||
* <tex>F</tex>: множество допускающих состояний. | * <tex>F</tex>: множество допускающих состояний. | ||
}} | }} | ||
| − | + | {{Определение | |
| + | |definition = | ||
| + | Определим <b>детерминированный автомат с магазинной (стековой) памятью</b> как автомат с магазинной памятью, в котором <br> | ||
| + | #<tex>\delta (q,a,X)</tex> имеет не более одного элемента для каждого <tex>q \in Q, a \in \Sigma</tex> или <tex>a=\epsilon, X \in \Gamma</tex>. | ||
| + | #Если <tex>\delta (q,a,X)</tex> непусто для некоторого <tex>a \in \Sigma</tex>, то <tex>\delta (q,\epsilon,X)</tex> должно быть пустым. | ||
| + | }} | ||
Будем обозначать переход автомата из состояния <tex>(q_1,a_1,X_1)</tex> в состояние <tex>(q_2,a_2,X_2)</tex> как <tex>(q_1,a_1,X_1)\vdash(q_2,a_2,X_2)</tex>. Переход автомата из состояния <tex>(q_1,a_1,X_1)</tex> в состояние <tex>(q_{p+1},a_{p+1},X_{p+1})</tex> через <tex>P</tex> промежуточных состояний обозначаем <tex>(q_1,a_1,X_1)\vdash^*_P(q_{p+1},a_{p+1},X_{p+1})</tex>. | Будем обозначать переход автомата из состояния <tex>(q_1,a_1,X_1)</tex> в состояние <tex>(q_2,a_2,X_2)</tex> как <tex>(q_1,a_1,X_1)\vdash(q_2,a_2,X_2)</tex>. Переход автомата из состояния <tex>(q_1,a_1,X_1)</tex> в состояние <tex>(q_{p+1},a_{p+1},X_{p+1})</tex> через <tex>P</tex> промежуточных состояний обозначаем <tex>(q_1,a_1,X_1)\vdash^*_P(q_{p+1},a_{p+1},X_{p+1})</tex>. | ||
Версия 21:32, 23 января 2011
| Определение: |
Определим как автомат с магазинной (стековой) памятью, где
|
| Определение: |
Определим детерминированный автомат с магазинной (стековой) памятью как автомат с магазинной памятью, в котором
|
Будем обозначать переход автомата из состояния в состояние как . Переход автомата из состояния в состояние через промежуточных состояний обозначаем .
Пример
Автомат с функией перехода :
