Ask Your Question
1

Vlastnosti KA vytvoreneho z RV - metoda derivaci

asked 2014-12-29 11:19:42 +0100

Lukas Nagy gravatar image

Chcel by som sa opytat ako je to s vlastnostami KA vytvoreneho pomocou metody derivacii? V poznamkach z cviceni som si nasiel ze je vzdy DKA, moze byt aj minimalny (nie vsak obecne pre kazdy). V definicii sa zase nic o jeho vlastnostiach nehovori (len ze na vystupe z algoritmu je KA). V rozstreloch na otazku co vznike po metode derivacii je za spravnu odpoved oznacene aj minimalny KA (zdroj je fit-wiki takze spravnost neni 100%).

Vedel by mi niekto dat na toto jednoznacnu odpoved?

edit retag flag offensive close delete

Comments

1

Vždy ti vznikne DKA, to je jasné. S minimálností by to mělo být imho tak, že když se ti korektně podaří zjistit všechny "podobnosti" při derivovaných výrazech (tedy každý výraz, který ti vznikne upravíš na nějaký, který již máš - pokud to jde), tak vznikne minimální. Víc k tomu nevím.

Jan Rubín ( 2014-12-29 12:45:29 +0100 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2014-12-29 22:12:00 +0100

Tomas Pecka gravatar image

updated 2014-12-29 22:25:50 +0100

Minimální DKA vznikne pouze pokud rozpoznáš při derivování všechny ekvivalentní regulární výrazy.

Pokud v algoritmu dostaneš dva ekvivalentní regulární výrazy, a ty nevíš, zda jsou ekvivalentní, pak se v automatu vytvoří dva stavy, jejichž pravý jazyk bude stejný, tudíž tyto dva stavy budou ve stejné třídě ekvivalence a automat tak nebude minimální (snad jsem to napsal dobře :) ).

Problém, zda dva RV popisují stejný jazyk není algoritmicky vůbec lehký: musíš je oba převést na mDKA a pak porovnat tyto automaty, zda přijímají stejný jazyk. Proto se v praxi toto v Brzozowského metodě derivací většinou nedělá, ale kontrolují jen na tzv. podobnost, což není nic jiného, než aplikace pár základních axiomů (BI-AAG 2014, př. 4, slajd 4/28), pomocí kterých možná o ekvivalenci budeš moci rozhodnout.

edit flag offensive delete publish link more

Comments

Jasne, takze podobnostou vyrazov si mozem pomoct na to, aby som zistil ci $ h(x)=h(y) $ Z niektorych to pojde po upravach ale istotu mam len z mDKA pre kazdy ten RV ktory porovnavam. Kazdopadne ako by ste sa postavili k tej otazke, co je vysledkom metody derivacii? Ja to chapem tak, ze ten vysledny KA musi mat pre kazdy pripad garantovane vlastnosti a tam mDKA obecne nepatri.

Lukas Nagy ( 2014-12-29 23:00:34 +0100 )edit

No, vyjde DFA. Vezmi si ten algoritmus ze slajdů a aby byl výsledný automat deterministický, pak: 1. Automat musí mít právě jeden počáteční stav: Splněno, protože počáteční stav odpovídá původnímu regulárnímu výrazu. 2. |\delta(q, a)| <= 1. Splněno - pro každý regulární výraz (odpovídající stavu automatu) a jeden symbol abecedy vznikne derivací jeden regulární výraz, který bude odpovídat zase jen jednomu stavu - vytvořím tedy jen jeden přechod pro každou dvojici (q \in Q, a \in T). Podle \varepsilon nederivuju, takže epsilon přechody nebudou. (Pokud bych chtěl, můžu samozřejmě z derivace dostat dva ekvivalentní RV a k nim tedy přiřadit 2 stavy a do každého tedy natáhnout hranu. Výsledný automat pak nebude ani minimální ani deterministický. Tohle ale není v algoritmu, jen tu spekuluju.)

Tomas Pecka ( 2014-12-30 11:35:23 +0100 )edit

Jasne, rozumim ze DFA bude vzdy, ak sa dodrzi algoritmus a nebudem si tam pridavat dalsie veci. Narazam na to, ze na fit-wiki je mDFA oznacene ako spravna odpoved v rozstrele a chcel som sa presvedcit o tom, ze to spravne nema byt.

Lukas Nagy ( 2014-12-30 13:17:25 +0100 )edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

Add answer

[hide preview]

Question tools

Follow
1 follower

Stats

Asked: 2014-12-29 11:19:42 +0100

Seen: 298 times

Last updated: Dec 29 '14