آموزش نظریه زبان ها و ماشین ها - بخش چهارم

52
مدرس: فرشید شیرافکن دانشجوی دکتری تهراننشگاه دا( سی ارشد کارشنا کارشناسی و: م افزار کامپیوتر نر( ) دکتری: نفورماتیک بیو ا) ها و ماشین هاظریه زبان ن1 ها و ماشینظریه زبان ن هاfaradars.org/fvsft110 ﻓﺮادرسFaraDars.org

Upload: faradars

Post on 07-Jan-2017

165 views

Category:

Education


7 download

TRANSCRIPT

Page 1: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

:مدرس

فرشید شیرافکن

دانشگاه تهران دانشجوی دکتری (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )

نظریه زبان ها و ماشین ها

1

هانظریه زبان ها و ماشین

faradars.org/fvsft110

فرادرس

FaraDars.org

Page 2: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

بخش دوم

متناز زبان مستقل

گرامر مستقل از متن

اتوماتای پشته ای 2

فرادرس

FaraDars.org

Page 3: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

گرامرهایدرموجودمحدودیت هایقیدازحدیتابایدقدرتمندتربرنامه هایساختبرای

.شویمرهامنظم

. شودمیاستفادهکامپایلرساختوبرنامه سازیزبان هایطراحیدرمتنازمستقلزبان هایاز

3

فرادرس

FaraDars.org

Page 4: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:متنازمستقلگرامر

تمامکهشودمیخواندهمتنازمستقلصورتیدرمفروضگرامر

.وآندرکهباشندفرمبهPقوانین

متغیریکفقطقوانین،چپسمتدرکهاستاینبودنمتنازمستقلشرطکلیطوربه

.باشدداشتهوجود

G (V,T,S,P)

A xA V*

x (V T) U

4

فرادرس

FaraDars.org

Page 5: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:متنازمستقلزبان

گرامراگرتنهاواگرشود،مینامیدهازمتنمستقلLزبان

.بطوریکهباشدداشتهوجودGازمتنمستقل L L(G)

5

فرادرس

FaraDars.org

Page 6: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

. گرامرهای منظم، مستقل از متن نیز هستند

.هر زبان منظمی، یک زبان مستقل از متن نیز می باشد

6

فرادرس

FaraDars.org

Page 7: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:گرامر تولید کننده زبانn n

L {a b :n 1}

S aSb | ab

مثال

7

فرادرس

FaraDars.org

Page 8: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

nزبانگرامر تولید کننده nL {a b :n 0}

S aSb |

مثال

8

فرادرس

FaraDars.org

Page 9: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر

:دومروش

n n 1L {a b :n 0}

S aSb | b

n na b b

S Xb

X aXb |

مثال

9

فرادرس

FaraDars.org

Page 10: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر

:دومروش

S aSb | a

S aX

X aXb |

n 1 nL {a b :n 0}

مثال

10

فرادرس

FaraDars.org

Page 11: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر

:دومروش

S aSb | aaa

S aaaX

X aXb |

n 3 nL {a b :n 0}

مثال

11

فرادرس

FaraDars.org

Page 12: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n n 3L {a b :n 3}

k 3 k{a b :k 0}

S aSb | aaa

مثال

12

فرادرس

FaraDars.org

Page 13: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n n k kL {a b a b :n 0,k 0}

S MM

M aMb |

مثال

13

فرادرس

FaraDars.org

Page 14: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n 2nL {a b :n 0}

S aSbb |

مثال

14

فرادرس

FaraDars.org

Page 15: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامرn 2 3n

L {a b :n 0}

S aSbbb | aa

مثال

15

فرادرس

FaraDars.org

Page 16: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n 2nL {a bc :n 0}

S aScc | b

مثال

16

فرادرس

FaraDars.org

Page 17: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر 2n 2 n 2L {a b :n 0}

S aXb

X aaXb | ab

مثال

17

فرادرس

FaraDars.org

Page 18: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n mL {a bc :n m}

S aSc | aS | Sc | ab | bc

مثال

18

فرادرس

FaraDars.org

Page 19: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n n n nL {a b :n 0} {b a :n 0} U

1 2

1 1

2 2

S S | S

S aS b |

S bS a |

مثال

19

فرادرس

FaraDars.org

Page 20: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایگرامری n kL {a b : 2n k 3n}

(n 0,k 0) S aSbb | aSbbb |

مثال

S aSbb aaSbbbb aaaSbbbbbbb aaabbbbbbb

3رشتهتولید نحوه 7a b

20

فرادرس

FaraDars.org

Page 21: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n kL {a b :k n}

(n 0,k 0) S XB

X aXb |

B bB | b

مثال

21

فرادرس

FaraDars.org

Page 22: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانکنندهتولیدگرامر n kL {a b :n k}

(n 0,k 0) S AX

A aA | a

X aXb |

مثال

22

فرادرس

FaraDars.org

Page 23: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنازمستقلگرامریک

وحالتدوترکیب n kk n

n kL {a b :n k}

S AX | XB

X aXb |

A aA | a

B bB | b

مثال

23

فرادرس

FaraDars.org

Page 24: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر

:فرم

n m kL {a b c : m n k} (n 0,m 0,k 0)

S XY

X aXb |

n n k ka b b c

Y bYc |

مثال

24

فرادرس

FaraDars.org

Page 25: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر n m kL {a b c : n k m}

(n 0,m 0,k 0) k m m k

a a b c

S aSc | X

X aXb |

مثال

25

فرادرس

FaraDars.org

Page 26: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر

.استومعنیبهشرط

.دادنشانوصورتبهتوانمیراحالتدواین

.شوندترکیبهمبابایدوشدبررسیقبلمثالهایدرحالتهااین

n m kL {a b c :k n m } (n 0,m 0,k 0)

k n m k (n m)

n k m m n k

مثال

26

فرادرس

FaraDars.org

Page 27: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر

n m m na b c c c

S aSc | X

X bXc | cY

Y cY |

n m kL {a b c :k n m} (n 0,m 0,k 1)

مثال

27

فرادرس

FaraDars.org

Page 28: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر

(n 0,m 0,k 0)

n m kL {a b c :k n m}

n m m na (a b) b c c

S aSc | aS | aX | bX

X bXc | bX |

مثال

28

فرادرس

FaraDars.org

Page 29: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر

.استیامعنیبهشرط

.کنیممیترکیبهمباراحالتدواین

(n 0,m 0,k 0) n m kL {a b c :k n m}

k n m k n m

مثال

29

فرادرس

FaraDars.org

Page 30: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.گرامر مستقل از متنی برای زبان بنویسید

. نیستپس این زبان مستقل از متن. نمی توان یک گرامر مستقل از متن برای این زبان نوشت: حل

n m kL {a b c :k n.m}

مثال

30

فرادرس

FaraDars.org

Page 31: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر n nL {(ab) (cd) :n 1}

S aXd

X bSc | bc

مثال

31

فرادرس

FaraDars.org

Page 32: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامر n nL {(ab) (cde) :n 1}

S aXde

X bSc | bc

مثال

32

فرادرس

FaraDars.org

Page 33: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازگرامرمستقل n nL {aa(bc) be(dde) :n 0}

S aaX

X bYe

Y cXdd |

مثال

33

فرادرس

FaraDars.org

Page 34: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازگرامرمستقل

S abX

X bbYa

Y aaXb |

n nL {ab(bbaa) bba(ba) | n 0}

مثال

34

فرادرس

FaraDars.org

Page 35: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانبرایمتنیازمستقلگرامرn k k n

L {a b c d :n 0,k 1}

S aSd | bXc |

X bXc |

مثال

35

فرادرس

FaraDars.org

Page 36: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.های برابر استbو aتولید شده شامل رشته هایی با تعداد زبان

.(شروع می شوند bیاaجمالت با )

:زبانگرامر تولید کننده a b

L {w :n (w) n (w)}

S SS | aSb | bSa |

مثال

36

فرادرس

FaraDars.org

Page 37: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانگرامر تولید کننده a b

L {w :n (w) n (w) 1}

S XaX

X XX | aXb | bXa |

:ababaتولیدنحوه

S XaX aXbaX abaX ababXa ababa

مثال

37

فرادرس

FaraDars.org

Page 38: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:گرامر تولید کننده زبانa b

L {w :n (w) n (w)}

S SS | aSb | bSa | aS | Sa | a

مثال

38

فرادرس

FaraDars.org

Page 39: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانگرامر تولید کننده

.باشد 3k+2و یا 6k ،3k+1طول رشته باید

L {w : w mod 3 w mod 2}

S aX | aaX | Y

X aaaX |

Y aaaaaaY |

{a}

مثال

39

فرادرس

FaraDars.org

Page 40: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبان گرامر تولید کننده

. است که نیمه دوم، معکوس نیمه اول استabbaجمله های این زبان مانند

* RL {w {a,b} : ww }

S aSa | bSb |

مثال

40

فرادرس

FaraDars.org

Page 41: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:گرامر تولید کننده زبان RL {w {a,b} : ww }

S aSa | bSb | aa | bb

مثال

41

فرادرس

FaraDars.org

Page 42: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:گرامر تولید کننده زبان

.است که از هر دو طرف یکسان خوانده می شوند abaجمله های زبان این گرامر مانند

* R{w {a,b} : w w }

S aX | bY |

X Sa |

Y Sb |

مثال

42

فرادرس

FaraDars.org

Page 43: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زبانگرامر تولید کننده n R n *L {a ww b :n 1,w {a,b} }

S aSb | aMb

M aMa | bMb |

مثال

43

فرادرس

FaraDars.org

Page 44: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

R :زبانگرامر تولید کننده L {uvwv :u, v,w {a,b} ,| u | | w | 2}

S XY

X aa | bb | ab | ba

Y aYa | bYb | aXa | bXb

مثال

44

فرادرس

FaraDars.org

Page 45: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

گرامر مستقل از متن زیر چه زبانی را تولید می کند؟

S AB |

A 1A | S

B 0B | S

. استزبان گرامر داده شده، زبان منظم

. فوق یک گرامر مستقل از متن است که زبان منظم تولید می کندگرامر

* *(1 0 )

مثال

45

فرادرس

FaraDars.org

Page 46: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

S XYZ |

X aX | S

Y bY | S

Z cZ | S

* * *(a b c )

مثال

46

فرادرس

FaraDars.org

Page 47: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

ل از متن، گرامر منظم فقط زبان منظم تولید می کند، اما گرامر مستقل از متن عالوه بر زبان مستق

. می تواند زبان منظم هم تولید کند

مثال

47

فرادرس

FaraDars.org

Page 48: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

لم تزریق

.نیستمتنازمستقلزبانیککهدادتشخیصتوانمیتزریقلمکمکبه

وجودmمثبتوصحیحعددآنگاه.باشدنامتناهیمتنازمستقلزبانیکLکنیدفرض:تزریقلم

باصورتبهتوانمیرافرضباLبهمتعلقwهربطوریکهدارد،

باشیمداشتههرازایبهکهکردتجزیهچنانوشرایط

| w | mw uvxyz

vxy mi 0,1,2, ... 1vy

Lzxyuv ii

48

فرادرس

FaraDars.org

Page 49: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

قسمت تجزیه 5را به Lحال رشته متعلق به . مستقل از متن باشد Lفرض کنیم که: حل

:کرد

:این چنین نیست i=2باشد، ولی به ازای L، متعلق بهحال باید به ازای تمام ، رشته

.مستقل از متن نیستبه کمک لم تزریق، نشان دهید که زبان n n nL {a b c :n 0}

n i n 2 i n n 2 n 2 2 n n n 2 na b b b c a b b b c a b c L

n n nw a b c

n n 2 nx a ,y b, z b ,u b, v c

i 0

مثال

nnn cbaw

49

فرادرس

FaraDars.org

Page 50: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

هرازایبهکهمی شویممتوجه،زبانرویتزریقلمقوانیناعمالبا

Lکهگرفتنتیجهنمی توانموضوعایناز.استLدرشدهتزریقرشته،iمقدار

.یریمبگنتیجه اینتوانستیمتزریقلمازکهگفتمی توانفقطواستمتنازمستقل

}0:{ nbaL nn

50

فرادرس

FaraDars.org

Page 51: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:اشندتوسط لم تزریق می توان نشان داد که زبانهای زیر مستقل از متن نمی ب

a b cw :n (w) n (w) n (w)

*{ww : w {a,b} }

R *{ww w : w {a,b} }

n m ka b c :k mn

n n m{a b c :n m}

n!{a :n 0}

51

فرادرس

FaraDars.org

Page 52: آموزش نظریه زبان ها و ماشین ها - بخش چهارم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

52

این اسالید ها بر مبنای نکات مطرح شده در فرادرس« هانظریه زبان ها و ماشین »

.تهیه شده است

.نماییدلینک زیر مراجعه برای کسب اطالعات بیشتر در مورد این آموزش به

هانظریه زبان ها و ماشین

faradars.org/fvsft110

فرادرس

FaraDars.org