تالار گفتمان مانشت
متمم زبان L1=a^n b^m :n>=4,m<=3 - نسخه‌ی قابل چاپ

متمم زبان L1=a^n b^m :n>=4,m<=3 - one hacker alone - 05 اردیبهشت ۱۳۹۱ ۱۲:۴۵ ق.ظ

سلام
من نمیدونم چجوری این متمم رو حساب میکنن میشه یکی از دوستان زبان زیر رو متمم کنه و توضیح بده. ممنون
کد:
L1={anbm :n>=4,m<=3}


متمم این زبان چی میشه؟ - yaser_ilam_com - 05 اردیبهشت ۱۳۹۱ ۰۱:۱۰ ق.ظ

این تمرین کتاب لینزه فصل سوم :


یک رشته در L نیست اگر به شکل [tex]a^{n}b^{m}[/tex] باشد که یا [tex]n< 4[/tex] یا [tex]m> 3[/tex] ولی این به صورت کامل

متمم را توصیف نمی کند. ما باید در رشته ها یک b نیز داشته باشیم که با یک a دنبال می شود .

راه حل :

[tex](\lambda a aa aaa)b^{*} a^{*}bbbbb^{*} (a b)^{*}ba(a b)^{*}[/tex]

متمم این زبان چی میشه؟ - yaser_ilam_com - 05 اردیبهشت ۱۳۹۱ ۰۲:۴۵ ب.ظ

یه جواب دیگه (حل تمرین لینز آقای ریاحی) قرار دادم :


[tex]a^{*}bbbbb^{*} b(a b)^{*} (a \lambda )(a \lambda )(a \lambda )(b(a b)^{*} \lambda )[/tex]

متمم این زبان چی میشه؟ - one hacker alone - 05 اردیبهشت ۱۳۹۱ ۰۴:۰۴ ب.ظ

به جای اون سه تا (a+ λ) میتونستیم بنویسیم a*a*a* درسته؟

RE: متمم این زبان چی میشه؟ - yaser_ilam_com - 05 اردیبهشت ۱۳۹۱ ۰۴:۲۸ ب.ظ

(۰۵ اردیبهشت ۱۳۹۱ ۰۴:۰۴ ب.ظ)one hacker alone نوشته شده توسط:  به جای اون سه تا (a+ λ) میتونستیم بنویسیم a*a*a* درسته؟
نه دوست من این بدان معناست که ما حداکثر از سه a می توانیم استفاده کنیم .

برای فهم این سوال که البته آسون نیست . بهتره ابتدا سوال رو کامل بفهمی ببینی ازت چی می خواد سوال یه زبان داده حالا شما تمام عباراتی رو غیر اون زبان می خوای.یه کم کار داره

متمم این زبان چی میشه؟ - one hacker alone - 06 اردیبهشت ۱۳۹۱ ۱۲:۲۹ ب.ظ

(۰۵ اردیبهشت ۱۳۹۱ ۰۴:۲۸ ب.ظ)yaser_ilam_com نوشته شده توسط:  نه دوست من این بدان معناست که ما حداکثر از سه a می توانیم استفاده کنیم .

چرا حداکثر؟؟؟ وقتی روی aمن ستاره زدم یعنی میتونی هیچی نیاد و میتونه دوباره بیاد (هرچند تا که دلش خواست میتونه a بیاد)

متمم این زبان چی میشه؟ - yaser_ilam_com - 06 اردیبهشت ۱۳۹۱ ۰۱:۰۵ ب.ظ

ببین دوست من ما سه بار عبارت [tex](a \lambda )[/tex] رو آوردیم این عبارت یعنی بین [tex]\lambda[/tex] و a سه با می توانیم انتخاب کنیم که اگه هر سه بار a را انتخاب کنیم انگاه میشه aaa که [tex]a^{*}[/tex] شامل aaaa نیز میشود
امیدوارم متوجه منظورم شده باشی

[tex](a \lambda )[/tex] یعنی یا a یا [tex]\lambda[/tex] .

اگه هر سه بار a را انتخاب کنیم آنگاه میشه aaa یا هر سه بار [tex]\lambda[/tex] را انتخاب کنیم میشه [tex]\lambda[/tex] .

حالا بیایم همون [tex]a^{*}[/tex] شما رو قرار بدیم داریم :

جای [tex]a^{*}[/tex] میتونیم بنویسیم aaaaa حالا وقتی نوشته [tex](b(a b)^{*} \lambda )[/tex] یعنی بین دو عبارت سمت

چپ و راست عملگر + یکی رو باید انتخاب کرد که ما سمت چپ رو انتخاب می کنیم بعد به جای عبارت [tex](b(a b)^{*}[/tex] یک عدد b داریم بعد b به جای [tex](a b)^{*}[/tex] چون * داره پس می نویسیم [tex]\lambda[/tex] حالا عبارت شد

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