CompilerAutomata_HW 8_92_1.pdf

‫هس بخ‬
‫هب انم تی ش‬
‫تکلیف هشتم‬
‫دانشکده مهندسی کامپیوتر‬
‫اوتومتا و رطاحی کامپایلر‬
‫نیمسال اول ‪95-94‬‬
‫مدرس ‪ :‬دکتر جابریپور‬
‫تاریخ تحویل‪ :‬شنبه ‪ 7‬آذر‬
‫توجه‪ :‬تحویل سواالتی که با * مشخص شدهاند و سواالت کالس درس الزامی است‪ .‬سواالتی که با عالمت ! مشخص شدهاند برای‬
‫شروع مناسب هستند‪.‬‬
‫‪ -1‬توصیف لحظهای ماشین تورینگ زیر را در صورتی که رشته روی نوار هریک از حاالت زیر باشند‪ ،‬بنویسید‪( .‬زبان این ماشین تورینگ‬
‫𝑛‪ 0𝑛 1‬برای ‪ 𝑛 ≥ 1‬میباشد‪).‬‬
‫‪11 )a‬‬
‫‪000111 )b‬‬
‫‪00111 )*( )c‬‬
‫‪ -2‬برای هریک از زبانهای زیر یک ماشین تورینگ طراحی کنید‪.‬‬
‫‪{𝑤|𝑤 𝑖𝑠 𝑎 𝑠𝑡𝑟𝑖𝑛𝑔 𝑜𝑓 0 𝑜𝑟 1, 1𝑛 0𝑚 1𝑛+𝑚 } )*( )a‬‬
‫‪{𝑤𝑤 𝑅 |𝑤 𝑖𝑠 𝑎𝑛𝑦 𝑠𝑡𝑟𝑖𝑛𝑔 𝑜𝑓 0`𝑠 𝑜𝑟 1`𝑠} )b‬‬
‫‪ -3‬ماشین تورینگی طراحی کنید که با دریافت عدد صحیح ‪ ، N‬یک را با آن جمع کند! برای سادگی کار‪ ،‬فرض کنید این عدد به صورت‬
‫باینری روی نوار قرار گرفته و انتهای رشته (بعد از کمارزشترین رقم)‪ $ ،‬وجود دارد‪.‬‬
‫‪ Queue Automaton -4‬یک ماشین مانند ‪ PDA‬است با این تفاوت که در آن بجای ‪ Stack‬از ‪ Queue‬استفاده میشود‪ .‬ثابت‬
‫کنید هر زبان قابل پذیرش با ماشینهای تورینگ‪ ،‬توسط یک مدل از این ماشین نیز پذیرفته میشود (برای هر ‪ TM‬یک ‪ QA‬و‬
‫برای هر ‪ QA‬یک ‪ TM‬داریم)‪ .‬به عبارت دیگر قدرت محاسباتی این دو نوع ماشین‪ ،‬با هم برابر است‪( .‬توجه کنید که تعریف رسمی‬
‫‪ QA‬مشابه ‪ PDA‬میباشد با این تفاوت که فقط اعمال روی ‪ Queue‬شامل ‪ Enqueue‬و ‪ Dequeue‬مجاز هستند)‬
‫‪ -5‬بررسی کنید که آیا مسائل ‪ PCP‬زیر جوابی دارند یا خیر‪.‬‬
‫‪𝐴 = (01, 001, 10); 𝐵 = (011, 01, 00) )a‬‬
‫‪𝐴 = (𝑎𝑏, 𝑎, 𝑏𝑐, 𝑐); 𝐵 = (𝑏𝑐, 𝑎𝑏, 𝑐𝑎, 𝑎) )*( )b‬‬
‫‪ )*( -6‬ثابت کنید اگر مسئله ‪ PCP‬را فقط بر روی مجوعه الفبایی }‪ Σ = {0,1‬تعریف کنیم‪ ،‬کماکان تصمیمناپذیر است‪ .‬برای حل این‬
‫مسئله از کاهش استفاده کنید‪.‬‬
‫‪ -7‬ثابت کنید مسئله توقف یک ماشین تورینگ بر روی یک رشته تصمیم ناپذیر است‪.‬‬
‫‪ -8‬ثابت کنید زبان رشتههای 𝑖𝑤 که کدهای ماشین تورینگ بوده و توسط 𝑖‪ 𝑀𝑤2‬که ماشین تورینگ متناظر 𝑖‪ 𝑤2‬تصمیم ناپذیر‬
‫است‪.‬‬
‫‪ )!( -9‬آیا مسئله پذیرش یک رشته توسط ‪DFA‬ها تصمیم پذیر است؟ اگر })𝐴(𝐿 𝑓𝑜 𝑟𝑒𝑏𝑚𝑒𝑚 𝑎 𝑠𝑖 𝑤|〉𝑤 ‪ 𝑀 = {〈𝐴,‬یک‬
‫‪ TM‬باشد که با دریافت ‪ DFA A‬و رشته ‪ ،w‬تعیین کند آیا ای رشته توسط ماشین ‪ A‬پذیرفته میشود یا نه‪ .‬توجه کنید که ماشین‬
‫‪ A‬بصورت کد شده)‪ (0,1‬روی نوار قرار میگیرد‪ .‬سعی کنید ‪ DFA‬را بهطور مناسب کد کرده و سپس بیان کنید آیا ماشین‬
‫تورینگ ‪ M‬وجود دارد یا نه؟ در صورت وجود نیازی به تعریف دقیق ریاضی ماشین تورینگ نیست‪ .‬فقط کلیت آن را به دقت‬
‫توصیف کنید‪.‬‬
‫‪( -11‬سوال امتیازی) زبانهای دسته ‪ RE‬تحت کدام یک از اعمال بستاری زیر بسته هستند؟چرا؟(میتوانید‪ ،‬غیر رسمی ثابت کنید‪ ،‬اما‬
‫باید اثبات واضحی ارائه کنید)‬
‫‪.a‬‬
‫(!) اجتماع‬
‫‪ .b‬اشتراک‬
‫‪.c‬‬
‫اتصال‬
‫‪ .d‬هومورفیزم‬
‫‪( -11‬سوال امتیازی) ثابت مسئله تهی نبودن زبان یک ماشین تورینگ ‪ RE‬نیست‪.‬‬
‫‪( -12‬سوال امتیازی)ثابت کنید که زبانهای تصمیمپذیر‪ ،‬تحت اعمال زیر بسته هستند‪.‬‬
‫‪.a‬‬
‫مکمل‬
‫‪ .b‬اجتماع‬
‫تذرکات‪:‬‬
‫‪ -1‬کتاب زیر مرجع اصلی درس است‪ ،‬مطالعه آن میتواند کمک شایانی به فهم مطالب کند‪.‬‬
‫‪Introduction to Automata Theory, Languages, and Computation; J.E.Hopcraft, R.Montwani,‬‬
‫‪J.D.Ullman, 3rd Edition‬‬
‫‪Compilers, Principles, Techniques &Tools; A.V.Aho, M.S.Lam, R.Sethi, J.D.Ullman, 2nd Edition‬‬
‫‪ -2‬تمرینات خود را روز شنبه‪ 7 ،‬آذرماه‪ ،‬ساعت ‪ 12‬سر کالس حلتمرین تحویل دهید‪ .‬از دیرتر تحویل دادن تمرین خود بنابه هر‬
‫دلیلی بپرهیزید‪.‬‬
‫‪ -3‬در صورتی که تمرینی را ایمیل میکنید‪ ،‬در اسرع وقت نسخه فیزیکی آن را نیز تحویل دهید!‬
‫‪ -4‬همه برگههای خود را به هم منگنه کرده و سپس تحویل دهید!‬
‫‪-5‬‬
‫از تقلب به شدت بپرهیزید! خودتان سواالت را حل کنید! (در صورت کشف برای کل تکلیف نمره ‪ -111‬برای همه نفرات لحاظ‬
‫خواهد شد)‬
‫‪ -6‬سواالت خود را به گروه درس یا ایمیل اعضای حلتمرین ارسال نمایید‪( .‬در صفحه درس موجود است)‬
‫موفق باشید‬