Séria domácich úloh na cvičenie 9

Vo všetkých úlohách predpokladajte (pokiaľ nie je uvedené ináč), že L, L1, L2 atď. sú ľubovoľné jazyky a h je ľubovoľný homomorfizmus. Zjednotenie značíme u, prienik ^, doplnok C, a reverz R. Nerovnosť značíme !=.

  1. Definujme jazyk L nasledovne:
    L={ap | p je prvočíslo}
    Zostrojte frázovú gramatiku G takú, že L(G)=L. Neformálne zdôvodnite jej správnosť.
  2. Definujme jazyk L nasledovne:
    L={az | z je zložené číslo}
    Zostrojte frázovú gramatiku G takú, že L(G)=L. Formálne dokážte jej správnosť.
  3. Definujme jazyk L nasledovne:
    L={w | w patrí do {a,b}* a zároveň neplatí že #a(w)=#b(w)}
    Zostrojte zásobníkový automat A taký, že L(A)=L. Formálne dokážte jeho správnosť.
  4. Definujme jazyk L nasledovne:
    L={w | w patrí do {a,b}*, w=wR}
    Zostrojte zásobníkový automat A taký, že L(A)=L. Formálne dokážte jeho správnosť.
  5. Definujme jazyk L nasledovne:
    L={w | w patrí do {a,b}*, w!=wR}
    Zostrojte zásobníkový automat A taký, že L(A)=L. Formálne dokážte jeho správnosť.
  6. Daný je zásobníkový automat A, ktorý akceptuje akceptačným stavom. Daný je konečný automat AK. Zostrojte zásobníkový automat A', pre ktorý platí:
    L(A')=L(A) ^ L(AK)

    Vaša konštrukcia má byť všeobecná, t.j. má fungovať pre ľubovoľné automaty A a AK. Súčasťou riešenia má byť formálny dôkaz správnosti vašej konštrukcie.

  7. Dané sú zásobníkové automaty A1, A2, ktoré akceptujú akceptačným stavom. Zostrojte zásobníkový automat A', pre ktorý platí:
    L(A')=L(A1) u L(A2)

    Vaša konštrukcia má byť všeobecná, t.j. má fungovať pre ľubovoľné automaty A1 a A2. Súčasťou riešenia má byť formálny dôkaz správnosti vašej konštrukcie.

  8. Daný je zásobníkový automat A, ktorý akceptuje akceptačným stavom. Daný je homomorfizmus h. Zostrojte zásobníkový automat A', pre ktorý platí:
    L(A')=h(L(A))

    Vaša konštrukcia má byť všeobecná, t.j. má fungovať pre ľubovoľný automat A a ľubovoľný homomorfizmus h. Súčasťou riešenia má byť formálny dôkaz správnosti vašej konštrukcie.

  9. Daný je zásobníkový automat A, ktorý akceptuje akceptačným stavom. Daný je homomorfizmus h. Zostrojte zásobníkový automat A', pre ktorý platí:
    L(A')=h-1(L(A))

    Vaša konštrukcia má byť všeobecná, t.j. má fungovať pre ľubovoľný automat A a ľubovoľný homomorfizmus h. Súčasťou riešenia má byť formálny dôkaz správnosti vašej konštrukcie.

  10. Definujme jazyk L nasledovne:
    L={w | w patrí do {a,b}*, #a(w)=#b(w)}
    Dokážte, že jazyk L nie je regulárny. (Hint: použite pumpovaciu lemu.)
  11. Definujme jazyk L nasledovne:
    L={a2n | n>=0, n je celé číslo}
    Dokážte, že jazyk L nie je regulárny. (Hint: použite pumpovaciu lemu.)