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

60
ها ن ی ش و ما ها ان ب ه ز ی ر ظ ن ها ن ی ش و ما ها ان ب ه ز ی ر ظ ن های ان ب ز- اول ل ص ف های ان ب ز- اول ل ص ف" ت ل های حا ن ی ش و ما م ظ ن م" ت ل های حا ن ی ش و ما م ظ ن م ی ه ا ن- ت م ی ه ا ن- ت م ف ی ر ش ی" ت ع ن ص گاه ش ن دا ف ی ر ش ی" ت ع ن ص گاه ش ن دا هاز ب هاز ب88 88

description

نظریه زبان ها و ماشین ها. فصل اول- زبان های منظم و ماشین های حالت متناهی. دانشگاه صنعتی شریف بهار 88. ماشین حالت متناهی. ساده ترین مدل محاسباتی کامپیوترها، یک ماشین حالت متناهی ( finite Automaton یا finite State Machine ) است. مناسب برای مدلسازی کامپیوترهایی با حافظه بسیار محدود - PowerPoint PPT Presentation

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

Page 1: نظریه زبان ها و ماشین ها

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

- زبان اول - فصل زبان اول فصلو منظم و های منظم های

حالت های حالت ماشین های ماشینشریف متناهیمتناهی صنعتی شریف دانشگاه صنعتی دانشگاه

8888بهار بهار

Page 2: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

ماشین حالت متناهی ماشین حالت متناهی

ماشین حالت ساده ترین مدل محاسباتی کامپیوترها، یک •است. (finite State Machine یا finite Automaton)متناهی

مناسب برای مدلسازی کامپیوترهایی با حافظه بسیار •محدود

استفاده چنین (Embedded Systems)در سیستم های نهفته •ماشین هایی بسیار رایج است.

همتای احتمالی (Markov Chains) زنجیره های مارکوفی•ماشین های حالت متناهی هستند.

این مدل ها درمدلسازی پروتکل های شبکه های • برای تشخیص الگوهای OCRکامپيوتری، پردازش گفتار و

موجود در داده ها کاربرد دارند.

Page 3: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

یک مثال سادهیک مثال ساده

کنترلر یک در خودکار•

Page 4: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

یک مثال ساده - ادامهیک مثال ساده - ادامه

نمودار حالت•

جدول گذار)انتقال حالت(•

Page 5: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

تعریف ریاضیتعریف ریاضی

Page 6: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 7: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

زبان یک ماشین حالت متناهیزبان یک ماشین حالت متناهی

نتیجه پردازش هر رشته از عالئم ورودی توسط یک • (reject)رد یا (accept)پذیرشماشین حالت متناهی

است. M مجموعه تمام رشته هایی باشد که ماشین Aاگر •

می گوییم و می M را زبان ماشین Aمی پذیرد، L(M( = A نویسیم:

)می تشخیص می دهد را A زبان Mمی گوییم ماشین •پذیرد(

Page 8: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

بازگشت به مثال قبلبازگشت به مثال قبل

Page 9: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

M4 تمام رشته هایی از a و b.را می پذیرد که ابتدا و انتهای آن یکسان است

Page 10: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

تعریف صوری پذیرشتعریف صوری پذیرش

Page 11: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

زبان منظمزبان منظم

Page 12: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 13: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

طراحی یک ماشین حالت متناهیطراحی یک ماشین حالت متناهیخودتان را به جای ماشین تصور کنید.•

را بپذیرد.001یک ماشین حالت متناهی که رشته های شامل •حاالت ممکن عبارتند از:•

Page 14: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اعمال روی زبان های منظماعمال روی زبان های منظم

Page 15: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

بسته بودن مجموعه زبان های منظم نسبت بسته بودن مجموعه زبان های منظم نسبت به اجتماعبه اجتماع

Page 16: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثباتاثبات

Page 17: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

بسته بودن مجموعه زبان های منظم نسبت بسته بودن مجموعه زبان های منظم نسبت به الحاقبه الحاق

. داریم قطعیت عدم مفهوم تعریف به نیاز ویژگی این اثبات برای

Page 18: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

DFADFA و و NFANFAتفاوت میان تفاوت میان

Page 19: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

DFADFA و و NFANFAمقایسه مفهوم پذیرش در مقایسه مفهوم پذیرش در

Page 20: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 21: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

تعریف صوری ماشین حالت متناهی تعریف صوری ماشین حالت متناهی ((NFANFA))غیرقطعیغیرقطعی

Page 22: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 23: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

هاهاDFADFAها و ها و NFANFAهم ارزی هم ارزی

ی که رفتار آن را شبیه سازی DFA به NFA: تبدیل ایده اثبات•می کند.

حالت باشد، برای شبیه سازی آن توسط kی دارای NFAاگر •حالت نیاز خواهیم داشت. k2 به DFAیک

Page 24: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثباتاثبات

، ماشین جدید را می εبدون در نظر گرفتن گذارهای ابتدا •سازیم.

Page 25: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

εε گذارهایگذارهایدر نظر گرفتن در نظر گرفتن

Page 26: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

εε گذارهایگذارهایدر نظر گرفتن در نظر گرفتن

Page 27: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

نتیجهنتیجه

Page 28: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 29: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثال - ادامه مثال - ادامه

حذف حاالت غیر قابل دسترسی

Page 30: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات قضایای بسته بودن با اثبات قضایای بسته بودن با NFANFAاستفاده از استفاده از

Page 31: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات بسته بودن نسبت به اجتماعاثبات بسته بودن نسبت به اجتماع

Page 32: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات- ادامهاثبات- ادامه

Page 33: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات بسته بودن نسبت به الحاقاثبات بسته بودن نسبت به الحاق

Page 34: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات- ادامهاثبات- ادامه

Page 35: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات بسته بودن نسبت به *اثبات بسته بودن نسبت به *

Page 36: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات- ادامهاثبات- ادامه

Page 37: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

عبارات منظمعبارات منظم

آیا این تعریف دور ندارد؟

ترتیب تقدم عملگرها: *، الحاق، اجتماع

Page 38: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 39: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثال – ادامه مثال – ادامه

Page 40: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

هم ارزی عبارات منظم و ماشین های هم ارزی عبارات منظم و ماشین های حالت متناهیحالت متناهی

Page 41: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثباتاثبات

ی با زبان NFA را به Rنشان می دهیم چگونه می توان عبارت منظم •معادل تبدیل کرد.

هر یک از شش حالت مختلف در تعریف عبارات منظم را در نظر می •گیریم.

را ساخت؟NFAدر سه حالت آخر چه طور می توان •

Page 42: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

مثالمثال

Page 43: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

اثبات طرف دیگراثبات طرف دیگر

باید نشان دهیم که اگر یک •زبان منظم باشد، می توان آن را با یک عبارت منظم نمایش

داد. GNFA را به DFAابتدا یک •

متناظر آن تبدیل می کنیم. را به عبارت GNFAسپس •

منظم تبدیل می نماییم.•GNFA یک ماشین غیرقطعی

است که در آن گذارها به جای عالئم الفبا می توانند عبارات

منظم باشند.

Page 44: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

GNFAGNFAتعریف صوری تعریف صوری

Page 45: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

چند فرضچند فرض

ویژگی های زیر را نیز باید GNFAبرای سادگی، فرض می کنیم •داشته باشد:

از حالت شروع به هر حالت دیگر یک گذار وجود دارد و هیچ گذاری به –حالت شروع وارد نمی شود.

تنها یک حالت پایان و نامساوی با حالت شروع وجود دارد که هیچ –گذاری از آن خارج نمی شود اما از هر حالت یک گذار به آن داریم.

� یک گذار – از هر حالتی به جز این دو حالت، به تمام حالت ها یک دقیقاوجود دارد.

Page 46: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Eliminating a stateEliminating a state

Page 47: نظریه زبان ها و ماشین ها

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

11 ExampleExample

Page 48: نظریه زبان ها و ماشین ها

22 ExampleExample

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 49: نظریه زبان ها و ماشین ها

GrammarGrammar• A grammar G is a 4-tuple G = )V, Σ, R, S(where:• V is a finite set of variables,• Σ is a finite, disjoint from V, of

terminals,• R is a finite set of rules,• S V is the start variable.

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 50: نظریه زبان ها و ماشین ها

RuleRule• A rule is of the form x → y

where x (V Σ)+ and y (V Σ)*.

• The rules are applied in the following manner: given a string w of the form

w = uxv,

• we say that the rule x → y is applicable to this string, and we may use it to replace x with y, thereby obtaining a new string

z = uyv.

• This is written as

w z.

دانشگاه بهار 88 ها ماشین و ها زبان نظریه

شریف صنعتی

Page 51: نظریه زبان ها و ماشین ها

DerivationDerivation• If

w1 w2 … wnwe say that w1 derives wn and write

w1 wn• Thus, we always have

w w

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

*

*

Page 52: نظریه زبان ها و ماشین ها

Language of a GrammarLanguage of a Grammar

• Let G = )V, Σ, R, S( be a grammar. Then, the set

Is the language generated by G.

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

*

( ) { *: }L G w T S w

Page 53: نظریه زبان ها و ماشین ها

ExampleExample• Consider the grammar

G = ){S}, {a,b}, P, S}with P given by

S → aSb

S → ε

Then

S aSb aaSbb aabb

So we can writeS aabb

• Then, L)G( = {an bn: n ≥ 0}

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

*

Page 54: نظریه زبان ها و ماشین ها

A notation for GrammarsA notation for Grammars• Consider the grammar

G = ){S}, {a,b}, P, S}with P given by

S → aSb

S → ε• The above grammar is usually written as:

G: S → aSb | ε

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 55: نظریه زبان ها و ماشین ها

Regular GrammarsRegular Grammars• A grammar G = )V, Σ, R, S( is said to be right-

linear if all rules are of the formA → xB

A → x

where A, B V, and x Σ*. A grammar is said to be left-linear if all rules are of the form

A → Bx

A → x• A regular grammar is one that is either right-linear or

left-linear.

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 56: نظریه زبان ها و ماشین ها

TheoremTheorem• Theorem Let G = )V, Σ, R, S( be a

right-linear grammar. Then L)G( is a regular language.

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 57: نظریه زبان ها و ماشین ها

ExampleExample

• Construct a nfa that accepts the language generated by the grammar

V0 → aV1

V1 → abV0 | b

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

V0 VfV1

V2

b

a

a

b

Page 58: نظریه زبان ها و ماشین ها

TheoremTheorem• Theorem If L is a regular language

on the alphabet Σ, then there exists a right-linear grammar G = )V, Σ, R, S( such that L = L)G(.

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 59: نظریه زبان ها و ماشین ها

TheoremTheorem• Theorem A language is regular if and only if there

exists a left-linear grammar G such that L = L)G(.

• Outline of the proof: Given any left-linear grammar with rules of the form

A → Bx

A → x

we can construct a right-linear Ĝ by replacing every such rule of G with

A → xRB

A → xR

Respectively. We have L(G) = L(Ĝ)R .

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی

Page 60: نظریه زبان ها و ماشین ها

TheoremTheorem• Theorem A language L is regular if

and only if there exists a regular grammar G such that L = L)G(.

دانشگاه بهار 88 ها ماشین و ها زبان نظریهشریف صنعتی