32
مدرس: فرشید شیرافکن دانشجوی دکتری تهراننشگاه دا( سی ارشد کارشنا کارشناسی و: م افزار کامپیوتر نر( ) دکتری: نفورماتیک بیو ا) ها و ماشین هاظریه زبان ن1 ها و ماشینظریه زبان ن هاfaradars.org/fvsft110 ﻓﺮادرسFaraDars.org

آموزش نظریه زبان ها و ماشین ها - بخش ششم

Embed Size (px)

Citation preview

Page 1: آموزش نظریه زبان ها و ماشین ها - بخش ششم

:مدرس

فرشید شیرافکن

دانشگاه تهران دانشجوی دکتری (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )

نظریه زبان ها و ماشین ها

1

هانظریه زبان ها و ماشین

faradars.org/fvsft110

فرادرس

FaraDars.org

Page 2: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

(3قسمت )بخش دوم

اتوماتای پشته ای2

فرادرس

FaraDars.org

Page 3: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

PDAماشین پشته ای (Push Down Automaton)

.دارای یک پشته نیز می باشد،متناهیبر اجزاء ماشین عالوه

این ماشین، عالوه بر خواندن نوار ورودی از چپ به راست، قادر به نوشتن هر تعدداد نمداد درون یدک

.می باشد( (popو بازیابی آنها ( (pushپشته

. پشته ای پذیرنده زبانهای مستقل از متن می باشندماشین های

. پشته ای از ماشین متناهی قویتر است، یعنی زبان های بیشتری را می پذیردماشین

.است( (NPDAنامعینو ( (DPDAپشته ای بر دو نوع معین اتوماتای

3

فرادرس

FaraDars.org

Page 4: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

اتوماتای پشته ای نامعین:پذیرنده پشته ای نامعین بوسیله هفت تایی تعریف می شود

مجموعه متناهی از حالت های داخلی واحد کنترل :

الفبای ورودی:

الفبای پشته :

تابع انتقال :

0M (Q, , , ,q , z,F)

Q

0q

z

F

حالت شروع واحد کنترل :

سمبل ته پشته:

حاالت پایانیمجموعه :

4

فرادرس

FaraDars.org

Page 5: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

: تعریف

مجموعه تمام رشته هایی است کده ،npdaمورد پذیرش توسط یک زبان

npdaبا رسیدن به انتهای آن رشته ها، می تواند در حالدت پایدانی قدرار

.گیرد

5

فرادرس

FaraDars.org

Page 6: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

تابع انتقالقانون

باالی پشته باشدد، آنگداه ماشدین بده Aمقابل هد نوار خوان باشد و aماشین در وضعیت باشد واگر

. می کندpushرا Bکرده و popرا از پشته Aحالت تغییر وضعیت داده و

.ورودی و دو خروجی دارد3تابع این

.و سمبل باالی پشتهحالت جاری ماشین، سمبل خوانده شده از نوار یا : ورودی ها

.می شودpushحالت بعدی ماشین و سمبلی که در باالی پشته : خروجی ها

i j(q ,a,A) (q ,B)

iq

jq

*Q ( { }) Q U

6

فرادرس

FaraDars.org

Page 7: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:تفسیر چند قانون نمونه

.0جای به 1قرار دادن : قانون -1

.1پوش مقدار : قانون -2

.0پاپ مقدار : قانون -3

0 1(q ,a,0) {(q ,1)}

0 1(q ,a,0) {(q ,10)}

0 1(q ,a,0) {(q , )}

7

فرادرس

FaraDars.org

Page 8: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.را تشریح کنیدعملکردنحوه 0 1 2(q ,a,0) {(q ,1),(q , )}

تمرین

8

فرادرس

FaraDars.org

Page 9: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

: برای گراف انتقال i j

(q ,a,A) (q ,B)

9

فرادرس

FaraDars.org

Page 10: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:زیرnpdaزبان مورد پذیرش ماشین

0 1 f

0 f

1 1

1 2

2 2

2 f

{a,b}, {0,1}

(q ,a, z) {(q ,1z),(q , z)}

(q , , z) {(q , z)}

(q ,a,1) {(q ,11)}

(q ,b,1) {(q , )}

(q ,b,1) {(q , )}

(q , , z) {(q , z)}

مثالn n

L {a b :n 0} {a} U

10

فرادرس

FaraDars.org

Page 11: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

0 0

0 0

0 0

0 0

0 0

0 0

0 f

(q ,a, z) {(q ,0z)}

(q ,b, z) {(q ,1z)}

(q ,a,1) {(q , )}

(q ,b,0) {(q , )}

(q ,a,0) {(q ,00)}

(q ,b,1) {(q ,11)}

(q , , z) {(q , z)}

مثال

*

a bL {w a,b :n (w) n (w)} :زیرnpdaزبان مورد پذیرش ماشین

11

فرادرس

FaraDars.org

Page 12: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

n 2nL {a b :n 0}

.می کنیمpopاز پشته 1یک عدد ، bکرده و با دیدن هر pushدر پشته 1دو تا ،aدیدن هربا

0 1

0 1

0 f

0 1

1 1

1 f

(q ,a, z) {(q ,11z)}

(q ,a,1) {(q ,111)}

(q , , z) {(q , z)}

(q ,b,1) {(q , )}

(q ,b,1) {(q , )}

(q , , z) {(q , z)}

مثال

:زیرnpdaزبان مورد پذیرش ماشین

12

فرادرس

FaraDars.org

Page 13: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

: npdaزبان ماشین

0 1

1 1

1 1

1 f

(q ,a, z) {(q ,0z)}

(q ,b,0) {(q ,1)}

(q ,b,1) {(q ,1)}

(q ,a,1) {(q , )}

مثال

ab a

13

فرادرس

FaraDars.org

Page 14: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

: npdaزبان ماشین

مثالR

L {ww : w {a,b} }

.قرار داردوسط رشته، در

0 0 0 1 1

1 f

(q ,abba,z) (q ,bba,0z) (q ,ba,10z) (q ,ba,10z) (q ,a,0z)

(q , ,z) (q ,z).

a a a a

a a14

فرادرس

FaraDars.org

Page 15: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

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

پشته ایاتومات

کندصدق npdaگفته می شود اگر هم در تعریف معین

: . و همچنین دارای محدودیت هایی به این شرح باشد که به ازای هر

0M (Q, , , ,q , z,F)

a { } , b U

15

فرادرس

FaraDars.org

Page 16: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.حداکثر یک عضو داشته باشد-1

اکثر مستلزم آن است که به ازای هر سمبل ورودی مفروض و هر عنصر باالی پشته، حدداین شرط صرفا

. یک حرکت قابل انجام باشد

16

(q,a,b)

فرادرس

FaraDars.org

Page 17: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.اگر تهی نباشد، آنگاه باید به ازای هر تهی باشد-2

گاه هدی اساس شرط دوم، چنانچه در یکی از پیکربندی های مفروض به یک انتقال برخورد کنیم، آنبر

. حرکتی برای جلو بردن و مصرف ورودی امکان پذیر نمی باشد

باشیم، آنگاه نباید قانونی مانندداشته طور مثال اگر قانون به

.داشته باشدوجود

0 f(q , , z) {(q , z)}

0 0(q ,a, z) {(q ,0z)}

17

(q, ,b) (q,c,b)c

فرادرس

FaraDars.org

Page 18: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

به نام dpdaنامیده می شود اگر و تنها اگر یک ( قطعی)یک زبان مستقل از متن معینLزبان

M وجود داشته باشد کهL=L(M).

زبان مستقل از متن معین

18

فرادرس

FaraDars.org

Page 19: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

مدی تدوان یدک است، چدون معین متن ، مستقل از زبان

dpdaبرای آن ساخت .

R *L {wcw : w {a,b} }

مثال

19

فرادرس

FaraDars.org

Page 20: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

:معین استاز متن نشان دهید که زبان زیر یک زبان مستقل

*

a bL {w {a,b} :n (w) n (w)}

تمرین

20

فرادرس

FaraDars.org

Page 21: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

را با هر یدک از bیک یا دو نیست، چون باید معین متن زیر، مستقل از زبان

aبده اطالعات موجود در ابتدای رشته چنان نیست که بتوان. ها تطابق دهد

. کمک آن انتخاب خود را قطعی کرد

n n n 2nL {a b :n 0} {a b :n 0} U

مثال

21

فرادرس

FaraDars.org

Page 22: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

ش و وسط رشته باید بدا آزمداینیست ،چون ، معین زیر مستقل از متن زبان

. خطا حدس زده شود

R *L {ww : w {a,b} }

مثال

22

فرادرس

FaraDars.org

Page 23: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

است؟معین آیا زبان مستقل از متن n nL {a b :n 1} {a} U

:طراحی کردdpdaچون می توان برای آن یک -بله: حل

0 3

3 1

1 1

1 1

1 2

(q ,a, z) {(q ,1z)}

(q ,a,1) {(q ,11)}

(q ,a,1) {(q ,11)}

(q ,b,1) {(q , )}

(q , , z) {(q , z)}

مثال

23

.حالت های پایانی هستندو که

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

2q

3q

فرادرس

FaraDars.org

Page 24: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.نیستندخانواده زبان های مستقل از متن معین، تحت اجتماع ، اشتراک و معکوس بسته -1

.زبان های مستقل از متن معین، تحت عمل مکمل گیری بسته می باشند-2

.خانواده زبان های مستقل از متن معین، تحت تفاضل منظم بسته است-3

.اجتماع یک زبان مستقل از متن معین با یک زبان منظم، مستقل از متن معین می باشد-4

dfaچون هر زبان منظمی را می توان با یک. تمامی زبان های منظم، مستقل از متن معین می باشند-5

.با پشته استفاده نشده استdpdaیک dfaپذیرفت و چنین

.زبان های مستقل از متن معین، هیچگاه ذاتا مبهم نیستند-624

فرادرس

FaraDars.org

Page 25: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

اتوماتای پشته ای با استفاده از گرامر در فرم گریباخساخت

، ماشین می توان با داشتن گرامر در فرم گریباخ برای یک زبان مستقل از متن

.پشته ای برای آن طراحی کرد

25

فرادرس

FaraDars.org

Page 26: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

pda را پذیرش کندگرامر ای بسازید که زبان تولید شده بوسیله.

:گرامر را به فرم گریباخ در می آوریمابتدا

S aSbb | a

S aSA | a

A bB

B b

0 1(q , , z) {(q ,Sz)}

1 1 1

1 1

1 1

(q ,a,S) {(q ,SA),(q , )}

(q ,b,A) {(q ,B)}

(q ,b,B) {(q , )}

1 f(q , , z) {(q , )}

26

فرادرس

FaraDars.org

Page 27: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

.را بپذیردای طراحی کنید که زبان تولید شده توسط گرامر npdaیک S aSbb | aab

:را به فرم گریباخ در می آوریمابتدا گرامر S aSbb | aab

S aSA | aD

A bB

B b

D aB

مثال

0 1

1 1

1 1

1 1

1 1

1 1

1 f

(q , , z) {(q ,Sz)}

(q ,a,S) {(q ,SA)}

(q ,a,S) {(q ,D)}

(q ,a,D) {(q ,B)}

(q ,b,A) {(q ,B)}

(q ,b,B) {(q , )}

(q , , z) {(q , z)}

27

فرادرس

FaraDars.org

Page 28: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

تشخیص مستقل از متن بودن یک زبان

ای یکی از روش های تشخیص مستقل از متن بودن یک زبان، امکان طراحی یدک ماشدین پشدته

. برای آن زبان است

28

فرادرس

FaraDars.org

Page 29: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

مستقل از متن است؟آیا

:پاسخ

aتعددادترتیب قرار گرفتن نمادها طوری است که نمی توان توسط یک پشته، تساوی-خیر

. ها را کنترل کردdها با تعدادbها و همچنین تعدادcها با تعداد

n m n mL a b c d :m,n 0

مثال

29

فرادرس

FaraDars.org

Page 30: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

مستقل از متن است؟آیا

:پاسخاما با همان پشته . را چک کردdبا cو تعدادbباaمی توان تساوی تعداد نمادهای-خیر

. را نیز چک کرددیگر نمی توان شرط

n n m mL a b c d :m n 0

m n

مثال

30

فرادرس

FaraDars.org

Page 31: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

مستقل از متن است؟آیا زبان 3n 2n 5na b a :n N

:پاسخدرaفراموش شدده و نمدی تدوان تعددادnها ، مقدارbها باaبعد از تطبیق تعداد-خیر

. را چک کرد 5na

مثال

31

فرادرس

FaraDars.org

Page 32: آموزش نظریه زبان ها و ماشین ها - بخش ششم

هانظریه زبان ها و ماشین

faradars.org/fvsft110

32

این اسالید ها بر مبنای نکات مطرح شده در فرادرس« هانظریه زبان ها و ماشین »

.تهیه شده است

.نماییدلینک زیر مراجعه برای کسب اطالعات بیشتر در مورد این آموزش به

هانظریه زبان ها و ماشین

faradars.org/fvsft110

فرادرس

FaraDars.org