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

Konačni automati PowerPoint PPT Presentation


  • 74 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 ni automati

Konačniautomati

Popović Ognjenka


Kona ni automati

  • 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

  • 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

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.


Kona ni automati

  • 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.


Kona ni automati

  • 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.


Kona ni automati

  • 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.


Kona ni automati

  • 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

  • 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 1 dijagram za kona ni automat iz predhodnog primera

Slika 1dijagram za konačni automat iz predhodnog primera


Kona ni automati

  • 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.


Kona ni automati

  • 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.


Kona ni automati

  • 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.


Kona ni automati

  • 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


Kona ni automati

  • 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 .


Kona ni automati

  • 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

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).


Kona ni automati

  • 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


Kona ni automati

  • 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