Skonstruować automaty ze stosem rozpoznające poznane wcześniej języki bezkontekstowe: zbiór palindromów, zbiór poprawnie uformowanych ciągów nawiasów, zbiór słów, które mają dwa razy więcej \(b\) niż \(a\), zbiór ciągów, które nie są postaci \(ww\).
\(\{\mbox{bin}(n)\,\$\,\mbox{bin}(n+1)^{R}\,:\, n\in N\}\)
\(\{\mbox{bin}(n)\,\$\,\mbox{bin}(3*n)^{R}\,:\, n\in N\}\)
Uogólnić tezę zadania.
\(q,a,Z\,\rightarrow _{{A^{{\prime}}}}\, q^{{\prime}},\alpha\)
gdzie \(|\alpha|\leq 2\) (\(q,q^{{\prime}}\) dowolne).
Dowieść, że dla każdego automatu ze stosem \(A\), można skonstruować równoważny mu automat ze stosem \(A^{{\prime\prime}}\), w którym każde przejście jest postaci push lub pop, tzn.
\(q,a,Z\,\rightarrow _{{A^{{\prime\prime}}}}\, q^{{\prime}},YZ\)
lub
\(q,a,Z\,\rightarrow _{{A^{{\prime\prime}}}}\, q^{{\prime}},\epsilon\)
Czy dla takich automatów można nadal ograniczyć liczbę stanów?
Mając dany automat ze stosem akceptujący język \(L\), skonstruować automaty ze stosem akceptujące następujące języki:
Mając dany automat ze stosem akceptujący język \(L\) i automat skończony akceptujący język \(R\), skonstruować automaty ze stosem akceptujące następujące języki:
Niech \(\# _{s}(w)\) oznacza liczbę symboli \(s\) w słowie \(w\), oraz \(PREF(u)\) oznacza zbiór prefiksów słowa \(u\). Ponadto oznaczmy przez \(max(w),\ min(w),\ med(w)\) opowiednio maksimum, minimum i medianę liczb \(\# _{a}(w),\# _{b}(w),\# _{c}(w)\).
Który z następujących języków jest regularny, a który bezkontekstowy?
\(\{\alpha\in\Gamma^{*}\,:\,(\exists w,v\in\Sigma^{*})(\exists q\in Q)\, q_{I},w,Z_{I}\,\vdash _{{A}}\, q,v,\alpha\}\)
Wywnioskować stąd, że zbiór słów, które są możliwymi zawartościami stosu automatu \(A\) w jakimś obliczeniu akceptującym, jest językiem bezkontekstowym.
jeśli, dla pewnej pary \(q,Z\), zachodzi \(q,\epsilon,Z\rightarrow _{A}p,\alpha\) przy pewnych \(p,\alpha\), to dla żadnego \(\sigma\in\Sigma\), nie zachodzi \(q,\sigma,Z\rightarrow _{A}p^{{\prime}},\alpha^{{\prime}}\), dla żadnych
\(p^{{\prime}},\alpha^{{\prime}}\);
Język bezkontekstowy jest deterministyczny jeśli jest rozpoznawany przez pewien deterministyczny automat ze stosem (w sensie stanów akceptujących, tzn. \(L=L(A)\)).
Dowieść, że język \(\{ a^{n}b^{n}:n\in{\bf N}\}\) \(\cup\) \(\{ a^{n}b^{{2n}}:n\in{\bf N}\}\) nie jest deterministycznym językiem bezkontekstowym.
Wskazówka. Zakładając, że istnieje deterministyczny automat \(A\) rozpoznający ten język, rozważyć automat \(A^{{\prime}}\), który różni się od \(A\) tylko tym, że zamienia rolami \(a\) i \(b\). Przy pomocy tych dwóch automatów można łatwo skonstruować automat ze stosem rozpoznający język \(\{ a^{n}b^{n}a^{n}:n\in{\bf N}\}\).
Wykazać, że zbiór palindromów nad alfabetem dwuelementowym nie jest deterministycznym językiem bezkontekstowym.
Wskazówka. Zastosować metodę z poprzedniego zadania. Przy pomocy hipotetycznego automatu deterministycznego rozpoznającego palindromy można np. skonstruować automat rozpoznający język \(\{ ca^{n}ba^{n}ca^{n}ba^{n}c:n\in{\bf N}\}\).