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

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

Upload: faradars

Post on 07-Jan-2017

173 views

Category:

Education


10 download

TRANSCRIPT

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

:مدرس

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

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

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

1

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

2

زبان منظم

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

زبان منظم

.استمنظمزباننوشت،‌آنمنظمعبارت‌يكزباني،برايبتواناگر

.داردوجودمنظمزبانيكمنظم،عبارتهرازايبهومنظمعبارتيكمنظم،زبانهرازايبه

3

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

** )()( bbaaar },{ ba

}0,0:{)( 212 tkbarL tk

مثال

4

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

)(bbar

}1,1:{)( 2 knbarL kn

مثال

5

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

)( babaar

}},{,2:{ bawnwbaL n

مثال

6

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

}02mod:{ wwL

*)))((( babar

مثال

7

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

}3,2:{ mnbaL mn

)(* bbbbbbaaar

مثال

8

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

؟استمنظمزيرزبان‌آيا

:نوشتآنبرايمنظمعبارتيكتوانميچون-بله

}},{,,:{ bawvuvuwwL R

))(()( babbaabar

مثال

9

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

}2,},{,:{ vbawvvwvL

bbbabbbababaabbaabaabaaar **** )()()()(

مثال

10

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

})(:{ evenismnbaL mn

bbbaaabbaar **** )()()()(

مثال

11

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

بودنبسته

همازبعملگر،اعمالاثردرحاصلزبانآيايعنيعملگر،يكرويمنظمزبانيكبودنبستهمسئله؟بودخواهدمنظم

تهبساجتماععملتحتمنظمهايزبانيعنياست،منظمزبانيمنظم،زباندواجتماعنمونهطوربه.هستند

12

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

:استبستهزيرعملیاتتحتمنظمهايزبانخانوادهاجتماع

اشتراکالحاقتفاضلگیريمکملايستارهبستار

معکوس

13

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

لم تزریق

.است(پمپاژ)تزريقلمازاستفادهزبان،يكبودننامنظماثباتهايراهازيکي

14

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

مثال

15

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

مثال

16

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

گرامر

17

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

گرامر:کهمی شودتعریفتاییچهارصورتبهGگرامر

: Vمتغیرهانامبهاشیاءازمتناهیمجموعه

: T(ترمینال)پایانیسمبل هاینامبهاشیاءازمتناهیمجموعه

: Sشروعمتغیرنامبهایویژهسمبل

: Pقوانینازمتناهیمجموعه

.باشندمیهمازجداوتهیغیرTوVهایمجموعه

G (V,T,S,P)

(S V)

x yx (V T)

y (V T)*

18

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

.می شونددادهنمایشبزرگحروفبامتغیرها

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

S Aab

A Aab

A a

V {S, A}

T {a,b}

مثال

19

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

:گرامرانواع

:شوندمیتقسیمدستهچهاربهگرامرها

منظم-1(و).باشدیاصورتبهآنقواعد

متنازمستقل-2.باشدمتغیریکفقطآن،قواعدکلیهچپسمتدرکهگرامری

A Bx | xA xB | xA,B V *x T

20

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

متنبهحساس-3.وباشندعضوyوxآندرکهباشندفرمبهآنقوانین

محدودیتبدون-4ایدنبکهاستاینمحدودیتتنها.نداردتولیدقواعدبرایمحدودیتیوشرطهیچ

.باشدتولیدقواعدچپسمتدر

x y(V T)x y

21

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

است؟متنبهحساساست؟منظماست؟متنازمستقلگرامرآیا

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

.نیستمتنازمستقلچون:نیستمنظم

.باشدبیشترراستسمتازبایدچپسمتطولچون:نیستمتنبهحساس

1.S AB

2.A aAb

3.bB bbbB

4.aAb aa

5.B

مثال

22

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

گرامرزبان تولید شده توسط

G (V,T,S,P)

**

L(G) {w T :S w}

23

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

:نحوه تولید رشته

S aS | a a

aa

S aS aa

مثال

24

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

:تولید رشتهنحوه

S abS | a *(ab) a

ababa

S abS ababS ababa

مثال

25

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

:رشتهتولیدنحوه

S aSb | n n{a b :n 0}

aabb

S aSb aaSbb aabb

مثال

26

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

:رشته تولید 2 2a b c

S XY aXbY aaXbbY aabbY aabbcY aabbc

S XY

X aXb |

Y cY |

مثال

27

n n mL {a b c :n 0,m 0}

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

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

حساس به متنزبان

:نحوه تولید رشته

S abc | aAbc

Ab bA

Ac Bbcc

bB Bb

aB aa | aaA

n n n

L {a b c :n 1}

2 2 2a b c

S aAbc abAc abBbcc aBbbcc aabbcc

مثال

28

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

(regular)گرامر منظم

29

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

منظمگرامر

.استصورتبهآنقواعدهمه:چپازخطیگرامر

.استصورتبهآنقواعدهمه:راستازخطیگرامر

.گویندمیمنظمگرامرراباشدچپازخطییاراستازخطیکهگرامری

A Bx | x

A xB | x

A,B V

*x T

30

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

A bS (ab)

S aA | ab

مثال

31

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

S aA |

A bS*

(ab)

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

32

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

S aA | a

A aA | bA | a | b

*

a(a b)

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

33

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

S aS | abS | *(a ab)

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

34

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

* *(aa) (a b)b

S aaS | aA | bA

A bA |

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

35

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

S bS | aA

A bA | * *

b ab

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

36

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

S aS | abX

X bX |

* *a abb

شدهدادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

37

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

S aaS | abbX

X baX |

* *

(aa) abb(ba)

هشددادهمنظمگرامرتوسطشدهتولیدمنظمزبان

مثال

38

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

.بنویسیدزبانگرامر منظمی برای n mL {a b :n 2,m 3}

S aaA

A aA | bbbB

B bB |

مثال

39

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

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

:باشد برابر است با3که طول آنها مضرب aگرامر تولید کننده رشته هایی با حرف

{a} L {w : w mod 3 0}

S aaaS |

مثال

40

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

{a}.بنویسیدرا زبان گرامر تولید کننده L {w : w mod 3 2}

S aaaS | aa

مثال

41

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

.بنویسیدرازبانکنندهتولیدگرامر L {w : w mod 3 0}

( {a}) 1 2S S | S

1 1S aaaS | a

2 2S aaaS | aa

مثال

42

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

nهستندهر دو زوج mوn {تولید کننده زبانمنظمی گرامر mL {a b :

S aaS | X

X bbX |

مثال

43

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

.تولید کندرا هر دو فرد هستند mوn {گرامر منظمی بنویسید که زبان n mL {a b :

S aaS | aY

Y bbY | b

مثال

44

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

n+mگرامر منظمی بنویسید که زبان .را تولید کندزوج است {

.شدندبررسیقبلمثالهایدرحالتدواین.باشندزوجدوهریافرددوهربایدباشد، زوجmوnجمعاینکهبرای

n mL {a b :

1 2

1 1

2 2

S S | S

S aaS | X

X bbX |

S aaS | aY

Y bbY | b

مثال

45

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

faradars.org/fvsft110

فرادرس

FaraDars.org

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

46

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

.تهیه شده است

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

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

faradars.org/fvsft110

فرادرس

FaraDars.org