teorija algoritama, automata [2pt] i jezika [2pt]nasport.pmf.ni.ac.rs/materijali/2260/p03-automati...

16
TEORIJA ALGORITAMA, AUTOMATA I JEZIKA Automati bez izlaza Jelena Ignjatovi´ c 1 Uvod Logika i teorija skupova

Upload: vannga

Post on 19-Aug-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

TEORIJA ALGORITAMA, AUTOMATA

I JEZIKA

Automati bez izlaza

Jelena Ignjatovic

1 Uvod Logika i teorija skupova

Page 2: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

AUTOMATI

Apstraktne masine

Masine za obradu informacija transformisu ulazne signale u izlaze. Uglavnom se, kada je o ovimmasinama rec, za njih vezuju dva alfabeta: ulazni alfabet za komunikaciju sa masinom i izlaznialfabet za dobijanje odgovora. Na primer, masina prihvata, na ulazu, recenice na engleskomjeziku, a izlazi su odgovarajuce recenice na ruskom.

Postoje, medutim, masine za obradu informacija koje reci procesiraju na drugi nacin i o njimace biti reci u ovoj glavi. Kod ovakvih masina svaka rec ulaznog alfabeta uzrokuje jedan od dvaizlazna signala: ”da” ili ”ne”. Kaze se da masina prihvata ulazne reci koje dovode do izlaza ”da”i da odbija one koje uzrokuju izlaz ”ne”. Na taj nacin ulazni alfabet se deli na dva disjunktnapodskupa:

podskup ”da” koji se naziva jezik raspoznatljiv (prihvacen) ovom masinom i

podskup ”ne” jezik koji masina ne raspoznaje (ne prihvata).

Nas zadatak je da izgradimo matematicke modele ovih masina koji bi cinili posebnu klasu i kojecemo nazivati deterministicki konacni automati.

Konacan deterministricki automat je jednostavan, apstraktan matematicki model masine.

Intuitivno, automat cita ulaznu rec slovo po slovo, po jedno slovo u diskretnoj jedinici vremena, iposto je ulaz potpuno procitan odlucuje o tome da li da ga prihvati ili odbije.

2 Uvod Logika i teorija skupova

Page 3: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Automati bez izlaza

Inicijalno stanje

Princip rada ovog automata je sledeci:Na pocetku rada, automat se nalazi u jednom stanju a0 , koje nazivamo inicijalno stanje.

Inicijalno stanje graficki oznacavati ulazecom strelicom na sledeci nacin:

a0

Funkcija prelaza

Prelaz iz jednog stanja u drugo, pod uticajem nekog ulaznog slova, odreden je funkcijom prelaza.

Najprirodniji nacin za predstavljanje automata je njihovo zadavanje pomocu grafova prelaza.

Graf prelaza automata je oznacen, usmereni graf ciji su cvorovi stanja automata, a oznake granasu slova ulaznog alfabeta.

Iz stanja a ∈ A, pod uticajem ulaznog simbola x ∈ X, automat prelazi u stanje b, pri cemu grafprelaza ima granu (a, b) koja je oznacena sa x.

ba

x

3 Uvod Logika i teorija skupova

Page 4: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Finalna stanja

Pored fiksiranja inicijalnog stanja a0 ∈ A, unapred cemo fiksirati i skup stanja T (τA ⊆ A), kojinazivamo skup finalnih stanja (zavrsnih stanja ili terminalnih stanja).

Zavrsna stanja oznacavacemo graficki duplim kruzicima, na sledeci nacin:

a

A = (A, a0,X, δ,T)

Formalno se deterministicki konacan automat moze definisati kao uredena cetvorka

A = (A, a0,X, δA ,T) (ili A = (A,X, δA, a0, τ

A)) u kojoj je

A – konacan, neprazan skup stanja;

δA : A × X→ A – funkcija prelaza;

a0 – inicijalno stanje;

T ⊆ A (ili τA ⊆ A) – neprazan skup zavrsnih (finalnih) stanja.

Kako je δA funkcija iz A×X u A, to postoji tacno jedno stanje b ∈ A tako da je b = δA(a, x), odnosnopostoji tacno jedno stanje u koje se sa x prelazi iz a.

4 Uvod Logika i teorija skupova

Page 5: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Tablica prelaza automata

Konacni automati se, takode, mogu predstavljati takozvanim tablicama prelaza.Tablica prelaza automata A = (A, a0 ,X, δ

A,T) je pravougaona tablica sa vrstama koje odgovarajusvakom ulaznom simbolu i kolonama koje odgovaraju stanjima.Na mestu u tablici koje odgovara vrsti odredenoj ulaznim slovom x ∈ X i koloni odredenoj stanjema ∈ A upisuje se stanje δA(a, x).

A . . . a . . .

.

.

....

x . . . δA(a, x) . . .

.

.

....

Komentar

Automat prelazi iz stanja u stanje citajuci rec ulaznog alfabeta, slovo po slovo.

Dakle, rad automata se ne sastoji samo u jednom prelazu iz stanja u stanje, pod uticajem jednogulaznog signala, vec iz niza uzastopnih prelaza, pod dejstvom niza uzastopnih ulaznih signala.

5 Uvod Logika i teorija skupova

Page 6: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Komentar

Zato je prirodno funkciju prelaza δA prosirti uvodenjem preslikavanja koje stanje a ∈ A, poduticajem niza ulaznih simbola u = x1x2 · · · xn ∈ X∗, vodi u stanje b ∈ A. Kako ne postoji opas-nost od zabune, prosirenu funkciju prelaza, koja je jednoznacno odredena funkcijom prelaza,oznacavacemo na isti nacin sa δA.

Ako je ulazna rec u ∈ X∗ predstavljena u obliku u = x1x2 · · · xn, gde su x1, x2, . . . , xn ∈ X slovaulaznog alfabeta, i ako su a, b ∈ A i

δA(a, x1) = a1, δA(a1, x2) = a2, . . . , δ

A(an−1 , xn) = b,

onda kazemo da automat A pod uticajem ulazne reci u prelazi iz stanja a u stanje b preko nizamedustanja a1 , a2 , . . . , an−1 . U tom slucaju je b = δA(a, u) i to se graficki moze predstaviti sa

. . .a a1 a2 an−1 b

x1 x2 xn

Prosirena funkcija prelaza

Dakle, funkciju prelaza δA sa domena A × X prosirujemo na domen A × X∗, pri cemu se funkcijaprelaza δA : A × X∗ → A induktivno definise na sledeci nacin:

6 Uvod Logika i teorija skupova

Page 7: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Prosirena funkcija prelaza

(1) Za stanje a ∈ A i praznu rec e ∈ X∗ je δA(a, e) = a;

(2) Za stanje a ∈ A i ulazno slovo x ∈ X je prosirena funkcija prelaza jednaka funkciji prelazaδA(a, x);

(3) Za stanje a ∈ A, svaku rec u ∈ X∗ i svako slovo x ∈ X, ako je definisano δA(a, u), vazi

δA(a, ux) = δA(δA(a, u), x).

Drugim recima, ova definicija kaze sledece:

– Znacenje uslova (1) je da se, kada na ulaz automata dode prazna ulazna rec (prazansignal), u automatu nista ne desava.

Dakle, prazna ulazna rec nema nikakav efekat na rad automata.

– Uslov (2) kaze da se prosirenje funkcije prelaza poklapa sa funkcijom prelaza na skupuA × X.

– Konacno, uslov (3) kaze da, ako ulazna rec u prevodi automat iz stanja a u stanjeb = δA(a, u) i ako ulazno slovo x prevodi automat iz stanja b u stanje c = δA(b, x), ondaulazna rec ux prevodi automat iz stanja a u stanje c, odnosno c = δA(a, ux).

Za proizvoljne reci u, v ∈ X∗ se jednostavno, indukcijom po duzini reci v, pokazuje da vazi

δA(a, uv) = δA(δA(a, u), v).

7 Uvod Logika i teorija skupova

Page 8: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Prosirena funkcija prelaza

Neka je dat automat A = (A, a0,X, δA ,T), gde je

A = {a, b, c}, X = {x, x′, x′′},

i funkcija prelaza je definisane sa:

δ(a, x) = δ(b, x) = δ(b, x′) = δ(b, x′′) = δ(c, x′′) = c,

δ(a, x′) = δ(a, x′′) = δ(c, x) = b, δ(c, x′) = a

Tablica prelaza automata A je data sa:

A a b c

x c c b

x′ b c a

x′′ b c c

8 Uvod Logika i teorija skupova

Page 9: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Prosirena funkcija prelaza

Graf prelaza je dat sa

ba

c

x′ x′′

x

x′

M

x

x′′

gde je M = {x, x′, x′′}.

9 Uvod Logika i teorija skupova

Page 10: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Dostizna stanja automata

Za stanje a automata A = (A, a0 ,X, δA,T) kazemo da je dostizno stanje ako postoji rec u ∈ X∗ takva

da je δA(a0 , u) = a.

U protivnom, a ∈ A je nedostizno stanje.

Jasno je da je stanje a ∈ A dostizno ako se do njega moze stici iz inicijalnog stanja, odnosno, ako ugrafu prelaza automata postoji put iz inicijalnog stanja a0 u stanje a.

Automat cija su sva stanja dostizna naziva se dostizan automat.

Dostizan deo automata

Dostizan deo datog automata A = (A, a0 ,X, δA,T) definise se kao automat A d

= (Ad, a0,X, δd,Td)

(ili Ad = (Ad,X, δAd , a0 , τ

Ad )) gde je:

Ad je skup svih dostiznih stanja automata A;

δd : Ad × X∗ → Ad je restrikcija preslikavanja δ na Ad × X∗;

a0 ∈ Ad, jer je inicijalno stanje automata uvek je dostizno;

Td= T ∩ Ad, tj. Td je skup svih dostiznih zavrsnih stanja od A.

10 Uvod Logika i teorija skupova

Page 11: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Konacni deterministicki automati

Dostizni podautomat automata

Za proizvoljne a ∈ Ad i v ∈ X∗ imamo da je a = δA(a0 , u) = δd(a0 , u), za neku rec u ∈ X∗, pa je

δA(a, v) = δA(δd(a0 ,u), v) = δA(a0 ,uv) = δd(a0 ,uv),

sto znaci da je δA(a, v) ∈ Ad. Dakle, δd slika Ad × X∗ u Ad, te je opravdana prethodna definicija

automata A d. Jasno je da je dostizni deo automata je dostizan automat.

Komentar

Koja je svrha razmatranja dostiznog dela automata?

Kako svaki automat pocinje svoj rad iz inicijalnog stanja, u daljem radu ce se uvek nalaziti udostiznom stanju.

Prema tome, nedostizna stanja ni na koji nacin ne uticu na rad automata.

Zbog toga ih mozemo slobodno odbaciti, zajedno sa prelazima koji polaze iz njih ili se zavrsavajuu njima.

Odbacivanjem nedostiznih stanja nista ne menjamo u radu automata, a pri tome automat pojed-nostavljujemo, smanjujuci mu broj stanja.

Efektivan postupak za nalazenje dostiznog dela A d automata A predstavicemo algoritmom zanalazenje stabla prelaza datog automata.

11 Uvod Logika i teorija skupova

Page 12: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Dostizni deo automata

ALGORITAM: Stablo prelaza automata

Ulaz ovog algoritma je automat A = (A, a0,X, δA,T). Postupak se sastoji u konstrukciji stabla

prelaza automata A . Stablo se konstruise induktivno, na sledeci nacin:

(A1) Koren stabla je a0 , i mi stavljamo T0 = {a0}.

(A2) Nakon i-tog koraka neka je konstruisano stablo Ti, i neka su cvorovi u Ti oznaceno ili sa’zatvoren’ ili sa ’nezatvoren’. Znacenje ova dva izraza bice razjasnjeno u nastavku.

(A3) U narednom koraku konstruisemo stablo Ti+1 dogradivanjem stabla Ti na sledeci nacin: zasvaki nezatvoren list a koji se pojavljuje u Ti i svako x ∈ X, mi dodajemo cvor δA(a, x) igranu iz a u δA(a, x) oznacenu sa x. Istovremeno, proveravamo da li je stanje δA(a, x) nekostanje koje je vec dobijeno i ako je to tacno, onda kazemo da je ovaj cvor ’zatvoren’ ioznacavamo ga sa �. Postupak se zavrsava kada svi listovi budu oznaceni kao zatvoreni.

(A4) Kada je stablo prelaza konstruisano, njegovi unutrasnji cvorovi odgovaraju dostiznimstanjima automata.

Primer:

Neka je automat A dat sledecim grafom:

12 Uvod Logika i teorija skupova

Page 13: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Dostizni deo automata

Primer:

a0 a2

a1 a3

yx yx

x

y

x

yPrimenom prethodnog algoritma dobijamo stablo izvodenja automata A :

a0

a0

a1

a0

a1

x y

x y

13 Uvod Logika i teorija skupova

Page 14: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Dostizni deo automata

Primer:(nastavak)

Dostizna stanja ovog automata su a0 i a1 , jer je

a0 = δA(a0 , e) i a1 = δ

A(a0 , y)

Stanja a2 i a3 su nedostizna, jer je ocigledno da se ni do jednog od njih ne moze stici iz inicijalnog

stanja a0. Dostizni deo A d ima samo dva stanja i moze se predstaviti na sledeci nacin:

a0

a1

yx

x

y

Prepoznavanje reci

Kao sto smo videli, automat prelazi iz stanja u stanje citajuci rec ulaznog alfabeta, slovo po slovo.

14 Uvod Logika i teorija skupova

Page 15: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Raspoznavanje jezika automatom

Prepoznavanje reci

U zavisnosti od toga da li se posle toga automat nasao u stanju koje pripada datom skupuzavrsnih stanja ili ne, on prihvata(prepoznaje, raspoznaje), odnosno ne prihvata (ne prepoznaje,ne raspoznaje) tu rec.

Raspoznatljivost regularnih jezika

Oznacimo sa L(A) (ili [[A ]]) skup svih reci ulaznog alfabeta koje su prihvacene konacnim deter-ministickim automatom A . Skup L(A) (ili [[A ]]) naziva se jezik automata A (ili jezik raspoznatljivautomatom A ). Tada kazemo da automat A raspoznaje jezik L(A). Formalno L(A) definisemo sa

L(A) = [[A ]] = {u ∈ X∗ | δA(a0 ,u) ∈ T}.

To cemo graficki predstaviti sa:

. . .a0 a1 a2 an−1 b

x1 x2 xn

Teorema

Za proizvoljan automat A = (A, a0 ,X, δA,T) i njegov dostizni deo A d je L(A) = L(Ad).

15 Uvod Logika i teorija skupova

Page 16: TEORIJA ALGORITAMA, AUTOMATA [2pt] I JEZIKA [2pt]nasport.pmf.ni.ac.rs/materijali/2260/P03-AUTOMATI BEZ IZLAZA.pdf · Najprirodniji nacˇin za predstavljanjeautomata je njihovo zadavanje

Raspoznavanje jezika automatom

Dokaz:

Za proizvoljnu rec u ∈ L(Ad) postoji stanje a ∈ Ad tako da je δd(a0, u) = a ∈ Td.

Dakle, δA(a0 ,u) = a ∈ T sto znaci da je u ∈ L(A), pa vazi L(Ad) ⊆ L(A).

Obratno, neka je u ∈ L(A). To znaci da je δA(a0 ,u) = a ∈ T, i jasno je da stanje a i sva medustanja uprelazu iz a0 u a pod dejstvom ulazne reci u jesu dostizna stanja.

Prema tome, δd(a0 , u) = δA(a0 , u) = a ∈ T∩Ad= Td, odakle sledi da rec u ∈ L(Ad), odnosno da vazi

L(A) ⊆ L(Ad).

Prema tome, L(A) = L(Ad).

16 Uvod Logika i teorija skupova