تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

26
دیل گرامر مستقل از متن به تب نرمال چامسکی فرمر مبحثوری بده این آموزش، مرز مشاهد می شود قبل ا پیشنهال کردن گرا نرما مرها داشته باشید. توانیدن آموزش مین ای شما در پایا تسلط بسیار مناسبی ا ز تبدیل به نرمال چامسکیتن به فرم گرامر مستقل از مست آورید د.

Upload: minidars

Post on 08-Jan-2017

259 views

Category:

Education


1 download

TRANSCRIPT

Page 1: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

تبدیل گرامر مستقل از متن به

فرم نرمال چامسکی

مرها نرمال کردن گراپیشنهاد می شود قبل از مشاهده این آموزش، مروری بر مبحث ز تبدیل امناسبی تسلط بسیار شما در پایان این آموزش می توانید . باشیدداشته

.دست آوریدگرامر مستقل از متن به فرم نرمال چامسکی به

Page 2: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

فرم نرمال چامسکی

اگرمی گویندچامسکینرمالفرمیکراGمتنازمستقلگرامریک

A,B,C ∈ 𝑉

a ∈ T

G=(V,T,S,P)A BC

A a

Page 3: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

کینرمال چامسفرمل به یمراحل تبد

λن یقوانحذف -1

Aحذف قوانین یکه مانند -2 B

حذف متغیر غیر مفید-3

به فرم نرمال چامسکی2تبدیل قوانین باقی مانده با طول شبه جمله سمت راست بیشتر از -4

Page 4: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

بر مبحث نرمال پیشنهاد می شود قبل از مشاهده این آموزش، مروری. یمکندر این ویدیویی آموزشی قصد داریم فرم نرمال چامسکی را مطرح کرده و سپس نحوه تبدیل گرامر مستقل از متن به فرم نرمال چامسکی را بیان

.کردن گرامرها داشته باشید

.تغیر و یا یک ترمینال است مرا یک فرم نرمال چامسکی می گوییم، اگر هر قانون از گرامر به یکی از شکل های روبرو باشد؛ به اینصورت که شبه جمله سمت راست شامل دوGیک گرامر مستقل از متن

.اقدام روبرو را انجام داد4برای تبدیل گرامر به فرم نرمال چامسکی باید

λن یحذف قوان-1

Bنتیجه می دهد Aحذف قوانین یکه مانند -2

حذف متغیر غیرمفید-3

که با این سه عمل گرامر تا جای ممکن ساده می شود و

به فرم چامسکی2تبدیل قوانین باقی مانده با طول شبه جمله سمت راست بیشتر از -4

.می خواهیم گرامر روبرو را به فرم نرمال چامسکی تبدیل کنیم. برای درک بهتر این موضوع یک مثال را با هم بررسی می کنیم

.می باشدλگام اول برای تبدیل حذف قوانین

می λظاهر شد Aیا Bتولید می کنند پس در تمام قوانین هر جایی که B ،λو Aدر اینجا متغیرهای . گذاشته شود تا قوانین جدید مشخص گرددλهر جایی که متغیر مربوط به آن ظاهر شود باید به جای آن λبرای حذف

.گذاریم

.ون جدید به مجموع قوانین استقانتوجه داشته باشید در طی مراحل انجام شده از رنگ قرمز به عنوان حذف متغیر در این مرحله از الگوریتم و رنگ سبز به عنوان اضافه شدن

.وجود دارد که باید حذف و جایگزین شودBو Aدر این گرامر دو قانون یکه . در این مرحله باید قوانین یکه را حذف نماییم

.که آن ها حذف و با قوانین مربوطه جایگزین کردیم

مورد از قوانین وجود دارد که می بایست به فرم چامسکی 4در این گرامر در این مرحله . پس در گام سوم باید قوانینی که به فرم چامسکی نیستند را تبدیل کرد . قوانین غیرمفید در گرامر وجود ندارد که بخواهیم حذف کنیم

.قوانینی که در آنها عنصر پایانی دیده می شود. تبدیل شود

.متغیر دیگری تعریف می کنیمbبرود و همچنین برای ترمینال aبدین منظور ابتدا قوانین جدیدی تعریف می کنیم که از یک متغیر به ترمینال

.در اینجا با جایگزینی متغیر چهار مورد از قوانینی که به فرم چامسکی نبودند، تصحیح شدند. را در قوانین قبلی جایگزین می کنیم Ubو Uaمتغیر

است، اولین متغیر از سمت چپ را نگه داشته و به ازای متغیرهای باقی مانده 2باشد، پس در این چهار قانون که طول جمله سمت راست بیشتر از 2در فرم نرمال چامسکی طول جمله طرف راست قوانین نباید بیشتر از

.قانون جدید اگر به فرم چامسکی نبود این روال را ادامه می دهیم. یک متغیر جدید و قانون مربوط به آن را اضافه می کنیم

. به این ترتیب گرامر تبدیل به فرم نرمال چامسکی شد

.اکنون با یک مثال دیگر روال تبدیل گرامر به فرم نرمال چامسکی را بررسی می کنیم

.سه قانون جدید اضافه می شودλدر این مرحله برای حذف

.یک متغیر غیر مفید است زیرا در تمام قوانینش در شبه جمله سمت راست وجود دارد پس تمام قوانینی که این متغیر را دارد، باید حذف کردAدر این گرامر متغیر

بوسیله هیچ bو aنال در اینجا دو ترمی. مربوط به آن را ایجاد می کنیمنونبرای تبدیل قوانین باقی مانده به فرم چامسکی ابتدا برای ترمینال هایی که یک متغیر خاص، آنها را بصورت تکی تعریف نکرده، متغیر و قا

.متغیری به صورت تکی تعریف نشده اند

.در قوانینی که ترمینال ها بصورت تکی نباشند متغیر مربوط به آن را جایگذاری می کنیم

.متغیر است با تعریف متغیر جدید و قوانین مربوط به آن، قوانین باقی مانده را به فرم نرمال چامسکی در می آوریم2در قوانینی که طول شبه جمله سمت راست بیش از

د این روال را ادامه قانون جدید اگر به فرم چامسکی نبو. را اضافه می کنیم آن به این صورت که در این عبارات اولین متغیر از سمت چپ را نگه داشته و به ازای متغیرهای باقی مانده یک متغیر جدید و قانون مربوط به

.می دهیم

.همانطور که مشاهده می شود از قوانین ایجاد شده یک قانون به فرم چامسکی نیست، پس این قانون را هم جایگزین می کنیم

.به این ترتیب گرامر به فرم نرمال چامسکی تبدیل شد آموزش، می توانید متن و فیلم این رایگانجهت مشاهده :آدرس زیر مراجعه کنید به

http://minidars.ir/?p=1375

Page 5: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

.گرامر زیر را به فرم نرمال چامسکی تبدیل کنید: مثال

S → A | B

A → aBa | λ

B → bAb | λ

Page 6: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

.برای عبارات جدید اضافه شدهرنگ سبز استفاده شده و از رنگ قرمز برای حذف عبارات از : نکته

λحذف قوانین : گام اول

S → A | B | aBa | bAb

A → aBa | λ | aa

B → bAb | λ | bb

Page 7: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

حذف قوانین یکه: گام دوم

S → A | B | aBa | bAb

A → aBa | aa

B → bAb | bb

Page 8: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

حذف قوانین یکه: گام دوم

S → aa | bb | aBa | bAb

A → aBa | aa

B → bAb | bb

Page 9: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

تبدیل قوانین باقی مانده : گام سوم

S → aa | bb | aBa | bAb

A → aBa | aa

B → bAb | bb

Page 10: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

تبدیل قوانین باقی مانده : گام سوم

S → aa | bb | aBa | bAb

A → aBa | aa

B → bAb | bb

Ua → a

Ub → b

Page 11: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

تبدیل قوانین باقی مانده : گام سوم

S → Ua Ua | Ub Ub | Ua B Ua | Ub A Ub

A → Ua B Ua | Ua Ua

B → Ub A Ub | Ub Ub

Ua → a

Ub → b

Page 12: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

تبدیل قوانین باقی مانده : گام سوم

S → Ua Ua | Ub Ub | Ua B Ua | Ub A Ub

A → Ua B Ua | Ua Ua

B → Ub A Ub | Ub Ub

Ua → a

Ub → b

Page 13: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

تبدیل قوانین باقی مانده : گام سوم

S → Ua Ua | Ub Ub | Ua C | Ub D

A → Ua C | Ua Ua

B → Ub D | Ub Ub

Ua → a Ub → b

C → B Ua D → A Ub

Page 14: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

:فرم نرمال چامسکیS → Ua Ua | Ub Ub | Ua C | Ub D

A → Ua C | Ua Ua

B → Ub D | Ub Ub

Ua → a

Ub → b

C → B Ua

D → A Ub

Page 15: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → CaB | bA | aBa

A → Asa | Aba | bSCA

B → CaS | ba | λ | bSBA

C → CbS | CabC | baC | bBS | Sa

تبدیل گرامر زیر به فرم چامسکی: مثال دوم

Page 16: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → CaB | bA | aBa | aa

A → Asa | Aba | bSCA

B → CaS | ba | λ | bSBA | bSA

C → CbS | CabC | baC | bBS | Sa | bS

λحذف قوانین : گام اول

Page 17: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → CaB | bA | aBa | aa

A → Asa | Aba | bSCA

B → CaS | ba | bSBA | bSA

C → CbS | CabC | baC | bBS | Sa | bS

متغیر غیر مفیدحذف : گام دوم

Page 18: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → CaB | aBa | aa

B → CaS | ba

C → CbS | CabC | baC | bBS | Sa | bS

Ua → a

Ub → b

تبدیل قوانین باقی مانده: گام سوم

Page 19: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → C Ua B | Ua B Ua | Ua Ua

B → C Ua S | Ub Ua

C → C Ub S | C Ua Ub C | Ub Ua C | Ub BS | S Ua | Ub S

Ua → a

Ub → b

تبدیل قوانین باقی مانده: گام سوم

Page 20: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → C Ua B | Ua B Ua | Ua Ua

B → C Ua S | Ub Ua

C → C Ub S | C Ua Ub C | Ub Ua C | Ub BS | S Ua | Ub S

Ua → a

Ub → b

تبدیل قوانین باقی مانده: گام سوم

Page 21: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → C D| Ua E| Ua Ua B → C F | Ub Ua

C → C G| C H| Ub K| Ub L | S Ua | Ub S

Ua → a U b → b

D → Ua B E → B Ua

F → Ua S G → Ub S

H → Ua UbC K → Ua C

L → BS

تبدیل قوانین باقی مانده: گام سوم

Page 22: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → C D| Ua E| Ua Ua B → C F | Ub Ua

C → C G| C H| Ub K| Ub L | S Ua | Ub S

Ua → a U b → b

D → Ua B E → B Ua

F → Ua S G → Ub S

H → Ua UbC K → Ua C

L → BS

تبدیل قوانین باقی مانده: گام سوم

Page 23: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → C D| Ua E| Ua Ua B → C F | Ub Ua

C → C G| C H| Ub K| Ub L | S Ua | Ub S

Ua → a U b → b

D → Ua B E → B Ua

F → Ua S G → Ub S

H → Ua M K → Ua C

L → BS M → Ub C

تبدیل قوانین باقی مانده: گام سوم

Page 24: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

S → C D| Ua E| Ua Ua

B → C F | Ub Ua

C → C G| C H| Ub K| Ub L | S Ua | Ub S

Ua → a U b → b

D → Ua B E → B Ua

F → Ua S G → Ub S

H → Ua M K → Ua C

L → BS M → Ub C

:فرم نرمال چامسکی

Page 25: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

آموزش، می توانید متن و فیلم این رایگانجهت مشاهده :آدرس زیر مراجعه کنید به

http://minidars.ir/?p=1375

Page 26: تبدیل گرامر مستقل از متن به فرم نرمال چامسکی

ماشین های پشته ای

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

.به دست آورید

آموزش های دیگر مینی درس