Správně ten automat neni, místo toho jazyka řeší podle mě spíš $i = j$, a navíc požaduje minimálně 2 znaky $b$. Pravidla 1, 2 a 3 jsou zbytečně složitá (proč vzít něco ze zásobníku a zase to tam vrátit, když ani nerozlišuju co to bylo), navíc pokud by to bylo zapsané takhle, tak se ten zásobník hned na začátku ucpe tou mřížkou, protože vrchol zásobníku je vlevo.
Co se týče zápisu, ten je v podstatě OK, ale zobrazení delta by mělo být na množinu, kvůli nedeterminismu - nejde pak napsat třeba $\delta(q, x, y) = (r, z); \delta(q, x, y) = (s, z)$, to by ta rovnost nedávala smysl.
Nějaké lepší řešení? Co třeba:
$R = (\{q, r\}, \{a, b\}, \{x\}, \delta, q, \epsilon, \{r\}) $
$\delta(q, a, \epsilon)= \{ (q, x), (r, \epsilon) \}$
$\delta(r, b, x)= \{ (r, \epsilon) \}$
2 | No.2 Revision |
Správně ten automat neni, místo toho jazyka řeší podle mě spíš $i = j$, a navíc požaduje minimálně 2 znaky $b$. Pravidla 1, 2 a 3 jsou zbytečně složitá (proč vzít něco ze zásobníku a zase to tam vrátit, když ani nerozlišuju co to bylo), navíc pokud by to bylo zapsané takhle, tak se ten zásobník hned na začátku ucpe tou mřížkou, protože vrchol zásobníku je vlevo.
Co se týče zápisu, ten je v podstatě OK, ale zobrazení delta by mělo být na množinu, kvůli nedeterminismu - nejde pak napsat třeba $\delta(q, x, y) = (r, z); \delta(q, x, y) = (s, z)$, to by ta rovnost nedávala smysl.
Nějaké lepší řešení? Co třeba:
$R = (\{q, r\}, \{a, b\}, \{x\}, \delta, q, \epsilon, \varepsilon, \{r\}) $
$\delta(q, a, \epsilon)= \varepsilon)= \{ (q, x), (r, \epsilon) \varepsilon) \}$
$\delta(r, b, x)= \{ (r, \epsilon) \varepsilon) \}$