Upload
arnon
View
73
Download
1
Embed Size (px)
DESCRIPTION
Uvod u teoriju računarstva http://www.zemris.fer.hr/ predmeti / utr /. Zadaci za vje žbu Priprema za međuispit Fakultet elektrotehnike i računarstva Sveučilište u Zagrebu. Zadatak br. 18. Zadanu gramatiku pretvoriti u Chomskyev oblik. Chomskyev oblik produkcija: A BC i A d - PowerPoint PPT Presentation
Citation preview
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva1 od 46
Uvod u teoriju računarstva
http://www.zemris.fer.hr/predmeti/utr/
Zadaci za vježbuPriprema za međuispit
Fakultet elektrotehnike i računarstva
Sveučilište u Zagrebu
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva2 od 46
• Zadanu gramatiku pretvoriti u Chomskyev oblik.
Zadatak br. 18
S0S1 A1B0 B1BA CB0
S0SBS ASB BSA CA
S1C0 A0 B1 C
Chomskyev oblik produkcija: ABC i Ad
Postupak pretvorbe u Chomskyev oblik:a) Izbacivanje jediničnih i produkcija
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od
jednog znaka na desnoj strani zamijene se nezavršnim znakovima
koji su zamjene za te završne znakove
c) Produkcije koje s desne strane imaju više od dva znaka razbijaju se
u podprodukcije
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva3 od 46
a) Izbacivanje jediničnih i produkcija.
Zadatak br. 18
S0S1 A1B0 B1BA CB0
S0SBS ASB BSA CA
S1C0 A0 B1 C
S0S1 A1B0 B1BA CB0
S0SBS ASB BSA C1B0
S1C0 A0 B1 CSB
S10 C0
Izbacuju se produkcije: CA i C
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva4 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
J1
N0
S10
CSBB1A0S1C0
C1B0BSAASBS0SBS
CB0B1BAA1B0S0S1
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva5 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0S1C0
C1B0BSAASBS0SBS
CB0B1BAA1B0S0S1
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva6 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0S1C0
C1B0BSAASBS0SBS
CB0B1BAA1B0S0S1
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva7 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0S1C0
C1B0BSAASBS0SBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva8 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0S1C0
C1B0BSAASBS0SBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva9 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0S1C0
C1B0BSAASBSNSBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva10 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0S1C0
C1B0BSAASBSNSBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva11 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva12 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
S10
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva13 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva14 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAA1B0SNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva15 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva16 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva17 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva18 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0B1BAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva19 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0BJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva20 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0BJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva21 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0BJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva22 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CB0BJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva23 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva24 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
C1B0BSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva25 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva26 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva27 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva28 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva29 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva30 od 46
b) Završni znakovi koji se nalaze u produkcijama koje imaju više od jednog znaka na desnoj strani zamijene se nezavršnim znakovima koji su zamjene za te završne znakove
Zadatak br. 18
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva31 od 46
c) Produkcije koje s desne strane imaju više od dva znaka razbijaju se u podprodukcije
Zadatak br. 18
SJN
CSBB1A0SJCN
CJBNBSAASBSNSBS
CBNBJBAAJBNSNSJ
J1
N0
SND1
D1SJ
SND2
D2SD3
D3BS
SJD4
D4CN
AJD5
D5BN
BJD6
D6BA
CJD5
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva32 od 46
• Pokazati nejednoznačnost zadane gramatike.
Zadatak br. 19
1) SaSbS2) SbSaS3) S
Nejednoznačnost se pokazuje generiranjem niza abab na dva ili
više načina zamjenom krajne lijevog (desnog) nezavršnog znaka
Prvi način generiranja niza:
Drugi način generiranja niza:
S 1 aSbS 3 abS 1 abaSbS 3 ababS 3 abab
S 1 aSbS 2 abSaSbS 3 abaSbS 3 ababS 3 abab
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva33 od 46
0a4____ b
Zadatak br. 20• Za zadanu gramatiku napisan je LR
parser. Pomoću LR parsera parsirati ulazni niz aabb.
a b A B
0 s4 s5 r2 1 2
1 prihvati
2 s4 s5 r2 3 2
3 r1
4 s4 s5 6
5 r4 r4 r4
6 r3 r3
• Konfiguracija LR parsera prikazuje se stanjem na stogu i nepročitanim dijelom ulaznog niza
0a4 abb
0a4a4b5 b
bb0a4a4
0a4B6 b
0a4a4__ b
0B2b5 b0B2
0B2B2A3 0B2B2
0A1 0B2A3
STOG ULAZ
prihvati
0 aabb
• Parser je LR jer se niz čita s lijeva na desno, a generiranje niza se vrši zamjenom krajnje desnog nezavršnog znaka:
• A→BA→BBA→BB→Bb→aBb→aaBb→aabb
ABA (1)A (2) Bb (4)
BaB (3)
0a4a4B6 b
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva34 od 46
• Konstruirati gramatiku koja generira nizove oblika aibjckdjei pri čemu su i, j, k 1.
Zadatak br. 21
• Simetrični nizovi• Tip gramatike = ?• Kontekstno-neovisna gramatika• Produkcije gramatike istovremeno generiraju
• a i e• b i d
S aAe AaAe BbBd CcC
AbBd BcC C
a i b j c k d j e i
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva35 od 46
• M=({q0,q1},{0,1},{P,N,J},,q0,P,)
• q0 pamti ulazne znakove
• N i J kodiraju 0 i 1
• q1 skida znakove sa stoga
• Potisni automat prihvaća praznim stogom• Potisni automat prihvaća prazni niz• Nije deterministički!
• Nederministički prijelaz se primjenjuje kada se uzastopce ponovi isti ulazni znak
Zadatak br. 22
• Konstruirati potisni automat koji prihvaća jezik
L={wwR | w(0+1)*}.
(q0,0,P)=(q0,NP) (q0,0,N)={(q0,NN),(q1,)} (q1,0,N)=(q1,)
(q0,1,J)={(q0,JJ),(q1,)}
(q0,1,N)=(q0,JN)
(q0,0,J)=(q0,NJ)
(q1,1,J)=(q1,)
(q1,,P)=(q1,)
(q0,1,P)=(q0,JP)
(q0,,P)=(q0,)
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva36 od 46
Nastavak zad. 22 (q0, 001100, P)
(q0, 01100, NP) (q1, 001100, )
(q0, 1100, NNP) (q1, 1100, P)
(q1, 1100, ) (q0, 100, JNNP)
(q1, 00, NNP)
(q1, 0, NP)
(q1, , P)
(q1, , )
Prihvati niz
(q0, 00, JJNNP)
(q0, 0, NJJNNP)
(q0, , NNJJNNP) (q0, , JJNNP)
(q0,0,P)=(q0,NP)
(q0,0,N)={(q0,NN),(q1,)}
(q1,0,N)=(q1,)
(q0,1,J)={(q0,JJ),(q1,)}
(q0,1,N)=(q0,JN)
(q0,0,J)=(q0,NJ)
(q1,1,J)=(q1,)
(q1,,P)=(q1,)
(q0,1,P)=(q0,JP)
(q0,,P)=(q0,)
(1)
(2)
(5)
(6)
(7)
(8)
(9)
(10)
(3)
(4)
(1) (10)
(5)
(3) (9)
(6)
(4)
(5)
(7)
(7)
(9)
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva37 od 46
• Iz potisnog automata M1 koji nizove prihvaća prihvatljivim stanjem konstruirati potisni automat M2 koji nizove prihvaća praznim stogom.
Zadatak br. 23
(q0,0,K)=(q0,NK) (q0,0,N)=(q0,NN) (q0,0,J)=(q0,)
(q0,1,K)=(q0,JK) (q0,1,N)=(q0,) (q0,1,J)=(q0,JJ)
(q0,2,K)=(q0,K) (q0,2,N)=(q0,N) (q0,2,J)=(q0,J)
(q0,,K)=(q1,K)
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, {q1} )
Postupak konstrukcije PA M2 koji prihvaća praznim stogom:
a) PA M2 simulira rad PA M1
b) Ako PA M1 uđe u prihvatljivo stanje, PA M2 isprazni stog
c) Ako PA M1 isprazni stog, a ne uđe u prihvatljivo stanje,
PA M2 ne smije isprazniti stog
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva38 od 46
Zadatak br. 23
Postupak konstrukcije PA M2 koji prihvaća praznim stogom:
a) PA M2 simulira rad PA M1
’(q0,0,K)=(q0,NK) ’(q0,0,N)=(q0,NN) ’(q0,0,J)=(q0,)
’(q0,1,K)=(q0,JK) ’(q0,1,N)=(q0,) ’(q0,1,J)=(q0,JJ)
’(q0,2,K)=(q0,K) ’(q0,2,N)=(q0,N) ’(q0,2,J)=(q0,J)
’(q0,,K)=(q1,K)
Svi prijelazi PA M1 dodaju se u skup prijelaza PA M2
(q0,0,K)=(q0,NK) (q0,0,N)=(q0,NN) (q0,0,J)=(q0,)
(q0,1,K)=(q0,JK) (q0,1,N)=(q0,) (q0,1,J)=(q0,JJ)
(q0,2,K)=(q0,K) (q0,2,N)=(q0,N) (q0,2,J)=(q0,J)
(q0,,K)=(q1,K)
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, {q1} )
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva39 od 46
Zadatak br. 23
Postupak konstrukcije PA M2 koji prihvaća praznim stogom:
b) Ako PA M1 uđe u prihvatljivo stanje, PA M2 isprazni stog
Skup stanja PA M2 proširuje se stanjem qE u kojem PA M2 prazni stog
bez čitanja ulaznih znakova
PA M2 prelazi u stanje qE bez čitanja ulaznih znakova samo ako PA M1
uđe u prihvatljivo stanje
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, {q1} )
’(qE,,K)=(qE,)’(q1,,K)=(qE,)
’(qE,,J)=(qE,)’(q1,,J)=(qE,)
’(qE,,N)=(qE,)’(q1,,N)=(qE,)
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva40 od 46
Zadatak br. 23
Postupak konstrukcije PA M2 koji prihvaća praznim stogom:
c) Ako PA M1 isprazni stog, a ne uđe u prihvatljivo stanje,
PA M2 ne smije isprazniti stog
’(qP,,Z)=(q0,KZ)
Skup znakova stoga PA M2 proširuje se znakom Z kojeg PA M1
ne može skinuti sa stoga
Znak Z je početni znak stoga za PA M2
Skup stanja PA M2 proširuje se stanjem qP koje omogućuje
prelazak PA M2 u početnu konfiguraciju PA M1
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, {q1} )
M2 = ( {qP,q0,q1,qE}, {0,1,2}, {N,J,K,Z}, qP, ’, Z, )
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva41 od 46
Zadatak br. 23
PA M2 koji prihvaća praznim stogom:
’(q0,0,K)=(q0,NK) ’(q0,0,N)=(q0,NN) ’(q0,0,J)=(q0,)
’(q0,1,K)=(q0,JK) ’(q0,1,N)=(q0,) ’(q0,1,J)=(q0,JJ)
’(q0,2,K)=(q0,K) ’(q0,2,N)=(q0,N) ’(q0,2,J)=(q0,J)
’(q0,,K)=(q1,K)
’(qP,,Z)=(q0,KZ)
’(qE,,K)=(qE,)’(q1,,K)=(qE,)
’(qE,,J)=(qE,)’(q1,,J)=(qE,)
’(qE,,N)=(qE,)’(q1,,N)=(qE,)
’(qE,,Z)=(qE,)’(q1,,Z)=(qE,)
M2 = ( {qP,q0,q1,qE}, {0,1,2}, {N,J,K,Z}, qP, ’, Z, )
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva42 od 46
• Iz potisnog automata M1 koji nizove prihvaća praznim stogom konstruirati potisni automat M2 koji nizove prihvaća prihvatljivim stanjem.
Zadatak br. 24
(q0,0,K)=(q0,NK) (q0,0,J)=(q0,NJ) (q0,0,N)=(q0,NN) (q1,0,N)=(q1,)
(q0,1,K)=(q0,JK) (q0,1,J)=(q0,JJ) (q0,1,N)=(q0,JN) (q1,1,J)=(q1,)
(q0,2,K)=(q1,) (q0,2,J)=(q1,J) (q0,2,N)=(q1,N) (q1,,K)=(q1,)
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, )
Postupak konstrukcije PA M2 koji prihvaća prihvatljivim stanjem:
a) PA M2 simulira rad PA M1
b) Ako PA M1 isprazni stog, PA M2 ulazi u prihvatljivo stanje
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva43 od 46
Zadatak br. 24
Postupak konstrukcije PA M2 koji prihvaća prihvatljivim stanjem:
a) PA M2 simulira rad PA M1
Svi prijelazi PA M1 dodaju se u skup prijelaza PA M2
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, )
(q0,0,K)=(q0,NK) (q0,0,J)=(q0,NJ) (q0,0,N)=(q0,NN) (q1,0,N)=(q1,)
(q0,1,K)=(q0,JK) (q0,1,J)=(q0,JJ) (q0,1,N)=(q0,JN) (q1,1,J)=(q1,)
(q0,2,K)=(q1,) (q0,2,J)=(q1,J) (q0,2,N)=(q1,N) (q1,,K)=(q1,)
’(q0,0,K)=(q0,NK) ’(q0,0,J)=(q0,NJ) ’(q0,0,N)=(q0,NN) ’(q1,0,N)=(q1,)
’(q0,1,K)=(q0,JK) ’(q0,1,J)=(q0,JJ) ’(q0,1,N)=(q0,JN) ’(q1,1,J)=(q1,)
’(q0,2,K)=(q1,) ’(q0,2,J)=(q1,J) ’(q0,2,N)=(q1,N) ’(q1,,K)=(q1,)
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva44 od 46
Zadatak br. 24
Postupak konstrukcije PA M2 koji prihvaća prihvatljivim stanjem:
b) Ako PA M1 isprazni stog, PA M2 ulazi u prihvatljivo stanje
Skup stanja PA M2 proširuje se prihvatljivim stanjem qF u koje PA M2 ulazi
bez čitanja ulaznih znakova samo ako PA M1 isprazni stog
Skup znakova stoga PA M2 proširuje se znakom Z koji je početni znak stoga
Ako se na vrhu stoga PA M2 nalazi znak Z, to znači da je PA M1
ispraznio stog
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, )
’(q1,,Z)=(qF,Z)
’(q0,,Z)=(qF,Z)
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva45 od 46
Zadatak br. 24
Postupak konstrukcije PA M2 koji prihvaća prihvatljivim stanjem:
b) Ako PA M1 isprazni stog, PA M2 ulazi u prihvatljivo stanje
Skup stanja PA M2 proširuje se stanjem qP koje omogućuje prelazak PA M2
u početnu konfiguraciju PA M1
’(qP,,Z)=(q0,KZ)
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, )
M2 = ( {qP,q0,q1,qF}, {0,1,2}, {N,J,K,Z}, qP, ’, Z, {qF} )
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva46 od 46
Zadatak br. 24
PA M2 koji prihvaća prihvatljivim stanjem:
’(qP,,Z)=(q0,KZ)
M2 = ( {qP,q0,q1,qF}, {0,1,2}, {N,J,K,Z}, qP, ’, Z, {qF} )
’(q0,0,K)=(q0,NK) ’(q0,0,J)=(q0,NJ) ’(q0,0,N)=(q0,NN) ’(q1,0,N)=(q1,)
’(q0,1,K)=(q0,JK) ’(q0,1,J)=(q0,JJ) ’(q0,1,N)=(q0,JN) ’(q1,1,J)=(q1,)
’(q0,2,K)=(q1,) ’(q0,2,J)=(q1,J) ’(q0,2,N)=(q1,N) ’(q1,,K)=(q1,)
’(q1,,Z)=(qF,Z)
’(q0,,Z)=(qF,Z)