Istorija kljuc za okruzno takmicenje za 6. razred 2022
OIR11-L3.pptx
1. 11.3. Načini predstavljanja konačnih automata
Za opis funkcija prelaza i izlaza se može koristiti više različitih načina.
U zavisnosti od svrhe za koju se koriste, konačni automati se mogu
predstaviti preko:
• tablica prelaza i izlaza,
• grafova,
• različitih vrsta matrica ili
• sistemima prekidačkih funkcija.
Ovi opisi su potrebni zbog tačne analize ili sinteze konačnih
automata. Više načina zadavanja postoji zbog toga što su jedni
pogodni za jedne, a drugi za druge svrhe, tj. za rešenje problema
analize i sinteze u jednim slučajevima pogodniji su jedni a u drugim
drugi načini zadavanja automata.
2. 11.3. Načini predstavljanja konačnih automata
11.3.1 Predstavljanje automata tablicama prelaza i izlaza
Tablica prelaza je tabela kod koje oznake kolona predstavljaju stanja
konačnog automata, oznake vrsta predstavljaju simboli ulazne
azbuke, a element na poziciji (i,j) predstavlja stanje u koje se prelazi
iz stanja koje odgovara koloni j kada se na ulazu pojavi simbol koji
odgovara vrsti i.
Tablica izlaza je tabela koja ima iste vrste i kolone kao tabela
prelaza. Element tabele izlaza je simbol izlazne azbuke koji se
generiše na izlazu kada je automat u stanju koje odgovara koloni j, a
na ulazu se pojavi simbol koji odgovara vrsti i. Umesto tablicama
prelaza i izlaza, konačni automat se može predstaviti jedinstvenom
tablicom prelaza/izlaza čiji su elementi parovi
novo_stanje/izlazni_simbol.
3. 11.3. Načini predstavljanja konačnih automata
14.4.2024.
11.3.1 Predstavljanje automata tablicama prelaza i izlaza
U tabelama a), b) i c) dati su primeri tablice prelaza, tablice izlaza i
tablice prelaza/izlaza za A={a,b}, Z={0,1,2}, Q={q1,q2,q3}.
4. 11.3. Načini predstavljanja konačnih automata
11.3.1 Predstavljanje konačnih automata tablicama prelaza i izlaza
Kako kod Murovog automata izlazni simbol zavisi samo od stanja
automata u datom trenutku, a ne i od ulaznog simbola za njegovo
predstavljanje dovoljno je dati samo tzv. modifikovanu tablicu prelaza
koja predstavlja tablicu prelaza kojoj je dodata vrsta u koju se
upisuju izlazni simboli koji odgovaraju datom stanju.
Npr. za A={a,b}, Z={0,1,2}, Q={q1,q2,q3} modifikovana tablica prelaza
može izgledati na način prikazan u tabeli:
5. 11.3. Načini predstavljanja konačnih automata
11.3.2 Predstavljanje konačnih automata pomoću grafova
Funkcije prelaza i izlaza se mogu predstaviti i orijentisanim grafovima
tj. grafovima prelaza automata. Automat Milijevog tipa predstavlja se
orijentisanim grafom kod koga čvorovi odgovaraju stanjima konačnog
automata, poteg (grana) između čvorova qi i qj postoji ukoliko u grafu
postoji prelaz iz stanja qi u stanje qj. Oznaka potega predstavlja uniju
parova ulazni_simbol/izlazni_simbol takvih da ulazni_simbol prevodi
automat iz stanja qi u stanje qj i pri tome se generiše izlazni_simbol.
Na slici je dat graf Milijevog automata koji je predstavljen
odgovarajućom tablicom prelaza/izlaza.
6. 11.3. Načini predstavljanja konačnih automata
11.3.2 Predstavljanje konačnih automata pomoću grafova
Kod Murovog automata oznaka čvora je par
stanje_automata/izlazni_simbol jer izlazni simboli zavise samo od
stanja dok se u oznakama grana nalaze samo unije ulaznih simbola
koji prevode automat iz stanja qi u stanje qj. Na slici je dat graf
Murovog automata predstavljen modifikovanom tablicom
prelaza/izlaza.
7. 11.3. Načini predstavljanja konačnih automata
11.3.3 Predstavljanje konačnih automata pomoću matrica
Korišćenje matrica, kao načina predstavljanja konačnih automata,
omogućava da se formalizuje niz operacija koji se na grafu automata
može obaviti vizuelno. U slučaju kad se te operacije ne mogu obaviti
vizuelno ili je graf automata toliko složen da je to nemoguće izvesti,
matrice imaju prednost u zadavanju automata. Takođe, uz pomoć
matrica je lakše izvršiti minimizaciju stanja automata.
Matrica prelaza prve vrste (matrica veza) je matrica čije dimenzije
odgovaraju broju stanja konačnog automata, a vrste i kolone
odgovaraju stanjima automata. Element na poziciji (i,j) predstavlja uniju
ulaznih simbola koji prevode automat iz stanja qi u stanje qj.
8. 11.3. Načini predstavljanja konačnih automata
11.3.3 Predstavljanje konačnih automata pomoću matrica
Matrica prelaza/izlaza prve vrste (M) je matrica kod koje broj vrsta i
kolona odgovaraju broju stanja konačnog automata, a element na
poziciji (i,j) predstavlja uniju parova ulazni_simbol/izlazni_simbol takvih
da ulazni_simbol prevodi automat iz stanja qi u stanje qj i pri tome se
generiše izlazni_simbol. Na slici su za graf iz prethodnog primera
prikazane a) matrica prelaza i b) matrica prelaza/izlaza prve vrste.
9. 11.3. Načini predstavljanja konačnih automata
11.3.3 Predstavljanje konačnih automata pomoću matrica
Drugi način matričnog zadavanja automata predstavljaju matrice
prelaza druge vrste. One opisuju raspodelu prelaza za svaki ulazni
simbol posebno. Slično se definišu i matrice izlaza. Ove matrice
omogućavaju da se određenim postupkom za zadato početno stanje i
dovedenu ulaznu reč u određenom vremenskom trenutku t odrede
stanje i izlazni simbol u tom trenutku.
Matrica prelaza druge vrste je matrica koja se kreira za svaki ulazni
simbol. Za izlazni simbol al ima oznaku T(al). Ova matrica ima broj
vrsta i kolona koji odgovaraju broju stanja automata. Element na
poziciji (i,j) u ovoj matrici definisan je na sledeći način:
10. 11.3. Načini predstavljanja konačnih automata
11.3.3 Predstavljanje konačnih automata pomoću matrica
Matrica izlaza druge vrste Milijevog automata kreira se za svaki
izlazni simbol, i za izlazni simbol al ima oznaku Y(al) dok kod Murovog
automata postoji samo jedna takva matrica.
Kod Milijevog automata ova matrica ima broj vrsta jednak broju stanja
automata, dok je broj kolona jednak broju izlaznih simbola. Element na
poziciji (i,j) u ovoj matrici definisan je na sledeći način:
11. 11.3. Načini predstavljanja konačnih automata
11.3.3 Predstavljanje konačnih automata pomoću matrica
Na slikama su za graf sa slike iz prethodnog primera prikazane matrice
prelaza i matrice izlaza druge vrste.
12. 11.3. Načini predstavljanja konačnih automata
11.3.3 Predstavljanje konačnih automata pomoću matrica
Za svako stanje automata qi definiše se vektor stanja Q čiji su
elementi:
Slično, za svaki izlazni simbol automata zi definiše se vektor izlaza Z
čiji su elementi:
Na osnovu ova dva vektora može se odrediti stanje nakon primene
ulaznog simbola a(t), na osnovu Q(t)=Q(t-1)T(a(t)). Slično, izlazni
simbol na osnovu matrice izlaza druge vrste se u slučaju Milijevog
automata određuje preko Z(t)=Q(t-1)Y(a(t)), a u slučaju Murovog
automata preko Z(t)=Q(t-1)Y. Ovim je omogućeno da se za zadato
početno stanje i dovedenu ulaznu reč u određenom vremenskom
trenutku t odrede stanje i izlazni simbol u tom trenutku.
13. 11.3. Načini predstavljanja konačnih automata
11.3.4 Predstavljanje konačnih automata pomoću prekidačkih
funkcija
Ako se simboli ulazne azbuke, izlazne azbuke i azbuke stanja
automata binarno kodiraju tj. simbol bilo koje azbuke predstavi
vektorom vrednosti prekidačkih nezavisno promenljivih, tada se
funkcija prelaza može opisati sistemom prekidačkih funkcija prelaza, a
funkcija izlaza sistemom prekidačkih funkcija izlaza.
Postupak preslikavanja funkcija prelaza i izlaza u sistem prekidačkih
funkcija prelaza, odnosno izlaza odvija se na sledeći način: simboli
azbuke A se kodiraju binarnim rečima dužine l, simboli azbuke Z se
kodiraju binarnim rečima dužine m, a simboli azbuke Q se kodiraju
binarnim rečima dužine n.
14. 11.3. Načini predstavljanja konačnih automata
11.3.4 Predstavljanje konačnih automata pomoću prekidačkih
funkcija
Funkcijama fq i fz odgovaraju sistemi prekidačkih funkcija f i g. Funkcija
prelaza konačnog automata se sada opisuje sistemom prekidačkih funkcija na
sledeći način:
Funkcija izlaza se opisuje sistemom prekidačkih funkcija izlaza i u slučaju
Milijevog automata ima sledeći oblik:
U slučaju Murovog automata funkcija prelaza ima isti oblik kao i za Milijev
automat dok sistem funkcija izlaza ima sledeći oblik:
15. 11.3. Načini predstavljanja konačnih automata
11.3.4 Predstavljanje konačnih automata pomoću prekidačkih
funkcija
Za predstavljanje funkcija prelaza, kao i funkcije izlaza konačnog
automata se može koristiti bilo koji način za predstavljanje prekidačkih
funkcija:
tablica istinitosti, vektor istinitosti, skupovi decimalnih indeksa vektora,
decimalni indeks funkcije, analitičke forme (PKNF, PDNP, PPNF, KP),
Karnoove mape, itd.
16. 11.3. Načini predstavljanja konačnih automata
11.3.4 Predstavljanje konačnih automata pomoću prekidačkih
funkcija
Primer: Konačni automat zadat grafom iz predhodnih
primera predstaviti prekidačkim funkcijama.
Korak 1. Iskodiraćemo najpre ulaznu azbuku i azbuku stanja binarnom
azbukom. Pošto ulazna azbuka sadrži 2 simbola (a i b), kodne reči za
njihovo kodiranje će biti dužine 1 ( log2 2 = 1 ), tj. biće nam potrebna 1
ulazna promenljiva.
17. 11.3. Načini predstavljanja konačnih automata
11.3.4 Predstavljanje konačnih automata pomoću prekidačkih
funkcija
Azbuka stranja sadrži 3 simbola (q1, q2 i q3), pa je za njeno kodiranje dovoljno
koristiti kodne reči dužine 2 ( log2 3 = 2), pa ćemo koristiti 2 promenljive za
predstavljanje stanja automata. Jedan od mogućih načina za kodiranje azbuke
stanja prikazan je u tabeli.
Na sličan način kodiraćemo i azbuku izlaza, što je i prikazano u tabeli.
18. 11.3. Načini predstavljanja konačnih automata
11.3.4 Predstavljanje konačnih automata pomoću prekidačkih
funkcija
Korak 2. U skladu sa uvedenim kodiranjem u prethodnom koraku, funkcije
stanja i funkcije izlaza konačnog automata iz primera, prikazane su tablicom
istinitosti u tabeli.
19. 11.3. Načini predstavljanja konačnih automata
Primer 2: Automat za prodaju prodaje bombone za 15 dinara. Automat prima
metalne novčiće od 5 i 10 dinara. Kada je suma ubačenog novca veća ili
jednaka 15 dinara automat nudi bombonu i ako postoji vraća kusur. Nakon
toga, automat čeka sledeću mušteriju. Odrediti i nacrtati tablicu prelaza
automata.
Iz teksta primera možemo zaključiti da na ulazu automata može da se javi
novčić od 5 dinara, novčić od 10 dinara ili nijedan od ta dva. Tako, za
predstavljanje simbola ulazne azbuke koristimo dva bita x1x2 i to tako da x1=1
predstavlja ubacivanje novčića od 10 dinara, a x2=1 predstavlja ubacivanje
novčića od 5 dinara i ako su oba jednaka 0 nije ubačen nijedan od ta dva
novčića.
20. 11.3. Načini predstavljanja konačnih automata
Sa druge strane, automat se može naći u sledećim mogućim stanjima:
početno stanje Q1 kad još nije ništa ubačeno, stanje Q2 koje označava da je
ubačeno je 5 dinara i stanje Q3 koje označava da je ubačeno je 10 dinara.
Ako je automat u stanju koje označava da je ubačeno 10 dinara i na ulazu se
nađe novčić od 5 dinara automat treba da izbaci bombonu i vrati se u početno
stanje. U slučaju da se automat nalazi u stanju koje označava da je ubačeno
10 dinara i na ulazu se nađe novčić od 10 dinara automat treba izbaci da
bombonu i kusur (od 5 dinara) i vrati se u početno stanje. Da li će se na izlazu
naći bombona, bombona i kusur ili ništa od toga predstavićemo
odgovarajućim binarnim vrednostima izlaza automata.
Tako će z1=1 označavati da na izlazu treba da se nađe bombona, z2=1 da na
izlazu treba da se nađe kusur. Ako su z1=1 i z2=1 treba da se nađe i bombona
i kusur i ako su z1=0 i z2=0 na izlazu nema ničega.
21. 11.3. Načini predstavljanja konačnih automata
Na osnovu prethodnog tablica prelaza/izlaza za ovako opisan automat data u
tabeli.
Za vežbu (domaći), predstavite dati automat grafom i sistemom prekidačkih
funkcija.