224
ها ن ی ش و ما ها ن ا ب ه ز ی ر ظ ن ها ن ی ش و ما ها ن ا ب ه ز ی ر ظ ن ی ن وزا ن مه ط ا ده ف ی س ده: ی ی ک ه ي ه+ ن ر+ ت و ي0 ی م روه: کا گ

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

  • Upload
    zariel

  • View
    91

  • Download
    9

Embed Size (px)

DESCRIPTION

نظریه زبانها و ماشینها. دانشگاه پيام نور. تهيه کننده: سیده فاطمه نورانی گروه: کامپيوتر. شناسنامه منبع. عنوان منبع: نظریه زبانها و ماشینها مترجم: مهندس سید حجت الله جلیلی انتشارات: پژوهشهای فرهنگی(1380) منبع اصلي: Languages & machines Written By: Thomas A.Sudkamp. - PowerPoint PPT Presentation

Citation preview

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

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

تهيه کننده: سیده فاطمه نورانیگروه: کامپيوتر

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

2صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

شناسنامه منبعشناسنامه منبع نظریه زبانها و عنوان منبع:ماشینها

مهندس سید حجت مترجم:الله جلیلی

پژوهشهای انتشارات:(1380فرهنگی)منبع اصلي:

Languages & machinesWritten By: Thomas A.Sudkamp

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

3صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

جايگاه درس در رشته کامپيوترجايگاه درس در رشته کامپيوتر

:ضرورت اين درسضرورت نياز به زبانهای سطح باال ضرورت ترجمه برنامه های نوشته شده با زبان سطح باال

به برنامه به زبان ماشينتنوع زبانهای برنامه نويسی سطح باال

:دروس پيش نياز:نوع درس:تعدادکل ساعات تدريس:تعداد جلسات تدريس

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

4صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل اول: ریاضیات فصل اول: ریاضیات مقدماتیمقدماتی

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

مفاهیم نمادگذاری و مفهوم تابع نظریه مجموعه ها مفهوم استقراء ریاضی گراف و انواع آن

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

5صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

نمادگذاری نمادگذاری1-11-1

نماد┌x┐ اشاره به کوچکترین عدد صحیح بزرگتر : 3=-┐3.7-┌ . داردxیا مساوی عدد حقیقی

┌4.5┐ =5

می نامیم.xجزء صحیح باالی را ┐x┌نماد

نماد └x┘ اشاره به بزرگترین عدد صحیح کوچکتر : 4=-┘3.7-└ دارد. xیا مساوی عدد حقیقی

└4.5┘ =4

می نامیم.xجزء صحیح پایین را ┘x└نماد

x

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

6صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

توابع توابع1-21-2

: تشcکیل شcده از یcک متغcیر بcا قاعcده و fتابع ، xقcانون می باشcد کcه بcه ازاء یcک مقcدار

بcه را بcه فcردی نسcبت f(x)مقcدار منحصcر می دهد.

از کلیcه تcابع: مجموعcه ای اسcت یcک نمcودار می تعcیین تcابع بوسcیله کcه مcرتب زوجهcای

شوند.تcابع: مجموعcه مقcادیری اسcت کcه یcک دامنcه

تابع به ازاء آنها تعریف می شود

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

7صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

توابع توابع1-21-2

یک رابطه YبهX: تابعی که از تابع جامع را داراست.X*Yدودویی روی

است وقتی که X*Y: رابطه بین تابع جزئی

єf [x,y2] وєf [x,y1]

به x: تابعی که در آن هر عنصر تابع یک به یکیک عنصر مجزا در برد تصویر شود.

کل f اگر که برد پوشاستf:X Yتابع باشد.Yمجموعه

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

8صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

نظریه مجموعه ها نظریه مجموعه ها1-31-3نمادهای مجموعه :

x є X به معنای عضویت است. بطوریکه єنماد یک عضو یا عنصر xمشخص می کند که

است.Xمجموعه برای تعریف یک مجموعه } {از دو براکت

استفاده می شود.

X= { 1,2,3 } مجموعه هایی که تعداد زیاد یا تعداد نامتناهی

عضو دارند بایستی به صورت ضمنی تعریف شوند.

{n l n=m² for some natural number m}

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

9صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

نظریه مجموعه ها نظریه مجموعه ها1-31-3

یک مجموعه با اعضایش مشخص می شود.

اسcت بcه Xزیcر مجموعهY: مجموعcه زیcر مجموعcهطوری که

Y X اگر هر عضو Y عضوی از X.نیز باشد

آنگاه به X≠Yباشد و X یک زیر مجموعه از YاگرY زیر مجموعه کامل یکX.میگوئیم

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

10صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

نظریه مجموعه ها نظریه مجموعه ها1-31-3

به صورت زیر تعریف می اجتماع دو مجموعهشود:

XυY = { z l z є X or z є Y}به صورت زیر تعریف می اختالف دو مجموعه شود:

X-Y = { z l z є X and z є Y} است U مجموعه عناصری در U نسبت به Xمکمل

نمی باشد.Xکه در

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

11صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

استقراء ریاضی استقراء ریاضی1-41-4

مفاهیم مورد استفاده در استقراء ریاضی

)یا هر مقدار n=1: عبارت به ازاء پایه استقراءاولیه دیگر( درست است.

: عبارت برای هر عدد دلخواه فرض استقراءn≥1.یا هر مقدار اولیه دیگر( درست است(

درست است، n: اگر عبارت به ازاء گام استقراءنیز درست می باشد. n+1آنگاه به ازاء

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

12صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

استقراء ریاضی استقراء ریاضی1-41-4مثال:

برای کلیه اعداد صحیح مثبت نشان می دهیم که

: برای پایه استقراءn=1:داریم

:فرض کنید که برای یک عدد فرض استقراء داریم:nصحیح مثبت دلخواه

الزم است که نشان دهیم:گام استقراء:

2

)1(..21

nnn

2

)11(11

2

)1(..21

nnn

2

)2)(1()1(..21

nnnn

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

13صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

قضایا و پیش قضایا قضایا و پیش قضایا1-51-5

در لغت به معنای گفتاری است که صحت قضیهآن باید اثبات شود.

داریم:‹0nمثال:برای هر عدد صحیح

به عنوان یک قضیه کمکی برای پیش قضیهاثبات قضایای دیگر به کار می رود.

2

)1(..21

nnn

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

14صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف ها گراف ها1-61-6

v2v1

v4v3

1

2

3

4

5

6 نمایشی از یک گراف:

اجزای یک گراف:

(vertices)دایره ها نشانگر گره ها

(edge)خطوط ارتباط گره ها نشانگر لبه

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

15صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف ها گراف ها1-61-6

دار جهت دارای گراف گcراف لبcه هcر اگcر :جهت گcccراف آن بcccه باشcccد جهت

می گویند.(digraph)دار

در یcک گcراف جهت داربcه دنبالcه :(path)مسcیرای از گcره هcا کcه بین هcر گcره و گcره بعcدی یcک

لبه وجود داشته باشد گفته می شود.

دار وزن مقcادیری گراف هcا لبcه بcه اگcر :تخصcیص یافتcه باشcدبه آن مقcادیر وزن و بcه

آن گراف،گراف وزن دار می گوییم.

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

16صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف ها گراف ها1-61-6

: به مسیری که از یک گره شروع (cycle)چرخهشده و به خودش باز می گردد گفته می شود.

: اگر گرافی شامل یک چرخه گراف چرخه ایباشد به آن گراف چرخه ای گفته می شود.

: مسیری که از از یک گره دو بار مسیر سادهعبور نکند.

یک مسیر در یک گراف وزن دار (length)طولبرابر مجموع وزنهای مسیر است.

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

17صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف ها گراف ها1-61-6

: گرافی که لبه های ان هیچ گراف بدون جهتجهتی نداشته باشند.

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

داشته باشد.: یک گراف بدون جهت، پیوسته و بدون درخت

چرخه است.:درختی که در آن یک گره به درخت ریشه دار

عنوان ریشه درخت انتخاب می شود.

: یک زیر گراف متصل است G برای درخت پوشا بوده و ثانیاz یک Gکه اوالz شامل همه گره های

درخت باشد.

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

18صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل دوم: زبان هافصل دوم: زبان ها

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

مفاهیم رشته و زبان مشخصات زبان ها مجموعه های با قاعده

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

19صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

زبان: یک زبان یک مجموعه از رشته ها روی یک الفبا است.

یک دنباله X: یک رشته روی یک مجموعه رشته است.Yمتناهی از عناصر

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

گوئیم.

: رشته فاقد عنصر را رشته تهی رشته تهی نشان می دهیم.λمی نامیم که با

رشته ها و زبانها رشته ها و زبانها2-12-1

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

20صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

*∑ :

∑*باشد.عنصر ∑ = {a,b,c}فرض کنید که شامل:

λ 0 : طول

a b c 1: طول

aa ab ac ba bb bc ca cb cc 2: طول

aaa aab aac aba abb abc aca acb acc :3طول

baa bab bac bba bbb bbc bca bcb bcc

caa cab cac cba cbb cbc cca ccb ccc

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

21صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

تعریف زبان

یک زیر ∑ یک زبان روی یک الفبای است.∑*مجموعه از

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

الحاق عمل اصلی در تولید رشته هاست.

یک زبان شامل رشته هایی روی الفبا است.

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

22صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

که کنیcد باشcد*∑vєفرض بcه vوu الحاق. کcه ، نوشcته می شcودف یcک عمcل دودویی uvصcورت

می *∑روی تعریcف زیcر صcورت بcه کcه اسcت شود:

( iهcر پایcاگ :length(v)=0اهcد. آنگcג باشv= و uv=u خواهد بود.

(ii تcام بازگشcه گcد کcرض کنیcف :v اcته بcک رشcی باشcد. در اینصcورت ، بcه ازای length(v)=n›0 طcول

و a є ∑، v=waو n-1 بcا طcول wبcرخی رشcته هcای خواهد بود.uv=(uw)aدر نتیجه

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

23صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

مثال:

باشد. در w=bb و v=ca , u=ab فرض کنید که این صورت:

uv= abca uw= cabb

( uv)w=abcabb u(vw)=abcann

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

24صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

*∑u,v,wє فرض کنید که قضیه:باشد.

)w= u)vw(uv )در این صورت خواهد بود.

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

25صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

معکوس رشته:

u یcک رشcته در باشcد. معکcوس uفرض کنیcد کcه به صورت زیر تعریف می شود:

(i:هcپای length(u)=n0 ورتcدر این ص .u=λ و خواهد بود.

(ii رcاگ بازگشcت: گcام length(u)=n›0 در باشcد، n-1 بcه طcول wاینصcورت بcرای بcرخی رشcته هcای

معکcوس رشcته برابرخواهcد ∑u=wa , aєو بcرخی بود:

awu RR

R

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

26صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

رشته ها و زبانها رشته ها و زبانها2-12-1

باشد.є∑* u,vقضیه: فرض کنید که

RRR در این صورت است uvuv )(

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

27صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مشخصات متناهی زبانها مشخصات متناهی زبانها2-22-2

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

a که با یک } {a,b از رشته هایی روی Lزبان شروع شده و طول زوج دارند به صورت زیر

تعریف می شود:

(i:پایه aa,abєL.

(ii گام بازگشت:اگر uєL است.uaa,uab,uba,ubbєLباشد،آنگاه

(iiiهمبستگی:یک رشته uєL است اگر آن بتواند با تکرار متناهی از مرحله گام بازگشت از عنصر پایه

ای بدست آید.

مثال:

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

28صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مشخصات متناهی زبانها مشخصات متناهی زبانها2-22-2

:X,Yالحاق دو زبان

نشان می XY که به صورت YوXالحاق زبانهای دهیم، زبان

XY={uv l uєX and vєY}

X با خودش را به صورت X مرتبه الحاق nاست. تعریف می } {λ به صورت Xنشان می دهیم.

شود.

n0

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

29صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مشخصات متناهی زبانها مشخصات متناهی زبانها2-22-2

Y= {abb,ba} و X={a,b,c}:فرض کنید که مثال =XYاست. در اینصورت aabb,babb,cabb,aba,bba.cba

=X }ג{

X =X= {a,b,c}

X =XX= {aa,ab,ac,ba,bb,bc,ca,cb,cc}

X =X X= {aaa,aab,aac,aba,abb,abc,aca,acb,acc,

baa,bab,bac,bba,bbb,bbc,bca,bcb,bcc

caa,cab,cac,cba,cbb,cbc,cca,ccb,ccc }

0

1

2

23

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

30صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مشخصات متناهی زبانها مشخصات متناهی زبانها2-22-2

که کنید . Xفرض این در باشد مجموعه یکصورت:

X* شامل تمامی رشته هایی است که می ساخته شوند. Xتوانند از عناصر

X مجموعه رشته های غیر تهی ایجاد شده ازX.است

+

i

i

xx

0

* i

i

xx

1

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

31صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مشخصات متناهی زبانها مشخصات متناهی زبانها2-22-2

مثال:

رشcته * L={a,b}*{bb}{a,b}زبcان تمcامی شcامل bb اسcت کcه دارای زیcر رشcته {a,b}هcای روی

bb مcا را وجcود {bb}می باشcد. الحcاق مجموعcه از رشcته هcر مجموعcه Lدر سcازد. می مطمئن

*a,b}هcای تعcدادی { هcر کcه کننcد مشcخص می aوb از قبcل یcا بعcد توانcد ترتیcبی می هcر بcا bb

قرار بگیرند.

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

32صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عبارات و مجموعه های با عبارات و مجموعه های با 2-32-3قاعده قاعده

: مجموعcه ای بcا قاعcده مجموعcه باقاعcدهعملیcات از اسcتفاده بcا بتوانcد کcه اسcت

و الحcاق مجموعcه kleen starاجتمcاع، از و تهی رشccته شccامل مجموعccه تهی،

اعضای مجموعه الفبا تولید شود.

Page 33: نظریه زبانها و ماشینها

33صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عبارات و مجموعه های با عبارات و مجموعه های با 2-32-3قاعده قاعده

الفبcا باشcد. ∑فرض کنیcد کcه مجموعcه هcای یcک بcه صcورت بازگشcتی زیcر تعریcف ∑ رویباقاعcده

می شوند:

(i :هcپای Ø، λو{ a} رcه ازاء مجموعcه ∑aє،بcه ، هستند.∑هایی باقاعده روی

(ii تcام بازگشcه گcد کcرض کنیcف :Xو Y هcمجموع روی باقاعccده مجموعccه ∑هccایی باشccند.

∑ مجموعcه هcایی باقاعcده روی*X و XY,XυYهcایهستند.

(iii تگیcهمبس :Xروی باقاعcده مجموعcه یcک ∑ اسcت اگcر آن بتوانcد بcا تکcرار متنcاهی از مرحلcه

گام بازگشت از عناصر پایه ای بدست آید.

Page 34: نظریه زبانها و ماشینها

34صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عبارات و مجموعه های با عبارات و مجموعه های با 2-32-3قاعده قاعده

مثال:

شcروع aمجموعcه رشcته هcایی کcه بcا یcک یcک حcداقل شcامل و هسcتند، bشcده

است.{a,b}مجموعه ای با قاعده روی

Page 35: نظریه زبانها و ماشینها

35صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عبارات و مجموعه های با عبارات و مجموعه های با 2-32-3قاعده قاعده

عبارت با قاعده:

یcک الفبcا اسcت. عبcارات باقاعcده ∑فرض کنیcد کcهمی ∑روی تعریcف زیcر بازگشcتی صcورت بcه

شوند:

(i هcپای:Ø، λ و{ a} رcه ازاء عبcاراتی ∑aє،بcه ، هستند.∑باقاعده روی

(ii تcبازگش کcه گcام کنیcد فcرض :u,v اراتیcعب ,uv باشند.در این صورت عبارات ∑باقاعده روی

uυv وu*هستند. ∑ نیز عباراتی باقاعده روی

(iii تگیcهمبس :uروی باقاعcده عبcارت یcک ∑ اسcت اگcر آن بتوانcد بcا تکcرار متنcاهی از مرحلcه

گام بازگشت از عناصر پایه ای بدست آید.

Page 36: نظریه زبانها و ماشینها

36صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

بcا 2-32-3 هcای مجموعcه و عبcارات بcا هcای مجموعcه و عبcارات قاعده قاعده

مثالهایی از عبارات با قاعده:

(i a*ba*b(aυb)*

(ii (aυb)*ba*ba*

(iii (aυb)*b(aυb)*b(aυb)*

یک عبcارت بcا قاعcده بcرای مجموعcه رشcته هcایی نمی باشcند،عبcارت بcا aaکcه شcامل زیcر رشcته

،ممکن اسcت شcامل a*(ab )*υb*(ab )*aقاعcده از پیشcوندی تمcامی bهیچ نباشcد. هcا aهcا

ختم شcده و یcا عنصcر bبایسcتی حcداقل بcه یcک پایانی رشته باشند.

++

Page 37: نظریه زبانها و ماشینها

37صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل سوم: گرامرهای فصل سوم: گرامرهای مستقل از متنمستقل از متن

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

گرامرها و زبان های مستقل از متن اشتقاق و درخت آن گرامرهای قاعده

Page 38: نظریه زبانها و ماشینها

38صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

بcه یcک رشcته درسcت از لحcاظ نحcوی، یcک جملcه: از زبان اطالق می کنیم.(sentence)جمله

زبcان عناصcر پایcانیعناصcر الفبcا بcه موسومند.

تولیcد فرآینcد در اسcتفاده مcورد اضcافی عناصcر جمالت جهت اجcرای محcدودیتهای نحcوی زبcان بcه

موسومند.عناصر غیر پایانیمتغیرها یا

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

Page 39: نظریه زبانها و ماشینها

39صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

گرامر مستقل از متن:

چهارتcایی یcک متن، از مسcتقل گرامcر یک (V,∑,P,S) ه درآنcت کcاس V اهیcه متنcک مجموعcی

متغیرهcا، از ∑از متنcاهی مجموعcه )الفبcا(یcک یcک مجموعcه متنcاهی از قcوانین Pعناصcر پایcانی،

از Sو مشcخص عنصcر یcک V رcعنص نcام بcه ابتدایی است.

کcه شcود می غcیر ∑وVفرض هcایی مجموعcه الحاقی هستند.

Page 40: نظریه زبانها و ماشینها

40صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهcا و زبانهcای مسcتقل از گرامرهcا و زبانهcای مسcتقل از 3-13-1متنمتن

قانون:

یک قانون که به آن یک تولید نیز می گویند، است. قانون *V×(Vυ∑) عضوی از مجموعه

[A,w] به صورت zمعموال نوشته می شود.

WA

Page 41: نظریه زبانها و ماشینها

41صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

نکته:

وجود دارد، لذا (*∑Vυ)از آنجائیکه رشته تهی درλ نیز ممکن است در سمت راست یک قانون

قرار گیرد.

:نکته

قانونی به شکل به قانون تهی یا .قانون المبدا موسوم است

A

Page 42: نظریه زبانها و ماشینها

42صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

، تبدیل یک رشته با مرحله اصلی در فرایند تولیداستفاده از یک قانون است.

در A برای متغیر A wبکارگیری قانون مثال:uAv رشته uwv را تولید می کندکه آن را به

نشان می دهیم. صورت uwvuAv

Page 43: نظریه زبانها و ماشینها

43صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

اگر یک قابل اشتقاق استv از wیک رشته تبدیل w را به vدنباله متناهی از قوانین که می کنند وجود داشته باشد.

را به صورت v ازwقابلیت اشتقاق نشان می دهیم.

wv *

Page 44: نظریه زبانها و ماشینها

44صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

:vمجموعه رشته های قابل اشتقاق از

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که باشد. مجموعه *V є(Vυ∑)متن و

به صورت vرشته های قابل اشتقاق از بازگشتی زیر تعریف می شود:

(i پایه:v از v.قابل اشتقاق است

(ii اگر گام بازگشت :u=xAy از v قابل اشتقاق قابل v از xwy باشد، آنگاه A wєPبوده و

اشتقاق خواهد بود.

(iii تمامی رشته های ایجاد شده از همبستگی :v با بکارگیری تعداد متناهی گام بازگشت از v

قابل اشتقاقند.

Page 45: نظریه زبانها و ماشینها

45صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

نکته:

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

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

Page 46: نظریه زبانها و ماشینها

46صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که متن باشد.

یک فرم *w є(Vυ∑):یک رشته فرم جمله ای وجود S * w است اگر یک اشتقاق Gجمله ای از داشته باشد.

است اگر G یک جمله از *∑wє:یک رشته جمله وجود داشته باشد.G درw S* یک اشتقاق

نشان می دهند،مجموعهL(G): که آنرا با Gزبان زیراست.

}|{ ** wsw

Page 47: نظریه زبانها و ماشینها

47صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

، رشته هایی قابل اشتقاق فرم جمله ای هاازعنصرابتدایی گرامرهستند .

جمله ایهایی هستند که تنها شامل جمالت فرمعناصر پایانی می باشند.

به مجموعه ای از رشته ها روی یک مجموعه گفته می شود. زبان مستقل از متن( ∑الفبا)

Page 48: نظریه زبانها و ماشینها

48صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از متن گرامرها و زبانهای مستقل از متن3-13-1

بازگشت به شکل را Aیک قانون می نامیم.مستقیم

در A که به یک اشتقاق w،نیست

می گوییم.بازگشت غیر مستقیم

uAvA

uAvWA

Page 49: نظریه زبانها و ماشینها

49صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از متن گرامرها و زبانهای مستقل از متن3-13-1

که یک زبان شامل رشته هایی G: گرامر مثالها را تولید می aبا تعداد مثبت و زوجی از

کند.

G=(V,∑,P,S)

V={S,A}

∑{= a,b}

P: S A A

A AAA l bA l Ab l a

Page 50: نظریه زبانها و ماشینها

50صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از متن گرامرها و زبانهای مستقل از متن3-13-1

اشتقاق راست و چپ:

:هر قانونی که به اشتقاق اولین اشتقاق چپمتغیر سمت چپ رشته می پردازد.

: به قوانینی که راست ترین اشتقاق راستمتغیر موجود در هر رشته را تبدیل می کنند.

Page 51: نظریه زبانها و ماشینها

51صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از متن گرامرها و زبانهای مستقل از متن3-13-1

درخت اشتقاق:

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که S * wمتن بوده و

یک S * wیک اشتقاق باشد.درخت اشتقاق درخت مرتب شده است که به صورت زیر ساخته

می شود:

Page 52: نظریه زبانها و ماشینها

52صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از متن گرامرها و زبانهای مستقل از متن3-13-1

(i درخت اشتقاق (DT) را با ریشهS مقداردهیکنید.

(iiبا اگر uAvقانونی در اشتقاق بکار رفته برای رشته

باشد، آنگاه را به عنوان فرزندان A.به درخت اضافه کنید

(iii اگر قانونی در اشتقاق بکار رغته باشد، آنگاه را به عنوان تنها uAvبرای رشته

به درخت اضافه کنید.Aفرزند

nxxxxA ....321)( Vxinxxxx ....321

A

Page 53: نظریه زبانها و ماشینها

53صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از متن گرامرها و زبانهای مستقل از متن3-13-1ترتیب برگها

اشتقادرختSق S S

AAaA

aAAA

abAAA

abaAA

�ababAA

ababaA

ababaa

SA AS

A Aa S

A AA

A

Aa

AA

SA A

A

A

a

b

A

a

b

AA

SA A

A

A

a

b

a

AA

SA A

A

A

a

b

a

A

a

b

AA

SA A

A

A

a

b

a

a

A

a

b

AA

SA A

A

A

a

b

A,Aa,A

a,,A,A,A

a,b,AAA

a,b,a,A,A

a,b,a,b,A,A

a,b,a,b,a,A

a,b,a,b,a,a

Page 54: نظریه زبانها و ماشینها

54صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرها و زبانهای مستقل از گرامرها و زبانهای مستقل از 3-13-1متنمتن

n

12211 ... kkk wAwAwAwv

:پیش قضیه

یک گرامر مستقل از متن بوده Gفرض کنید که می تواند به V باشد که G یک اشتقاق در v wو

صورت

نوشته شود.در این صورت رشته های wبا pє(∑υV)* ای وجود دارند که در شرایط زیر صدق

می کنند:

(i

(ii

(iii

it

i pA i

12211 ... kkk wpwpwpwv

k

ii nt

1

Page 55: نظریه زبانها و ماشینها

55صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مثالهایی از گرامرها و زبان ها3-2

گرامری با قوانین زیر باشد:Gفرض کنید که

S aSa l aBa

B bB l a

خواهد L(G)={a b a l n >0 , m >0}در این صورت بود.

nn m

Page 56: نظریه زبانها و ماشینها

56صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مثالهایی از گرامرها و زبان ها3-2

متقارن است اگر wیک رشته w=w .باشد

R

{a b c d l n ≥0 , m >0} n 2nm mS aSdd l AA bAc l bc

زبان

گرامر

زبان

گرامر مجموعه متقارن

{a,b}روی S aSa l bSb

Page 57: نظریه زبانها و ماشینها

57صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مثالهایی از گرامرها و زبان ها3-2

زبان

گرامر S abS cB lג

B bB l b {(ab( )cb ) l n≥0, m

>0}

n n

nmn

زبان

گرامر {a b l

0≤n≤m≤2n}

n mג G: S aSb l aSbb l

Page 58: نظریه زبانها و ماشینها

58صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای باقاعدهگرامرهای باقاعده3-33-3

: یک گرامر مستقل از متن است گرامر باقاعدهکه هر قانون آن دارای یکی از حاالت زیر است:

(i A a

(ii λ A

(iii A aB

می باشد. ∑aє و A,B є Vکه در آن

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

Page 59: نظریه زبانها و ماشینها

59صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای باقاعدهگرامرهای باقاعده3-33-3

:مثال

گرامر بی قاعده گرامر با قاعده

S aB l G: S abSA l

B bS l bA A Aa l

A aA l

ג ג

ג

ג

Page 60: نظریه زبانها و ماشینها

60صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مروری بر گرامرها و زبان هامروری بر گرامرها و زبان ها3-43-4

زبان

گرامر L={a b l n>0}2n 3mG: S AASB l AAB

A a

B bbb

قانون به کار رفته n-1اشتقاق n-1 n-1

S (AA) SB

( AA )B

( aa )B

( aa )(bbb)

= a b

n n

n n

n n

2n 3m

S AASB

S AAB

A a

B bbb

اثبات:

Page 61: نظریه زبانها و ماشینها

61صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

مروری بر گرامرها و زبان هامروری بر گرامرها و زبان ها3-43-4

زبان

گرامر

L(G)=a*(a*ba*ba*)*

S aS l bB lג

B aB l bS l bC

C aC l ג

{a b c d l n ≥m >0}

n 2nm mG:S aSdd l A A bAc l bc

زبان

گرامر

مثال:

Page 62: نظریه زبانها و ماشینها

62صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل چهارم: مقدمه ای بر فصل چهارم: مقدمه ای بر پارسر هاپارسر ها

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

اشتقاق چپ و ابهام گراف یک گرامر پارسر ها

Page 63: نظریه زبانها و ماشینها

63صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

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

کند. :الگوریتم تجزیه

یک سcوال مهم اینسcت کcه چگونcه می تcوان تعcیین از قواعcد زبcان یcک کcد از ای دنبالcه آیcا کcه کcرد نحcوی گرامcر آن زبcان تبعیت می کنcد یcا خcیر؟ یcک رشcته از لحcاظ نحcوی درسcت اسcت اگcر آن بتوانcد ابتcدائی از عنصcر از قcوانین گرامcر، بcا اسcتفاده تولیcد بcرای بایسcتی هcا الگcوریتم شcود. مشcتق طcراحی گرامcر یcک زبcان در هcا رشcته اشcتقاق

شوند.

اشتقاقهای چپ و ابهام اشتقاقهای چپ و ابهام4-14-1

Page 64: نظریه زبانها و ماشینها

64صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

اشتقاقهای چپ و ابهام اشتقاقهای چپ و ابهام4-14-1

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

عنصر ابتدائی مشتق شوند.

قضیه:

یک گرامر مستقل از متن G=(V,∑,P,S)فرض کنید است اگر و تنها اگر L(G) در wباشد. یک رشته وجود داشته باشد.S از wیک اشتقاق چپ

Page 65: نظریه زبانها و ماشینها

65صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

اشتقاقهای چپ و ابهام اشتقاقهای چپ و ابهام4-14-1

(ambiguous) مبهم Gیک گرامر مستقل از متن وجود داشته باشد w L(G) اگر یک رشته است،

بطوریکه با دو اشتقاق چپ مجزا تولید شود.

مثال:

G: S aS l Sa l a گرامر

G یک گرامر مبهم است زیرا رشته aa دارای دو اشتقاق چپ مجزا است.

S aS S Sa

aa aa

Page 66: نظریه زبانها و ماشینها

66صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

اشتقاقهای چپ و ابهام اشتقاقهای چپ و ابهام4-14-1

ابهام از ویژگیهای گرامر است ، نه از ویژگیهای زبان.

:مثال

G: S bS l Sb l a گرامر

را G است.اشتقاقهای چپ زیر ابهام *G ،b*abزبان نشان می دهند.

S bS S Sb

bSb bSb

bab bab

Page 67: نظریه زبانها و ماشینها

67صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

اشتقاقهای چپ و ابهام اشتقاقهای چپ و ابهام4-14-1

: یک گرامر غیر مبهم است اگر در هر مرحله نکتهاز یک اشتقاق چپ تنها یک قانون وجود داشته

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

S aSb l A l

A aAbb l abb

λ

Page 68: نظریه زبانها و ماشینها

68صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف یک گرامر گراف یک گرامر4-24-2

Gاشتقاقهای چپ یک گرامر مستقل از متن g(G)می تواند به وسیله یک گراف جهت دار

(نشان داده شود. گره های Gگراف چپ گرامر)گراف ، فرم جمله ای های چپ گرامر هستند.

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

نتیجه شود.

Page 69: نظریه زبانها و ماشینها

69صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف یک گرامر گراف یک گرامر4-24-2

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که ،گراف جهت G،g(G)گراف چپ گرامرمتن باشد.

است که گره ها و کمانهای آن به (N,P,A)دارصورت زیر تعریف می شوند:

(i

(ii A={[v,w,r]єN×N×P l v w by application of rule r} L

}|)({ ** wsvwNL

Page 70: نظریه زبانها و ماشینها

70صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف یک گرامر گراف یک گرامر4-24-2

تعccداد دارای متن از مسccتقل گرامccر محcدودی قcانون می باشcد، لcذا هcر گcره نcیز دارای تعcداد محcدودی فرزنcد خواهcد بcود، بcه گcرافی بcا این ویcژگی، گcراف متنcاهی محلی

گوییم.

Page 71: نظریه زبانها و ماشینها

71صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف یک گرامر گراف یک گرامر4-24-2

دو استراتژی مختلف برای پیدا کردن یک وجود دارد:S از wاشتقاق

شروع S- پارسر باال به پائین: جستجواز گره 1 ادامه می یابد.wشده و تا یافتن رشته

- پارسر پائین به باال:شروع جستجو با رشته 2 و ادامه آن تا یافتن عنصر ابتدایی wپایانی است.

Page 72: نظریه زبانها و ماشینها

72صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

الگوریتم های تجزیهالگوریتم های تجزیه

الگوریتم های تجزیه:

- الگوریتم تجزیه باال به پایین سطحی1

- الگوریتم تجزیه باال به پایین عمقی2

- الگوریتم تجزیه پایین به باالی سطحی3

- الگوریتم تجزیه پایین به باالی عمقی4

Page 73: نظریه زبانها و ماشینها

73صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پارسر باال به پایین سطحی پارسر باال به پایین سطحی4-34-3

نکته:

یک پارسر تعیین می کند که آیا یک رشته ورودی از قوانین گرامر قابل اشتقاق است یا

خیر.بcا را اشcتقاقهایی پcایین: بcه بcاال پارسcر یcک متغیرهcای چپ قcوانین روی از اسcتفاده

فرم جمله ای ایجاد می کند.

Page 74: نظریه زبانها و ماشینها

74صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پارسر باال به پایین سطحی پارسر باال به پایین سطحی4-34-3

بcا کcه گرامcر Sمسcیرهایی یcک گcراف در شcروع می شcوند بیcانگر اشcتقاق چپ گرامcر گcره یcک از شcده خcارج کمانهcای هسcتند. را گcره تجزیcه بcرای اسcتفاده قابcل قcوانین

مشخص می کنند.

Page 75: نظریه زبانها و ماشینها

75صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پارسر باال به پایین عمقی پارسر باال به پایین عمقی4-34-3

امکان انتخاب نادرست یک آینده دو مشکل در پارسرهای عمقی ایجاد می کند:

- اول اینکه الگوریتم بایستی بتواند یک انتخاب 1نادرست را تشخیص بدهد.

- دوم اینکه پارسر پس از تشخیص یک انتخاب 2نادرست به عقب برگشته و اشتقاق دیگری را

تولید نماید.

Page 76: نظریه زبانها و ماشینها

76صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پارسر باال به پایین عمقی پارسر باال به پایین عمقی4-34-3

یک اشتقاق از (b+b)

AE: V= {S,A,T}

{ = b}),(,+,

P: 1- S A

2 -A T

3 -A T+T

4 -T b

5 -T (A)

گرامر:

Page 77: نظریه زبانها و ماشینها

77صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پارسر باال به پایین عمقی پارسر باال به پایین عمقی4-34-3

اشتقاق [S,1] پشته

[A,2]

[T,5]

([A,)3]

([A+T,)2]

([T+T,)4]

([b+T,)4]

S A

T

( A)

( A+T)

( T+T)

( b+T)

( b+b)

Page 78: نظریه زبانها و ماشینها

78صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

تجزیه پایین به باال تجزیه پایین به باال4-54-5

آغاز می Pهنگامی که ساختار جستجو با رشته شود، الگوریتم حاصل یک پارسر پایین به باال

مثاخواهد بود.ل:

قانون کاهش(b+)b

(T+)b

(A)B

T+b

A+b

A+T

A

S

T b

T T

T (A)

A T

T b

A A+T

S A

Page 79: نظریه زبانها و ماشینها

79صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پارسر پایین به باالی عمقی پارسر پایین به باالی عمقی4-64-6

پارسcر پcایین بcه بcاال می توانcد بcه روش عمقی نcیز بcه کcار رود. کcاهش هcا بcا اسcتفاده از عمcل شcیفت الگcوریتم بcرای شcده تشcریح مقایسcه روش و سcطحی تولیcد می شcوند. تcرتیب پcردازش کcاهش هcا بcا تcرتیب قcوانین و تعcداد شcیفتهای مcورد نیcاز

برای انجام انطباق مشخص می شود.

Page 80: نظریه زبانها و ماشینها

80صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل پنجم: فرم های فصل پنجم: فرم های نرمالنرمال

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

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

Page 81: نظریه زبانها و ماشینها

81صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل پنجم: فرمهای نرمالفصل پنجم: فرمهای نرمال

یک فcرم نرمcال بcا اعمcال محcدودیتهایی روی تعریcف می شcکل قcوانین موجcود در گرامcر شcود. گرامرهcا در یcک فcرم نرمcال، مجموعcه کcاملی از زبانهcای مسcتقل از متن را تولیcد

می کنند. گرامرهccای بccرای نرمccال هccای فرم

مستقل از متن:

- فرم های نرمال شومسکی1

- فرم های نرمال گریباش2

Page 82: نظریه زبانها و ماشینها

82صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین المبداء5-1

یک گرامر مستقل G=(V,∑,P,S)فرض کنید که وجود G'=(V',∑,P',S')از متن باشد.یک گرامر

دارد به طوریکه

(i L(G)=L(G)

(ii قوانین P' به شکل A w می باشند که

A є V' و w є ((V-{S'})υ∑)* .است

Page 83: نظریه زبانها و ماشینها

83صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین المبداء5-1

بازگشتی است. G:عنصر ابتدایی گرامر مثال

G:S aS l AB l AC

A aA l

B bB l bS

C cC l

ג

ג

G':S' S'

S aS l AB l AC

A aA l

B bB l bS

C cC l

ג

ג

Page 84: نظریه زبانها و ماشینها

84صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین المبداء5-1

به متغیری که بتواند رشته تهی را مشتق کند، گفته می شود.(nullable )میرا

یک گرامر بدون متغیرهای المبداء به گرامر موسوم است.(noncontracting)غیر انقباضی

Page 85: نظریه زبانها و ماشینها

85صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین المبداء5-1

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که متن باشد. الگوریتم زیر مجموعه ای از

الگوریتم : را تولید می کند.Gمتغیرهای میرای

G=(V,∑,P,S)ورودی: یک گرامر مستقل از متن 1 .NULL : = {A l A єP}

2 .repeat

2.1 PREV := NULL

2.2 for each variable A є V do

If there is an A rule A w and w є PREV* then NULL : = NULL υ{A}

until NULL = PREV

ג

Page 86: نظریه زبانها و ماشینها

86صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین المبداء5-1

یک گرامر مستقل G=(V,∑,P,S)فرض کنید که باشد، آنگاه گرامر A * wاز متن باشد. اگر

G'=(V,∑,P {A w},S)معادل با G .است G

نکته: یک گرامر با قوانین المبداء غیر انقباضی نیست.

Page 87: نظریه زبانها و ماشینها

87صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین المبداء5-1

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که الگوریتمی برای ایجاد یک گرامر متن باشد.

وجود دارد GL=(VL,∑,PL,SL)مستقل از متن بطوریکه

(i L(G L)=L(G)

(ii SL .یک متغیر بازگشتی نیست

(iii A در PL وجود دارد اگر و فقط اگر єL(G)و A=SL.باشد

ג λ

Page 88: نظریه زبانها و ماشینها

88صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین زنجیره ای حذف قوانین زنجیره ای5-25-2

نcه تنهcا طcول بکcارگیری یcک قcانون دهcد، نمی افcزایش را رشcته مشcتق شcده تولیcد می نcیز پایcانی اضcافی بلکcه عناصcر متغccیر یccک قccانون این واقccع، در کنccد. رامجcدداz نامگcذاری می کنcد. قوانیcنی بcه این

شکل به قوانین زنجیره ای موسومند.

BA

Page 89: نظریه زبانها و ماشینها

89صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین زنجیره ای حذف قوانین زنجیره ای5-25-2

قوانین زیر را در نظر بگیرید:A aA l a l B

B bB l b l C

A aA l a l bB l b l C

B bB l b l C

قانون زنجcیره ای مشcخص می نcیز A، ازBکنcد کcه هcر رشcته قابcل اشcتقاق از

قcانون یcک بکcارگیری اسcت. اشcتقاق قابcل می کcه اسcت مرحلهاضcافی یcک ای، زنجcیره

بcا افcزودن قcوانین حcذف شcود. قcانون Aتوانcد را می تcوان بcا سcه قcانون زنجcیره ای

A :به صورت زیر جایگزین نمود

BA

BA

Page 90: نظریه زبانها و ماشینها

90صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین زنجیره ای حذف قوانین زنجیره ای5-25-2

پیش قضیه

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

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

Page 91: نظریه زبانها و ماشینها

91صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین زنجیره ای حذف قوانین زنجیره ای5-25-2

CHAIN(A)ایجاد مجموعه

ورودی: یک گرامر مستقل از متن غیر انقباضی حقیقی G=(V,∑,P,S)

1 .CHAIN(A) : = {A}

2 .PREV : = ø

3 .repeat

3.1 .NEW : = CHAIN(A)-PREV

3.2 .PREV : = CHAIN(A)

3.3 .for each variable BєNEW do

for each rule B C do

CHAIN(A) : = CHAIN(A)υ{C}

until CHAIN(A) = PREV

Page 92: نظریه زبانها و ماشینها

92صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف قوانین زنجیره ای حذف قوانین زنجیره ای5-25-2

قضیه

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که متن باشد. الگوریتمی برای ایجاد یک گرامر

وجود دارد بطوریکهGCمستقل از متن

(i L(G C)=L(G)(ii GC.هیچ قانون زنجیره ای نداشته باشد

Page 93: نظریه زبانها و ماشینها

93صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

عناصر مفید و عناصر غیر مفید:

یک گرامر مستقل از متن است. Gفرض کنید (useful) مفیدx (V)در این صورت یک عنصر

وجود داشته S * uxw * wاست اگر یک اشتقاق باشد. به *∑wє و *u,vє(Vυ∑)باشد بطوری که

(useless)عنصری که مفید نیست، غیر مفیدگفته می شود.

G G

Page 94: نظریه زبانها و ماشینها

94صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

یک عنصcر پایcانی مفیcد اسcت اگcر در یcک رشcته از رخ دهcد. یcک متغcیر مفیcد اسcت اگcر در یcک Gزبcان

اشcتقاق کcه بcا یcک عنصcر ابتcدائی شcروع شcده و یcک دو شرط بایستی برای یک متغیر مفید برقرار رشته پایانی را تولید می کند، رخ دهد.

باشد:

- متغیر بتواند در یک فرم جمله ای گرامررخ 1دهد یا به عبارتی در یک رشته قابل اشتقاق از

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

- اشتقاق یک رشته پایانی از ان متغیر وجود 2داشته باشد.

به متغیری که در یک فرم جمله ای رخ می گفته می S از (reachable)دهد،قابل دسترس

شود.

Page 95: نظریه زبانها و ماشینها

95صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

قضیه یک گرامر مستقل G=(V,∑,P,S)فرض کنید که

از متن است. الگوریتمی برای ایجاد یک گرامر وجود دارد GT=(VT,∑T,PT,S)مستقل از متن

بطوریکه

(i L(G T)=L(G)

(ii هر متغیر در GT یک رشته پایانی درGT رامشتق کند.

عناصر غیر مفید عناصر غیر مفید5-35-3

Page 96: نظریه زبانها و ماشینها

96صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

مثال:

G: S AC l BS l B

A aA l aF

B CF l b

C cC l D

D aD l BD l C

E aA l BSA

F bB l b

حذف متغیرهای غیر مفید

VT = {S,A,B,E,F}

∑T = {a,b}

PT = S BS l B

A aA l aF

B b

E aA l BSA

F bB l b

Page 97: نظریه زبانها و ماشینها

97صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

پیش قضیه

یک گرامر مستقل G=(V,∑,P,S)فرض کنید که از متن است. الگوریتم زیر مجموعه ای کامل

را تولید می Sاز متغیرهای قابل دسترس از کند.

Page 98: نظریه زبانها و ماشینها

98صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

ایجاد متغیرهای قابل دسترس

G=(V,∑,P,S)ورودی: یک گرامر مستقل از متن

1 .REACH := {S}

2 .PREV : = ø

3 .repeat

3.1 NEW := REACH – PREV

3.2 PREV := REACH

3.3 for each variable AєNEW do

for each rule A W do add all variables in w to REACH

until REACH = PREV

Page 99: نظریه زبانها و ماشینها

99صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

قضیه

یک گرامر مستقل از G=(V,∑,P,S)فرض کنید که متن باشد. الگوریتمی برای ایجاد یک گرامر

وجود دارد بطوریکهGUمستقل از متن

(i L(G U)=L(G)

(ii GU.هیچ عنصر غیر مفیدی ندارد

Page 100: نظریه زبانها و ماشینها

100صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

مثال

گرامر زیر را در نظر بگیرید.G : S a l AB

A b

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

نتایج آنها مشخص می شود.

Page 101: نظریه زبانها و ماشینها

101صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

عناصر غیر مفید عناصر غیر مفید5-35-3

- حذف عناصر غیر 1قابل دسترس:

S a AB

A b

-حذف متغیرهایی که 2رشته پایانی را تولید

نمی کنند:

S a

A b

-حذف متغیرهایی که 1رشته پایانی را

تولید نمی کنند:

S a

A b

- حذف عناصر غیر قابل 2 دسترس:

S a

غیر مفید هستند.B و عنصر پایانی Aمتغیر

Page 102: نظریه زبانها و ماشینها

102صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال شومسکی فرم نرمال شومسکی5-45-4

:فرم نرمال شومسکی

در فرم G=(V,∑,P,S)یک گرامر مستقل از متن نرمال شومسکی است اگر هر قانون دارای

یکی از حالتهای زیر باشد:

(i A BC

(ii A a

(iii S

است. B,CєV-{S}که

ג

Page 103: نظریه زبانها و ماشینها

103صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال شومسکی فرم نرمال شومسکی5-45-4

درخت اشتقاق در یک گرامر به فرم شومسکی یک درخت دودویی است.

قضیه

یcک گرامcر مسcتقل G=(V,∑,P,S)فرض کنیcد کcه یcک کcه دارد وجcود الگcوریتمی باشcد. متن از

در فcرم نرمcال شومسcکی G'=(V',∑,P',S')گرامcر ایجاد کند.Gو معادل با

Page 104: نظریه زبانها و ماشینها

104صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال شومسکی فرم نرمال شومسکی5-45-4

مثاG: S aABC l aل

A aA l a

B bcB l bc

C cC l c

G' : S A'T1 a

A' a

T1 AT2

T2 BC

A A'A a

B B'T3 B'C'

T3 C'B

C C'C c

B' b

C' c

فرم شومسکی

Page 105: نظریه زبانها و ماشینها

105صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال شومسکی فرم نرمال شومسکی5-45-4

S A+T l b l (A)

A A+T l b l (A)

T b l (A)

S AY l b l LZ

Z AR

A AY l b l LZ

T b l LZ

Y PT

P+

L(

R)

Y است.T+بیانگر

Z بیانگر A) است.

L است.)بیانگر

Rبیانگر ) است.

Pبیانگر + است.

مثال:

Page 106: نظریه زبانها و ماشینها

106صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف بازگشت چپ مستقیم حذف بازگشت چپ مستقیم5-55-5

برای اجتنcاب از وقcوع یcک تجزیcه پایcان ناپcذیر بایسcتی قcوانین بازگشcت چپ را

از گرامر حذف کنیم.

در گرامر A A+Tقانون بازگشت چپ مستقیم AE محاسبات پایان ناپذیری را در هر الگوریتم

سطحی و عمقی امکانپذیر می سازد.

Page 107: نظریه زبانها و ماشینها

107صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف بازگشت چپ مستقیم حذف بازگشت چپ مستقیم5-55-5

مثال:

1)A aA l b

A bZ l b

Z aZ l a

2)A Aa l Ab l b l c

A bZ l cZ l b l c

Z aZ l bZ l a l b

Page 108: نظریه زبانها و ماشینها

108صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه

کccه کنیccد گرامccر G=(V,∑,P,S)فرض یccک و بcوده متن از متغcیر AєVمسcتقل یcک

در مسccتقیم چپ باشccد. Gبازگشccتی الگcوریتمی وجcود دارد کcه یcک گرامcر معcادل

G'=(V',∑,P',S') هcبطوریک نمایcد ایجcاد A کcی متغیر بازگشتی چپ مستقیم نباشد.

حذف بازگشت چپ مستقیم حذف بازگشت چپ مستقیم5-55-5

Page 109: نظریه زبانها و ماشینها

109صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال گریباش فرم نرمال گریباش5-65-6

ایجcاد پیشcوندهای پایcانی کشcف بن بسcت هcا را پcایین بcه بcاال تجزیcه هcای الگcوریتم توسcط تسcهیل می کنcد. یcک فcرم نرمcال ) نظcیر فcرم گریبcاش( طcوری ارائcه می شcود کcه بکcارگیری هcر قcانون بتوانcد طcول پیشcوند پایcانی رشcته مشcتق شcده را افcزایش دهcد کcه این امcر مcا را از وجcود بازگشcت چپ، چcه مسcتقیم و چcه غcیر

مستقیم، مطمئن می سازد.

Page 110: نظریه زبانها و ماشینها

110صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال گریباش فرم نرمال گریباش5-65-6

فرم نرمال گریباش:

در فرم G=(V,∑,P,S)یک گرامر مستقل از متن نرمال گریباش است اگر هر قانون دارای یکی

از حالتهای زیر باشد:

(i S

(ii A a

(iii A aA1A2…An

است. i=1,2,….n ، AiєV-{S} و برای هر ∑aєکه

λ

Page 111: نظریه زبانها و ماشینها

111صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال گریباش فرم نرمال گریباش5-65-6

مثال:

S SaB l aB

B bB lג

S' ST l SA l AB l a

S ST l SA l AB l a

B CB l b

T AB

A a

C b

S' aBZT l aZT l aBT l aT l aBZA l aZA l aBA l aA l aB l a

S aBZ l aZ l aB l a

B bB l b

T aB

A a

C b

Z aBZ l aZ l aB l a

فرم شومسکی

فرم گریباش فرم گریباش

Page 112: نظریه زبانها و ماشینها

112صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فرم نرمال گریباش فرم نرمال گریباش5-65-6

مثال: اشتقاق چپ رشته abaab فرم نرمال گریباش فرم نرمال

GSaBشومسکی

SaBaB

SaBaBaB

aBaBaBaB

abBaBaBaB

abaBaBaB

abaaBaB

abaabBaB

abaabaB

abaaba

S S' SA

STA

SATA

ABATA

aBATAabATA

abaTA

abaABA

abaaBA

abaabA

abaaba

S' aBZA

abZA

abaZA

abaaBA

abaabA

abaaba

Page 113: نظریه زبانها و ماشینها

113صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل ششم: آتاماتای فصل ششم: آتاماتای متناهیمتناهی

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

آتاماتای قطعی دیاگرام حالت آتاماتای غیر قطعی

Page 114: نظریه زبانها و ماشینها

114صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل ششم : آتاماتای متناهیفصل ششم : آتاماتای متناهی

به یcک روال مcوثر بcرای تعcیین اینکcه آیcا یcک رشcته خcیر یcا اسcت زبcان یcک بcه متعلcق یcک ورودی

گفته می شود.پذیرنده زبان

ویژگی عمومی همه ماشینها پردازش ورودی و تولید خروجی است.

Page 115: نظریه زبانها و ماشینها

115صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

قطعی6-2 متناهی آتاماتای (Finite-State Machine)

قطعی متنcاهی آتاماتcای صcورت (DFA)یک بcه بیcان می شcود کcه در آن M=(Q,∑,∂,q0,F)پنج تcایی

Q،االتcاهی از حcه متنcک مجموعcه ∑ یcک مجموعcی الفبcا، بcه موسcوم حcالت q0єQمتنcاهی مcبین

از Fابتcدایی، ای زیرمجموعcه Q االتcح شcامل و پcذیرش، حcاالت یcا از ∂نهcایی جcامع تcابع یcک

Q×∑ هcب Q ت میcاس گcذر موسcوم تcابع بcه کcه باشد.

Page 116: نظریه زبانها و ماشینها

116صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

Finite-State) آتاماتای متناهی قطعی6-2Machine)

بیانگر وضعیت داخلی DFAحاالت یک ماشین هستند.

ورودی، یک دنباله متناهی از است.∑الفبای

اجcرای مجموعcه آتاماتcا شcامل یک محاسcبه یccک اجccرای اسccت. دسccتورالعملها از ای می تغیcیر را ماشcین حcالت دسcتورالعمل

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

Page 117: نظریه زبانها و ماشینها

117صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

Finite-State) آتاماتای متناهی قطعی6-2Machine)

باشد. DFA یک M=(Q,∑,∂,q0,F)فرض کنید که نشان داده می شود، L(M)، که با Mزبان

است که توسط ∑مجموعه ای از رشته ها در *M .پذیرفته می شود

Page 118: نظریه زبانها و ماشینها

118صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

-Finite) آتاماتای متناهی قطعی6-2State Machine)

مثال:

DFA M یک مجموعه از رشته هایی را روی {a,b} می پذیرد که شامل زیر رشته bb

*L(M)=(aυb)*bb(aυb)هستند؛ بدینصورت که است.

M : Q={q0,q1.q2}

∑{ =a,b}

F={q2}

Page 119: نظریه زبانها و ماشینها

119صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

-Finite) آتاماتای متناهی قطعی6-2State Machine)

تابع گcذر در یcک جcدول بcه نcام جcدول گcذر داده شcده اسcت.حاالت بcه صcورت عمcودی و الفبcا بcه انcد. گرفتcه قcرار جcدول در افقی صcورت

حcالت در آتاماتcا ورودی qiعملکcرد بcا a اcب ، و سcتون qiیcافتن نقطcه مشcترک سcطر متنcاظر

تعیین می شود.aمتناظر

∂ a b

q0 q0 q1

q1 q0 q1

q2 q2 q2

Page 120: نظریه زبانها و ماشینها

120صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

-Finite) آتاماتای متناهی قطعی6-2State Machine)

∂ با تابع گذرDFA از یک ∂تابع گذر توسعه یافته که به صورت Q به *∑×Qتابعی است از

بازگشتی زیر روی طول رشته ورودی تعریف می شود:

)i : صورت . length(w)=0پایه این و =w גدر)∂qi=( ,qi . صورت . length(w)=1است این aدرw= )برخی . )qi,a) ∂ =( qi,a∂(و) ∑aєبرای است

)ii : کنید فرض بازگشت length(w)>1مرحلهآنگاه. خواهد ∂ )=qi,u,(a( )qi,ua∂ (∂(و w=uaباشد

بود.

^

^

^ ^

Page 121: نظریه زبانها و ماشینها

121صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

دیاگرامهای حالت و مثالها6-3

، یک گراف جهت دار بر DFAدیاگرام حالت یک چسب شده است که گره های آن مبین حاالت

ماشین بوده و کمانهایش از تابع گذر بدست آمده است.

مثا:ل

q0 q1 q2

a

a

a,b

b b>

Page 122: نظریه زبانها و ماشینها

122صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

دیاگرامهای حالت 6-3

یک گراف M=(Q,∑,∂,q0,F) DFAدیاگرام حالت یک با شرایط زیر است:Gبر چسب دار

(i گره های G عناصر Q.هستند

(ii برچسب کمانهای Gهستند.∑ عناصر

(iii q0.گره ابتدایی با فرم نمایشی است

(iv F مجموعه گره های پذیرش است که هرگره پذیرش با مشخص می شود.

(v یک کمان از گره qiبهqj با برچسب a وجود دارد اگر ∂(qi,a=)qj.باشد

(viبرای هر گره qi وعنصرє∑a یکی کمان با برچسب zدقیقاa از qi.خارج می شود

>

Page 123: نظریه زبانها و ماشینها

123صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

دیاگرامهای حالت و مثالها6-3

و مسیر ababb با ورودی DFAمحاسبه متناظر آن در دیاگرام به صورت زیر است:

مسیر محاسبه [q0,ababb]

[q0,babb]

[q1,abb]

[q0, bb]

[q1,b]

[q2 ] ,ג

┴┴

┴┴

q0,

q0,

q1,

q0,

q1,

q2

قابل پذیرش است زیرا در حالت پایانی ababbرشتهq2.متوقف شده است

Page 124: نظریه زبانها و ماشینها

124صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

دیاگرامهای حالت و مثالها6-3

مثال:

bb که شامل زیر رشته {a,b}رشته هایی روی نمی باشند.

q0

q1

q4 q5

q2 q3

>

a

a

a

aa

b

b

b

b

b

a,b

Page 125: نظریه زبانها و ماشینها

125صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

دیاگرامهای حالت و مثالها6-3

مثال:

DFA M زبانی شامل رشته ها روی {a,b} با را می پذیرد.bو تعداد فردی aتعداد زوجی

[ea,eb] [ea,ob]

[oa,eb] [oa,ob]

>

a a a a

b

b

b

b

M:'

Page 126: نظریه زبانها و ماشینها

126صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

دیاگرامهای حالت و مثالها6-3

غcیر کcاملی را تعریcف DFAدیcاگرام حcالت زیcر را می پذیرد.c(*ab)می کند که عبارت

q1

q2

a

b

c

q0>

Page 127: نظریه زبانها و ماشینها

127صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای متناهی غیر قطعی6-4

قطعی غcیر متنcاهی آتاماتcای تcایی یک پنچ یcک M=(Q,∑,∂,q0,F) آن در کcه اسcت Q هcمجموع یcک

یcک مجموعcه متنcاهی موسcوم ∑متنcاهی از حcاالت، زیرمجموعcه F مcبین حcالت ابتcدایی،q0єQبcه الفبcا،

∂ شcامل حcاالت نهcایی یcا حcاالت پcذیرش، وQای از می باشد. P(Q) به ∑×Qیک تابع جامع از

Page 128: نظریه زبانها و ماشینها

128صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای متناهی غیر قطعی6-4

، نشان داده می شودL(M) که با NFA Mزبان مجموعه ای از رشته های پذیرفته شده به وسیله

Mاست. بدین صورت که

L(M)={w l there is a comutation [q0,w] *[qi, ] with qiєF}┴ ג

Page 129: نظریه زبانها و ماشینها

129صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای متناهی غیر قطعی6-4

یک گراف M=(Q,∑,∂,q0,F) NFAدیاگرام حالت یک با شرایط زیر است:Gجهت دار

(i گره های Gعناصر Q.هستند

(ii برچسب کمانهای G هستند.∑ عناصر

(iii q0.گره ابتدایی است

(iv f.مجموعه گره های پذیش است

(v یک کمان از گره qi به qj با برچسب a وجود باشد.qj(=qi,a)∂ دارداگر

Page 130: نظریه زبانها و ماشینها

130صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای متناهی غیر قطعی6-4

مثال:

آتاماتای متناهی را M2وM1دیاگرامهای حالت را می *)bb)aυb(*aυb)تعریف می کنند که

پذیرند.a

q0 q1 q2M1 :> a

b b

a,b

a,b

q0 q1 q2M2 :>

b b

a,b

Page 131: نظریه زبانها و ماشینها

131صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای متناهی غیر قطعی6-4

q0

q1

q3

q2

q4

>

a

b

b

a,ba

a,b

a,b

NFA:

Page 132: نظریه زبانها و ماشینها

132صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گذرهای المبدا6-5

گcذرهلی بcا قطعی غcیر متنcاهی آتاماتcای یک NFA مشcابه M=(Q,∑,∂,q0,F)المبcدا یcک پنچ تcایی

بcه Q×(∑υ{ }) تcابعی از ∂اسcت بcا این تفcاوت کcه P(Q).می باشد

λ

Page 133: نظریه زبانها و ماشینها

133صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گذرهای المبدا6-5

:مثال

کcه -NFAגمی خcواهیم از گcذرهای المبcدا بcرای ایجcاد یcک بcروی را زوج طcول بcه هcایی پcذیرد، {a,b}رشcته می

اسcتفاده کcنیم. ابتcدا دیcاگرام حcالت را بcرای ماشcینی کcه رشته های به طول دو را می پذیرد تشکیل می دهیم.

q0 q1 q2> a,b a,b

Page 134: نظریه زبانها و ماشینها

134صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

q2 بcه q0برای پcذیرش رشcته تهی ، یcک کمcان المبcدا از بcا مثبت زوج طcول بcه هcایی رشcته شcود. می اضcافه

المبcدای کمcان از بcه q2اسcتفاده q0 هcدنبال تکcرار بcرای q2,q1,q0.پذیرفته می شوند

گذرهای المبدا6-5

q0 q1 q2> a,b a,b

ג

ג

Page 135: نظریه زبانها و ماشینها

135صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف غیر قطعیت6-6

–، که با qiهمبستگی المبدای یک حالت closure(qi)نشان داده می شود، به صورت ג

بازگشتی زیر تعریف می شود.

(i :پایه –closure(qi)ג є qi

(ii مرحله بازگشت: فرض کنید که qj یک عنصر باشد.اگر גclosure(qi)–از

qkє∂(qj, ) باشد، آنگاه –closure(qj)ג є qk .است

(iii :همبستگی qj در –closure(qi)است اگر ג بتواند با یک تکرار متناهی ازمرحله بازگشت

بدست آید.

ג

Page 136: نظریه زبانها و ماشینها

136صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف غیر قطعیت6-6

مثال:

یک t و تابع گذر ورودی ∂جدولهای گذر برای تابع گذر ارائه شده است. زبان M به همراه دیاگرام -NFAג

M،a+c*b*.می باشد

q0 q1

q2

M :>

a

a

a

b

c

ג

Page 137: نظریه زبانها و ماشینها

137صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف غیر قطعیت6-6

q0

q1

q2

a

}q1,q2,q3{

ø

ø

c

ø

ø

}q2{

b

ø

}q1{

ø

ג

ø

ø

}q1{

t

q0

q1

q2

a

}q1,q2,q3{

ø

ø

c

ø

ø

}q1,q2{

b

ø

}q1{

}q1{

Page 138: نظریه زبانها و ماشینها

138صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف غیر قطعیت6-6

مثال:

را می پذیرند. *aو*a(ba) به ترتیب M2وM1ماشینهای

q1 q2 q3 M1 :>

M2> :a

b

a

Page 139: نظریه زبانها و ماشینها

139صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف غیر قطعیت6-6

با ایجاد یک حالت ابتدایی جدید و اتصال آن به حاالت ابتدایی ماشینهای اصلی با استفاده از

بسازیم که NFA- Mگذر المبدا می توانیم یک a(ba)*υa*.را بپذیرد

ג

q0

q1

q3

M :>

a

a

bגq2

ג

Page 140: نظریه زبانها و ماشینها

140صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

حذف غیر قطعیت6-6

به صورت زیر است:Mتابع گذر ورودی

t

q0

q1

q2

q3

a

{q2,q3}

{q1}

ø

{q3}

b

ø

ø

{q1}

ø

Page 141: نظریه زبانها و ماشینها

141صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل هفتم : زبانها و فصل هفتم : زبانها و مجموعه های با قاعدهمجموعه های با قاعده

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

آتاماتای متناهی و مجموعه های با قاعده گراف عبارت زبان بی قاعده

Page 142: نظریه زبانها و ماشینها

142صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل هفتم : زبانها و مجموعه های با فصل هفتم : زبانها و مجموعه های با قاعدهقاعده

گرامرها به عنوان تولید کننده های زبان، و آتاماتای متناهی به عنوان پذیرنده های زبان

معرفی شده اند.

یک زبان روی ∑هر آتاماتای متناهی با الفبای را می پذیرد.∑

خانواده زبانهای پذیرفته شده توسط آتاماتا ∑دقیقاz شامل مجموعه های باقاعده روی

است.

Page 143: نظریه زبانها و ماشینها

143صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتcای متنcاهی و مجموعcه هcای بcا آتاماتcای متنcاهی و مجموعcه هcای بcا 7-17-1قاعدهقاعده

مجموعcه هcای بcا قاعcده بcا اسcتفاده از عملیcات اجتمcاع، الحcاق و عملگcر

پایcه (kleen star)سcتاره عناصcر از ای ایجاد می شوند.

Page 144: نظریه زبانها و ماشینها

144صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

به ترتیب حاالت F ,Sو F ,Sفرض کنید که باشند.حاالت ابتدایی و M2وM1ابتدایی و پایانی

نشان می دهیم. زبان FوSپایانی ماشین را با L(M1)υL(M2) توسط ماشین زیر پزیرفته می

شود:

M1 M1M2 M2

S

S

S

F

F

F

M1

M2

M1

M2

M1

M2

ג

>

ג

ג

ג

آتاماتای متناهی و مجموعه های با آتاماتای متناهی و مجموعه های با 7-17-1قاعدهقاعده

Page 145: نظریه زبانها و ماشینها

145صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف عبارات گراف عبارات7-27-2

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

و یک مجموعه از گره های پذیرش است.

Page 146: نظریه زبانها و ماشینها

146صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف عبارات گراف عبارات7-27-2

را می تcوان ∑دیcاگرام حcالت یcک آتاماتcا بcا الفبcای گcرفت. نظcر در عبcارت گcراف یcک عنcوان بcه بcا برچسcب هcا شcامل المبcدا و عبcارات متنcاظر

می ∑عناصcر عبcارت یcک کمانهcای باشcند. می نcیز برچسcب دار شcوند. هcر مسcیر در øتواننcد بcا

یcک گcراف عبcارت، یcک عبcارت بcا قاعcده تولیcد می کنcد. زبcان یcک گcراف عبcارت اجتمcاعی از مجموعcه هcای ارائcه شcده توسcط عبcارات بcا قاعcده پذیرفتcه

شده است.

Page 147: نظریه زبانها و ماشینها

147صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف عبارات گراف عبارات7-27-2

مثال:

1 3

b b

cc>

را *b*ccbاین گراف عبارت می پذیرد.

Page 148: نظریه زبانها و ماشینها

148صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گراف عبارات گراف عبارات7-27-2

:kleenقضیه

پذیرفته ∑ با الفبایDFA توسط یک Lیک زبان یک مجموعه با قاده Lمی شود اگر و تنها اگر

باشد.∑روی

Page 149: نظریه زبانها و ماشینها

150صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتccای 7-3 و باقاعccده گرامرهccای متناهی

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

شده اضافه می کند.

Page 150: نظریه زبانها و ماشینها

151صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای باقاعده و آتاماتای 7-3متناهی

مثال:

NFA M را تولید نموده و a*(aυb )گرامر زیر زبان آن را می پذیرد.

+

G: S aS l Bb a

B bB l גS B

Z

M :>

a

a

b

b

Page 151: نظریه زبانها و ماشینها

152صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای باقاعده و آتاماتای 7-3متناهی

مثال:

S aA l bB

A aS l bC

B bS l aC l

C aB l bA

ג

S

A

B

C

>

a

b

b

a a a

b

b

Page 152: نظریه زبانها و ماشینها

153صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ویژگیهای همبستگی زبانهای 7-4باقاعده

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

(i باقاعده )یک مجموعه )عبارت ∑روی

(ii پذیرفته شده توسط NFA,DFA یا -NFA ג

(iii تولید شده توسط یک گرامر با قاعده باشد.

Page 153: نظریه زبانها و ماشینها

154صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ویژگیهای همبستگی زبانهای 7-4باقاعده

قضیه

, L1L2 دو زبان با قاعده باشند، آنگاه L2 و L1اگر L1υL2و L1*.نیز زبانهای باقاعده خواهند بود

زبانهای باقاعده نسبت به عمل مکمل بسته با قاعده باشد، آنگاه ∑ روی الفبایLهستند. اگر

L=∑*-L.نیز با قاعده خواهند بود

_

Page 154: نظریه زبانها و ماشینها

155صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ویژگیهای همبستگی زبانهای 7-4باقاعده

قضیه

نیز Lیک زبان با قاعده باشد، آنگاه Lاگر باقاعده است.

_

قضیه

L1∩L2 زبانهایی باقاعده باشند، آنگاه L2 وL1اگرنیز باقاعده است.

Page 155: نظریه زبانها و ماشینها

156صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

یک زبان بی قاعده7-5

زبانهای بی قاعده:

i i با قاعده نیست.{a b l i≥0}زبان

باشد. اگر رشته ∑ یک زبان رویLفرض کنید که i≠j برای uivjєLو uiviєL با*∑viє(i≥0) وє∑ uiهای

یک زبان باقاعده Lوجود داشته باشد، آنگاه نیست.

شامل رشته های متقارن روی Lمثالz مجموعه {a,b}باقاعده نیست، .

/

Page 156: نظریه زبانها و ماشینها

157صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

یک زبان بی قاعده7-5

نکته:

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

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

قضیه:

یک زبان L2 یک زبان با قاعده و L1فرض کنید که لزوماz باقاعده L1∩L2مستقل از متن باشد. زبان

نیست.

Page 157: نظریه زبانها و ماشینها

158صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای 7-6باقاعده

k با DFA دیاگرام حالت یک Gفرض کنید که یا بیشتر k یک مسیر به طول pحالت بوده و

را می توان به زیر pباشد. در این صورت مسیر تجزیه نمودs وr,pمسیرهای

یک r بوده و length(qr)≤k و p=qrs بطوریکه چرخه باشد.

Page 158: نظریه زبانها و ماشینها

159صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای 7-6باقاعده

قضیه:

یک زبان با قاعده است که Lفرض کنید که حالت پذیرفته می شود k باDFA Mتوسط یک

با L هر رشته موجود در zو فرض کنید که length(z)≤k باشد.در این صورت z می تواند به

نوشته شود بطوریکه uwvصورت length(uv)≤k ، length(v)>0 و به ازای هر i≥0 ،

uv w є L.باشد

i

پیش قضیه فشار ابزار قدرتمندی برای اثبات بی قاعدگی زبانها است.

Page 159: نظریه زبانها و ماشینها

160صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای 7-6باقاعده

مثال:

برای اینکcه نشcان دهیم بcا قاعcده Lنیسcت بایسcتی رشcته ای را بcا طcول مناسcب در

پیcدا کcنیم کcه هیچ رشcته فشcردنی بcرای آن وجcود کcه کcنیم می باشcد.فرض باقاعcده Lنداشcته

پیش Kاسcت. توسcط شcده مشcخص تعcداد را zقضcیه فشcار در نظcر می گcیریم. بcا فcرض اینکcه

تجزیcه a bرشcته هcر ، اسcت uvw از z در کcه شcرایط پیش قضcیه فشcار صcدق می کنcد بایسcتی

است. j>0 و i+j≤kبه شکل زیر باشدکه

{a b l i≥0}

i i

k k

Page 160: نظریه زبانها و ماشینها

161صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای 7-6باقاعده

u v wa a a bi j k-i-j k

uv w=a b a aفشار هر زیر رشته به این شکل، b =a a b را تولید می کند که در زبان L وجود

هیچ تجزیه ای ندارد که در zєLندارد. از آنجائیکه شرایط پیش قضیه صدق کند، لذا نتیجه می

با قاعده نیست.Lگیریم که زبان

i j j k-i-j k k kj2

Page 161: نظریه زبانها و ماشینها

162صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای 7-6باقاعده

قضیه:

حالت باشد.k با DFA یک Mفرض کنید که

(i L(M) اگر وتنها اگر M یک رشته z با length(z)>k.را بپذیرد

(ii L(M) به تعداد نا متناهی عضو دارد اگر وتنها را بپذیرد.length(z)<2k با z یک رشته Mاگر

باشند. یک DFA دو M2 و M1فرض کنید که و M1روال تصمیم گیری برای تعیین هم ارزی

M2.وجود دارد

Page 162: نظریه زبانها و ماشینها

163صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل هشتم: آتاماتای فصل هشتم: آتاماتای PushdownPushdown

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

آتاماتای Pushdown انواع PDAآتاماتای دو پشته ای بهینه سازیDFA

Page 163: نظریه زبانها و ماشینها

164صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

تولیcد زبانهcایی عنcوان بcه باقاعcده زبانهcای پذیرفتcه و باقاعcده گرامرهcای توسcط شcده می شcناخته متنcاهی آتاماتcای توسcط شcده

، یcک ماشcین بcا حcاالت pushdownیک آتاماتcای شود.متنcاهی همcراه بcا یcک حافظcه پشcته ای خcارجی قcابلیت آتاماتcا بcه پشcته یcک افcزودن . اسcت

را فراهم می کند.LIFOمدیریت حافظه

LIFO : Last-In , First-Out

Page 164: نظریه زبانها و ماشینها

165صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

، یک شش تایی pushdownیک آتاماتای (Q,∑,Γ,∂,q0,F) است که Q یک مجموعه متناهی از

یک مجموعه متناهی موسوم به الفبای ∑حاالت ، یک مجموعه متناهی موسوم به الفبای Γورودی،

یک مجموعه F Q حالت ابتدایی ، q0پشته،متناهی از حاالت پایانی، یک تابع گذر از

Q×(∑υ{ }) ×(Γ υ{ }) به زیر مجموعه های Q× (Γ υ{ }).می باشد

∩_λ λλ

Page 165: نظریه زبانها و ماشینها

166صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

دارای دو الفباست:PDAیک

که رشته های ورودی را شکل ∑-الفبای ورودی 1می دهد.

که عناصر آن ممکن است روی پشته Γ- الفبای 2ذخیره شوند.

Page 166: نظریه زبانها و ماشینها

167صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

نکته

عناصر الفبای پشته ای را با حروف بزرگ نشان می دهیم.

رشته های عناصر پشته ای را با استفاده از حروف یونانی نشان می دهیم.

با استفاده از حالت جاری ، عنصر PDAیک ورودی و عنصر باالیی پشته رفتار ماشین را

تعیین می کند.

Page 167: نظریه زبانها و ماشینها

168صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

گذر زیر سبب می شود:

تغییر می دهد.qj به qiالف( حالت ماشین را از

را پردازش کند) هد نوار را به جلو aب( عنصر براند(.

(.pop را از باالی پشته حذف کند) عمل Aج(

(.pop را در پشته قرار دهد ) عمل Bد(

[qj , B ] є ∂ ( q1 , a , A )

حالت جدید عنصر جاری پشتهحالت جاری

عنصر جدید پشته

عنصر جاری ورودی

Page 168: نظریه زبانها و ماشینها

169صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

می تواند توسط pushdownیک آتاماتای یک دیاگرام حالت نیز توصیف شود.

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

Page 169: نظریه زبانها و ماشینها

170صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

a} برای پذیرش زبان PDA Mحال می توانیم یک b li≥0}.ایجاد کنیم

i i

M: Q={q0,q1}

∑{=a,b}

Γ ={A}

F={q0,q1}

∂(q0,a[{=) ,q0,A}]

∂(q0,b,A[{=)q1}] ,

∂(q1,b,A[{=)q1}] ,

ג

ג

ג

q0 q1>

/Aג a ג b A/

/b A ג

Page 170: نظریه زبانها و ماشینها

171صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

یک باشد. PDA یک (Q,∑,Γ,∂,q0,F)فرض کنید که اگر یک قابل پذیرش استM توسط *∑wєرشته

وجود داشته باشد , , [q0,w[ * ] ,qi]محاسبه مجموعه تمامی M باشد. زبان qi є Fبطوریکه

است.Mرشته های پذیرفته شده توسط

λ λ λ

Page 171: نظریه زبانها و ماشینها

172صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

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

می شود.

Page 172: نظریه زبانها و ماشینها

173صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

مثال:

PDA M زبان {w c w l wє{a,b}}*.را می پذیرد R

M: Q={q0,q1}

∑{=a,b,c}

Γ={A,B}

F={q1}

{[q0,A]}=( ,q0,a)∂ג

∂(q0,b, )={[q1,B]}

∂(q1,c, )={[q1, ]}

ג

ג ג

∂(q1,a,A[{=)q1}] ,

∂(q1,b,B[{=)q1}] ,

ג

ג

q0 q1>

/Aג a ג a A/

c ג/ג

/Bג b ג b B/

Page 173: نظریه زبانها و ماشینها

174صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

قطعی است اگر حداکثر یک گذر برای PDAیک هر ترکیبی از حالت، عنصر ورودی و عنصر باالی

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

)qi,v,B(∂є[qk,D] و )є∂)qi.u.A[qj,c]دو گذر سازگار هستند اگر یکی از شرایط زیر را دارا

باشند:

(i u=v و A=B.

(ii u=v و A = یا B =.

(iii A=B و u=v یا v =.

(iv u = یا v = و A= یا B =.

גג

ג

גגגג

Page 174: نظریه زبانها و ماشینها

175صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

pushdownpushdown آتاماتای آتاماتای 8-18-1

قطعی است اگر آن شامل گذرهای PDAیک سازگار مجزا نباشد.

مثال:

ها یا تعداد a شامل L={a l i≥0} {a b I≥0}زبان که PDA Mها است. پشته bها و aیکسانی از

را می پذیرد.Lزبان

i i i

q0 q1

q2

M> :

/Aג a

ג/A ג

ג ג/ ג

/b A ג

/b A ג

Page 175: نظریه زبانها و ماشینها

176صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

PDAPDA انواع انواع 8-28-2

با سه عمل PDAهر گذر در همراه است:

1-popکردن پشته

2-push کردن یک عنصر پشته ای

-پردازش یک عنصر ورودی3

اگر هر گذر ساده )اتمی( استPDAیک تنها موجب وقوع یکی از این عملیات

شود.

Page 176: نظریه زبانها و ماشینها

177صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

PDAPDA انواع انواع 8-28-2

یcک در هcا می PDAگذر زیcر اشcکال بcه سcاده باشند:

[qj,A ]є ∂(qi, , )

[qj ] ,є ∂(qi,a, )

[qj ] ,є ∂(qi, ,A)

ג ג

גג

ג ג

اسcت PDAیک گcذر توسcعه یافتcه، یcک عمcل روی می کنcد. pushکcه یcک رشcته از عناصcر را در پشcته

رشcته )є∂)qi,u,A[qi,BCD]گcذر BCD تهcپش در را push.می کند

Page 177: نظریه زبانها و ماشینها

178صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

PDAPDA انواع انواع 8-28-2

مثال:

i i است.L={a b l i≥1}فرض کنید که

PDA توسعهیافته

PDA ساده

PDA

ג

Q={q0,q1,q2}

∂(q0,a[{=) ,q2,A}]

∂(q2[{=) , ,q0,A}]

∂(q0,b,A[{=)q1}] ,

∂(q1,b,A[{=)q1}] ,

ג ג

ג

ג

ג ג

ג ג

ג

Q={q0,q1,q2,q3,q4}

∂(q0,a[{=) ,q3}] ,

∂(q3[{=) , ,q2,A}]

∂(q2[{=) , ,q0,A}]

∂(q0,b[{=) ,q4}] ,

∂(q4, ,A[{=)q1}] ,

∂(q1,b[{=) ,q4] ,

ג

ג ג

ג ג

ג ג

Q={q0,q1}

∂(q0,a[{=) ,q2,A]}

∂(q0,b,A[{=) q1] ,}

∂(q1,b,A[{=)q1] ,}

ג

ג

ג

Page 178: نظریه زبانها و ماشینها

179صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

PDAPDA انواع انواع 8-28-2

پیش قضیه:

کنیcد توسcط Lفرض شcده پذیرفتcه زبcان یcک (Q,∑,Γ,∂,q0,F) PDA M دهcش تعریcف پcذیرش بcا

یcک این صcورت در باشcد. پایcانی حcالت توسcط PDA انcزب کcه دارد وجcود L التcح توسcط را

پایانی و پشته خالی بپذیرد.

Page 179: نظریه زبانها و ماشینها

180صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

PDAPDA انواع انواع 8-28-2

پیش قضیه:

کنیcد توسcط Lفرض شcده پذیرفتcه زبcان یcک (Q,∑,Γ,∂,q0,F) PDA Mطcده توسcف شcذیرش تعریcا پcب

وجcود PDA پشcته خcالی باشcد. در این صcورت یcک زبcان کcه پایcانی و پشcته Lدارد را توسcط حcالت

خالی بپذیرد.

Page 180: نظریه زبانها و ماشینها

181صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

PDAPDA انواع انواع 8-28-2

قضیه:

شرایط زیر با هم معادلند:

(i زبان L توسط برخی PDA.ها پذیرفته می شود

(ii یک PDAM1 با LF(M1)=L.وجود دارد

(iii یک PDAM2 با LE(M2)=L.وجود دارد

Page 181: نظریه زبانها و ماشینها

182صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

و زبانهای و زبانهای pushdownpushdown آتاماتای آتاماتای 8-38-3مستقل از متنمستقل از متن

قضیه:

یcک زبcان مسcتقل از Lفرض کنیcد کcه صcورت این در باشcد. ایPDAمتن

را بپذیرد.Lوجود دارد که زبان

Page 182: نظریه زبانها و ماشینها

183صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

و زبانهای و زبانهای pushdownpushdown آتاماتای آتاماتای 8-38-3مستقل از متنمستقل از متن

باشد، یک PDAیک M =(Q,∑,Γ,∂,q0,F)فرض کنید که PDA M′بوسیله ∂′ توسعه یافته با تابع گذر

ایجاد می شود:M از ∂گذرهای

(i اگر [qi] ,є∂)qi,u, ( باشد، آنگاه برای هر AєΓ .)є∂′)qi,u,A[ qj,A]داریم

(i اگر [qj,B]є∂)qi,u, ( باشد، آنگاه برای هر AєΓ .)є∂′)qi,u,A[ qj,BA]داریم

ג ג

ג

Page 183: نظریه زبانها و ماشینها

184صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

و زبانهای و زبانهای pushdownpushdown آتاماتای آتاماتای 8-38-3مستقل از متنمستقل از متن

مثال:

ایجاد می کنیم. زبان PDA Mیک گرامر از M مجموعه{a cb l n≥0}.است

n n

M: Q={q0,q1}

∑{=a,b,c}

Γ={A}

F={q1}

{[q0,A]}=( ,q0,a)∂ג

∂(q0,c, )={[q1, ]}

∂(q1,b,A)={[q1, ]}

ג

ג

ג

Page 184: نظریه زبانها و ماشینها

185صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

و زبانهای و زبانهای pushdownpushdown آتاماتای آتاماتای 8-38-3مستقل از متنمستقل از متن

قضیه:

باشcد. در PDA یcک Mفرض کنیcد کcه از مسcتقل گرامcر یcک صcورت این

وجود دارد.L(G)=L(M) با Gمتن

Page 185: نظریه زبانها و ماشینها

186صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای پیش قضیه فشار برای زبانهای 8-48-4مستقل از متنمستقل از متن

پیش قضیه:

یک گرامر مستقل از متن در Gفرض کنید که w є یک اشتقاق از A * wفرم نرمال شومسکی و

n برابرT باشد. اگر عمقT با درخت اشتقاق *∑ خواهد بود.length(w)≤2باشد، آنگاه

n-1

Page 186: نظریه زبانها و ماشینها

187صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای پیش قضیه فشار برای زبانهای 8-48-4مستقل از متنمستقل از متن

یcک گرامcر مسcتقل G=(V,∑,P,S)فرض کنیcد S * wاز متن در فcرم نرمcال شومسcکی و

است.w L(G)یک اشتقاق از

باشcد، آنگcاه عمcق درخت length(w)≤2ⁿاگcر خواهد بود. n+1اشتقاق حداقل برابر

Page 187: نظریه زبانها و ماشینها

188صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

پیش قضیه فشار برای زبانهای پیش قضیه فشار برای زبانهای 8-48-4مستقل از متنمستقل از متن

پیش قضcیه فشcار بcرای زبانهcای مسcتقل از پیش قضcیه فشcار بcرای زبانهcای مسcتقل از قضcیه )متن(متن(

کcه کنیcد کcه فرض کنیcد متن LLفرض از مسcتقل زبcان یcک متن از مسcتقل زبcان یcک وجcود داردبطوریکcه وجcود داردبطوریکcه LL وابسcته بcه وابسcته بcه kkباشcد.یک عcدد باشcد.یک عcدد

می توانcد بcه صcورت می توانcد بcه صcورت length(z)>klength(z)>k بcا بcا ZZєєLLهcر رشcته هcر رشcته z=uvwxyz=uvwxy.نوشته شود که دارای شرایط زیر باشد. نوشته شود که دارای شرایط زیر باشد

((ii length(vwx)length(vwx)≤≤ k k

((iiii length(v)+length(x)>0length(v)+length(x)>0

((iiiiii برای برای ii≥≥00 ، ، uv wx y uv wx y єє L L

i i

اول است L={w єa* l.مستقل از متن نیست length(w) } زبان

Page 188: نظریه زبانها و ماشینها

189صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

خصوصیات همبستگی زبانهای خصوصیات همبستگی زبانهای 8-58-5مستقل از متنمستقل از متن

قضیه:

مجموعه زبانهای مستقل از متن نسبت به kleen)عملیات اجتماع، الحاق و عملگر ستاره

star).قضیه: بسته هستند

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

قضیه:

یک زبان L یک زبان با قاعده و Rفرض کنید که R∩Lمستقل از متن باشد. در این صورت

مستقل از متن است.

Page 189: نظریه زبانها و ماشینها

190صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای دو پشته ای آتاماتای دو پشته ای8-68-6

آتاماتای دو پشته ای:آتاماتای دو پشته ای:

PDAPDA دو پشته ای دارای ساختار دو پشته ای دارای ساختار (Q,∑,Γ,∂,q0,F) تک پشته ای PDA مشابه Q,∑,Γ,∂,q0,F است.

، تابعی از ∂می باشند. تابع گذرQ×(∑υ{ })×(Γυ{ })×(Γυ{ }) به زیر مجموعه

است.Q×(Γυ{ })×(Γυ{ })هایی از

حالت عناصر ورودی و عناصر باالی هر دو پشته تعیین می کنند که کدام گذر بایستی

انتخاب شود.

ג ג גגג

Page 190: نظریه زبانها و ماشینها

191صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای دو پشته ای آتاماتای دو پشته ای8-68-6

مثال:

PDA دو پشته ای تعریف شده زیر زبان L={a b c l i≥ 0}.را می پذیرد

i i i

M: Q={q0,q1,q2}

∑{=a,b,c}

Γ={A}

F={q2}

{[ , ,q2]}=( , , ,q0)∂ג

∂(q0,a, , )={[q0,A, ]}

∂(q0,b,A, )={[q1, ,A]}

∂(q1,b,A, )={[q1, ,A]}

∂(q1,c, ,A)={[q2, , ]}

∂(q2,c, ,A)={[q2, , ]}

ג ג ג ג

ג ג ג

ג ג

ג ג

ג ג ג

ג ג ג

Page 191: نظریه زبانها و ماشینها

192صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل نهم:ماشینهای فصل نهم:ماشینهای تورینگتورینگ

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

ماشین تورینگ انواع پذیرش ماشین های چند شیارهماشین های تورینگ غیر قطعی

Page 192: نظریه زبانها و ماشینها

193صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل نهم : ماشینهای تورینگفصل نهم : ماشینهای تورینگ

ماشین تورینگ یک ماشین با حاالت متناهی است که هر گذر آن عنصری را روی نوار

چاپ می کند.

کcه اسcت(Q,∑,Γ,∂,q0)ماشcین تورینcگ یcک پنچ تcایی آن ، Qدر حcاالت از متنcاهی مجموعcه Γ کcی

مجموعcه متنcاهی موسcوم بcه الفبcای نوارشcامل یcک یcک ∑ کcه نمcاینگر فاصcله خcالی اسcت، Bعنصcر ویcژه یcک ∂ موسcوم بcه الفبcای ورودی، Γ–{B}مجموعcه از

از بcه Γ × Qتcابع جcزئی Q×Γ× {L×R} هcب موسcوم یcک حcالت مشcخص بcه نcام حcالت q0єQتcابع گcذر و

ابتدایی می باشد.

Page 193: نظریه زبانها و ماشینها

194صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ استاندارد ماشین تورینگ استاندارد9-19-1

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

چپ به راست شماره گذاری می شوند.

…0 1 2 3 4 5

q0

Page 194: نظریه زبانها و ماشینها

195صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ استاندارد ماشین تورینگ استاندارد9-19-1

یک گذر شامل سه عمل است:

- تغییر حالت 1

- نوشتن یک عنصر روی مربع در حال 2پویش توسط هد نوار

- حرکت هد نوار.3

جهت حرکت توسط آخرین جزء گذر تعیین می شود.

Page 195: نظریه زبانها و ماشینها

196صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ استاندارد ماشین تورینگ استاندارد9-19-1

تغیcیر داده، qj بcه qiاین گcذر حcالت ماشcین را از جcایگزین نمcوده و هcد نcوار را y نcوار را بcا xعنصcر

یک مکان به چپ حرکت می دهد.

یک ماشcین تورینcگ هنگcامی متوقcف می شcود عنصcر و جcاری حcالت مcرتب زوج بcرای کcه یcک باشcد. نشcده تعریcف گcذری هیچ ورودی، گcذر ممکن اسcت بخواهcد از مکcان صcفر نcوار یcک حcرکت بcه چپ محcدوده نcوار انجcام دهcد کcه در نcوع این بcه و شcود می متوقcف صcورت این می هرگcاه گcوییم. عcادی غcیر توقcف توقcف، گcوییم یcک محاسcبه متوقcف می شcود، منظcور

توقف در شرایط عادی است.

Page 196: نظریه زبانها و ماشینها

197صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ استاندارد ماشین تورینگ استاندارد9-19-1مثال:

یک کپی از رشته {a,b} با الفبای ورودی COPYماشین تورینگ ورودی را تولید می کند. به عبارتی، محاسبه ای که با نوار شامل

BuB شروع می شود با نوار BuBuB.متوقف می گردد

q0 q1

q7

q2

q5

q3

q6

q4COPY< : B/B R

B/B L

X/a LY/b L

X/X RY/Y R

a/a Rb/b R

a/X R

b/Y R

a/a Rb/b R

a/a Rb/b R

B/B R

B/B R

B/a L

B/b L

a/a Rb/b R

a/a Lb/b LB/B L

Page 197: نظریه زبانها و ماشینها

198صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشcین تورینcگ بcه عنcوان پذیرنcده ماشcین تورینcگ بcه عنcوان پذیرنcده 9-29-2زبانزبان

کcه کنیcد ماشcین (Q,∑,Γ,∂,q0,F)فرض یcک رشcته یcک باشcد. توسcط *∑Uєتورینcگ

حcالت پایcانی پذیرفتcه می شcود اگcر محاسcبه M ا ورودیcب u فcانی متوقcالت پایcک حcدر ی

بcه طcور غcیر عcادی شcود. محاسcبه ای کcه بcدون را ورودی رشcته شcود می متوقcف توجcه بcه حcالت پایcانی ماشcین رد می کنcد.

نشcان داده می شcود، L(M) ، کcه بcا Mزبcان مجموعcه تمcامی رشcته هcای پذیرفتcه شcده

است. Mتوسط

Page 198: نظریه زبانها و ماشینها

199صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ به عنوان پذیرنده ماشین تورینگ به عنوان پذیرنده 9-29-2زبانزبان

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

ماشین تورینگی که برای تمامی رشته های ورودی متوقف می شود زبانی را می پذیرد که

گویند. بازگشتیبه آن

بازگشcتی بcودن از ویژگیهcای یcک زبcان اسcت نه از خصوصیات ماشین تورینگ پذیرنده آن.

Page 199: نظریه زبانها و ماشینها

200صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ به عنوان پذیرنده ماشین تورینگ به عنوان پذیرنده 9-29-2زبانزبان

مثال:

ماشین تورینگ

q0 q1 q2 q3M :>

B/B R

b/b R

b/b R

a/a R a/a R

را می پذیرد.*)aa)aυb(*aυb)زبان

Page 200: نظریه زبانها و ماشینها

201صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

انواع پذیرش در ماشینهای تورینگ انواع پذیرش در ماشینهای تورینگ9-39-3

:انواع پذیرش در ماشینهای تورینگ

در ماشcین تcورینگی کcه بcرای پcذیرش توسcط توقcف طcراحی شcده اسcت، یcک اگcر پذیرفتcه می شcود رشcته ورودی محاسcبه رشcته مcوجب توقcف ماشcین

شود.کcه کنیcد ماشcین (Q,∑,Γ,∂,q0,F)فرض یcک

بcا پcذیرش توسcط توقcف باشcد. یcک تورینcگ توسcط توقcف پذیرفتcه می شcود *∑Uєرشcته

بcه طcور عcادی u بcا ورودی Mاگcر محاسcبه متوقف شود.

Page 201: نظریه زبانها و ماشینها

202صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

انواع پذیرش در ماشینهای تورینگ انواع پذیرش در ماشینهای تورینگ9-39-3

*)aa)aυb(*aυb)مثال: زبان

q0 q1 q2 q3> B/B R

b/b R

b/b R

a/a R a/a R

qf

B/B Ra/a Rb/b R

b/b Ra/a R

B/B R

B/B R

Page 202: نظریه زبانها و ماشینها

203صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

انواع پذیرش در ماشینهای تورینگ انواع پذیرش در ماشینهای تورینگ9-39-3

توسcط پcذیرش بcه موسcوم پcذیرش از نوعی ورود کcه از حcالت پایcانی اسcتفاده کcرده و هیچ نیازی به محاسبات پذیرس جهت توقف ندارد.

اگcر شcود می پذیرفتcه رشcته یک پایcانی شcده محاسcبه وارد یcک حcالت

باشد.

Page 203: نظریه زبانها و ماشینها

204صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای چند شیاره ماشینهای چند شیاره9-49-4

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

n شیاره شاما n .عنصر از الفبای نوار است دیاگرام زیر یک نوار دو شیاره با هد نوار در

حالت پویش دو مکان معین را نشان می دهد.

2شیار

1شیار

qi

Page 204: نظریه زبانها و ماشینها

205صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای چند شیاره ماشینهای چند شیاره9-49-4

قضیه:

زبcان ماشcین Lیک یcک توسcط می پذیرفتcه شcیاره دو تورینcگ توسcط آن اگcر تنهcا و اگcر شcود اسcتاندارد تورینcگ ماشcین یcک

پذیرفته شود.

Page 205: نظریه زبانها و ماشینها

206صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ با نوار دو طرفه ماشین تورینگ با نوار دو طرفه9-59-5

ماشین تورینگ با نوار دو طرفه:ماشین تورینگ با نوار دو طرفه:یک ماشcین تورینcگ بcا یcک نcوار دو طرفcه یک ماشcین تورینcگ بcا یcک نcوار دو طرفcه مشcابه ماشcین تورینcگ اسcتاندارد اسcت بcا مشcابه ماشcین تورینcگ اسcتاندارد اسcت بcا این تفcاوت کcه نcوار آن از هcر دو طcرف تcا این تفcاوت کcه نcوار آن از هcر دو طcرف تcا

بینهایت ادامه می یابد.بینهایت ادامه می یابد.

یک ماشcین بcا نcوار دو طرفcه می توانcد بcا قcراردادن یcک عنصcر ویcژه روی نcوار جهت طرفcه، یcک نcوار چپ محcدوده نمcایش شcبیه را اسcتاندارد ماشcین یcک عملیcات

سازی کند.

Page 206: نظریه زبانها و ماشینها

207صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ با نوار دو طرفه ماشین تورینگ با نوار دو طرفه9-59-5

مثال:

رشته هایی را روی Mماشین تورینگ استاندارد{a,b} می پذیرد که در آن قبل از هر b در ،

وجود داشته باشد.aصورت وجود، حداقل سه

q0 q1 q2 q3M :>

B/B R b/b L

a/a R

q4 q5B/B La/a L

B/B La/a L

B/B La/a L

Page 207: نظریه زبانها و ماشینها

208صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشین تورینگ با نوار دو طرفه ماشین تورینگ با نوار دو طرفه9-59-5

قضیه:

زبcان ماشcین Lیک یcک توسcط دوطرفccه نccوار یccک بccا تورینccگ اگcر تنهcا و اگcر پذیرفتcه می شcود تورینccگ ماشccین یccک توسccط آن

استاندارد پذیرفته می شود.

Page 208: نظریه زبانها و ماشینها

209صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای چند نواره ماشینهای چند نواره9-69-6

ماشcین شcامل نcوارهkیک k و مجcزا kنcوار هcد نcواره چنcد ماشcین یcک الفباهcای و اسcت.حاالت مشcابه ماشcین تورینcگ اسcتاندارد اسcت. ماشcین بcه طcور همزمcان نوارهcا را می خوانcد.این کcار بcا اتصcال هcر یcک از هcدها بcه یcک ثبc®ات کنcترلی مجcزا

3نوار که حاوی حالت جاری است انجام می شود.

2نوار

1نوار

qi

Page 209: نظریه زبانها و ماشینها

210صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای چند نواره ماشینهای چند نواره9-69-6

:یک گذر در یک ماشین چند نواره ممکن است

(i.حالت را تغییر دهد

(ii.یک عنصر روی هر یک از نوارها بنویسد

(iii.هر یک از هدها را به صورت مجزا جابجا کند

قضیه:

توسط یک ماشین تورینگ چند نواره L یک زبان پذیرفته می شود اگر و تنها اگر آن توسط یک

ماشین تورینگ استاندارد پذیرفته می شود.

Page 210: نظریه زبانها و ماشینها

211صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای چند نواره ماشینهای چند نواره9-69-6

:مثال

ماشین تورینگ دونواره ای که دیاگرام حالت را *{uu l uє{a,b}}آن درزیرآمده است،زبان

می پذیرد.q0 q1 q2 q3> B/B R , B/B R

q3

q4

B/B L , B/B L

B/B R , y/y R

y/y R , B/B R

x/x L , y/y L

x/x L , y/y S

x/x R , x/x R

x/x R , B/x R

Page 211: نظریه زبانها و ماشینها

212صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای تورینگ غیر قطعی ماشینهای تورینگ غیر قطعی9-69-6

یک ماشcین تورینcگ غcیر قطعی ممکن اسcت یcک وضcعیت یcک بcرای را گcذرها از متنcاهی تعcداد مشcخص تعین کنcد. اجcزا یcک ماشcین غcیر قطعی ، بcه جcز تcابع گcذر، عینcاz مشcابه اجcزا ماشcین تورینcگ اسcتاندارد اسcت. گcذرها در یcک ماشcین غcیر قطعی

بcه زیcر مجموعcه Q×Γیcه وسcیله یcک تcابع جcزئی از تعریف می شود.Q×Γ×{L,R}هایی از

Page 212: نظریه زبانها و ماشینها

213صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

ماشینهای تورینگ غیر قطعی ماشینهای تورینگ غیر قطعی9-69-6

مثال:

ماشین غیر قطعی زیر رشته هایی را می پذیرد که در وجود داشته باشد.ab قبل یا بعد از cآن یک

q0 q1 q2 q3> B/B R b/b Rc/c R q4

q5a/a Lq6 q7

a/a R

c/c L

b/b L

a/a Rb/b Rc/c R

Page 213: نظریه زبانها و ماشینها

214صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل دهم:طبقه بندی فصل دهم:طبقه بندی شومسکیشومسکی

اهداف رفتاري:دانشجو پس از مطالعه اين فصل با مفاهيم زير

آشنا خواهد شد:

گرامرهای بدون محدودیت گرامرهای وابسته به متن آتاماتای خطی محدودطبقه بندی شومسکی

Page 214: نظریه زبانها و ماشینها

215صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

فصل دهم : طبقه بندی شومسکیفصل دهم : طبقه بندی شومسکی

گرامرهcای بcدون محcدودیت بزرگcترین گcروه از گرامرهcای عبcارت می باشcند. یcک قcانون

u v از رخcداد یcک کcه کنcد می مشcخص بcا uزیررشcته اسcت ممکن رشcته یcک در

جcایگزین شcود. یcک اشcتقاق دنبالcه vرشcته تنهccا اسccت. مجccاز هccا جccایگزینی از ای محcدودیتی کcه روی یcک قcانون از یcک گرامcر اعمcال می شcود این اسcت کcه سcمت چپ آن سیسcتمهای این بcه باشcد. تهی نبایسcتی نcوع صcفر بازنویسcی رشcته هcا، گرامرهcای

نیز گفته می شود.

Page 215: نظریه زبانها و ماشینها

216صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای بدون محدودیت گرامرهای بدون محدودیت10-110-1

یک گرامر یک گرامر بدون محدودیت یک مجموعه V است که (V,∑,P,S)چهارتایی

)الفبا(یک مجموعه ∑متناهی از متغیرها، یک مجموعه از Pمتناهی از عناصر پایانی،

می باشد. V یک عنصر مشخص در Sقوانین و یک قانون از یک گرامر بدون محدودی به

*vє(Vυ∑) و uє(Vυ∑) است که در آن u vشکل ∑ وVمی باشد.فرض می شود که مجموعه های

غیر الحاقی هستند.

+

Page 216: نظریه زبانها و ماشینها

217صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای بدون محدودیت گرامرهای بدون محدودیت10-110-1

زیر گرامرهای باقاعده و مستقل از متنمجموعه هایی از گرامرهای بدون محدودیت هستند. یک گرامر مستقل ازمتن یک گرامر

عبارت است که در سمتچپ هر قانون آن تنها یک متغیر وجود دارد. قوانین یک گرامر باقاعده

به یکی از اشکال

(i A aB

(ii A a

(iii A

است.є a ∑ و A,BєV می باشد که

λ

Page 217: نظریه زبانها و ماشینها

218صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای بدون محدودیت گرامرهای بدون محدودیت10-110-1

:مثال

a b c l}زبانSگرامر بدون محدودیت زیر با عنصر ابتدایی i≥0}.را تولید می کند

i i i

V={S,A,C}

∑{=a,b,c}

S aAbc l

A aAbc l

Cb bC

Cc cc

ג

ג

Page 218: نظریه زبانها و ماشینها

219صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای بدون محدودیت گرامرهای بدون محدودیت10-110-1

قضیه:

یک گرامر بدون G= (V,∑,P,S)فرض کنید که یک زبان L(G)محدودیت باشد. در این صورت

قضیه:بازگشتی شمارش پذیر است.

یک زبان بازگشتی شمارش پذیر Lفرض کنید که Gباشد. در این صورت یک گرامر بدون محدودیت

وجود دارد.L(G)=Lبا قضیه:

مجموعه زبانهای بازگشتی شمارش پذیرنسبت به (kleen star)عمل اجتماع، الحاق و عملگر ستاره

بسته است.

Page 219: نظریه زبانها و ماشینها

220صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای وابسته به متن گرامرهای وابسته به متن10-210-2

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

به اندازه طول سمت چپ باشد.

Page 220: نظریه زبانها و ماشینها

221صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

گرامرهای وابسته به متن گرامرهای وابسته به متن10-210-2

اگر هر یک گرامر عبارت وابسته به متن است و uє(Vυ∑) باشد که u vقانون به شکل

vє(Vυ∑)*و length(u)≤length(v) .است

+

کنcد صcدق فcوق شcرایط در کcه قcانونی به گفته می شود.(monotonic)یکنواخت

قضیه:

هر زبان وابسته به متن بازگشتی است.

Page 221: نظریه زبانها و ماشینها

222صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

آتاماتای خطی محدود آتاماتای خطی محدود10-310-3

محcدود خطی آتاماتcای سcاختار (LBA)یک یcک Q,∑,Γ,∂,q0,<,>,F) M(= است که در آنQ,∑,Γ,∂,q0,

F .ندcیر قطعی می باشcگ غcین تورینcابه ماشcمش هستند.∑ عناصری مشخص از <,<عناصر

Page 222: نظریه زبانها و ماشینها

223صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

قضیه:

بcه متن Lفرض کنیcد کcه یcک زبcان وابسcته خطی آتاماتcای یcک صcورت، این در اسcت.

وجود دارد.L(M)=L با Mمحدود

آتاماتای خطی محدود آتاماتای خطی محدود10-310-3

قضیه:

کcه کنیcد شcده Lفرض پذیرفتcه زبcان یcک توسcط یcک آتاماتcای خطی محcدود باشcد. در

یcک زبcان وابسcته بcه متن - }L ג{این صcورت است.

Page 223: نظریه زبانها و ماشینها

224صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

طبقه بندی شومسکی طبقه بندی شومسکی10-410-4

از گcروه چهcار شcامل شومسcکی بنcدی طبقcه گرامرها)زبانها( است:

گرامرهای بدون محدودیت- 1

گرامرهای وابسته به متن- 2

گرامرهای مستقل از متن- 3

گرامرهای باقاعده- 4

، نcوع 1 ، نcوع 0که بcه تcرتیب بcه گرامرهcای نcوع معروفند.3 ، و نوع 2

Page 224: نظریه زبانها و ماشینها

225صفحه: نظریه زبانها و ماشینها گروه کامپيوتر

طبقه بندی شومسکی طبقه بندی شومسکی10-410-4گرامرها

،0گرامرهای نوع

گرامرهای عبارات،

گرامرهای بدون محدودیت

،1گرامرهای نوع

گرامرهای وابسته به متن،

گرامرهای یگنواخت

،2گرامرهای نوع

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

،گرامرهای 3گرامرهای نوع باقاعده،

گرامرهای خطی چپ،گرامرهای خطی راست

زبانها

زبانهای بازگشتی

شمارش پذیر

زبانهای وابسته به متن

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

زبانهای باقاعده

ماشینهای پذیرنده

ماشین تورینگ،

ماشین تورینگ غیر قطعی

آتاماتای خطی محدود

pushdownآتاماتای

آتاماتای متناهی قطعی،

آتاماتای متناهی غیر قطعی