[ pearljam @ 22.01.2004. 15:15 ] @
Interesuje me da li neko zna da li postoji neki postupak tj. algoritam za
crtanje konacnog automata ako je zadan tip nizova koje on prihvata.
Kada sam nekada citao jednu knjigu o teoriji kompajlera (jedna od oblasti
primene konacnih automata) cini mi se da sam tu video trazeni algoritam, ali nisam siguran. A i ta knjiga mi vise nije dostupna.
Recimo treba da resim zadatak sledeceg tipa:
Naci konacni automat koji prepoznaje sve neprazne nizove nad skupom{a,b} takve da svaki od njih:
ne sadrzi tacno dva "a" i sadrzi vise od dva "b".

Inace svi su zadaci tog tipa samo se razlikuju u stringu koji prihvataju (skup je uvek {a,b}). Pokusao sam da ih resim "nabadanjem" i nekad uspe a nekad ne, a uz to oduzima mnogo vremena pa me zato zanima da li neko zna bolji nacin. Inace vreme je bitan faktor jer mi to treba za ispit iz diskretne matematike :)

[ filmil @ 22.01.2004. 16:46 ] @
Citat:
Interesuje me da li neko zna da li postoji neki postupak tj.
algoritam za crtanje konacnog automata ako je zadan tip nizova koje on
prihvata.


Da, takav algoritam postoji, i predstavlja srce programa kao što su lex
i yacc ili recimo sed. Opisan je detaljno u „Dragon booku“ (Aho, Sethi,
Ullman; Compilers: principles, techniques and tools). U grubim crtama
(pošto se finih detalja ne sećam) svodi se na pravljenje
nedeterminističkog konačnog automata na osnovu nekoliko šablona (kojima
odgovaraju konstrukcije iz regularnih izraza, na primer), zatim
konverzije u deterministički konačni automat i onda optimizacije stanja.

f
[ pearljam @ 22.01.2004. 17:27 ] @
Hvala na informaciji. U skorijoj buducnosti imam nameru da kupim "Dragon Book" kao i "Big Brown Book", ali posto mi taj algoritam(i detaljno objasnjenje) treba sto pre da li mozda neko zna da li se o tome moze naci nesto na netu, ili mozda ima negde da se skine ilegalno "Dragon Book" sa neta (mada sumnjam) :)
[ filmil @ 22.01.2004. 19:07 ] @
Evo glednuo sam u knjigu. Stvar se zove Thompson's set
decomposition
, a ono što ti treba nalazi se ovde:
http://www.cs.utsa.edu/~danlo/teaching/cs5363/week4.pdf

f