نظریه زبان ها و ماشین ها فصل اول -زبان های منظم و ماشین های حالت متناهی دانشگاه صنعتی شریف پاییز 86 عناوین مورد بحث • • • • • ماشین های حالت متناهی عدم قطعیت عبارات منظم زبان های نامنظم لم پامپینگ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 ماشین حالت متناهی • ساده ترین مدل محاسباتی کامپیوترها ،یک ماشین حالت متناهی ( finite Automatonیا )finite State Machineاست. • • مناسب برای مدلسازی کامپیوترهایی با حافظه بسیار محدود در سیستم های نهفته ) (Embedded Systemsاستفاده چنین ماشین هایی بسیار رایج است. زنجیره های مارکوفی ( )Markov Chainsهمتای احتمالی ماشین های حالت متناهی هستند. این مدل ها در پردازش گفتار و OCRبرای تشخیص الگوهای موجود در داده ها کاربرد دارند. • • نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 یک مثال ساده • کنترلر یک در خودکار نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 یک مثال ساده -ادامه • نمودار حالت • جدول گذار(انتقال حالت) نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 تعریف ریاض ی نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 زبان یک ماشین حالت متناهی • نتیجه پردازش هر رشته از عالئم ورودی توسط یک ماشین حالت متناهی پذیرش) (acceptیا رد) (rejectاست. • اگر Aمجموعه تمام رشته هایی باشد که ماشین Mمی پذیرد A ،را زبان ماشین Mمی L(M) = A گوییم و می نویسیم: • می گوییم ماشین 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مورد نظر ویژگی های زیر را نیز باید داشته باشد: – از حالت شروع به هر حالت دیگر یک گذار وجود دارد و هیچ گذاری به حالت شروع وارد نمی شود. – تنها یک حالت پایان و نامساوی با حالت شروع وجود دارد که هیچ گذاری از آن خارج نمی شود اما از هر حالت یک گذار به آن داریم. ً – از هر حالتی به جز این دو حالت ،به تمام حالت ها یک دقیقا یک گذار وجود دارد. • این GNFAرا یک GNFAویژه می نامیم. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 تبدیل DFAبه GNFAویژه • اضافه کردن یک حالت شروع جدید با یک گذار εبه حالت شروع قبلی • اگر چندین گذار با ابتدا و انتهای یکسان وجود دارند آن ها را با یک گذار با برچسب اجتماع آن ها جایگزین می کنیم. • بین هر یک از زوج حالت هایی که گذاری میان آن ها وجود ندارد یک گذار با برچسب øاضافه می کنیم. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 تبدیل GNFAویژه به عبارت منظم • به طور مداوم هر بار یک حالت از تعداد حاالت GNFAکم می کنیم تا به یک GNFA با دو حالت برسیم. • در این حالت GNFA ،یک گذار از حالت شروع به پایان دارد که برچسب آن عبارت منظم مورد نظر ماست. مراحل تبدیل یک DFAسه حالته به عبارت منظم معادل با آن نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 حذف یک حالت از GNFA • یک حالت غیر از شروع و پایان را برای حذف انتخاب می کنیم. • برچسب گذارها را به صورت زیر جایگزین می کنیم. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 بیان صوری راه حل چرا حلقه بی نهایت نیست؟ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 اثبات درستی • اثبات با استقرا روی تعداد حاالت ()k • پایه استقرا بدیهی است. • فرض استقرا: – حکم برای ماشینی با k-1حالت برقرار است. • اگر رشته ωرا با دنباله حاالت زیر بپذیرد G’ ،نیز آن را می پذیرد. • چرا؟ • اگر ’ Gرشته ωرا بپذیرد G ،نیز آن را می پذیرد. • چرا؟ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 زبان های نامنظم • برای درک قدرت ماشین ها باید محدودیت های آن ها را بشناسیم. • برخی از زبان ها را نمی توان با ماشین حالت متناهی تشخیص داد. ً • مثال برای تشخیص زبان زیر باید در حالت ها تعداد 0ها را حفظ کنیم. • اما حالت های متناهی یک DFAپاسخگوی تعداد نامتناهی حاالت ممکن نیست. • نیاز به یک مبنای نظری برای اثبات منظم نبودن داریم :لم پامپینگ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 لم پامپینگ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 ایده اثبات • بنا به اصل النه کبوتری ،برای رشته هایی با بیش از این طول ،حداقل یک حالت در دنباله حاالت تکرار می شود. نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 اثبات نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 مثال • با استفاده از لم پامپینگ و برهان خلف ثابت می کنیم که زبان زیر منظم نیست: • چرا هیچ یک از سه حالت فوق نمی تواند درست باشد؟ نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 مثال • با استفاده از لم پامپینگ و برهان خلف ثابت می کنیم که زبان زیر منظم نیست: • روش دیگر: نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86 مثال نظریه زبان ها و ماشین ها دانشگاه صنعتی شریف پاییز86
© Copyright 2024 Paperzz