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

نسخه‌ی کامل: ایده کلی برای پشته زبان مستقل از متن
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام.
ایده کلی زبان زیر برای پیاده سازی با پشته رو میخواستم

[tex]wa^{n}b^{m}w^{R} , w\epsilon \varepsilon ^{*},n=2m[/tex]
میشه اینطور گفت:
هر چیزی که اومد وارد پشته می کنیم، بعد از یه جایی به بعد به طور غیر قطعی وقتی a دیدیم میریم به یه حالت دیگه ای و به ازای هر a دو تا a توی پشته قرار میدیم تا وقتی b بیاد، در این صورت میریم به یه حالت دیگه ای که به ازای هر b که دیدیم یک a از پشته حذف می کنیم، در نهایت هم (وقتی b ها با a ها رفت) به طور غیر قطعی به حالتی میریم که هر چی که در ورودی دیدیم باید در پشته ببینیم (همون معکوس رشته)
اگر ورودی تمام شد و پشته خالی بود، پذیرش
(10 دى 1392 10:46 ق.ظ)هاتف نوشته شده توسط: [ -> ]میشه اینطور گفت:
هر چیزی که اومد وارد پشته می کنیم، بعد از یه جایی به بعد به طور غیر قطعی وقتی a دیدیم میریم به یه حالت دیگه ای و به ازای هر a دو تا a توی پشته قرار میدیم

میشه اینطور گفت:
هر چیزی که اومد وارد پشته می کنیم، بعد از یه جایی به بعد به طور غیر قطعی وقتی a دیدیم میریم به یه حالت دیگه ای و به ازای هر a دو تا a توی پشته قرار میدیم تا وقتی b بیاد، در این صورت میریم به یه حالت دیگه ای که به ازای هر b که دیدیم یک a از پشته حذف می کنیم، در نهایت هم (وقتی b ها با a ها رفت) به طور غیر قطعی به حالتی میریم که هر چی که در ورودی دیدیم باید در پشته ببینیم (همون معکوس رشته)
اگر ورودی تمام شد و پشته خالی بود، پذیرش
در واقع میشه اینطور گفت ، که اینم مثل همون حالته [tex]ww^{R}[/tex] هست ف با این تفاوت که اونجا aa و bb بصورت غیر قطعی وسط رشته رو مشخص میکرد ولی اینجا aab و و در صورت 0 بودن m و n وسط رشته توسط aa و bb بصورت غیر قطعی تعیین میشه. درسته؟
(10 دى 1392 10:46 ق.ظ)هاتف نوشته شده توسط: [ -> ]میشه اینطور گفت:
هر چیزی که اومد وارد پشته می کنیم، بعد از یه جایی به بعد به طور غیر قطعی وقتی a دیدیم میریم به یه حالت دیگه ای و به ازای هر a دو تا a توی پشته قرار میدیم تا وقتی b بیاد، در این صورت میریم به یه حالت دیگه ای که به ازای هر b که دیدیم یک a از پشته حذف می کنیم، در نهایت هم (وقتی b ها با a ها رفت) به طور غیر قطعی به حالتی میریم که هر چی که در ورودی دیدیم باید در پشته ببینیم (همون معکوس رشته)
اگر ورودی تمام شد و پشته خالی بود، پذیرش

سلام. هاتف خان ایدتون کاملاً درسته فقط دوتا اشتباه جزئی داره:
1- مقدار n میتونه 0 باشه.
2- به ازای هر a یه a اضافه میکنیم و به ازای هر b دوتا a حذف میکنیم.
(10 دى 1392 10:57 ب.ظ)Jooybari نوشته شده توسط: [ -> ]
(10 دى 1392 10:46 ق.ظ)هاتف نوشته شده توسط: [ -> ]میشه اینطور گفت:
هر چیزی که اومد وارد پشته می کنیم، بعد از یه جایی به بعد به طور غیر قطعی وقتی a دیدیم میریم به یه حالت دیگه ای و به ازای هر a دو تا a توی پشته قرار میدیم تا وقتی b بیاد، در این صورت میریم به یه حالت دیگه ای که به ازای هر b که دیدیم یک a از پشته حذف می کنیم، در نهایت هم (وقتی b ها با a ها رفت) به طور غیر قطعی به حالتی میریم که هر چی که در ورودی دیدیم باید در پشته ببینیم (همون معکوس رشته)
اگر ورودی تمام شد و پشته خالی بود، پذیرش

سلام. هاتف خان ایدتون کاملاً درسته فقط دوتا اشتباه جزئی داره:
۱- مقدار n میتونه ۰ باشه.
۲- به ازای هر a یه a اضافه میکنیم و به ازای هر b دوتا a حذف میکنیم.
سلام آقای جویباری
البته شما استاد ما هستی، تذکر اولتون بجاست و من حالت لامبدا رو در نظر نگرفتم اما به نظرم ایراد دومتون وارد نیست:
مگه نداریم که: n=2m پس برای راحتی کار میشه بجای n نوشت 2m یعنی داریم:
[tex]wa^{2m}b^{m}w^{R}[/tex]
اینطوری واضحه که تعداد a ها دو برابر b هاست پس باید به ازای هر a دو تا علامت توی پشته بریزیم و به ازای هر b یکی از علامت ها رو حذف کنیم.
(11 دى 1392 03:22 ب.ظ)هاتف نوشته شده توسط: [ -> ]اینطوری واضحه که تعداد a ها دو برابر b هاست پس باید به ازای هر a دو تا علامت توی پشته بریزیم و به ازای هر b یکی از علامت ها رو حذف کنیم.

اینجور اشتباهات خیلی رایجه. تعداد aها دو برابر bهاست. پس به ازای هر a که پوش میکنید با هر b باید 2 تا a پاپ بشه. درنظر بگیرید تعداد aها 4 تا و bها 2 تا باشه. باید 4 تا a پوش بشه و به ازای هر b باید دوتا از a ها پاپ بشه.
(11 دى 1392 06:45 ب.ظ)Jooybari نوشته شده توسط: [ -> ]
(11 دى 1392 03:22 ب.ظ)هاتف نوشته شده توسط: [ -> ]اینطوری واضحه که تعداد a ها دو برابر b هاست پس باید به ازای هر a دو تا علامت توی پشته بریزیم و به ازای هر b یکی از علامت ها رو حذف کنیم.
اینجور اشتباهات خیلی رایجه. تعداد aها دو برابر bهاست. پس به ازای هر a که پوش میکنید با هر b باید ۲ تا a پاپ بشه. درنظر بگیرید تعداد aها ۴ تا و bها ۲ تا باشه. باید ۴ تا a پوش بشه و به ازای هر b باید دوتا از a ها پاپ بشه.
سوء تفاهم شده:
شما میفرمایید که هر a که دیدیم توی پشته میزاریم، به ازای هر b دو تا علامت از پشته بر میداریم
من عرض کردم که هر a که دیدیم دو علامت توی پشته میزاریم، به ازای هر b یک علامت از پشته بر میداریم.
من فکر می کنم این دو جمله یکی هستند و هر دو درست هستند Blush
سلام دوستان
من فکر می کنم که نظر آقای جویباری کاملا درست هستش یه کمی تو ذهنتون مرور کنید متوجه می شید که دارید اشتباه می کنید البته به نظر من
(11 دى 1392 08:26 ب.ظ)هاتف نوشته شده توسط: [ -> ]سوء تفاهم شده:
شما میفرمایید که هر a که دیدیم توی پشته میزاریم، به ازای هر b دو تا علامت از پشته بر میداریم
من عرض کردم که هر a که دیدیم دو علامت توی پشته میزاریم، به ازای هر b یک علامت از پشته بر میداریم.
من فکر می کنم این دو جمله یکی هستند و هر دو درست هستند Blush

یکیش به n=2m و یکیش به m=2n ختم میشه. برای همین گفتم این اشتباه خیلی متداوله.
لینک مرجع