تالار گفتمان مانشت

نسخه‌ی کامل: نحوه‌ی ساخت PDA برای a^nb^m با شرط برابر نبودن توانها
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
میخوام لطف کنید توضیح بدید این زبان چطور با PDA قابل تشخیصه؟؟
[tex]L={a^{n}b^{m}| n\neq m}[/tex]
[
سلام. pda این ماشین میتونه به این شکل کار کنه:
در حالت 1 به ازای هر a که از ورودی دریافت میکنه یه a توی پشته پوش میکنه و در حالت 1 میمونه (برای راحتی کار به ازای اولین a حرف c پوش میکنیم. یعنی بالای z0 یه c داریم.).
هروقت b دید از حالت 1 به حالت 2 میره و یه a پاپ میکنه. اگه روی پشتمون c بود به حالت 3 میریم.

در حالت 2 اگه b ورودیمون بود و روی پشته a بود اون a رو از پشته خط میزنیم و در 2 میمونیم.
در حالت 2 اگه b ورودیمون بود و روی پشته c بود c رو از پشته خط میزنیم و به 3 میریم.
در حالت 2 اگه b ورودیمون بود و روی پشته $ بود همون $ رو اضافه میکنیم و در 2 میمونیم.
در حالت 3 اگه b ورودیمون بود با پشته کاری نداریم و به 2 میریم.( مسلماً روی پشته z0 هست و با خوندن b مقدار m از n بیشتر میشه)
حالت شروع حالت 1 و حالت پایان حالت 2 و اگه مقدار m بتونه صفر بشه حالت 1 هم جزء جوابه.

هرزبان که بشه با PDA پذیرفت میشه برای یه گرامر مستقل از متن نوشت. گرامر این زبان:

S->aSb|A|B
A->aA|a
B->Bb|b
لینک مرجع