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 1 od 46 Copyright © 2007 S.Srbljić, D.Škvorc, I.
Download
Report
Transcript 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 1 od 46 Copyright © 2007 S.Srbljić, D.Škvorc, I.
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
1 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
• Zadanu gramatiku pretvoriti u Chomskyev oblik.
S0S1
A1B0
B1BA
CB0
S0SBS ASB
BSA
CA
S1C0
B1
C
A0
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
2 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
a) Izbacivanje jediničnih i produkcija.
S0S1
A1B0
B1BA
CB0
S0SBS ASB
BSA
CA
S1C0
B1
C
A0
Izbacuju se produkcije: CA i C
S0S1
B1BA
CB0
S0SBS ASB
BSA
C1B0
S1C0
B1
CSB
S10
3 od 46
A1B0
A0
C0
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
S0S1
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
4 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
S0S1
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
5 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
S0S1
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
6 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
7 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
8 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
9 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
10 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
11 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
S10
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
12 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
13 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
A1B0
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
14 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
15 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
16 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
17 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
18 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
19 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
20 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
21 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
22 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
23 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
24 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
25 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
26 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
27 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
28 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
29 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
Završni znak “0” zamjenjuje se nezavršnim znakom N.
Završni znak “1” zamjenjuje se nezavršnim znakom J.
30 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 18
c) Produkcije koje s desne strane imaju više od dva znaka
razbijaju se u podprodukcije
SNSJ
AJBN
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
A0
B1
SJN
SND1
D1SJ
SND2
CSB
C0
AJD5
D5BN
BJD6
D6BA
CJD5
D2SD3
D3BS
SJD4
D4CN
31 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 19
• Pokazati nejednoznačnost zadane gramatike.
1) SaSbS
2) SbSaS
3) 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:
1
S aSbS
1
3
3
abS abaSbS ababS
3
abab
Drugi način generiranja niza:
1
S aSbS
32 od 46
3
3
2
3
abSaSbS abaSbS ababS abab
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 20
• Za zadanu gramatiku napisan je LR
parser. Pomoću LR parsera parsirati
ulazni niz aabb.
ABA (1)
BaB (3)
A (2)
Bb (4)
STOG
ULAZ
0 aabb
0
a
b
A
B
s4
s5
r2
1
2
3
2
1
2
prihvati
s4
s5
3
r2
r1
4
s4
s5
5
r4
r4
6
r3
r3
6
r4
0a4 abb
0a4a4 bb
0a4a4b5 b
0a4a4B6
0a4a4__ b
•
0a4____
0a4B6 b
0B2 b
0B2b5
•
0B2B2
0B2B2A3
0B2A3
•
Konfiguracija LR parsera prikazuje se
stanjem na stogu i nepročitanim dijelom
ulaznog niza
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
0A1
prihvati
33 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 21
• Konstruirati gramatiku koja generira nizove oblika aibjckdjei pri
čemu su i, j, k 1.
•
•
•
•
Simetrični nizovi
Tip gramatike = ?
Kontekstno-neovisna gramatika
Produkcije gramatike istovremeno generiraju
• aie
• bid
S aAe
34 od 46
ai bj ck dj ei
AaAe
BbBd
CcC
AbBd
BcC
C
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 22
• Konstruirati potisni automat koji prihvaća jezik
L={wwR | w(0+1)*}.
•
•
•
•
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
(q0,0,P)=(q0,NP)
(q0,0,N)={(q0,NN),(q1,)}
(q1,0,N)=(q1,)
(q0,1,P)=(q0,JP)
(q0,1,J)={(q0,JJ),(q1,)}
(q1,1,J)=(q1,)
(q0,1,N)=(q0,JN)
(q1,,P)=(q1,)
(q0,0,J)=(q0,NJ)
(q0,,P)=(q0,)
35 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Nastavak zad. 22
(q0, 001100, P)
(10)
(1)
(q0, 01100, NP)
(5)
(q0, 1100, NNP)
(3)
(q0, 100, JNNP)
(1) (q0,0,P)=(q0,NP)
(q1, 001100, )
(2) (q0,1,P)=(q0,JP)
(3) (q0,1,N)=(q0,JN)
(q1, 1100, P)
(9)
(4) (q0,0,J)=(q0,NJ)
(5) (q0,0,N)={(q0,NN),(q1,)}
(q1, 1100, )
(6) (q0,1,J)={(q0,JJ),(q1,)}
(6)
(q0, 00, JJNNP) (q1, 00, NNP)
(4)
(q0, 0, NJJNNP)
(8) (q1,1,J)=(q1,)
(q1, 0, NP)
(5)
(q0, , NNJJNNP)
(7) (q1,0,N)=(q1,)
(7)
(q0, , JJNNP)
(7)
(q1, , P)
(9)
(9) (q1,,P)=(q1,)
(10) (q0,,P)=(q0,)
(q1, , )
Prihvati niz
36 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 23
• Iz potisnog automata M1 koji nizove prihvaća prihvatljivim
stanjem konstruirati potisni automat M2 koji nizove prihvaća
praznim stogom.
M1 = ( {q0,q1}, {0,1,2}, {N,J,K}, q0, , K, {q1} )
(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)
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
37 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 23
Postupak konstrukcije PA M2 koji prihvaća praznim stogom:
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, {q1} )
(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,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)
’(q0,,K)=(q1,K)
38 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
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} )
’(q1,,N)=(qE,)
’(qE,,N)=(qE,)
’(q1,,J)=(qE,)
’(qE,,J)=(qE,)
’(q1,,K)=(qE,)
’(qE,,K)=(qE,)
39 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
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
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
q0, ,
M1 = ( {q0,q1},
{0,1,2},
{N,J,K},
K,
M2 = ( {qP,q0,q1,qE},
{0,1,2},
{N,J,K,Z}, qP, ’, Z,
{q1} )
)
’(qP,,Z)=(q0,KZ)
40 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 23
PA M2 koji prihvaća praznim stogom:
M2 = ( {qP,q0,q1,qE}, {0,1,2}, {N,J,K,Z}, qP, ’, Z, )
’(qP,,Z)=(q0,KZ)
’(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)
’(q1,,N)=(qE,)
’(qE,,N)=(qE,)
’(q1,,J)=(qE,)
’(qE,,J)=(qE,)
’(q1,,K)=(qE,)
’(qE,,K)=(qE,)
’(q1,,Z)=(qE,)
’(qE,,Z)=(qE,)
41 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 24
• Iz potisnog automata M1 koji nizove prihvaća praznim stogom
konstruirati potisni automat M2 koji nizove prihvaća
prihvatljivim stanjem.
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,)
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
42 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
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,)
43 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
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, )
’(q0,,Z)=(qF,Z)
’(q1,,Z)=(qF,Z)
44 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
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
q0, ,
M1 = ( {q0,q1},
{0,1,2},
{N,J,K},
K,
M2 = ( {qP,q0,q1,qF},
{0,1,2},
{N,J,K,Z}, qP, ’, Z,
)
{qF} )
’(qP,,Z)=(q0,KZ)
45 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva
Zadatak br. 24
PA M2 koji prihvaća prihvatljivim stanjem:
M2 = ( {qP,q0,q1,qF}, {0,1,2}, {N,J,K,Z}, qP, ’, Z, {qF} )
’(qP,,Z)=(q0,KZ)
’(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,,Z)=(qF,Z)
’(q1,,Z)=(qF,Z)
46 od 46
Copyright © 2007 S.Srbljić, D.Škvorc, I. Žužak, D. Skrobo, M. Popović: Uvod u teoriju računarstva