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

نسخه‌ی کامل: گرامر این عبارت a^n b^n c^n d^n و n>=2
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام به دوستان عزیز و فرهیخته Smile

گرامر این عبارت چی میشه : a^n b^n c^n d^n و n>=2
حساس به متنه:

[tex]S\to aabbAccdd|aabbccdd[/tex]
[tex]A\to PAQ|PQ[/tex]
[tex]bP\to Pb[/tex]
[tex]aP\to aab[/tex]
[tex]Qc\to cQ[/tex]
[tex]Qd\to cdd[/tex]
این حروف پشت متغیرها رو بیشتر توضیح میدی . مثلا الان وقتی میخوایم بریم به P ما aP و bP داریم این چجوریه .
فهمیدم مرسی :دی
گرامر حساس به متن به این شکله. مزیتش اینه که میتونین چندتا حرف اطراف یه متغیر رو بررسی کرد. اگه توجه کنید A بین b,c هست. متغیر P بعد از bهاست ولی باید وسط a,b قرار بگیره تا به ab تبدیل بشه. برای اینکار میگیم هروقت قبل از P حرف b باید این حرفو رد کنه تا به a برسه. وقتی P بین a,b قرار گرفت به ab تبدیل میشه.
لطف کنید در مورد عبارت زیر هم راهنمایی بفرمایید:Blush

[تصویر:  cm9fk9o23mix0wwxan6t.png]
این مستقل از متنه.

[tex]S\to aSc|bSc|cSa|cSb|SS|\lambda[/tex]

ماشین پشته ایشم آسونه. بجای a,b اگه توی پشته 0 نباشه 1 پوش میکنیم و اگه 0 باشه اونو پاپ میکنیم. بجای c توی پشته اگه 1 نبود 0 پوش میکنیم و اگه بود اونو پاپ میکنیم. با تموم شدن رشته اگه به $ رسیدیم در حالت پایانی میمونیم.
لینک مرجع