زمان کنونی: ۰۵ آذر ۱۴۰۳, ۰۴:۴۲ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

ارسال:
  

sajad2010 پرسیده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند رو میخواستم!
ممنون!

۰
ارسال:
  

Jooybari پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

روش آقای احمدی درست بود ولی یکم توی پیاده سازی روش مشکل داشت.

[tex]S\to AaA|BbB[/tex]
[tex]A\to AA|aAb|bAa|aA|\lambda[/tex]
[tex]B\to BB|aBb|bBa|bB|\lambda[/tex]

۰
ارسال:
  

Jooybari پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

سلام. یکم روش کار کنید. abbba و bbaaabb رو قبول نمیکنه.

ارسال:
  

azad_ahmadi پاسخ داده:

RE: گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

(۰۲ دى ۱۳۹۱ ۱۱:۵۲ ب.ظ)Jooybari نوشته شده توسط:  سلام. یکم روش کار کنید. abbba و bbaaabb رو قبول نمیکنه.

abbba رو قبول می کنه. اما دومی رو نه.
فعلا پاک می کنم تا بعد دوباره ویرایش کنم.
ممنون.
یافتن تمامی ارسال‌های این کاربر

۰
ارسال:
  

Somayeh_Y پاسخ داده:

RE: گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

سلام
اینم گرامری هست که من برای این زبان نوشتم

[tex]S\rightarrow ASB/a/b[/tex]
[tex]A\rightarrow abA/baA/aA/BA/\lambda[/tex]
[tex]B\rightarrow bB/AB/\lambda[/tex]

توضیحات
-اگر در رشته نهایی تعداد a بیشتر بود، در خط اول برای برداشتن S و رفتن به خط های بعدی گرامر از a استفاده می کنیم اگر b بیشتر بود از b
-متغییر A برای تولید a در نظر گرفته شده و متغییر B برای تولید b ( حالاتی که تعدادی ab و یا ba پشت سرهم در رشته نهایی داریم، از متغییر A برای تولید این حالات استفاده می شود)

-با قواعد
[tex]A\rightarrow BA[/tex]
و
[tex]B\rightarrow AB[/tex]

بین دو خط آخر گرامر سوئیچ می کنیم و هرجانیاز باشه a کوچک یا b کوچک تولید می کنیم.
Jooybari، در تاریخ ۰۳ دى ۱۳۹۱ ۰۷:۳۶ ب.ظ برای این مطلب یک پانوشت گذاشته است:

رشته ab رو قبول میکنه.

۰
ارسال:
  

azad_ahmadi پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

سلام.

ممنون. اول فکر می کردم bbaaabb رو تولید نمی کنه، اما روش تولیدش ۸ خان رستمه.Big Grin
s---> BbB ---> bB ---> bBB ---> bbBaB ---> bbaB ---> bbaaBb ---> bbaaaBbb ---> bbaaabb

دمت گرم، اینو از کجا آوردی SmileSmile

۰
ارسال:
  

Jooybari پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

چون قرار بود تعداد a و b حداقل یکی اختلاف داشته باشن، دوتا غیرپایانه A و B تعریف کردم. توی A تعداد a ها کمتر از b ها نیست و B هم تعداد b ها کمتر از a ها نیست. اون a یا b اضافه هم برای اون حداقل اختلافه. و باید درنظر بگیرید که اگه از A->AA استفاده نکنید توی تولید رشته هایی که هم با b شروع میشن و هم به b ختم میشن به مشکل میخورید. درضمن اگه تعداد a ها با b های A و B نتونن برابر باشن، وقتی از A->AA استفاده میکنید توی پذیرش رشته های با اختلاف ۱ به مشکل میخورید.

۰
ارسال:
  

csharpisatechnology پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

من فکر می کنم اگه a ها و b ها برابر نباشند و w عضو *(a,b) باشه، L نه منظم هست نه مستقل از متن.
DFA که نمیشه رسم کرد مشخصه.
PDA رو واسه این شک دارم که نمیشه رسم کرد که برای بررسی بزرگتر یا کوچکتر بودن تعداد a و b نسبت به هم باید حافظه ی بی شمار داشت.
زیرا مثلا ممکنه بشه گفت تعداد a ها یکی بیشتر از b ها باشه ولی وقتی تعداد a و b متغیر هست ممکنه مثلا ۲ یا ۳ یا ۴ یا .... تا a از b بیشتر داشته باشیم یا برعکس.
و چون شرط ثابتی نداریم کار شدنی نیست.البته به نظر من با یک پشته این کار امکان پذیر نیست.
به نظرم متناقض هست و مثال های جزئی ای که دوستان میزنند به کل مقدم نیست.

۰
ارسال:
  

Jooybari پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

به نظر من مستقل از متنه. یه گرامر براش نوشتم. اگه گرامرش رشته ای رو تولید نمیکنه یا اشتباه تولید میکنه بگید.

۰
ارسال: #۱۰
  

equilibrium پاسخ داده:

گرامر مستقل از متن برای رشته هایی از a و b که تعداد a و b ها در آن برابر نباشند

یه راه اینه که دو حالت بشه؛ یکی n_a>n_b و یکی بالعکس؛ بعد میشه واسه هر حالت جداگونه یه مستقل از متن نوشت؛ مثلا برای اولی:
[tex]S1\rightarrow aS_1|aS|SS_1[/tex]
که S همون n_a=n_b رو تولید میکنه:
[tex]S\rightarrow aSb|bSa|SS|\lambda[/tex]
برای دومی هم کافیه تو خط اول به جای S_1 بزارید S_2 و به جای a هم b؛
جواب نهایی اجتماع این دو حالت میشه:
[tex]A\rightarrow S_1|S_2[/tex]

(۳۰ دى ۱۳۹۱ ۰۳:۰۹ ب.ظ)csharpisatechnology نوشته شده توسط:  PDA رو واسه این شک دارم که نمیشه رسم کرد که برای بررسی بزرگتر یا کوچکتر بودن تعداد a و b نسبت به هم باید حافظه ی بی شمار داشت.
چک کردن این حالت کارو سخت میکنه؛ بهتره فقط مراقب حالت تساوی باشید؛ یعنی اگه بالای پشته z بود و ورودی تا آخر پردازش شده، ماشین در حالت غیر پایانی قرار داشته باشه؛ مثلا از q0 و z بالای پشته شروع کنید و اولین سمبل ورودی رو پوش کنید؛ بعد از اون به ازای سمبلهای یکسان در ورودی و بالای پشته، یکی به اون سمبل در پشته اضافه، و به ازای سمبل ورودی و پشته مخالف، landa پوش کنید؛ در آخر اگه ورودی تموم بشه (لاندا) و بالای پشته a یا b باشه، برید به qf، در غیر اینصورت (یعنی بالای پشته نه a و نه b یعنی لاندا باشه) در همون q0 که غیر نهاییه میمونه؛



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تعداد برگ درخت؟؟؟؟؟؟؟ rad.bahar ۴ ۴,۸۱۵ ۱۵ آذر ۱۴۰۲ ۱۱:۵۳ ق.ظ
آخرین ارسال: mohamadrra
  کمک فوری برای مصاحبه استخدامی رشته هنراموزی کامپیوتر hamide.m ۳ ۴,۵۲۷ ۲۷ فروردین ۱۴۰۱ ۰۷:۳۰ ب.ظ
آخرین ارسال: SetareSokhanrani
Music معرفی آهنگ‌هایی که حسابی دوسشون داریم! Amir V ۱,۱۵۱ ۲۷۹,۶۰۴ ۳۰ آذر ۱۴۰۰ ۰۵:۴۹ ب.ظ
آخرین ارسال: Azaadi
  دانشگاه های پزشکی رو برای رشته انفورماتیک چطوری اولویت بندی کنم ؟ mrpool ۷ ۹,۱۰۰ ۲۴ فروردین ۱۴۰۰ ۰۱:۵۲ ق.ظ
آخرین ارسال: hossein1991
  آموزش زبان انگلیسی:گرامر cyruskingsolomon ۱ ۳,۳۵۵ ۲۲ فروردین ۱۴۰۰ ۰۱:۲۲ ب.ظ
آخرین ارسال: cyruskingsolomon
  گرامر زبان انگلیسی:صفت های ed و ing دار cyruskingsolomon ۳ ۳,۱۲۳ ۱۵ بهمن ۱۳۹۹ ۰۶:۴۱ ب.ظ
آخرین ارسال: cyruskingsolomon
  تعداد جواب mostafaheydar1370 ۲۱ ۱۹,۳۸۶ ۰۱ مهر ۱۳۹۹ ۱۱:۴۱ ب.ظ
آخرین ارسال: miinaa
  متن به هم ریخته در نرم افزار Notepad HAMID3F ۱۵ ۲۳,۰۲۱ ۱۷ شهریور ۱۳۹۹ ۰۸:۲۶ ق.ظ
آخرین ارسال: rezasedghi100
  تغییر رشته برای کنکور rezap13 ۰ ۱,۸۴۱ ۰۴ شهریور ۱۳۹۹ ۱۲:۲۰ ب.ظ
آخرین ارسال: rezap13
  تعداد روش های نوشتن عدد n ss311 ۲ ۳,۳۶۲ ۱۳ بهمن ۱۳۹۸ ۰۵:۲۷ ب.ظ
آخرین ارسال: ss311

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close