عبارت منظم - نسخهی قابل چاپ |
عبارت منظم - fsmtnc - 18 دى ۱۳۹۶ ۱۰:۰۰ ق.ظ
سلام من پاسخ این سوال رو لازم دارم اگه کسی می تونه جواب بده ممنون میشم عبارت منظم پذیرفته شده توسط گرامر زیر را مشخص نمایید؟ s>asc|A A>bAc|ℵ عبارت منظمی که بعد از هر b یک a ظاهر شده باشد؟ به این صورت درسته؟ *((c∪a)*(ba)( c∪a)) ممنون میشم جواب بدین خیلی خیلی ممنون |
RE: عبارت منظم - msour44 - 21 دى ۱۳۹۶ ۰۶:۵۵ ب.ظ
سلام درباره زبان گرامر: [tex]S\: \Longrightarrow a^nA\: c^n\Longrightarrow a^nb^mAc^mc^n\Longrightarrow a^nb^mc^{n+m}[/tex] با n بار اشتقاق روی قاعده ی اول در نهایت از قانون دوم استفاده کرد و به جای s متغیر A قرار می دهیم و با m با اشتقاق روی قانون سوم و در نهایت استفاده از قانون چهارم به زبان [tex]\{a^nb^mc^{n+m}\: \: |\: n,m\ge0\}[/tex] این زبان منظم نیست و مستقل از متن است پس نمی توان برای ان عبارت منظم نوشت عبارت منظمی که بعد از هر b یک a ظاهر شود با الفبای [tex]\{a,b,c\}[/tex]: دو حالت داریم اول اینکه از b استفاده نشود [tex](a+c)^{\ast}[/tex] و حالت دوم از b استفاده می شود که باید بعد از هر b یک a ظاهر شود یعنی کوچکترین رشته ی ما ba است ولی قبل و بعد از ان می تواندهر تعداد c , aبا هر ترکیبی وجود داشته باشد و از طرفی کل عبارت را هم استار می کنیم تا بتوانیم رشته های که تعداد زیادی b دارند نیز ایجاد کنیم یعنی [tex]((a+c)^{\ast}ba(a+c)^{\ast})^{\ast}[/tex] که با اجتماع شدن با حالت اول در نهایت خواهیم داشت[tex](a+c)^{\ast}+((a+c)^{\ast}ba(a+c)^{\ast})^{\ast}[/tex] باید توجه کرد که عبارت منظم یک زبان منحصر به فرد نیست و میتوان بی نهایت عبارت منظم برای یک زبان نوشت. |