nma formālā puse
Post on 05-Jan-2016
25 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
NMA formālā puse
2
q1 q2
)},{(),,( 21 wqbaq pārejas funkcija:
wab
3
q1
q2
q3
)},(),,{(),,( 321 wqwqbaq
pārejas funkcija:
wab
wab
4
Formālā definīcijaNedeterminēts magazīnautomāts NMA
),,,,,,( 00 FZqQM
stāvokļi
ievadaalfabēts
stekaalfabēts
pārejufunkcija
beigustāvokļi
stekastartasimbols
sākumastāvoklis
5
Darbības brīža apraksts
),,( suq
Tekošaisstāvoklis Atlikušais
ievads
Tekošaisstekasaturs
6q0 q1 q2 q3
ievads
steks
a a a b b b aa
laika moments 4:
Piemērs: Darbības brīža apraksts
),,( 01 aaaZbbbq
a
0Z
00 ZZ
baa
a
ba
7q0 q1 q2 q3
ievads
steks
a a a b b b aa
laika moments 4:
Piemērs: Darbības brīža apraksts
),,( 02 aaZbbq
a
0Z
00 ZZ
baa
a
ba
8
Pieraksts:
),,(),,( 0201 aaZbbqaaaZbbbq
laika moments 4 laika moments 5
9
Darbību virkne:
q0 q1 q2 q3
00 ZZ
baa
a
ba
),,(),,(),,(
),,(),,(
),,(),,(
),,(),,(
030202
0201
0101
0100
ZqZqaZbq
aaZbbqaaaZbbbq
aaZabbbqaZaabbbq
ZaaabbbqZaaabbbq
10
),,(),,(),,(
),,(),,(
),,(),,(
),,(),,(
030202
0201
0101
0100
ZqZqaZbq
aaZbbqaaaZbbbq
aaZabbbqaZaabbbq
ZaaabbbqZaaabbbq
Saīsināti:
),,(),,( 03*
00 ZqZaaabbbq
11
Formālā definīcija
NMA M valoda :
)}',,(),,(:{)( *00 sqZwqwML f
sākuma stāvoklis beigu stāvoklis
Steks var nebūt tukšs!
12
Piemērs:
NMA M :
)(MLaaabbb
q0 q1 q2 q3
00 ZZ
baa
a
ba
),,(),,( 03*
00 ZqZaaabbbq
13
),,(),,( 03*
00 ZqZbaq nn
NMA M :
)(MLba nn
q0 q1 q2 q3
00 ZZ
baa
a
ba
14
NMA M :
}0:{)( nbaML nnTādējādi:
q0 q1 q2 q3
00 ZZ
baa
a
ba
15
NMA akceptē bezkonteksta valodas
Teorēma:
16
Pierādījums – 1.solis:
Pārveidot katru bezkontekstagramatiku G uz NMA M ar L(G)=L(M).
Pierādījums – 2.solis:
Pārveidot katru NMA M uz bezkontekstagramatiku G ar L(G)=L(M).
17
Bezkontekstas gramatikas pārveidošana uz NMA
18
Gramatikas piemērs :
T
TaT
bS
aSTbS
Kas ir ekvivalents NMA?
19q0 q1 2q
Gramatika:
NMA:
T
TaT
bS
aSTbS
00 ZZ
S
bb
aaT
TaTbSaSTbS
20
NMA simulē bezkonteksta gramatikas atvasinājumus sākot nokreisās puses
L(bezkonteksta gramatika) = L(NMA)
21
Gramatika:
Atvasinājums sākot no kreisās puses:
abababTababTbaSTbS
T
TaT
bS
aSTbS
22
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 0
b
tekošaisstāvoklis
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
23
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 1
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
S
24
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 2
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
a
b
ST
25
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 3
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
a
b
ST
26
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 4
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
b
bT
27
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 5
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
b
bT
28
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 6
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
baT
29
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 7
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
baT
30
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 8
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
ba
31
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 9
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
b
32
NMA izpilde:
ievads
steks
0Z
a ab
laika moments 10
b
q0 q1 2q00 ZZ
S
bb
aaT
TaTbSaSTbS
33
Vispārīgi:
katrai dotai gramatikai Gvar konstruēt tādu NMA M, ka L(G)=L(M).
34
NMA M konstruēšana no gramatikas G:
Katrai produkcijai
wAKatram terminālim
a
q0 q1 2q00 ZZ
S
a
awA
35
Gramatika G ģenerē virkni w
tad un tikai tad, ja NMA M akceptē w
)()( MLGL
36
Tādējādi:
Katrai bezkontekstai valodaiir NMA, kas akceptē šo pašu valodu
37
NMA pārveidošana uz bezkonteksta gramatiku
38
Katram NMA M konstruēsim bezkontekstagramatiku G, kurai L(M)=L(G).
39
Gramatikas G atvasinājums:
Intuīcija: gramatika simulēs mašīnu
abcABCabcS
Tekoša NMA M konfigurācija
40
Gramatikas G atvasinājums
NMA M
abcABCabcS
apstrādātais ievads steka saturs
termināļi netermināļi
41
Dažas nepieciešamās modifikācijas
Pirmkārt, modificēsim NMA tā, ka• tam ir viens pats beigu stāvoklis• tas iztukšo steku kad ievads tiek akceptēts
Oriģinālais NMA steka iztukšošana
fq
fq
42
Otrkārt, modificējam NMA pārejas:
visas pārejas būs formā
iq jq
vai
iq jq CD
aB
aB
B,C,D : steka simboli
430q fq
}:{)( ba nnwML
NMA piemērs pareizā formā:
0Z - sākotnējais steka simbols
0Z
bb
ZbZ
aaZ
aZ
0 111 1
1 000 0
00
00
44
Gramatikas konstruēšana
)( jiBqq
Gramatika G :
termināļi: NMA ievada simboli
stāvokļi
steka simbols
netermināļi:
45
Saturīgi nozīmē sekojošo:lai tiktu no stāvokļa uz stāvokli ja steka augšā atrodas , tad ievadā būs nepieciešama virkne .
wAqq ji )(
iq jqAw
46
iq jqKatrai pārejai
pievienojam produkciju aBqq ji )(
aB
Ievadā satiekot a, B tiks izņemts un notiks pāreja uz qj un B ietekme ar to beidzas
47
Katrai pārejai
pievienojam produkciju
))(()( klljki DqqCqqaBqq
iq jq
Visiem stāvokļiem lk qq ,
CDaB
Ievadā satiekot a, B tiks izņemts, bet tā vietā tiks ielikts kas cits un notiks pāreja caur q j uz kaut kādu stāvokli qk, par kuru šobrīd nekas nav zināms
48
Starta neterminālis: )( 0 fo qZq
steka beigu(apakšas) simbols
starta stāvoklis beigu stāvoklis
49
Piemērs:
aqq )1( 00Gramatikas produkcija:
0q fq
0Z
bb
ZbZ
aaZ
aZ
0 111 1
1 000 0
00
00
50
Piemērs:
0q fq
0Z
bb
ZbZ
aaZ
aZ
0 111 1
1 000 0
00
00
))(1(
|))(1()(
))(1(
|))(1()(
00
000000
000
00000000
fff
ff
ff
qZqqqb
qZqqqbqZq
qZqqqb
qZqqqbqZq
51
Piemērs:
0q fq
0Z
bb
ZbZ
aaZ
aZ
0 111 1
1 000 0
00
00
)( 00 fqZq
52
))(1(|))(1()(
))(1(|))(1()(
00000000
00000000000
fffff
ff
qZqqqbqZqqqbqZq
qZqqqbqZqqqbqZq
)1)(1(|)1)(1()1(
)1)(1(|)1)(1()1(
00000
00000000
fffff
ff
qqqqbqqqqbqq
qqqqbqqqqbqq
))(0(|))(0()(
))(0(|))(0()(
00000000
00000000000
fffff
ff
qZqqqaqZqqqaqZq
qZqqqaqZqqqaqZq
Rezultējošā gramatika:)( 00 fqZq - starta
neterminālis
53
)0)(0(|)0)(0()0(
)0)(0(|)0)(0()0(
00000
00000000
fffff
ff
qqqqaqqqqaqq
qqqqaqqqqaqq
bqq
aqq
)0(
)1(
00
00
)( 00 fqZq
54
virknes abba atvasinājums
)( 00 fqZq ))(0( 0000 fqZqqqa
)( 00 fqZqab
))(1( 0000 fqZqqqabb
)( 00 fqZqabba abba
55
Vispārīgi, gramatika
wqZq f*
00 )(
tad un tikai tad, ja
NMA akceptē w
56
Izskaidrojums:
Pēc gramatikas konstrukcijas:
wAqq ji*)(
tad un tikai tad, ja
NMA pārejot no uz steks neizmainās zemāk parun tiek izņemts no steka
iq jq
AA
top related