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

نسخه‌ی کامل: Pda
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام سلام من اومدم
من تو کتاب نظریه زبانها ابراهیم اکبری پشته ورو یاد گرفتم اما تو کتاب پیتر لینز از علامتهایی مثل z ,0,1 استفاده کرده ک اصلا نمیذئنم چیطور تو پشته ب کار میان میشه توضیح بدید
با سپاس
Z نشاندهنده اینه که پشته خالی است.یعنی اگه علامت بالای پشته z بود میفهمه که دیگه چیزی توی پشته نیست.

مثل اینه که شما یک کاغذ قرمز ته یک جعبه قرار بدی روی اون هم یه سری کاغذ وقتی کاغذها رو یکی یکی برداشتی و به اون کاغذ قرمز رسیدی میدونی که دیگه چیزی ته جعبه نیست.

اون 0 , 1 هم مثلا شما میخوای a رو پوش کنی توی پشته به جاش 0 پوش میکنی چون مثلا الفبای پشته 0و1 , a,b نمیفهمه که چی هستن فقط 0,1,z رو تشخیص میده خوب شما میای میگی 0 یعنی a و 1 یعنی b حالا هر چی a دیدی به ازاش توی پشته 0 بریز. یه جور شبیه سازیه.که باید خودتون طبق اون زبان تشخیص بدین که به جای چه حرفی چی پوش کنید و چی پاپ کنید.

مثل اینه که شما بخوای یه تعدادی میوه رو بشماری حالا بیای روی کاغذ به ازای هر میوه یک خط بکشی و به ازای هر میوه ای که خورده میشه روی اون خط یه خط مورب بکشی.

امیدوارم که مفهوم رو رسونده باشم.
مرسی تا حدودی بله

میگم مثلا q,0,0z
یا q ,a,11 اینا چه مفهومی دارن
میشه بگید این عبارات چطوری خونده میشه ؟
شما سوالتون رو درست مطرح نکرده بودین با خودم میگفتم چرا جور در نمیاد!! الان فهمیدم که سوالتون رو ناقص مطرح کردین.

[tex]\delta (q,a,z)=(q1,0z)[/tex]

یعنی اگر در وضعیت q بودی و عنصر بالای پشته z بود (پشته خالی بود )به جای a یک عدد صفر در پشته پوش کن و به وضعیت q1 برو.

[tex]\delta (q1,a,0)=(q1,00 )[/tex]

مثل قبلی است با این تفاوت که عنصر بالای پشته 0 است و 0 را نیز پوش میکند.

[tex]\delta (q1,b,0)=(q1,\lambda )[/tex]

شبیه قبلی فقط 0 بالای پشته با b خوانده شده زده میشود یعنی خواندن یک b باعث کم شدن یک صفر از پشته میشود.

[tex]\delta (q1,b,1)=(q1,11 )[/tex]

شبیه قبلی با این تفاوت که 1 روی پشته پوش میشود و چیزی کم نمیشود.

به اینها میگن تابع انتقال ...

حالا اگه شما aabb رو بخونید

صفر پوش میشه.صفر پوش میشه.صفر پاپ میشه صفر پاپ میشه. پشته خالی است و برای مثال میتونیم تشخیص بدیم که این رشته جز a^nb^n است.

یعنی باید تابع انتقالها رو به نحوی بنویسیم که زبانی که میخواهیم رو تشخیص بده .البته من انتقالهای a^nb^n رو کامل ننوشتم فقط در حدی نوشتم که درک کنید منظور از تابع انتقال چیه.
لینک مرجع