نظریه زبان ها و ماشین ها فصل اول -زبان های منظم و ماشین های حالت متناهی دانشگاه صنعتی شریف بهار 88 ماشین حالت متناهی • ساده ترین مدل محاسباتی کامپیوترها ،یک ماشین حالت متناهی • • • • ( finite Automatonیا )finite State Machineاست. مناسب برای مدلسازی کامپیوترهایی با حافظه بسیار محدود در سیستم های نهفته ) (Embedded Systemsاستفاده چنین ماشین هایی بسیار رایج است. زنجیره های مارکوفی ( )Markov Chainsهمتای احتمالی ماشین های حالت متناهی هستند. این مدل ها درمدلسازی پروتکل های شبکه های کامپیوتری، پردازش گفتار و OCRبرای تشخیص الگوهای موجود در داده ها کاربرد دارند. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 یک مثال ساده • کنترلر یک در خودکار نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 یک مثال ساده -ادامه • نمودار حالت • جدول گذار(انتقال حالت) نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 تعریف ریاضی نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 زبان یک ماشین حالت متناهی • نتیجه پردازش هر رشته از عالئم ورودی توسط یک ماشین حالت متناهی پذیرش) (acceptیا رد) (rejectاست. • اگر Aمجموعه تمام رشته هایی باشد که ماشین Mمی پذیرد A ،را L(M) = A زبان ماشین Mمی گوییم و می نویسیم: • می گوییم ماشین Mزبان Aرا تشخیص می دهد (می پذیرد) نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 بازگشت به مثال قبل نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال M4تمام رشته هایی از aو bرا می پذیرد که ابتدا و انتهای آن یکسان است. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 تعریف صوری پذیرش نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 زبان منظم نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 طراحی یک ماشین حالت متناهی • خودتان را به جای ماشین تصور کنید. • یک ماشین حالت متناهی که رشته های شامل 001را بپذیرد. • حاالت ممکن عبارتند از: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اعمال روی زبان های منظم نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 بسته بودن مجموعه زبان های منظم نسبت به اجتماع نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 بسته بودن مجموعه زبان های منظم نسبت به الحاق برای اثبات این ویژگی نیاز به تعریف مفهوم عدم قطعیت داریم. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 تفاوت میان NFAو DFA نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مقایسه مفهوم پذیرش در NFAو DFA نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 تعریف صوری ماشین حالت متناهی نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف غیرقطعی)(NFA بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 هم ارزی NFAها و DFAها • ایده اثبات :تبدیل NFAبه DFAی که رفتار آن را شبیه سازی می کند. • اگر NFAی دارای kحالت باشد ،برای شبیه سازی آن توسط یک DFAبه 2kحالت نیاز خواهیم داشت. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات • ابتدا بدون در نظر گرفتن گذارهای ،εماشین جدید را می سازیم. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 در نظر گرفتن گذارهای ε نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 در نظر گرفتن گذارهای ε نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 نتیجه نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال -ادامه حذف حاالت غیر قابل دسترسی نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات قضایای بسته بودن با استفاده ازNFA نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات بسته بودن نسبت به اجتماع نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات -ادامه نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات بسته بودن نسبت به الحاق نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات -ادامه نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات بسته بودن نسبت به * نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات -ادامه نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 عبارات منظم آیا این تعریف دور ندارد؟ ترتیب تقدم عملگرها ،* :الحاق ،اجتماع نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال – ادامه نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 هم ارزی عبارات منظم و ماشین های حالت متناهی نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات • نشان می دهیم چگونه می توان عبارت منظم Rرا به NFAی با زبان معادل تبدیل کرد. • هر یک از شش حالت مختلف در تعریف عبارات منظم را در نظر می گیریم. • در سه حالت آخر چه طور می توان NFAرا ساخت؟ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 اثبات طرف دیگر • • • • باید نشان دهیم که اگر یک زبان منظم باشد ،می توان آن را با یک عبارت منظم نمایش داد. ابتدا یک DFAرا به GNFAمتناظر آن تبدیل می کنیم. سپس GNFAرا به عبارت منظم تبدیل می نماییم. GNFAیک ماشین غیرقطعی است که در آن گذارها به جای عالئم الفبا می توانند عبارات منظم باشند. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 تعریف صوری GNFA نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 چند فرض • برای سادگی ،فرض می کنیم GNFAویژگی های زیر را نیز باید داشته باشد: – از حالت شروع به هر حالت دیگر یک گذار وجود دارد و هیچ گذاری به حالت شروع وارد نمی شود. – تنها یک حالت پایان و نامساوی با حالت شروع وجود دارد که هیچ گذاری از آن خارج نمی شود اما از هر حالت یک گذار به آن داریم. – از هر حالتی به جز این دو حالت ،به تمام حالت ها یک دقیقا ً یک گذار وجود دارد. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 Eliminating a state نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 Example 1 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 Example 2 نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف بهار 88 Grammar • 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 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Rule • 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 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Derivation • If w1 w2 … wn we say that w1 derives wn and write * w1 wn • Thus, we always have w w * 88 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Language of a Grammar • Let G = (V, Σ, R, S) be a grammar. Then, the set * L (G ) {w T *: S w } Is the language generated by G. 88 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Example • Consider the grammar G = ({S}, {a,b}, P, S} with P given by S → aSb S→ε Then S aSb aaSbb aabb So we can write * S aabb • Then, L(G) = {an bn: n ≥ 0} 88 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها A 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 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Regular Grammars • A grammar G = (V, Σ, R, S) is said to be rightlinear if all rules are of the form A → 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 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Theorem • Theorem Let G = (V, Σ, R, S) be a right-linear grammar. Then L(G) is a regular language. 88 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Example • Construct a nfa that accepts the language generated by the grammar V0 → aV1 V1 → abV0 | b a V0 V1 b Vf a b V2 88 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Theorem • 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 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Theorem • 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 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها Theorem • Theorem A language L is regular if and only if there exists a regular grammar G such that L = L(G). 88 بهار دانشگاه صنعتی شریف نظریه زبان ها و ماشین ها