Tvorba zásobníkového automatu
Ahoj,
poradil by mi někdo, jestli mám tento zásobníkový automat dobře navržený? Dělám ho pomocí přijmutí koncovým stavem a nebyl u zadání výsledek. Zadání:
L = {a^i b^j : i > j >= 0}
Vyšlo mi ZA = ({q,r,f,z},{a,b},{#,A},delta,q,#,{z}), kde delta je:
delta(q,a,#) = (r,#)
delta(r,a,#) = (r,#A)
delta(r,a,A) = (r,AA)
delta(r,b,A) = (f,Eps)
delta(f,b,A) = (f,Eps)
delta(f,b,#) = (z,#)
Rád bych poprosil o kontrolu, zda se takto zásobníkový automat správně zapisuje.
Pokud je ZA vůbec správně, tak bych rád poprosil o nějaké lepší řešení, protože tuším, že toto asi nebude elegantní; popřípadě jaké tam mám chyby, kde byla špatná úvaha apod.
Děkuji mnohokrát za rady a odpovědi.
Nemas nahodou v tych prechodoch $ \delta(f,f,A)=(f,\epsilon) $ a $ \delta(f,f,\#)=(z,\#) $ preklep? f nie je z konecnej vstupnej abecedy. Chyba mi tam i prechod, aby si prijmal slovo $ a^i $
Lukas Nagy ( 2014-12-08 21:28:39 +0100 )editPřeklep jsem tam měl, děkuji. Takhle by to mělo být opravdu tak, jak jsem to myslel.
Jan Rubín ( 2014-12-08 21:37:47 +0100 )edit