Kona ni automati
Sponsored Links
This presentation is the property of its rightful owner.
1 / 20

Konačni automati PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

Konačni automati. Popović Ognjenka. Konačni automati se mogu shvatiti kao Tjuringove mašine koje ne poseduju memoriju, odnosno trake u koje bi se mogli smestiti pomoćni i izlazni podaci.

Download Presentation

Konačni automati

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Konačniautomati

Popović Ognjenka


  • Konačni automati se mogu shvatiti kao Tjuringove mašine koje ne poseduju memoriju, odnosno trake u koje bi se mogli smestiti pomoćni i izlazni podaci.

  • Konačni automati mogu jedino menjati svoja stanja u zavisnosti od ulaznih podataka, tako da samo zaustavljanjem u nekom od unapred izdvojenih stanja signaliziraju da li te podatke prihvataju ili ne.


  • Konačni automati se uprkos ovakvim ograničenjima koriste u praksi, recimo u modulima za leksičku analizu prevodilaca programskih jezika, gde vrše izdvajanje leksičkih celina, poput brojeva i imena iz izvornog zapisa programa.


Def: Konačni automat

  • Konačni automat je uređena petorka M=(S, s, F, A, ∂), gde su:

  • S – konačan skup stanja

  • s Є S početno stanje

  • F – skup završnih stanja

  • A – alfabet

  • ∂ : S х A → S funkcija prelaza koja svakom paru koji se sastoji od stanja q Є S i znaka a Є A pridružuje neko stanje q’ Є S.


  • Rad konačnog automata intuitivno se shvata na sledeći način: na početku rada, automat se nalazi u stanju s. Zatim se učita znak sa ulaza i prelazi u stanje definisano funkcijom ∂. Postupak se ponavlja tako što se čita znak po znak i menjaju stanja, sve dok se ne stigne do kraja ulaza. Pošto se neki znak učita i dovede do eventualne promene stanja, konačni automat se na njega više ne vraća. Zato je za opis situacije u kojoj se nalazi konačni automat dovoljno opisati tekuće stanje, i preostali, još nepročitani deo ulazne reči.


  • Kao i u slučaju Tjuringovih mašina, ovaj opis se naziva konfiguracija.

  • Konfiguracija je uređeni par (q, w), gde je q Є S stanje, i w Є A* reč na alfabetu A.

  • Računski korak je svaki par konfiguracija ( q, w ), ( q’, w’) gde je w = aw’, a Є A i ∂( q, a) = q’.

  • Izračunavanje je niz konfiguracija sa osobinom da svake dve uzastopne konfiguracije čine računski korak.


  • Sa ( q, w) ı–M (p, u) ćemo označiti da postoji izračunavanje automata M čiji je prvi element konfiguracija ( q, w) a poslednji (p, u).

  • Konačni automat M = (S, s, F, A, ∂) prihvata reč w Є A*, ako za neko završno stanje q Є F važi ( s, w ) ı–M ( q, ε).

  • L(M) će označavati jezik, tj skup svih reči koje prihvata konačni automat M.


  • Primer: neka je konačni automat M = [ {q0, q1} , q0, {q0}, {a, b}, ∂] gde je funkcija ∂ definisana sa ∂(q0, a)=q0, ∂(q0, b)=q1, ∂(q1, a)=q1, ∂(q1, b)=q0.

  • Jezik L(M) je skup svih reči koje sadrže paran broj pojava znaka b. Na primer, izračunavanje koje odgovara (q0, aabba) ı–M ( q0, ε) je niz konfiguracije (q0, aabba), (q0, abba), (q0, bba), (q1, ba), (q0, a), ( q0, ε), pa M prihvata reč aabba


  • Konačni automati se prikazuju i pomoću dijagrama, direktnih grafova čiji su čvorovi označeni stanjima, a ivice znacima alfabeta. Postojanje ivice označene sa b koja ide od čvora označenog stanjem q0 ka čvoru označenom sa q1 znači da u odgovarajućem konačnom automatu ∂(q0, b)=q1.

  • Na slici 1 je dat dijagram koji prikazuje prethodno opisani konačni automat. Ponekad se, kao na slici, završna stanja ističu time što su zaokružena.


Slika 1dijagram za konačni automat iz predhodnog primera


  • Slično nedeterminističkim Tjuringovim mašinama, postoje i nedeterministički konačni automati koji se od do sada razmatranih, determinističkih, razlikuju po tome što funkcija ∂ : S x A→ P(S) svakom paru (q, a) Є S x A pridružuje neki podskup skupa svih stanja. Ideja ovog pristupa je da se iz tekućeg stanja q kada se učita znak a, prelazi u jedno od stanja sadržanih u ∂(q, a). Pri tome se ne precizira koje je to naredno stanje.


  • I nedeterministički konačni automati se mogu opisati dijagramom , ali sada iz jednog čvora može izlaziti više ivica označenih istim znakom, koje vode u različite čvorove.

  • U slučaju determinističkih konačnih automata, ulazna reč je jedinstveno određivala stanje do koga se dolazi od početnog stanja. Kod nedeterminističkih konačnih automata to nije slučaj, ali se prihvatanje reči definiše analogno.


  • Nedeterministički konačni automat prihvata reč w Є A*, ako za neko završno stanje q Є F postoji bar jedan niz konfiguracija koje predstavljaju izračunavanje za koje je poslednji član oblika (q, ε).

  • Iako je naizgled pojam nedeterminističkog konačnog automata opštiji od determinističkog, pokazuje se da to nije tako.


  • Def: dva konačna automata M1 i M2 su ekvivalentna ako je L(M1)=L(M2).

  • Teorema: Jezik L je prihvaćen nekim nedeterminističkim konačnim automatom ako i samo ako je prihvaćen nekim determinističkim konačnim automatom.

  • Dokaz:neka je M = (S, s, F, A, ∂) nedeterministički konačni automat. Konstruisan je njemu ekvivalentan konačni automat M’ = (S’, s’, F’, A, ∂’) gde su S’=P(S) partitivni skup skupa S, s’={s}, F’={q’ Є S’ : q’ F ≠0} I ∂’({q1,…qn}, a) = Uni=1 ∂(qi, a).

U


  • Jasno je da je M’ deterministički konačni automat. Sa (q1....qn) s, w, M označimo da su q1....qn sva stanja do kojih se radom nedeterminističkog automata M može doći ya ulaznu reč w. Indukcijom po dužini reči w se lako pokazuje da je (q1....qn) s, w, M ako i samo ako ({s}, w) ı–M’ ({q1.....qn}, ε). Za praznu reč tvrđenje trivijalno važi. Neka je i dalje w=ua, aЄA. Prema indukcijskoj pretpostavci {p1.....pj}s, u, M ako i samo ako ({s}, u) ı–M’ ({p1.....pj}, ε). Dalje je (q1....qn) s, w, M = Uji=1 ∂(pi, a), što je upravo definicija za ∂’ ({p1.....pj}, a), pa je tvrdjenje dokazano .


  • Sada neposredno sledi da za svaku reč w, wЄL(M) ako i samo ako w Є L(M’), jer za reč w postoji izračunavanje automata M koje dovodi do nekog završnog stanja q ako i samo ako izvršavanje automata M’ za w dovodi do stanja koje sadrži q, a koje je završno stanje za M.

  • Ova jednakost se koristi kad god je u nekoj situaciji pogodno raditi sa jednom ili drugom vrstom automata, a da dokazano važi za sve konačne automate.


Odnos regularnih jezika i konačnih automata

  • Sledeća teorema dovodi u vezu gramatike tipa 3 i konačne automate i zapravo znači da je jezik L regularan ako i samo ako postoji konačni automat M takav da je L=L(M).


  • Teorema: Za svaku gramatiku G tipa 3 postoji konačni automat M takav da je L(G)=L(M) i obrnuto, za svaki konačni automat M postoji gramatika G tipa 3 takva da je L(M)=L(G).

  • Dokaz: (→) neka je gramatika G=(Vn, Vt, P, S0). Definisaćemo nedeterministički konačni automat M=(S, S0, F, Vt, ∂) gde su:

  • S=Vn U {Q}, gde Q ЄVn U Vt

  • F={Q}, akoεЄ L(G), a akoεЄ L(G), F={Q, S0}

  • Q Є ∂(B, a) ako je B→aЄ P

  • C Є ∂(B, a) ako je B→aCЄ P

  • ∂(Q, a)=0


  • Sada se lakovidida u gramatici G S0→a1A1→….. →a1…an-1An-1 →a1 …an-1an akoisamoakopostoji izračunavanje tako da je (S0, a1 …an-1an ) ı–M (Q, ε). Dakle, L(G)=L(M).

  • (←) neka je sada M = (S, s, F, A, ∂) deterministički konačni automat. Definisaćemo gramatiku G = (S, A, P, s) tako da je:

  • B→aC Є P ako je ∂(B, a)=C Є F i

  • B→a Є P ako je ∂(B, a) Є F

    odakle se lako pokazuje da (s, w) ı–M (q, ε) za neko q Є F ako i samo ako s→*G w.

    Dakle, L(M)=L(G).


  • Login