تالار گفتمان مانشت
حذف قانون لامبدا یا لاندا - نسخه‌ی قابل چاپ

حذف قانون لامبدا یا لاندا - jafar.sh - 29 آذر ۱۳۹۱ ۱۱:۰۶ ب.ظ

با سلام بر دوستان عزیز وگل
لطفا راهنمایی بفرمائید
گرامر زیر را به وسیله حذف قانون لامبدا یا لاندا انجام دهید؟ لطفا یکم توضیح بدهید؟
[tex]S\rightarrow SaB|aB[/tex]
[tex]B\rightarrow bB|\lambda[/tex]

سپاس

RE: حذف قانون لامبدا یا لاندا - kashir - 30 آذر ۱۳۹۱ ۱۲:۰۲ ق.ظ

هر غیرپایانه که به لاندا میره رو عنصر پوچ(nullable) میگن، وقتی لاندا رو حذف میکنیم باید تاثیراتش روی عبارات حفظ بشه
قانون اول به این شکل میشه:
B لاندا نباشد که عین عبارت ظاهر میشه [tex]S\rightarrow SaB[/tex]
B لاندا باشد که B از قانون اول برداشته میشه [tex]S\rightarrow Sa[/tex]
واسه قانون دوم به این شکله:
B لاندا نباشد که عین عبارت ظاهر میشه [tex]S\rightarrow aB[/tex]
B لاندا باشد که B از قانون دوم برداشته میشه [tex]S\rightarrow a[/tex]
پس تا اینجا خط اول گرامر(شامل قانون اول و دوم)به این شکل میشه: [tex]S\rightarrow SaB|Sa|aB|a[/tex]
واسه خط دوم همین سناریو تکرار میشه:
[tex]B\rightarrow bB|b[/tex]

RE: حذف قانون لامبدا یا لاندا - jameshenas - 30 آذر ۱۳۹۱ ۱۲:۰۴ ق.ظ

(۲۹ آذر ۱۳۹۱ ۱۱:۰۶ ب.ظ)jafar.sh نوشته شده توسط:  با سلام بر دوستان عزیز وگل
لطفا راهنمایی بفرمائید
گرامر زیر را به وسیله حذف قانون لامبدا یا لاندا انجام دهید؟ لطفا یکم توضیح بدهید؟
[tex]S\rightarrow SaB|aB[/tex]
[tex]B\rightarrow bB|\lambda[/tex]

سپاس


S->SaB|aB
B->bB|landa
خب در اینجا B به لاندا می رود...پس باید بیایم از رشته ی تولیدی S با در نظر گرفتن B می رود به لاندا را تولید کنیم...
۱-اول میایم یکی یکی براش در نظر میگیریم(ممکنه دسته هامون یکی یا دوتایی یا سه تایی یا چن تایی باشه)
S->SaB*** ابتدا یه بار خودش رو مینویسیم***
S->Sa *** بعد به ازای حرف هایی که به لاندا می رود رو نمی نویسیم***
S->aB
S->a
B->bB
B->b
امیدوارم فهمیده باشین...اگه باز توضیح خواستین بگینShy

RE: حذف قانون لامبدا یا لاندا - jafar.sh - 30 آذر ۱۳۹۱ ۱۱:۱۱ ق.ظ

(۳۰ آذر ۱۳۹۱ ۱۲:۰۲ ق.ظ)kashir نوشته شده توسط:  هر غیرپایانه که به لاندا میره رو عنصر پوچ(nullable) میگن، وقتی لاندا رو حذف میکنیم باید تاثیراتش روی عبارات حفظ بشه
قانون اول به این شکل میشه:
B لاندا نباشد که عین عبارت ظاهر میشه [tex]S\rightarrow SaB[/tex]
B لاندا باشد که B از قانون اول برداشته میشه [tex]S\rightarrow Sa[/tex]
واسه قانون دوم به این شکله:
B لاندا نباشد که عین عبارت ظاهر میشه [tex]S\rightarrow aB[/tex]
B لاندا باشد که B از قانون دوم برداشته میشه [tex]S\rightarrow a[/tex]
پس تا اینجا خط اول گرامر(شامل قانون اول و دوم)به این شکل میشه: [tex]S\rightarrow SaB|Sa|aB|a[/tex]
واسه خط دوم همین سناریو تکرار میشه:
[tex]B\rightarrow bB|b[/tex]

متشکر : دوست عزیز: ولی این قانون اول و دوم را از کجا اوردی ؟؟؟ و از کجا باید فهمید که لاندا باشد یا نباشد ؟؟؟لطفا یکم توضیح بده ؟؟؟

سپاس

حذف قانون لامبدا یا لاندا - Jooybari - 30 آذر ۱۳۹۱ ۱۲:۱۷ ب.ظ

سلام. کافیه یکبار بجای B، لاندا قرار بدی و حالات جدید رو به حالات قبلی اضافه کنی. برای S دو حالت داریم. حالا همین حالات رو بدون B بنویسید. دوحالت جدید ایجاد میشه. دردسر این حذفیات برای وقتیه که چندتا غیرپایانه پشت سرهم داشته باشیم که به لاندا میرن.

RE: حذف قانون لامبدا یا لاندا - jafar.sh - 30 آذر ۱۳۹۱ ۱۲:۴۶ ب.ظ

(۳۰ آذر ۱۳۹۱ ۱۲:۱۷ ب.ظ)Jooybari نوشته شده توسط:  سلام. کافیه یکبار بجای B، لاندا قرار بدی و حالات جدید رو به حالات قبلی اضافه کنی. برای S دو حالت داریم. حالا همین حالات رو بدون B بنویسید. دوحالت جدید ایجاد میشه. دردسر این حذفیات برای وقتیه که چندتا غیرپایانه پشت سرهم داشته باشیم که به لاندا میرن.

دوست عزیز: من زیاد متوجه منظور شما نشدم: لطفا طبق عکسی که میزارم یکم توضیح بدهید!
مثلا چرا برای s لاندا هم گذاشته اند؟طبق عکس
سپاس

حذف قانون لامبدا یا لاندا - jafar.sh - 30 آذر ۱۳۹۱ ۰۸:۰۸ ب.ظ

کسی از دوستان بلد نیست!!

RE: حذف قانون لامبدا یا لاندا - kashir - 30 آذر ۱۳۹۱ ۰۹:۳۰ ب.ظ

شرح تصویر شما!!