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

نسخه‌ی کامل: کتاب لینز: تمرین بخش 1.2 _ شماره 18
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
این سوال مربوط به بخش ۱/۲ از کتاب آقای لینز هست، برای زبان های زیر گرامر روی الفبای a بنویسید.
سوال ۱۸ قسمت A:
[تصویر:  attachment.php?aid=11521]

خودم یه استدلال هایی برای حل اش دارم اما توجیه نمیشم! اگر لازم بود درباره اینها بحث می کنیم.

** چون روی سوال 18 زیاد بحث شد بهتر دیدم سوال 15 رو در موضوع جداگانه ای مطرح کنم.
سلام هاتف جان.
سوال ۱۸/a به این صورت هست فکر کنم. اگه دیدی مشکل داره بگو Smile

[tex]S\rightarrow AaB[/tex]
[tex]A\rightarrow AA |aAb|bAa|\lambda[/tex]
[tex]B\rightarrow BB |aBb|bBa|\lambda[/tex]
(20 خرداد 1392 07:49 ب.ظ)azad_ahmadi نوشته شده توسط: [ -> ]سلام هاتف جان.
سوال ۱۸/a به این صورت هست فکر کنم. اگه دیدی مشکل داره بگو Smile

[tex]S\rightarrow AbB[/tex]
[tex]A\rightarrow AA |aAb|bAa|\lambda[/tex]
[tex]B\rightarrow BB |aBb|bBa|\lambda[/tex]

برعکس نشد؟
a باید از b یه دونه بیشتر باشه
این aab با اون مقدار باید درست بشه ولی با گرامری که نوشتین بدست نمیاد
اشتباه که نگفتم؟؟
(20 خرداد 1392 07:49 ب.ظ)azad_ahmadi نوشته شده توسط: [ -> ]سلام هاتف جان.
سوال ۱۸/a به این صورت هست فکر کنم. اگه دیدی مشکل داره بگو Smile
ظاهرا یه اشتباه ساده کردید که ایشون فرمودند:
(20 خرداد 1392 07:59 ب.ظ)soheila2012 نوشته شده توسط: [ -> ]برعکس نشد؟
a باید از b یه دونه بیشتر باشه
به نظر گرامرتون درسته، فعلا که مثال نقض پیدا نکردم.
برای همین سوال نظرتون درباره این گرامر چیه؟
[تصویر:  attachment.php?aid=11522]
این به نظرم غلطه اما نمیدونم چرا قبلا اینطور نوشتم!!
***سوال میگه تعداد bها بعلاوه 1 برابر باشه با تعداد aها (اگه ایطور باشه که همون جواب درسته).



(20 خرداد 1392 08:05 ب.ظ)هاتف نوشته شده توسط: [ -> ]برای همین سوال نظرتون درباره این گرامر چیه؟
[تصویر:  attachment.php?aid=11522]

درست نیست . چون میتونیم aa رو داشته باشیم.
بازم نمیشه
بینید با aab که درست نمیشه با این گرامر
اینی که میگم aab درسته چون a از b بیشتره اونم یکی
با این گرامر هم نمیشه
(20 خرداد 1392 08:05 ب.ظ)هاتف نوشته شده توسط: [ -> ]برای همین سوال نظرتون درباره این گرامر چیه؟
[تصویر:  attachment.php?aid=11522]
این به نظرم غلطه اما نمیدونم چرا قبلا اینطور نوشتم!!

تعداد a ها همیشه دو تا از b ها بیشتره ، در صورتی که ما میخواهییم تعداد a ها یکی از b ها بیشتر باشه
به نظرم اگر قانون اولی رو بنویسیم
[tex]S{}'\rightarrow aS|Sa[/tex]
درست میشه
(20 خرداد 1392 10:17 ب.ظ)Aliteh نوشته شده توسط: [ -> ]
(20 خرداد 1392 08:05 ب.ظ)هاتف نوشته شده توسط: [ -> ]برای همین سوال نظرتون درباره این گرامر چیه؟
[تصویر:  attachment.php?aid=11522]
این به نظرم غلطه اما نمیدونم چرا قبلا اینطور نوشتم!!

تعداد a ها همیشه دو تا از b ها بیشتره ، در صورتی که ما میخواهییم تعداد a ها یکی از b ها بیشتر باشه
به نظرم اگر قانون اولی رو بنویسیم
[tex]S{}'\rightarrow aS|Sa[/tex]
درست میشه

اشتباه.
مثلا baaab رو نمیشه تولید کرد.
نمیشه ابتدا و انتهای رشته b بود !
سلام. نوشتن به فرم [tex]S^'\to aS|Sa[/tex] هم اشتباهه. اون موقع baaab تولید نمیشه. ایده آقای azad_ahmadi بهترین راه حل این سواله.

[tex]S\to AaA[/tex]
[tex]A\to AA|aAb|bAa|\lambda[/tex]

سوال اول هم زبانش منظمه. ماشینش با 6 حالت طراحی میشه. رشته های با طول 6k+2, 6k+3, 6k+4,6k+5 جزء زبان هستن. گرامرش میشه:

[tex]S\to PPPPPPS|PP|PPP|PPPP|PPPPP[/tex]
[tex]P\to a|b[/tex]
البته من یه سوتی دادم در حد لالیگا !
B اضافی بود و میشد بجاش A بنویسم. Smile
لینک مرجع