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.
S0S1
A1B0
B1BA
CB0
S0SBS ASB
BSA
CA
S1C0
B1
C
A0
Chomskyev oblik produkcija: ABC i Ad
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.
S0S1
A1B0
B1BA
CB0
S0SBS ASB
BSA
CA
S1C0
B1
C
A0
Izbacuju se produkcije: CA i C
S0S1
B1BA
CB0
S0SBS ASB
BSA
C1B0
S1C0
B1
CSB
S10
3 od 46
A1B0
A0
C0
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
S0S1
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
S0S1
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
S0S1
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
S0SBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
S1C0
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
S10
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
A1B0
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
B1BA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CB0
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
C1B0
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
B1
CSB
SJN
AJBN
A0
C0
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
SNSJ
AJBN
BJBA
CBN
N0
SNSBS ASB
BSA
CJBN
J1
SJCN
A0
B1
SJN
SND1
D1SJ
SND2
CSB
C0
AJD5
D5BN
BJD6
D6BA
CJD5
D2SD3
D3BS
SJD4
D4CN
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) SaSbS
2) SbSaS
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.
ABA (1)
BaB (3)
A (2)
Bb (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
AaAe
BbBd
CcC
AbBd
BcC
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