۰
subtitle
ارسال: #۱
  
سال ۹۰ سوال ۶۲ زبان L1
هوالعلیم
این زبان رو چطوری با یک پشته می شه حل کرد؟ مراحل پشته رو می خوام.
L=w1w2 ; |w1|=|w2| , w1#w2
w1 و w2 سیکما استارند.
متشکرم
این زبان رو چطوری با یک پشته می شه حل کرد؟ مراحل پشته رو می خوام.
L=w1w2 ; |w1|=|w2| , w1#w2
w1 و w2 سیکما استارند.
متشکرم
۰
ارسال: #۲
  
زبان L1 سوال ۶۲ کنکور ۹۰
گرامرشو که آقای parsaNA نوشته بود. فکر کنم بهتر باشه همون گرامرشو به ماشین پشته ای نامعین تبدیل کنیم. به نظرم اینکارو بکنیم بهتر باشه، چون نیازی نیست وسط رشته رو پیدا کنیم.
روش کارشم جالب بود. اگه از S->UV بریم تعداد حرف های جمع تعداد حرفهای قبل از هسته U و بعد از هسته V که به ترتیب a و b هستن میشه نصف طول رشتمون منهای یک. پس مکان این دو هسته در هرجای رشتمون بر حسب طول U و V باشن، یکی میشه. یعنی اگه طول رشتمون ۲n باشه و مکان هسته U رو با l مشخص کنیم که l از n بیشتر نیست، مکان هسته V میشه n+l که برابر نبودن این دو هسته میدونیم این دو رشته w1 و w2 حداقل در یک حرف در مکان lام باهم اختلاف دارن.
اینم گرامری که آقای parsaNA نوشتن:
S->UV|VU
U->aUa|bUa|aUb|bUb|a
V->aVa|bVa|aVb|bVb|b
روش کارشم جالب بود. اگه از S->UV بریم تعداد حرف های جمع تعداد حرفهای قبل از هسته U و بعد از هسته V که به ترتیب a و b هستن میشه نصف طول رشتمون منهای یک. پس مکان این دو هسته در هرجای رشتمون بر حسب طول U و V باشن، یکی میشه. یعنی اگه طول رشتمون ۲n باشه و مکان هسته U رو با l مشخص کنیم که l از n بیشتر نیست، مکان هسته V میشه n+l که برابر نبودن این دو هسته میدونیم این دو رشته w1 و w2 حداقل در یک حرف در مکان lام باهم اختلاف دارن.
اینم گرامری که آقای parsaNA نوشتن:
S->UV|VU
U->aUa|bUa|aUb|bUb|a
V->aVa|bVa|aVb|bVb|b
۱
ارسال: #۳
  
RE: زبان L1 سوال ۶۲ کنکور ۹۰
این سوال در هر دو کتاب لینز و سیپسر اومده:
سیپسر سوال ۲۳ فصل ۲
لینز تمرین ۱۰ از فصل ۱-۸ (البته به صورت w1cw2 هست)
من چیزی رو که از اون PDF می فهمم رو می نویسم (ترجمه می کنم). (چون خودمم نرفتم دنبالش که بفهمم دقیقا چجوریه)
فرض کنید که رشته ما به صورت W = XY هست. (که اندازه X و Y برابر)
این رشته تنها در صورتی عضو زبان ماست که اندازه W زوج باشه و کافیه که تنها یک i وجود داشته باشه که به ازای اون Xi <> Yi باشه. مسئله اصلی حدس محل i است. می تونید ببینید که اگر اندازه X و Y با هم برابر باشد، تعداد حروفی که از Xi+1 تا Yi داریم برابر بقیه حروف موجود در W است. (با مثال برای یک رشته با طول زوج این رو می تونید ببینید)
حالا PDA ما برای تشخیص زبان، محلی در X و محلی در Y رو حدس میزنه و با استفاده از پشته تشخیص میده که تعداد حروفی که در این فاصله هست با بقیه تعداد حروف برابر یا نه.
نکته اساسی اینه که پس ماشین کجا حرف Xi رو نگه داره تا بعدا با Yi مقایسه کنه. طبق حل گفته شده که در محل iام باید:
Remember the current input symbol in the finite control
این جمله به نظر من یعنی این:
یعنی چون [tex]x, y \in (0,1)^*[/tex] هست و ما فقط یک حرف (از دو نوع حرف موجود) رو می خوایم به خاطر بسپاریم، می تونیم در قواعد PDA در صورتی که Xi حرف ۰ بود (مثلا) به حالت q3 بریم و اگر حرف ۱ بود به حالت q4 بریم و به این صورت با استفاده از قواعد حرف Xi رو به خاطر بسپاریم. بعد ماشین جای Yi رو باید حدس بزنه و با توجه به اینکه از q3 به اینجا رسیده باشیم یا از q4 باید در محل حدس زده شده از رشته Yi حرف ۰ یا ۱ داشته باشیم.
قبل از Xi حرفها باید در پشته Push بشه و از اون به بعد Pop میکنیم تا پشته خالی بشه و بعد دوباره Push میکنیم تا محل Yi. بعد Yi نسبت به حالتی که از Xi تا اینجا اومدیم باید با Xi یکی نباشه. از اینجا به بعد Pop می کنیم و بعد از تمام شدن ورودی باید پشته خالی باشه.
سیپسر سوال ۲۳ فصل ۲
لینز تمرین ۱۰ از فصل ۱-۸ (البته به صورت w1cw2 هست)
من چیزی رو که از اون PDF می فهمم رو می نویسم (ترجمه می کنم). (چون خودمم نرفتم دنبالش که بفهمم دقیقا چجوریه)
فرض کنید که رشته ما به صورت W = XY هست. (که اندازه X و Y برابر)
این رشته تنها در صورتی عضو زبان ماست که اندازه W زوج باشه و کافیه که تنها یک i وجود داشته باشه که به ازای اون Xi <> Yi باشه. مسئله اصلی حدس محل i است. می تونید ببینید که اگر اندازه X و Y با هم برابر باشد، تعداد حروفی که از Xi+1 تا Yi داریم برابر بقیه حروف موجود در W است. (با مثال برای یک رشته با طول زوج این رو می تونید ببینید)
حالا PDA ما برای تشخیص زبان، محلی در X و محلی در Y رو حدس میزنه و با استفاده از پشته تشخیص میده که تعداد حروفی که در این فاصله هست با بقیه تعداد حروف برابر یا نه.
نکته اساسی اینه که پس ماشین کجا حرف Xi رو نگه داره تا بعدا با Yi مقایسه کنه. طبق حل گفته شده که در محل iام باید:
Remember the current input symbol in the finite control
این جمله به نظر من یعنی این:
یعنی چون [tex]x, y \in (0,1)^*[/tex] هست و ما فقط یک حرف (از دو نوع حرف موجود) رو می خوایم به خاطر بسپاریم، می تونیم در قواعد PDA در صورتی که Xi حرف ۰ بود (مثلا) به حالت q3 بریم و اگر حرف ۱ بود به حالت q4 بریم و به این صورت با استفاده از قواعد حرف Xi رو به خاطر بسپاریم. بعد ماشین جای Yi رو باید حدس بزنه و با توجه به اینکه از q3 به اینجا رسیده باشیم یا از q4 باید در محل حدس زده شده از رشته Yi حرف ۰ یا ۱ داشته باشیم.
قبل از Xi حرفها باید در پشته Push بشه و از اون به بعد Pop میکنیم تا پشته خالی بشه و بعد دوباره Push میکنیم تا محل Yi. بعد Yi نسبت به حالتی که از Xi تا اینجا اومدیم باید با Xi یکی نباشه. از اینجا به بعد Pop می کنیم و بعد از تمام شدن ورودی باید پشته خالی باشه.
۰
ارسال: #۴
  
زبان L1 سوال ۶۲ کنکور ۹۰
این زبان مستقل از متن هست . اندازه w1 و w2 که برابر هست . در شرط هم که وابستگی وجود ندارد .
بعضی وقتها از ماشین های دو پشته ای استفاده میکنیم در این صورت حتی اگه زبان وابسته به متن هم باشه میشه با این دو پشته ایها مستقل از متن در نظر گرفت تو کتاب لینز در این مورد چند تا مثال حل کرده .
(۲۴ بهمن ۱۳۹۰ ۱۰:۰۶ ب.ظ)sasanlive نوشته شده توسط:(24 بهمن ۱۳۹۰ ۰۹:۴۳ ب.ظ)shervinrs نوشته شده توسط: در فایل ضمیمه (مسئله ۳)
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
توضیح داده شده.
سوال بدی بوده. از اونا که سریع میزنی و مطمئنی درسته بعد ...
میتونین شکله ماشینشم بذارین.
به نظرم تو توضیحاتش داره از یه حافظه دیگه هم استفاده میکنه.
چون وقتی متناسب با w1 متغییر تو پشته میریزیم , متغییر های متناسب با حروف اول میرن ته پشته. چطوری درش میاره از ته پشته ؟
مگه برای پیاده سازی زبان مستقل از متن بجز پشته حافظه دیگه ای داریم؟
بعضی وقتها از ماشین های دو پشته ای استفاده میکنیم در این صورت حتی اگه زبان وابسته به متن هم باشه میشه با این دو پشته ایها مستقل از متن در نظر گرفت تو کتاب لینز در این مورد چند تا مثال حل کرده .
ارسال: #۵
  
RE: زبان L1 سوال ۶۲ کنکور ۹۰
(۲۴ بهمن ۱۳۹۰ ۱۰:۱۱ ب.ظ)parimehraban نوشته شده توسط: بعضی وقتها از ماشین های دو پشته ای استفاده میکنیم در این صورت حتی اگه زبان وابسته به متن هم باشه میشه با این دو پشته ایها مستقل از متن در نظر گرفت تو کتاب لینز در این مورد چند تا مثال حل کرده .
قدرت ماشینه دو پشته ای برابر ماشینه تورینگ هست.
پس اگه اینطور باشه همه زبانها رو با دو پشته پیاده سازی میکنیم. همه مستقل از متن میشن.
زبانی که با استفاده از یه پشته نشه پیاده سازی کرد مستقل از متن نیست.
ولی زبان مستقل از متنو میشه با استفاده از دو پشته هم پیاده سازی کرد.
۰
ارسال: #۶
  
زبان L1 سوال ۶۲ کنکور ۹۰
برابری اندازه w1 و w2 باپشته حله.
مشکل من تست عدم برابری خود اونهاست.
اگه دو پشته در نظر بگیریم که دیگه مستقل از متن نمی شه.
می شه این تمرینات لینز رو آدرس بدید تمرین چنده؟
البته می دونم که در مستقل از متن بودن این زبان شکی نیست. منتها پرسیدم تا درک بهتری داشته باشم. چون حدس می زنم که این تیپ سوال مد نظر طراح باشه.
مشکل من تست عدم برابری خود اونهاست.
اگه دو پشته در نظر بگیریم که دیگه مستقل از متن نمی شه.
می شه این تمرینات لینز رو آدرس بدید تمرین چنده؟
البته می دونم که در مستقل از متن بودن این زبان شکی نیست. منتها پرسیدم تا درک بهتری داشته باشم. چون حدس می زنم که این تیپ سوال مد نظر طراح باشه.
۰
ارسال: #۷
  
زبان L1 سوال ۶۲ کنکور ۹۰
یک سوال هم سال ۸۹ تقریبا مشابه این سوال اومده.
اونجا هم زده مستقل از متن.
اونجا هم جای بحث داره.
باید دقیقا بفهمم چطوریه ...
اونجا هم زده مستقل از متن.
اونجا هم جای بحث داره.
باید دقیقا بفهمم چطوریه ...
ارسال: #۸
  
RE: زبان L1 سوال ۶۲ کنکور ۹۰
۰
ارسال: #۹
  
زبان L1 سوال ۶۲ کنکور ۹۰
اوکی . گرفتم. توی ۸۹ چون رشته w1 همیشه آخرین حرفش بالای پشته است .موقع پاپ کردن می شه چک کرد که رشته دوم با معکوس رشته اول برابر هست یا نه.
ولی اینجا (۹۰) ابتدای رشتهی اول در دسترس نیست چون رفته ته پشته.
ولی خوب اون عکس ارسال ۹۵ از اون لینک بالا ظاهرا مال سیپسر هستش و این رو هم گفته مستقل از متنه. واسش گرامر هم توی اون لینک آورده . منتها من دقیقا نفهمیدم توی پشته چطوری کار می کنه.
ولی اینجا (۹۰) ابتدای رشتهی اول در دسترس نیست چون رفته ته پشته.
ولی خوب اون عکس ارسال ۹۵ از اون لینک بالا ظاهرا مال سیپسر هستش و این رو هم گفته مستقل از متنه. واسش گرامر هم توی اون لینک آورده . منتها من دقیقا نفهمیدم توی پشته چطوری کار می کنه.
۰
ارسال: #۱۰
  
زبان L1 سوال ۶۲ کنکور ۹۰
جالب اینه که اگه w1=w2 بود در شرط زبان اونوقت مستقل از متن نبود.
۰
ارسال: #۱۱
  
زبان L1 سوال ۶۲ کنکور ۹۰
بی زحمت با پشته بگین.
منظورم ترسیم PDA نیست.
همینطوری بصورت حرفی می خوام.
منظورم ترسیم PDA نیست.
همینطوری بصورت حرفی می خوام.
۰
ارسال: #۱۲
  
زبان L1 سوال ۶۲ کنکور ۹۰
ببخشید من نتم قطع شد تو لینز رفتم دیدم نبود سیپسر دارم ولی حلشو ندارم .
ارسال: #۱۳
  
RE: زبان L1 سوال ۶۲ کنکور ۹۰
(۲۴ بهمن ۱۳۹۰ ۱۱:۱۰ ب.ظ)parimehraban نوشته شده توسط: ببخشید من نتم قطع شد تو لینز رفتم دیدم نبود سیپسر دارم ولی حلشو ندارم .
سیپسر عکسش اینجا هست دیگه(ارساله ۹۵). موضوع همین سیپسره که گفته مستقل از متنه.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۰
ارسال: #۱۴
  
زبان L1 سوال ۶۲ کنکور ۹۰
شما هم دست رو چه سوالی گذاشتید اینو همه دو به شک هستند .
۰
ارسال: #۱۵
  
زبان L1 سوال ۶۲ کنکور ۹۰
پاسخ سنجش هم شاید بر مبنای اون بوده.
اون حل پشته ای رو توی حل تمرین که در لینک زیر آمده ببینید.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
در اون کلمه Remember داره از چه حافظه ای استفاده می کنه؟
finit control کجاست؟
اون حل پشته ای رو توی حل تمرین که در لینک زیر آمده ببینید.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
در اون کلمه Remember داره از چه حافظه ای استفاده می کنه؟
finit control کجاست؟
۰
ارسال: #۱۶
  
زبان L1 سوال ۶۲ کنکور ۹۰
این حافظه که میگید کجاست ؟ کدوم خطه من ندیدمش تو حل سیپسره ؟؟؟
ای کاش حل سیپسره زودتر گیر میاوردم چقدر عالی نوشته .
ای کاش حل سیپسره زودتر گیر میاوردم چقدر عالی نوشته .
۰
ارسال: #۱۷
  
زبان L1 سوال ۶۲ کنکور ۹۰
نوشتن ماشین پشته ای رو زیاد بلد نیستم. امیدوارم متوجه بشید:
ماشین ۳ تا حالت q0 و q1 و q2 داره که q0 حالت شروع و q2 حالت پایانیه. Z هم انتهای پشتمونه.
از q0 به q1 این حرکتهارو داریم:
از q1 به خودش با طوقه داریم:
از q1 به q2 داریم:
فکر کنم ماشینش همین باشه. دوتا رشته جدا ازهمه که هسته یکی a و هسته یکی b میشه. باید یه تعداد حرفو بخونید و به ازای هر حرف ۱ توی پشته پوش کنید. بعد یه a یا b رو بخونین. (فرض میکنیم a خونده باشیم. اگه b میخوندیم میشه با جابجایی حروف جوابو کامل کرد.) به تعداد ۱های درون پشته، حرف از ورودی میخونیم و اون ۱هارو پاپ میکنیم. دوباره یه تعداد حرف خونده و ۱ پوش میکنیم. اینبار حتماً باید b بخونیم (چون فرض کردیم دفعه قبل a خوندیم.) اگه حرف مذکور b بود و تعداد حروف باقی مونده از رشته با تعداد ۱های پشته برابر بود به حالت پایانی میریم.
بطور خلاصه دو رشته جدا ازهم رو باید شناسایی کنیم که حرف وسطشون متفاوت و مجموع طولشون با طول رشتمون برابره.
فکرکنم برای یه رشته طولانی که فقط یجا اختلاف وجود داره ماشین داغ کنه ولی جواب میده.
ماشین ۳ تا حالت q0 و q1 و q2 داره که q0 حالت شروع و q2 حالت پایانیه. Z هم انتهای پشتمونه.
از q0 به q1 این حرکتهارو داریم:
[tex]\lambda,Z\to UVZ|VUZ[/tex]
از q1 به خودش با طوقه داریم:
[tex]\lambda,U\to aUa|aUb|bUa|bUb|a[/tex]
[tex]\lambda,V\to aUa|aUb|bUa|bUb|b[/tex]
[tex]a,a\to \lambda[/tex]
[tex]b,b\to \lambda[/tex]
[tex]\lambda,V\to aUa|aUb|bUa|bUb|b[/tex]
[tex]a,a\to \lambda[/tex]
[tex]b,b\to \lambda[/tex]
از q1 به q2 داریم:
[tex]\lambda,Z\to Z[/tex]
فکر کنم ماشینش همین باشه. دوتا رشته جدا ازهمه که هسته یکی a و هسته یکی b میشه. باید یه تعداد حرفو بخونید و به ازای هر حرف ۱ توی پشته پوش کنید. بعد یه a یا b رو بخونین. (فرض میکنیم a خونده باشیم. اگه b میخوندیم میشه با جابجایی حروف جوابو کامل کرد.) به تعداد ۱های درون پشته، حرف از ورودی میخونیم و اون ۱هارو پاپ میکنیم. دوباره یه تعداد حرف خونده و ۱ پوش میکنیم. اینبار حتماً باید b بخونیم (چون فرض کردیم دفعه قبل a خوندیم.) اگه حرف مذکور b بود و تعداد حروف باقی مونده از رشته با تعداد ۱های پشته برابر بود به حالت پایانی میریم.
بطور خلاصه دو رشته جدا ازهم رو باید شناسایی کنیم که حرف وسطشون متفاوت و مجموع طولشون با طول رشتمون برابره.
فکرکنم برای یه رشته طولانی که فقط یجا اختلاف وجود داره ماشین داغ کنه ولی جواب میده.
۰
ارسال: #۱۸
  
زبان L1 سوال ۶۲ کنکور ۹۰
۰
ارسال: #۱۹
  
زبان L1 سوال ۶۲ کنکور ۹۰
رشته با U شروع میشه. S->UV و U به aab و V به bbb تبدیل میشه.
میشه اینجوری هم گفت که U به a و V به abbbb تبدیل میشه. فقط باید وسط دوتا رشتمون تفاوت داشته باشه که به جواب برسیم.
میشه اینجوری هم گفت که U به a و V به abbbb تبدیل میشه. فقط باید وسط دوتا رشتمون تفاوت داشته باشه که به جواب برسیم.
۰
ارسال: #۲۰
  
زبان L1 سوال ۶۲ کنکور ۹۰
گفتم که لزومی نداره طول U با V برابر بشن. اگه منظورتون تولید aabbbbaaaaaa باشه میشه:
S->VU و V=aabbb و U=baaaaaa. مسلماً اینارو میشه تولید کرد.
S->VU و V=aabbb و U=baaaaaa. مسلماً اینارو میشه تولید کرد.
۰
ارسال: #۲۱
  
زبان L1 سوال ۶۲ کنکور ۹۰
چون گفتند مخالف هم باشند پس فقط کافیه
تعداد a های w1 با تعداد a های w2 برابر نباشه
وتعداد b های w1 با تعداد b های w2 برابر نباشه
خوب میشه به راحتی پشته ایو طراحی کرد اما خدایش احسنت به طراح سوال خوشکلی بود
تعداد a های w1 با تعداد a های w2 برابر نباشه
وتعداد b های w1 با تعداد b های w2 برابر نباشه
خوب میشه به راحتی پشته ایو طراحی کرد اما خدایش احسنت به طراح سوال خوشکلی بود
ارسال: #۲۲
  
RE: زبان L1 سوال ۶۲ کنکور ۹۰
(۲۵ بهمن ۱۳۹۰ ۰۶:۰۵ ب.ظ)atharrashno نوشته شده توسط: چون گفتند مخالف هم باشند پس فقط کافیه
تعداد a های w1 با تعداد a های w2 برابر نباشه
وتعداد b های w1 با تعداد b های w2 برابر نباشه
نمیشه اینو گفت. ممکنه تعدادشون برابر باشه. aaba abaa رو درنظر بگیرید. تعدادشون برابره ولی دو رشته با هم برابر نیستن. شرطش اینه که حداقل در یک مکان مشخص از رشته هامون ۲تا حرف متفاوت باشه. برای همین رشته رو دو قسمت متفاوت (طولشون لزوماً برابر نیست.) تقسیم میکنیم که حرفای وسطیشون که در یه مکان هستن با هم برابر نباشن.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close