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.
{bin(n)$bin(n+1)R:n∈N}
{bin(n)$bin(3∗n)R:n∈N}
Uogólnić tezę zadania.
q,a,Z→A′q′,α
gdzie |α|≤2 (q,q′ dowolne).
Dowieść, że dla każdego automatu ze stosem A, można skonstruować równoważny mu automat ze stosem A′′, w którym każde przejście jest postaci push lub pop, tzn.
q,a,Z→A′′q′,YZ
lub
q,a,Z→A′′q′,ϵ
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?
{α∈Γ∗:(∃w,v∈Σ∗)(∃q∈Q)qI,w,ZI⊢Aq,v,α}
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,ϵ,Z→Ap,α przy pewnych p,α, to dla żadnego σ∈Σ, nie zachodzi q,σ,Z→Ap′,α′, dla żadnych
p′,α′;
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 {anbn:n∈N} ∪ {anb2n:n∈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′, 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 {anbnan:n∈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 {canbancanbanc:n∈N}.