0% found this document useful (0 votes)
8 views6 pages

5 Automata

Uploaded by

ali shahheidar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views6 pages

5 Automata

Uploaded by

ali shahheidar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

‫به نام خدا‬

‫دانشگاه صنعتی شریف‬


‫دانشکدۀ مهندسی کامپیوتر‬

‫نظریه زبان‌ها و ماشین‌ها‬


‫تمرین سری پنجم‬

‫استاد‬
‫دکتر ایزدی‬
‫طراح‬
‫علی شاه حیدر‬

‫‪400105777‬‬

‫نیم‌سال اول ‪1403-1402‬‬

‫‪1‬‬
‫مسئله چهارم‬
‫{< )‪A = }N, ω > |N is an NFA anⅾ ω ∈ L(N‬‬
‫برای زبان فوق نشان می‌دهیم در کالس ‪ PSPACE‬قرار دارد‪.‬‬
‫الگوریتم زیر که به صورت ‪ nondeterministic linear space‬است‪ 'A ،‬را تصمیم می‌گیرد‪.‬‬
‫به صورت غیرقطعی‪ ،‬یک رشته ورودی که توسط ‪ NFA‬ما ریجکت می‌شود را حدس می‌زنیم (می‌یابیم) و از فضای خطی‬
‫استفاده می‌کنیم تا حدس بزنیم کدام استیت از ‪ NFA‬در زمان مشخص انتخاب می‌شود‪ .‬به صورت زیر تعریف می‌کنیم ‪ M‬را‬
‫روی ورودی ‪ N‬که همان ‪ NFA‬ما است‪:‬‬
‫الف‪ .‬یک نشانه بر استیت شروع ‪ NFA‬می‌گذاریم‪.‬‬
‫‪q‬‬
‫ب‪ .‬به اندازه ‪ 2‬بار (‪ q‬تعداد استیت‌های ‪ N‬است) این کار را تکرار می‌کنیم‪.‬‬
‫به صورت غیرقطعی یک عضو از الفبای ورودی را انتخاب کرده و مکان نشانه گفته شده از‬
‫ماشین ‪ N‬را روی استیت‌های آن تغییر می‌دهیم تا بتوانیم خواندن ورودی‌ها را شبیه‌سازی کنیم‪.‬‬
‫ج‪ .‬اگر در قسمت ب رشته‌ای به حالت ریجکت وارد شد‪ ،‬اکسپت می‌کنیم‪( .‬به طور مثال اگر در لحظه‌ای‪ ،‬هیچ یک از نشانه‌ها‬
‫روی حالت اکسپت از ‪ N‬وارد نشدند)‪ ،‬و در غیر این صورت به ریجکت می‌رویم‪.‬‬
‫‪q‬‬ ‫‪q‬‬
‫از آنجایی که حداکثر ‪ 2‬زیر مجموعه از استیت‌های ‪ N‬وجود دارد‪ ،‬باید یکی را در طول حداکثر ‪ 2‬ریجکت کند‪ ،‬اگر ‪N‬‬
‫‪q‬‬
‫یک رشته را ریجکت کرد (دقت کنید این محاسبات می‌توانند در حداکثر ‪ 2‬استیت انجام شود)‪.‬‬
‫‪ M‬به حافظه نیاز دارد‪ ،‬زیرا‪:‬‬
‫ذخیره مکان نشانه‌ها را داریم ()‪.)O(q) = O(n‬‬
‫شمارنده حلقه تکرار در الگوریتم ذکر شده را داریم ()‪.)O(q) = O(n‬‬
‫در این صورت ‪ M‬در فضای غیرقطعی )‪ O(n‬اجرا می‌شود‪.‬‬
‫)‪O(n‬‬
‫‪ 2‬اجرا می‌شود (زبان مطرح شده در صورت سوال مشخص نیست که ‪NP‬‬ ‫همچنین توجه کنید ‪ M‬در زمان غیرقطعی‬
‫است یا ‪.)coNP‬‬
‫حال یک قضیه را مطرح می‌کنیم‪.‬‬
‫قضیه ساویچ‪ :‬به یاد داریم که در کالس مدل کردن ‪ NTM‬با یک ‪ DTM‬مطرح شد که زمان نمایی صرف می‌کرد‪.‬‬
‫‪2‬‬
‫قضیه ساویچ نشان می‌دهد‪ ،‬هر ‪ NTM‬که فضای )‪ f(n‬اشغال می‌کند را می‌توان به یک ‪ DTM‬با فضای )‪ f (n‬تبدیل کرد و‬
‫این به معنای زیر است‪:‬‬
‫‪2‬‬
‫))‪NSPACE(f(n)) ⊆ SPACE(f (n‬‬
‫‪+‬‬
‫واضح است که یک کاهش سرعت خواهیم داشت‪ .‬تابع ‪ f‬نیز ‪ ℕ → ℝ‬است‪ .‬از آن‌جایی که این قضیه مورد خواسته سوال‬
‫نیست‪ ،‬صرفا چند تصویر از اثبات قضیه ارائه می‌دهم و به ادامه مسئله خودمان می‌پردازم‪.‬‬

‫‪2‬‬
3
‫حال تعریفی که از کالس ‪ PSPACE‬داشتیم را به خاطر می‌آوریم‪:‬‬

‫‪k‬‬
‫‪PSPACE = ∪ SPACE(n ), Union on k‬‬

‫حال طبق قضیه ساویچ می‌دانیم ‪ PSPACE = NSPACE‬است زیرا مربع یک چندجمله‌ای باز هم چندجمله‌ای است‪.‬‬
‫‪2‬‬
‫در این صورت )‪ A' ∈ NSPACE(n‬و ) ‪ A' ∈ SPACE(n‬و در نتیجه ‪ A' ∈ PSPACE‬خواهد بود‪.‬‬

‫همچنین طبق قضیه‌ای که در کالس اثبات شد می‌دانیم کالس‌های فضای قطعی تحت عمل ‪ complementation‬بسته هستند‪،‬‬
‫پس‪:‬‬
‫‪2‬‬
‫) ‪ A ∈ SPACE(n‬و در نتیجه ‪ A ∈ PSPACE‬است‪.‬‬

‫‪.Q.E.D‬‬

‫‪4‬‬
‫مسئله ششم‬
‫برای حل این مسئله‪ ،‬یک الگوریتم مطرح می‌کنیم‪.‬‬
‫دو نوار را در نظر بگیرید که یکی برای خواندن ورودی و دیگری برای خواندن و نوشتن باشد‪.‬‬
‫ابتدا ورودی را اسکن می‌کنیم تا مطمئن شویم هیچ ‪a‬ای بعد از ‪ b‬نیامده است‪ .‬اگر آمده بود به حالت ریجکت می‌رویم‪.‬‬
‫تعداد ‪a‬ها را با استفاده از یک ‪ counter‬می‌شماریم و به صورت باینری ذخیره می‌کنیم‪.‬‬
‫حال دو رویکرد وجود دارد‪ .‬یا اینکه شمارنده در قسمت قبل را ‪ decrement‬کنیم و یا اینکه از شمارنده دومی استفاده کنیم‪.‬‬
‫‪b‬ها را بشماریم‪ .‬اگر شمارنده ما صفر نشد ولی تمام ‌‪b‬ها‬
‫فرض کنید از ‪ decrement‬کردن شمارنده استفاده کنیم و تمام ‌‬
‫شمرده شده باشند یا اینکه شمارنده صفر شد ولی هنوز تعدادی ‪ b‬شمرده نشده باقی مانده بود‪ ،‬به حالت ریجکت می‌رویم و در‬
‫غیر این صورت به اکسپت می‌رویم‪.‬‬
‫توجه کنید حرکت ‪ head‬که تعداد حروف را می‌شمارد هیچ حافظه‌ای مصرف نمی‌کند‪.‬‬
‫در این صورت که اعداد را در حالت باینری ذخیره می‌کنیم‪ ،‬نتیجه می‌شود که در کالس ‪ Logspace‬قرار داریم‪.‬‬
‫‪n n‬‬
‫‪A B ∈L‬‬

‫‪.Q.E.D‬‬

‫‪5‬‬
‫مسئله پانزدهم‬
‫اگر تمام زبان‌های ‪ NP-hard، PSPACE-hard‬نیز باشند در این صورت مسئله ‪ SAT‬نیز ‪ PSPACE-hard‬خواهد بود‪،‬‬
‫پس هر زبان ‪ PSPACE‬را می‌توان با زمان چندجمله‌ای به ‪ SAT‬کاهش داد‪ .‬از آنجایی که ‪ SAT ∈ NP‬می‌باشد‪ ،‬پس هر‬
‫زبانی در ‪ PSPACE‬در زمان چندجمله‌ای و به صورت ‪ nondeterministic‬با تبدیل ورودی زبان در ‪ PSPACE‬به‬
‫ورودی مسئله ‪ SAT‬و همچنین اجرای یک ‪ decider‬به صورت ‪ NP-time‬به مسئله ‪ SAT‬قابل حل است‪.‬‬
‫بنابراین هر زبانی در ‪ PSPACE‬در ‪ NP‬است‪ ،‬پس ‪.PSPACE ⊆ NP‬‬
‫عالوه بر این‪ ،‬داریم که هر زبانی در ‪ NP‬یک کاهش در زمان چندجمله‌ای به ‪ SAT‬که ‪ NP-hard‬است‪ ،‬دارد و می‌دانیم که‬
‫یک کاهش چندجمله‌ای از ‪ SAT‬به )‪ TQBF (True Quantified Boolean Formula‬که در کالس به آن اشاره شد‬
‫وجود دارد و یک کاهش چندجمله‌ای از زبانی در کالس ‪ NP‬به ‪ TQBF‬می‌دهد‪.‬‬
‫یک کاهش زمانی چندجمله‌ای همچنین حافظه چندجمله‌ای صرف می‌کند‪ ،‬اگر در هر گام زمانی فقط بتوانیم به یک خانه حافظه‬
‫از نوار دست‌رسی داشته باشیم‪ .‬بنابراین یک ‪ decider‬با حافظه چندجمله‌ای برای هر زبان ‪ NP‬با تبدیل یک ورودی از زبان‬
‫به یک ورودی از ‪ TQBF‬در به صورت حافظه چندجمله‌ای و بعد از اجرای این ‪ decider‬بر ‪ TQBF‬داریم‪.‬‬
‫در نتیجه هر زبانی در کالس ‪ NP‬در ‪ PSPACE‬نیز است و داریم‪.⊆ PSPACE NP‬‬
‫پس نتیجه می‌شود که ‪.PSPACE = NP‬‬

‫‪.Q.E.D‬‬

‫‪6‬‬

You might also like