Uvod u teoriju raunarstva http www fer unizg

  • Slides: 18
Download presentation
Uvod u teoriju računarstva http: //www. fer. unizg. hr/predmet/utrz/ Zadaci za vježbu Priprema za

Uvod u teoriju računarstva http: //www. fer. unizg. hr/predmet/utrz/ Zadaci za vježbu Priprema za međuispit Fakultet elektrotehnike i računarstva Sveučilište u Zagrebu 1 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 23 • Iz potisnog automata M 1 koji nizove prihvaća prihvatljivim stanjem

Zadatak br. 23 • Iz potisnog automata M 1 koji nizove prihvaća prihvatljivim stanjem konstruirati potisni automat M 2 koji nizove prihvaća praznim stogom. M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, q 0, , K, {q 1} ) (q 0, 0, K)=(q 0, NK) (q 0, 0, N)=(q 0, NN) (q 0, 0, J)=(q 0, ) (q 0, 1, K)=(q 0, JK) (q 0, 1, N)=(q 0, ) (q 0, 1, J)=(q 0, JJ) (q 0, 2, K)=(q 0, K) (q 0, 2, N)=(q 0, N) (q 0, 2, J)=(q 0, J) (q 0, , K)=(q 1, K) Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: a) PA M 2 simulira rad PA M 1 b) Ako PA M 1 uđe u prihvatljivo stanje, PA M 2 isprazni stog c) Ako PA M 1 isprazni stog, a ne uđe u prihvatljivo stanje, PA M 2 ne smije isprazniti stog 2 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 23 Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: a) PA

Zadatak br. 23 Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: a) PA M 2 simulira rad PA M 1 Svi prijelazi PA M 1 dodaju se u skup prijelaza PA M 2 M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, q 0, , K, {q 1} ) (q 0, 0, K)=(q 0, NK) (q 0, 0, N)=(q 0, NN) (q 0, 0, J)=(q 0, ) (q 0, 1, K)=(q 0, JK) (q 0, 1, N)=(q 0, ) (q 0, 1, J)=(q 0, JJ) (q 0, 2, K)=(q 0, K) (q 0, 2, N)=(q 0, N) (q 0, 2, J)=(q 0, J) ’(q 0, 0, K)=(q 0, NK) ’(q 0, 0, N)=(q 0, NN) ’(q 0, 0, J)=(q 0, ) ’(q 0, 1, K)=(q 0, JK) ’(q 0, 1, N)=(q 0, ) ’(q 0, 1, J)=(q 0, JJ) ’(q 0, 2, K)=(q 0, K) ’(q 0, 2, N)=(q 0, N) ’(q 0, 2, J)=(q 0, J) (q 0, , K)=(q 1, K) ’(q 0, , K)=(q 1, K) 3 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 23 Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: b) Ako

Zadatak br. 23 Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: b) Ako PA M 1 uđe u prihvatljivo stanje, PA M 2 isprazni stog Skup stanja PA M 2 proširuje se stanjem q. E u kojem PA M 2 prazni stog bez čitanja ulaznih znakova PA M 2 prelazi u stanje q. E bez čitanja ulaznih znakova samo ako PA M 1 uđe u prihvatljivo stanje M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, q 0, , K, {q 1} ) ’(q 1, , N)=(q. E, ) ’(q. E, , N)=(q. E, ) ’(q 1, , J)=(q. E, ) ’(q. E, , J)=(q. E, ) ’(q 1, , K)=(q. E, ) ’(q. E, , K)=(q. E, ) 4 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 23 Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: c) Ako

Zadatak br. 23 Postupak konstrukcije PA M 2 koji prihvaća praznim stogom: c) Ako PA M 1 isprazni stog, a ne uđe u prihvatljivo stanje, PA M 2 ne smije isprazniti stog Skup znakova stoga PA M 2 proširuje se znakom Z kojeg PA M 1 ne može skinuti sa stoga Znak Z je početni znak stoga za PA M 2 Skup stanja PA M 2 proširuje se stanjem q. P koje omogućuje prelazak PA M 2 u početnu konfiguraciju PA M 1 q 0, , M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, K, M 2 = ( {q. P, q 0, q 1, q. E}, {0, 1, 2}, {N, J, K, Z}, q. P, ’, Z, {q 1} ) ) ’(q. P, , Z)=(q 0, KZ) 5 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 23 PA M 2 koji prihvaća praznim stogom: M 2 = (

Zadatak br. 23 PA M 2 koji prihvaća praznim stogom: M 2 = ( {q. P, q 0, q 1, q. E}, {0, 1, 2}, {N, J, K, Z}, q. P, ’, Z, ) ’(q. P, , Z)=(q 0, KZ) ’(q 0, 0, K)=(q 0, NK) ’(q 0, 0, N)=(q 0, NN) ’(q 0, 0, J)=(q 0, ) ’(q 0, 1, K)=(q 0, JK) ’(q 0, 1, N)=(q 0, ) ’(q 0, 1, J)=(q 0, JJ) ’(q 0, 2, K)=(q 0, K) ’(q 0, 2, N)=(q 0, N) ’(q 0, 2, J)=(q 0, J) ’(q 0, , K)=(q 1, K) ’(q 1, , N)=(q. E, ) ’(q. E, , N)=(q. E, ) ’(q 1, , J)=(q. E, ) ’(q. E, , J)=(q. E, ) ’(q 1, , K)=(q. E, ) ’(q. E, , K)=(q. E, ) ’(q 1, , Z)=(q. E, ) ’(q. E, , Z)=(q. E, ) 6 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 24 • Iz potisnog automata M 1 koji nizove prihvaća praznim stogom

Zadatak br. 24 • Iz potisnog automata M 1 koji nizove prihvaća praznim stogom konstruirati potisni automat M 2 koji nizove prihvaća prihvatljivim stanjem. M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, q 0, , K, ) (q 0, 0, K)=(q 0, NK) (q 0, 0, J)=(q 0, NJ) (q 0, 0, N)=(q 0, NN) (q 1, 0, N)=(q 1, ) (q 0, 1, K)=(q 0, JK) (q 0, 1, J)=(q 0, JJ) (q 0, 1, N)=(q 0, JN) (q 1, 1, J)=(q 1, ) (q 0, 2, K)=(q 1, ) (q 0, 2, J)=(q 1, J) (q 0, 2, N)=(q 1, N) (q 1, , K)=(q 1, ) Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: a) PA M 2 simulira rad PA M 1 b) Ako PA M 1 isprazni stog, PA M 2 ulazi u prihvatljivo stanje 7 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 24 Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: a) PA

Zadatak br. 24 Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: a) PA M 2 simulira rad PA M 1 Svi prijelazi PA M 1 dodaju se u skup prijelaza PA M 2 M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, q 0, , K, ) (q 0, 0, K)=(q 0, NK) (q 0, 0, J)=(q 0, NJ) (q 0, 0, N)=(q 0, NN) (q 1, 0, N)=(q 1, ) (q 0, 1, K)=(q 0, JK) (q 0, 1, J)=(q 0, JJ) (q 0, 1, N)=(q 0, JN) (q 1, 1, J)=(q 1, ) (q 0, 2, K)=(q 1, ) (q 0, 2, J)=(q 1, J) (q 0, 2, N)=(q 1, N) (q 1, , K)=(q 1, ) ’(q 0, 0, K)=(q 0, NK) ’(q 0, 0, J)=(q 0, NJ) ’(q 0, 0, N)=(q 0, NN) ’(q 1, 0, N)=(q 1, ) ’(q 0, 1, K)=(q 0, JK) ’(q 0, 1, J)=(q 0, JJ) ’(q 0, 1, N)=(q 0, JN) ’(q 1, 1, J)=(q 1, ) ’(q 0, 2, K)=(q 1, ) ’(q 0, 2, J)=(q 1, J) ’(q 0, 2, N)=(q 1, N) ’(q 1, , K)=(q 1, ) 8 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 24 Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: b) Ako

Zadatak br. 24 Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: b) Ako PA M 1 isprazni stog, PA M 2 ulazi u prihvatljivo stanje Skup stanja PA M 2 proširuje se prihvatljivim stanjem q. F u koje PA M 2 ulazi bez čitanja ulaznih znakova samo ako PA M 1 isprazni stog Skup znakova stoga PA M 2 proširuje se znakom Z koji je početni znak stoga Ako se na vrhu stoga PA M 2 nalazi znak Z, to znači da je PA M 1 ispraznio stog M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, q 0, , K, ) ’(q 0, , Z)=(q. F, Z) ’(q 1, , Z)=(q. F, Z) 9 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 24 Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: b) Ako

Zadatak br. 24 Postupak konstrukcije PA M 2 koji prihvaća prihvatljivim stanjem: b) Ako PA M 1 isprazni stog, PA M 2 ulazi u prihvatljivo stanje Skup stanja PA M 2 proširuje se stanjem q. P koje omogućuje prelazak PA M 2 u početnu konfiguraciju PA M 1 q 0, , M 1 = ( {q 0, q 1}, {0, 1, 2}, {N, J, K}, K, M 2 = ( {q. P, q 0, q 1, q. F}, {0, 1, 2}, {N, J, K, Z}, q. P, ’, Z, ) {q. F} ) ’(q. P, , Z)=(q 0, KZ) 10 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 24 PA M 2 koji prihvaća prihvatljivim stanjem: M 2 = (

Zadatak br. 24 PA M 2 koji prihvaća prihvatljivim stanjem: M 2 = ( {q. P, q 0, q 1, q. F}, {0, 1, 2}, {N, J, K, Z}, q. P, ’, Z, {q. F} ) ’(q. P, , Z)=(q 0, KZ) ’(q 0, 0, K)=(q 0, NK) ’(q 0, 0, J)=(q 0, NJ) ’(q 0, 0, N)=(q 0, NN) ’(q 1, 0, N)=(q 1, ) ’(q 0, 1, K)=(q 0, JK) ’(q 0, 1, J)=(q 0, JJ) ’(q 0, 1, N)=(q 0, JN) ’(q 1, 1, J)=(q 1, ) ’(q 0, 2, K)=(q 1, ) ’(q 0, 2, J)=(q 1, J) ’(q 0, 2, N)=(q 1, N) ’(q 1, , K)=(q 1, ) ’(q 0, , Z)=(q. F, Z) ’(q 1, , Z)=(q. F, Z) 11 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 25 • Konstruirati potisni automat koji prihvaća nizove koje generira zadana gramatika

Zadatak br. 25 • Konstruirati potisni automat koji prihvaća nizove koje generira zadana gramatika S x. ABy A zw. A A B w. C B v B C v. B C x. A C Pripremni korak: Pretvorba gramatike u Greibachin normalni oblik Prvo se izbace produkcije. S x. ABy A zw. A A B w. C B v B C v. B C x. A C 12 od 18 S x. ABy A zw. A A B w. C B w B v B C v. B C x. A S x. ABy C x. A S x. Ay A zw. A A B w. C B w B v C v. B C v S x. ABy S x. Ay S xy A zw. A A zw B w. C B w B v C v. B C v C x. A C x Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 25 Zamjena završnih znakova koji nisu na prvom mjestu s desne strane

Zadatak br. 25 Zamjena završnih znakova koji nisu na prvom mjestu s desne strane produkcija S x. AByy S x. By y y S x. Ay y S xy A zw. A A zw B w. C B w B v C v. B C v C x. A C x 13 od 18 S x. ABD D y S x. BD S x. AD S x. D w A zw. A w A zw B w. C B w B v C v. B C v C x. A C x S x. ABD D y S x. BD E w S x. AD S x. D A z. EA A z. E B w. C B w B v C v. B C v C x. A C x Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 25 Izgradnja potisnog automata G=(V, T, P, S) S x. ABD S

Zadatak br. 25 Izgradnja potisnog automata G=(V, T, P, S) S x. ABD S x. AD S x. D A z. EA A z. E B w. C B w B v C v. B C v C x. A C x D y E w 14 od 18 M=({q}, , q, S, ) pri tome vrijedi =T, =V te za A b (q, b, A)=(q, ) (q, x, S)={(q, ABD), (q, AD), (q, D)} (q, z, A)={(q, EA), (q, E)} (q, w, B)={(q, C), (q, )} (q, v, B)=(q, ) (q, v, C)={(q, B), (q, )} (q, x, C)={(q, A), (q, )} (q, y, D)=(q, ) (q, w, E)=(q, ) Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 26 • Konstruirati konteksno neovisnu gramatiku koja generira nizove koje prihvaća zadani

Zadatak br. 26 • Konstruirati konteksno neovisnu gramatiku koja generira nizove koje prihvaća zadani potisni automat M. M=( {q 0, q 1}, {a, b, c}, {A, K}, , q 0, K, ) (q 0, b, K)=(q 0, AK) (q 1, , K)=(q 1, ) (q 0, a, A)=(q 1, A) (q 0, b, A)=(q 0, AA) (q 1, c, A)=(q 1, ) Da bi se gramatika mogla konstruirati, potisni automat mora prihvaćati praznim stogom G=(V, T, P, S) pri tome je T= , a V={S} {[qi. Aqj] | qi, qj Q, A } Uvodimo početne produkcije iz početnog nezavršnog znaka S [ q 0 K qi ], qi Q S [ q 0 K q 0 ] S [ q 0 K q 1 ] 15 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 26 Daljnji nezavršni znakovi i produkcije gramatike grade se na temelju prijelaza

Zadatak br. 26 Daljnji nezavršni znakovi i produkcije gramatike grade se na temelju prijelaza potisnog automata i sljedećeg pravila: Za prijelaz (qj, a, X)=(qk, ABC. . . Z) uvode se sljedeći nezavršni znakovi i produkcije: [qj. Xqe] a[qk. Aqf][qf. Bqg][qg. Cqh]. . . [qi. Zqe]. qe, qf, qg, qh, qi Q Ako je |Q|=n i |ABC. . . Z|=m onda iz jednog prijelaza nastaje nm produkcija posebni slučaj ako je m=0: (qj, a, X)=(qk, ) [qj. Xqk] a, a T { } Za prijelaz (q 0, b, K)=(q 0, AK) uvodimo: [q 0 Kq 0] b[q 0 Aq 0][q 0 Kq 0] b[q 0 Aq 1][q 1 Kq 0] [q 0 Kq 1] b[q 0 Aq 0][q 0 Kq 1] b[q 0 Aq 1][q 1 Kq 1] Za prijelaz (q 0, a, A)=(q 1, A) uvodimo: [q 0 Aq 0] a[q 1 Aq 0] [q 0 Aq 1] a[q 1 Aq 1] 16 od 18 Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 26 Za prijelaz (q 0, b, A)=(q 0, AA) uvodimo: [q 0

Zadatak br. 26 Za prijelaz (q 0, b, A)=(q 0, AA) uvodimo: [q 0 Aq 0] b[q 0 Aq 0] b[q 0 Aq 1][q 1 Aq 0] [q 0 Aq 1] b[q 0 Aq 0][q 0 Aq 1] b[q 0 Aq 1][q 1 Aq 1] Za prijelaz (q 1, c, A)=(q 1, ) uvodimo: [q 1 Aq 1] c Za prijelaz (q 1, , K)=(q 1, ) uvodimo: [q 1 Kq 1] Dobivena gramatika: S [q 0 Kq 0] S [q 0 Kq 1] [q 0 Kq 0] b[q 0 Aq 0][q 0 Kq 0] b[q 0 Aq 1][q 1 Kq 0] 17 od 18 [q 0 Aq 0] a[q 1 Aq 0] [q 0 Aq 1] a[q 1 Aq 1] [q 0 Aq 0] b[q 0 Aq 0] b[q 0 Aq 1][q 1 Aq 0] [q 0 Aq 1] b[q 0 Aq 0][q 0 Aq 1] b[q 0 Aq 1][q 1 Aq 1] c [q 1 Kq 1] Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva

Zadatak br. 26 Dobivena gramatika može imati mrtvih i nedohvatljivih nezavršnih znakova. Nakon izbacivanja

Zadatak br. 26 Dobivena gramatika može imati mrtvih i nedohvatljivih nezavršnih znakova. Nakon izbacivanja mrtvih i nedohvatljivih nezavršnih znakova, gramatika sadrži produkcije: S [q 0 Kq 1] b[q 0 Aq 1][q 1 Kq 1] [q 0 Aq 1] b[q 0 Aq 1][q 1 Aq 1] [q 0 Aq 1] a[q 1 Aq 1] c [q 1 Kq 1] Dobivena gramatika je čitljivija ako se izvrši preimenovanje nezavršnih znakova: [q 0 Kq 1] A S A A b. BD B b. BC 18 od 18 [q 0 Aq 1] B [q 1 Aq 1] C [q 1 Kq 1] D B a. C C c D Copyright © 2007 S. Srbljić, D. Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva