Chapter1.ppt

‫نظریه زبان ها و ماشین ها‬
‫فصل اول‪ -‬زبان های منظم و‬
‫ماشین های حالت متناهی‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫ماشین حالت متناهی‬
‫• ساده ترین مدل محاسباتی کامپیوترها‪ ،‬یک ماشین حالت متناهی‬
‫•‬
‫•‬
‫•‬
‫•‬
‫(‪ finite Automaton‬یا ‪ )finite State Machine‬است‪.‬‬
‫مناسب برای مدلسازی کامپیوترهایی با حافظه بسیار محدود‬
‫در سیستم های نهفته )‪ (Embedded Systems‬استفاده چنین ماشین‬
‫هایی بسیار رایج است‪.‬‬
‫زنجیره های مارکوفی (‪ )Markov Chains‬همتای احتمالی ماشین‬
‫های حالت متناهی هستند‪.‬‬
‫این مدل ها درمدلسازی پروتکل های شبکه های کامپیوتری‪،‬‬
‫پردازش گفتار و ‪ OCR‬برای تشخیص الگوهای موجود در داده ها‬
‫کاربرد دارند‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫یک مثال ساده‬
‫• کنترلر یک در خودکار‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫یک مثال ساده ‪ -‬ادامه‬
‫• نمودار حالت‬
‫• جدول گذار(انتقال حالت)‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫تعریف ریاضی‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫زبان یک ماشین حالت متناهی‬
‫• نتیجه پردازش هر رشته از عالئم ورودی توسط یک ماشین حالت‬
‫متناهی پذیرش)‪ (accept‬یا رد)‪ (reject‬است‪.‬‬
‫• اگر ‪ A‬مجموعه تمام رشته هایی باشد که ماشین ‪ M‬می پذیرد‪ A ،‬را‬
‫‪L(M) = A‬‬
‫زبان ماشین ‪ M‬می گوییم و می نویسیم‪:‬‬
‫• می گوییم ماشین ‪ M‬زبان ‪ A‬را تشخیص می دهد (می پذیرد)‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫بازگشت به مثال قبل‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫‪ M4‬تمام رشته هایی از ‪ a‬و ‪ b‬را می پذیرد که ابتدا و انتهای آن یکسان است‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫تعریف صوری پذیرش‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫زبان منظم‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫طراحی یک ماشین حالت متناهی‬
‫• خودتان را به جای ماشین تصور کنید‪.‬‬
‫• یک ماشین حالت متناهی که رشته های شامل ‪ 001‬را بپذیرد‪.‬‬
‫• حاالت ممکن عبارتند از‪:‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اعمال روی زبان های منظم‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫بسته بودن مجموعه زبان های منظم نسبت به اجتماع‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫بسته بودن مجموعه زبان های منظم نسبت به الحاق‬
‫برای اثبات این ویژگی نیاز به تعریف مفهوم عدم قطعیت داریم‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫تفاوت میان ‪ NFA‬و ‪DFA‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مقایسه مفهوم پذیرش در ‪ NFA‬و ‪DFA‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫تعریف صوری ماشین حالت متناهی‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫غیرقطعی)‪(NFA‬‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫هم ارزی ‪NFA‬ها و ‪DFA‬ها‬
‫• ایده اثبات‪ :‬تبدیل ‪ NFA‬به ‪DFA‬ی که رفتار آن را شبیه سازی می کند‪.‬‬
‫• اگر ‪NFA‬ی دارای ‪ k‬حالت باشد‪ ،‬برای شبیه سازی آن توسط یک ‪ DFA‬به‬
‫‪ 2k‬حالت نیاز خواهیم داشت‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات‬
‫• ابتدا بدون در نظر گرفتن گذارهای ‪ ،ε‬ماشین جدید را می سازیم‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫در نظر گرفتن گذارهای ‪ε‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫در نظر گرفتن گذارهای ‪ε‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫نتیجه‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال ‪ -‬ادامه‬
‫حذف‬
‫حاالت‬
‫غیر قابل‬
‫دسترسی‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات قضایای بسته بودن با استفاده از‪NFA‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات بسته بودن نسبت به اجتماع‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات‪ -‬ادامه‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات بسته بودن نسبت به الحاق‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات‪ -‬ادامه‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات بسته بودن نسبت به *‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات‪ -‬ادامه‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫عبارات منظم‬
‫آیا این تعریف دور ندارد؟‬
‫ترتیب تقدم عملگرها‪ ،* :‬الحاق‪ ،‬اجتماع‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال – ادامه‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫هم ارزی عبارات منظم و ماشین های حالت متناهی‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات‬
‫• نشان می دهیم چگونه می توان عبارت منظم ‪ R‬را به ‪NFA‬ی با زبان معادل‬
‫تبدیل کرد‪.‬‬
‫• هر یک از شش حالت مختلف در تعریف عبارات منظم را در نظر می گیریم‪.‬‬
‫• در سه حالت آخر چه طور می توان ‪ NFA‬را ساخت؟‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫مثال‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫اثبات طرف دیگر‬
‫•‬
‫•‬
‫•‬
‫•‬
‫باید نشان دهیم که اگر یک زبان منظم‬
‫باشد‪ ،‬می توان آن را با یک عبارت‬
‫منظم نمایش داد‪.‬‬
‫ابتدا یک ‪ DFA‬را به ‪ GNFA‬متناظر‬
‫آن تبدیل می کنیم‪.‬‬
‫سپس ‪ GNFA‬را به عبارت منظم‬
‫تبدیل می نماییم‪.‬‬
‫‪ GNFA‬یک ماشین غیرقطعی است‬
‫که در آن گذارها به جای عالئم الفبا‬
‫می توانند عبارات منظم باشند‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫تعریف صوری ‪GNFA‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫چند فرض‬
‫• برای سادگی‪ ،‬فرض می کنیم ‪ GNFA‬ویژگی های زیر را نیز باید داشته باشد‪:‬‬
‫– از حالت شروع به هر حالت دیگر یک گذار وجود دارد و هیچ گذاری به حالت شروع‬
‫وارد نمی شود‪.‬‬
‫– تنها یک حالت پایان و نامساوی با حالت شروع وجود دارد که هیچ گذاری از آن خارج‬
‫نمی شود اما از هر حالت یک گذار به آن داریم‪.‬‬
‫– از هر حالتی به جز این دو حالت‪ ،‬به تمام حالت ها یک دقیقا ً یک گذار وجود دارد‪.‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫‪Eliminating a state‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬
‫‪Example‬‬
‫نظریه زبان ها و ماشین ها‬
‫دانشگاه صنعتی شریف‬
‫پاییز ‪86‬‬