You are on page 1of 9

Sveučilište u Zagrebu

Fakultet organizacije i informatike

Esej br. 32: Konačni automati

U Varaždinu, 28. 11. 2014. Mateo Kiđemet, Gxx


SADRŽAJ:

1. Uvod ..................................................................................................................................................... 1

2. Konačni automati ............................................................................................................................... 2

3. Zaključak ............................................................................................................................................. 6

LITERATURA: .......................................................................................................................................... 7

I
1. Uvod

U ovom seminarskom radu upoznat ćemo se sa konačnim automatima. Konačni automati


uz sebe vežu određene pojmove, tako da će biti ukratko i opisani pojmovi koji su vezani uz
konačne automate. Po završetku objašnjavanja konačnih automata, opisat ćemo deterministički
konačni automat. Kada se upoznamo sa determinističkim konačnim automatom, navest ćemo
jedan primjer, te taj isti primjer prikazati shematski. Na kraju ćemo spomenuti u kojim granama
se konačni automati koriste te kratki zaključak ovog seminarskog rada.

1
2. Konačni automati

Konačni automati se još nazivaju i konačni stroj i automat konačnih stanja. To je diskretni
matematički model koji se sastoji od konačnog broja stanja, prijelaza između tih stanja i akcija
koje obavlja. (Wikipedija, 2014)

Stanje je jedinstvena konfiguracija programa ili stroja. Stanje ovisi o tome da li je automat
konačni automat, potisnuti automat ili može biti i Turingov stroj. Stanje se može definirati još
kao poseban skup instrukcija koje će se izvršiti u ovisnosti o ulazu stroja. (Wikipedia, 2014)
Stanja mogu biti:

 PODUDARNA STANJA – to su stanja konačnog automata koje se ne sukobljavaju ni


za koje ulazne vrijednosti. Zbog ziga, svaku ulaz oba stanja moraju dati isti izlaz, oba
stanja moraju imati isto sljedebeničko stanje ili se oba ne smiju promijeniti.
(Wikipedia, 2014)
 ISTOUVJETNA STANJA – su stanja u konačnom automatu koja za svaki ulazni
slijed daju isti izlazni slijed. (Wikipedia, 2014)
 RAZLIKOVNA STANJA – to su stanja u konačnom automatu za koja postoji jedan
ulazni slijed koji uzrokuje različite izlazne slijedove. (Wikipedia, 2014)

Stanje je konfiguracija koja sprema informacije o prošlosti, dok prijelaz indicira promjenu stanja
i opisan je uvjetom koji treba biti zadovoljen da bi se prijelaz omogućio. Akcija je opis aktivnosti
koja treba biti obavljena u danom trenutku. (Wikipedija, 2014)

Tipovi akcija: (Wikipedija, 2014)

 AKCIJA ULASKA - izvrši akciju za vrijeme ulaska u stanje,


 AKCIJA IZLAZA - izvrši akciju za vrijeme izlaska iz stanja,
 ULAZNA AKCIJA - izvrši akciju ovisno o trenutnom stanju i ulaznim uvjetima,
 PRIJELAZNA AKCIJA - izvrši akciju dok se obavlja određeni prijelaz.

Konačni automati su automati koji su predstavljeni tablicom prijelaza. Tablica prijelaza:

2
Trenutno Stanje A Stanje B Stanje C
stanje/uvjet
Uvjet X ..... ..... .....
Uvjet Y .... Stanje C .....
Uvjet Z .... .... ....
Tabela 1: Tablica prijelaza (Wikipedija, 2014)

Konačni automat je uređena petorka, prema jednoj od definicija: (Wikipedija, 2014)

𝑀 = ( , 𝑆, 𝑠0 , 𝛿, 𝐹)

Pojašnjenje uređene petorke:

– konačni skup stanja, tj. ulazna abeceda

𝑆 – konačan neprazan skup stanja

𝑠0 – početno stanje elementa S

𝛿– funkcija prijelaza

𝐹 – skup konačnih stanja.

DETERMINISTIČKI KONAČNI AUTOMATI

Deterministički konačni automat ili skraćenica DKA se koristi u leksičkoj analizi skoro
svih jezičnih procesora. Deterministički konačni automat je automat koji se sastoji od konačnog
stanja i funkcije prijelaza. Stanje smo definirali već ranije, a funkcija prijelaza je određena
znakom na ulazu u stanje u kojem se nalazi automat. Samo jedan prijelaz postoji za pojedino
stanje i pojedini znak. Stanje kojim automat započinje rad je početno stanje. Ukoliko
deterministički konačni automat nakon pročitanih svih znakova niza 𝑥 prijeđe u jedno od
završnih stanja, niz 𝑥 se prihvaća, u protivnome se ne prihvaća. Deterministički konačni automat
isto prikazujemo dijagramom stanja ili tablicom prijelaza. (Puljić, 2013/2014)

3
Formula za deterministički konačni automat je: (Korenčić, 2014)

𝐴 = ( , 𝑄, 𝜕, 𝑞0 , 𝐹)

Pojašnjenje:

– abeceda

𝑄 – skup stanja

𝑞0 – početno stanje

𝐹 – skup završnih stanja

𝜕 – parcijalna funkcija prijelaza 𝜕: 𝑄 𝑋 →𝑄.

PRIMJER KONAČNOG AUTOMATA

Primjer determinističkog konačnog automata M nad binarnom abecedom koji određuje sadrži
li ulazni niz paran broj znamenki 0. 𝑀 = ( , 𝑆, 𝑠0 , 𝛿, 𝐹), gdje je: (Wikipedija, 2014)

𝑆 = {𝑆1 , 𝑆2 }

 = {0,1}

𝑠 = 𝑆1

𝐴 = {𝑆1 }

𝑇 je definiran tablicom prijelaza:

0 1
𝑺𝟏 𝑆2 𝑆1
𝑺𝟐 𝑆1 𝑆2

4
Rješenje dijagrama stanja za M, prikazano shematski:

Slika 1: Dijagram stanja za M (Wikipedija, 2014)

Stanje 𝑆1 predstavlja događaj koji kažeda se u ulaznom nizu dosad pojavio paran broj broja 0.
Stanje 𝑆2 predstavlja događaj da se pojavio neparan broj broja 0. Broj 1 u ulaznom nisz ne
mijenja stanje automata. Kada se završi čitanje ulaznog niza, trenutno stanje će pokazati da li je
ulazni niz sadržavao paran broj broja 0 ili neparan broj broja 0. (Wikipedija, 2014)

PRIMJENA KONAČNIH AUTOMATA

Primjenu konačnih automata možemo pronaći na raznim mjestima. Konačni automati


upotrebljavaju se u:

 Elektrotehnici
 Lingvistici
 Filozofiji
 Biologiji
 Matematici
 Infomatici

5
3. Zaključak

Konačni automati su automati koje još možemo pronači pod pojmovima konačni stroj i
automat konačnih stanja. To je diskretni matematički model koji se sastoji od konačnog broja
stanja, prijelaza između tih stanja i akcija koje obavlja. Za stanja postoje određene tablice koje su
zadane. Konačni automati su upotrebljivi različitim granama, poput: elektrotehnike, lingvistike,
filozofije, biologije, matematike, informatike, itd.

Važno je napomenuti da postoji više definicija, tj. formula konačnog automata. U ovom
seminarskom radu, izdvojio sam jednu formulu za konačni automat, te jednu za deterministički
konačni automat.

6
LITERATURA:

1. Korenčić, D. (2014). Algoritmi i tehnike za minimizaciju konačnih automata. U K. Damir, Algoritmi


i tehnike za minimizaciju konačnih automata (str. 2). Zagreb: Institut Ruder Bosković.

2. Puljić, K. (2013/2014). Interpretacija programa.

3. Wikipedia. (2. 8 2014). Preuzeto 28. 11 2014 iz Stanje:


http://hr.wikipedia.org/wiki/Stanje_(ra%C4%8Dunarstvo)

4. Wikipedija. (11. 3 2013). Preuzeto 26. 11 2014 iz Deterministički konačni automat:


http://hr.wikipedia.org/wiki/Deterministi%C4%8Dki_kona%C4%8Dni_automat

5. Wikipedija. (5. 5 2014). Preuzeto 27. 11 2014 iz Konačni automat:


http://hr.wikipedia.org/wiki/Kona%C4%8Dni_automat

You might also like