NMA formālā puse

56
1 NMA formālā puse

description

NMA formālā puse. pāreja s funkcija:. pāreja s funkcija:. F ormāl ā definīcija. Nedeterminēts magazīnautomāts NMA. beigu stāvok ļi. stāvok ļi. ievad a alfabēts. stek a start a simbols. pārej u funkcija. sākuma stāvoklis. stek a alfabēts. Darbības brīža apraksts. Tekošais - PowerPoint PPT Presentation

Transcript of NMA formālā puse

Page 1: NMA  formālā puse

1

NMA formālā puse

Page 2: NMA  formālā puse

2

q1 q2

)},{(),,( 21 wqbaq pārejas funkcija:

wab

Page 3: NMA  formālā puse

3

q1

q2

q3

)},(),,{(),,( 321 wqwqbaq

pārejas funkcija:

wab

wab

Page 4: NMA  formālā puse

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

Page 5: NMA  formālā puse

5

Darbības brīža apraksts

),,( suq

Tekošaisstāvoklis Atlikušais

ievads

Tekošaisstekasaturs

Page 6: NMA  formālā puse

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

Page 7: NMA  formālā puse

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

Page 8: NMA  formālā puse

8

Pieraksts:

),,(),,( 0201 aaZbbqaaaZbbbq

laika moments 4 laika moments 5

Page 9: NMA  formālā puse

9

Darbību virkne:

q0 q1 q2 q3

00 ZZ

baa

a

ba

),,(),,(),,(

),,(),,(

),,(),,(

),,(),,(

030202

0201

0101

0100

ZqZqaZbq

aaZbbqaaaZbbbq

aaZabbbqaZaabbbq

ZaaabbbqZaaabbbq

Page 10: NMA  formālā puse

10

),,(),,(),,(

),,(),,(

),,(),,(

),,(),,(

030202

0201

0101

0100

ZqZqaZbq

aaZbbqaaaZbbbq

aaZabbbqaZaabbbq

ZaaabbbqZaaabbbq

Saīsināti:

),,(),,( 03*

00 ZqZaaabbbq

Page 11: NMA  formālā puse

11

Formālā definīcija

NMA M valoda :

)}',,(),,(:{)( *00 sqZwqwML f

sākuma stāvoklis beigu stāvoklis

Steks var nebūt tukšs!

Page 12: NMA  formālā puse

12

Piemērs:

NMA M :

)(MLaaabbb

q0 q1 q2 q3

00 ZZ

baa

a

ba

),,(),,( 03*

00 ZqZaaabbbq

Page 13: NMA  formālā puse

13

),,(),,( 03*

00 ZqZbaq nn

NMA M :

)(MLba nn

q0 q1 q2 q3

00 ZZ

baa

a

ba

Page 14: NMA  formālā puse

14

NMA M :

}0:{)( nbaML nnTādējādi:

q0 q1 q2 q3

00 ZZ

baa

a

ba

Page 15: NMA  formālā puse

15

NMA akceptē bezkonteksta valodas

Teorēma:

Page 16: NMA  formālā puse

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).

Page 17: NMA  formālā puse

17

Bezkontekstas gramatikas pārveidošana uz NMA

Page 18: NMA  formālā puse

18

Gramatikas piemērs :

T

TaT

bS

aSTbS

Kas ir ekvivalents NMA?

Page 19: NMA  formālā puse

19q0 q1 2q

Gramatika:

NMA:

T

TaT

bS

aSTbS

00 ZZ

S

bb

aaT

TaTbSaSTbS

Page 20: NMA  formālā puse

20

NMA simulē bezkonteksta gramatikas atvasinājumus sākot nokreisās puses

L(bezkonteksta gramatika) = L(NMA)

Page 21: NMA  formālā puse

21

Gramatika:

Atvasinājums sākot no kreisās puses:

abababTababTbaSTbS

T

TaT

bS

aSTbS

Page 22: NMA  formālā puse

22

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 0

b

tekošaisstāvoklis

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

Page 23: NMA  formālā puse

23

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 1

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

S

Page 24: NMA  formālā puse

24

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 2

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

a

b

ST

Page 25: NMA  formālā puse

25

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 3

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

a

b

ST

Page 26: NMA  formālā puse

26

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 4

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

b

bT

Page 27: NMA  formālā puse

27

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 5

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

b

bT

Page 28: NMA  formālā puse

28

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 6

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

baT

Page 29: NMA  formālā puse

29

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 7

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

baT

Page 30: NMA  formālā puse

30

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 8

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

ba

Page 31: NMA  formālā puse

31

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 9

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

b

Page 32: NMA  formālā puse

32

NMA izpilde:

ievads

steks

0Z

a ab

laika moments 10

b

q0 q1 2q00 ZZ

S

bb

aaT

TaTbSaSTbS

Page 33: NMA  formālā puse

33

Vispārīgi:

katrai dotai gramatikai Gvar konstruēt tādu NMA M, ka L(G)=L(M).

Page 34: NMA  formālā puse

34

NMA M konstruēšana no gramatikas G:

Katrai produkcijai

wAKatram terminālim

a

q0 q1 2q00 ZZ

S

a

awA

Page 35: NMA  formālā puse

35

Gramatika G ģenerē virkni w

tad un tikai tad, ja NMA M akceptē w

)()( MLGL

Page 36: NMA  formālā puse

36

Tādējādi:

Katrai bezkontekstai valodaiir NMA, kas akceptē šo pašu valodu

Page 37: NMA  formālā puse

37

NMA pārveidošana uz bezkonteksta gramatiku

Page 38: NMA  formālā puse

38

Katram NMA M konstruēsim bezkontekstagramatiku G, kurai L(M)=L(G).

Page 39: NMA  formālā puse

39

Gramatikas G atvasinājums:

Intuīcija: gramatika simulēs mašīnu

abcABCabcS

Tekoša NMA M konfigurācija

Page 40: NMA  formālā puse

40

Gramatikas G atvasinājums

NMA M

abcABCabcS

apstrādātais ievads steka saturs

termināļi netermināļi

Page 41: NMA  formālā puse

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

Page 42: NMA  formālā puse

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

Page 43: NMA  formālā puse

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

Page 44: NMA  formālā puse

44

Gramatikas konstruēšana

)( jiBqq

Gramatika G :

termināļi: NMA ievada simboli

stāvokļi

steka simbols

netermināļi:

Page 45: NMA  formālā puse

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

Page 46: NMA  formālā puse

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

Page 47: NMA  formālā puse

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

Page 48: NMA  formālā puse

48

Starta neterminālis: )( 0 fo qZq

steka beigu(apakšas) simbols

starta stāvoklis beigu stāvoklis

Page 49: NMA  formālā puse

49

Piemērs:

aqq )1( 00Gramatikas produkcija:

0q fq

0Z

bb

ZbZ

aaZ

aZ

0 111 1

1 000 0

00

00

Page 50: NMA  formālā puse

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

Page 51: NMA  formālā puse

51

Piemērs:

0q fq

0Z

bb

ZbZ

aaZ

aZ

0 111 1

1 000 0

00

00

)( 00 fqZq

Page 52: NMA  formālā puse

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

Page 53: NMA  formālā puse

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

Page 54: NMA  formālā puse

54

virknes abba atvasinājums

)( 00 fqZq ))(0( 0000 fqZqqqa

)( 00 fqZqab

))(1( 0000 fqZqqqabb

)( 00 fqZqabba abba

Page 55: NMA  formālā puse

55

Vispārīgi, gramatika

wqZq f*

00 )(

tad un tikai tad, ja

NMA akceptē w

Page 56: NMA  formālā puse

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