Upload
faradars
View
175
Download
9
Embed Size (px)
Citation preview
:مدرس
فرشید شیرافکن
دانشگاه تهران دانشجوی دکتری (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )
نظریه زبان ها و ماشین ها
1
هانظریه زبان ها و ماشین
faradars.org/fvsft110
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
(قسمت دوم)بخش دومخطی گرامر -فرم های نرمال–ساده سازی گرامر -ابهام -بودنبسته
2
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:متنازمستقلهایزبانبودنبسته
مهومعکوسای، ستارهبستارالحاق،اجتماع،تحتمتنازمستقلزبان هایخانواده
.نیستبستهتفاضلوگیریمکملاشتراك،تحتواستبستهریختی
3
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.نیستند تحت اشتراك بسته نشان دهید که خانواده زبان های مستقل از متن،
:مستقل از متن هستند، چون برای آنها می توان گرامر مستقل از متن نوشتو زبان دو
n n m
1L {a b c :n 0,m 0}
n m m
2L {a b c :n 0,m 0}
1L
2L
. مستقل از متن نیست،اما اشتراك این دو زبان یعنی n n n{a b c :n 0}
مثال
4
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.استمتنازمستقلپس،شدهتشکیلمنظمزبانبامتنازمستقلزبانیکاشتراكازLزبان
از متن است؟مستقل آیا زبان n nL {a b :n 0,n 3}
n n
1L {a b :n 0} L I
3 3
1L {a b }
مثال
5
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
کهباشدمیبرابرمنظمزبانبازبانایناشتراك-خیر
.باشدنمیمتنازمستقلدانیممی
(منظماشتراكقضیهبهتوجهبا).نیستمتنازمستقلLبنابراین
مستقل از متن است؟، آیا زبان *
a b cL {w {a,b,c} :n (w) n (w) n (w)}
* * *L(a b c )
n n n{a b c :n 0}
مثال
6
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
مستقل از متن است؟، زبان آیا مکمل *
a b cL {w {a,b,c} :n (w) n (w) n (w)}
:مکمل این زبان از اجتماع چهار حالت زیر تشکیل شده -بله : حل
1-
2-
3-
4-
.هستندمستقل از متن تحت اجتماع بسته زبان های . هستنداین چهار حالت مستقل از متن تمامی
a bn (w) n (w)
a bn (w) n (w)
a cn (w) n (w)
a cn (w) n (w)
مثال
7
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.دنشان دهید زبان های مستقل از متن تحت متمم بسته نیستن
تمرین
8
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
در گرامر و زبان ابهام
وجودرشتهیککهشودمیخواندهمبهمصورتیدرGمتنازمستقلگرامر
.باشدداشتهمجزااشتقاقدرختدوحداقلکهباشدداشته
ترین، تراسیاترینچپاشتقاقچندیادووجودمعنایبهضمنیطوربه ابهامدیگر،بیانبه
.باشدمینیز
w L(G)
9
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:گرامر مبهم است S aS | aa | a
:دو درخت اشتقاق وجود دارد،aaبه طور نمونه برای تولید رشتهچون
مثال
10
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:استزیر مبهم گرامر S AB | aaB
A a | Aa
B b
:دو اشتقاق چپ وجود دارد،aabبه طور نمونه برای تولید رشته چون
1:S aaB aab
2 :S AB AaB aaB aab
مثال
11
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
: استمبهم گرامر S aSbS | bSaS |
:دو اشتقاق چپ وجود دارد،ababبه طور نمونه برای تولید رشته چون
1:S aSbS abSaSbS abaSbS ababS abab
2 :S aSbS abS abaSbS ababS abab
مثال
12
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:استمبهم گرامر S aSb | SS |
:دو اشتقاق چپ وجود دارد، abبه طور نمونه برای تولید رشته چون
1:S aSb ab
2 :S SS aSbS abS ab
مثال
13
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:استزیر مبهم گرامر S aB | A
A aA |
B bB | a
:دو اشتقاق چپ وجود دارد،aaبه طور نمونه برای تولید رشتهچون
1:S A aA aaA aa
2 :S aB aa
.بنابراین گرامر منظم نیز می تواند مبهم باشد
مثال
14
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
. استذاتا مبهم یک زبان مستقل از متن زبان ، i j kL {a b c : i j or j k}
1 2
1 1
2 2
S S | S
S S c | A
A aAb |
S aS | B
B bBc |
مثال
.استاین گرامر مبهم
15
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.مبهم باشد، آنگاه این زبان ذاتا مبهم است،Lمستقل از متن بوده و هر گرامر تولید کننده Lاگر
.دزبان های منظم نمی توانند ذاتا مبهم باشن
16
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
ساده سازی گرامرهای مستقل از متن
ده در تعریف گرامرهای مستقل از متن، هیچ محدودیتی برای سمت راست قاانون در نظار گرفتاه نشا
. است که این آزادی در برخی استدالل ها، مشکل ایجاد می کند
.بسیاری موارد بهتر است محدودیت شدیدی قائل شویمدر
17
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
حذف متغیرها و قوانین بی فایده
. یک متغیر مفید است اگر و تنها اگر در حداقل یک اشتقاق حضور داشته باشد
:غیرمفید بودن یک متغیر عبارتند ازعوامل
قابل دسترس نبودن از طریق متغیر شروع گرامر -1
ناتوانی در اشتقاق یک رشته پایانی-2
18
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:باشدبی فایده می Bدر گرامر زیر متغیرS(نیستقابل دسترس ،Sطریق متغیر شروع یعنی از ) A
A aA |
B bA
.قانون بی فایده است و می توان آن را حذف کرد، بدون اینکه تغییری در زبان ایجاد کندپس B bA
مثال
19
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:استبی فایده Aدر گرامر زیر، متغیر
(. نمی تواند رشته ای از پایانی ها را تولید کندچون )
S aSb | A |
A aA
اد قانون و را می توان حذف کرد، بدون اینکه تغییاری در زباان ایجابنابراین
. شود
S AA aA
مثال
20
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
Sهستند؟در گرامر زیر کدام متغیرها بی فایده aS | A | C
A a
B aa
C aCb
: پاسخ
. بی فایده است، چون یک رشته پایانی را تولید نمی کندCمتغیر
. بی فایده است، چون از متغیر شروع قابل دستیابی نمی باشدBمتغیر
S:نهایی گرامر aS | A
A a
سئوال
21
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:ساده سازی
S aAb | bBa | bCa
A aaAb | ab
B bBa | a
C aC | bC
.غیر مفید است ،Cمتغیر
S aAb | bBa
A aaAb | ab
B bBa | a
مثال
22
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.در گرامر زیر متغیرهای بی فایده را حذف کنید
S AC | BS | B
A aA | aF
B CF | b
C cC | D
D aD | BD | C
E aA | BSA
F bB | b
مثال
S BS | B
A aA | aF
B b
E aA | BSA
F bB | b
S BS | B
B b
.می کنیمرا حذف Fو Eو Aبه آنها رسید، یعنی Sسپس متغیرهایی را که نمی توان از و Dو Cمتغیرهایی را که به رشته ای از الفبا نمی رسند یعنی ابتدا
23
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
حذف قوانین
.گویندقانون می هر قانونی از یک گرامر مستقل از متن به فرم را
ن هر متغیار کاه اشاتقاق بارای آ. این قوانین در بعضی مواقع نامطلوب می باشند
. امکان پذیر باشد را متغیر میرا می نامند
A
A*
A
یامیرارمتغیتعدادی،هستندفاقدچندهرکهکنندمیتولیدرازبانهاییگرامرهابرخی
.کردحذفراقوانینتوانمیموارد،ایندر.دارندوجودآنهادرقانون
24
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.باشدمی این زبان فاقد . گرامر زیر، زبان را تولید می کند n n{a b :n 1}
S aAb
A aAb |
هاای سامت راسات Aحذف قانون ، دو قانون جدید که با جایگزینی در برای
:بدست آمده اند را به گرامر اضافه می کنیم
A
S aAb | ab
A aAb | ab
مثال
25
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.قوانین را در گرامر زیر حذف کنید
S AB
A aA |
B bB |
مثال
S AB | A | B |
A aA | a
B bB | b
. متغیر شروع است،Sنیازی به حذف قانون نمی باشد، چون S
26
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:حذف قوانین S ABaC
A BC
B b |
C D |
D d
S ABaC | AaC
A BC | C
B b
C D |
D d
مثال
S ABaC | AaC | ABa | Aa
A BC | C | B |
B b
C D
D d
S ABaC | AaC | ABa | Aa | BaC | aC | Ba | a
A BC | B | C
B b
C D
D d
27
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
حذف قوانین واحد
، قاانون واحاد یاا آن هر قانونی از یک گرامر مستقل از متن به فرم که در
. یکه نامیده می شود
.قوانین گاهی اوقات نامطلوب هستند و باید حذف شونداین
A BA,B V
28
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:واحد حذف قوانین
S Aa | B
B A | bb
A bc | a | B
S Aa | bc | a | bb
B bc | a | bb
A bc | a | bb
.و قوانین مربوط به آن بی فایده شده اندBاثر حذف قوانین واحد، متغیر در
29
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
. ممکن است حذف قوانین ، باعث تولید قوانین واحد شود که قبال وجود نداشته اند
جاود آنگاه یک گرامر مستقل از متن و. را یک زبان مستقل از متن فاقد فرض کنیدLزبان
.را تولید کرده و فاقد هرگونه قانون بی فایده، قانون و قانون واحد باشدLخواهد داشت که
30
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.در گرامر زیر قوانین را حذف کنید S aA
A BB
B aBb |
: با حذف گرامر زیر بدست می آید: حل B
S aA | a
A BB | B
B aBb | ab
. در این گرامر قانون واحد تولید شده که قبال وجود نداشت A B
مثال
31
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.در گرامر زیر تمامی قوانین ، واحد و بی فایده را حذف کنید S aA | aBB
A aaA |
B bC | bbC
C B
:ابتدا قانون را حذف می کنیم: حل A
S aA | aBB | a
A aaA | aa
B bC | bbC
C B
مثال
32
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:سسپس قانون واحد را حذف می کنیم C BS aA | aBB | a
A aaA | aa
B bC | bbC
C bC | bbC
:مبی فایده هستند، بنابراین داریCو Bنهایتا اینکه
S aA | a
A aaA | aa
. زبان تولید شده بوسیله این گرامر می باشد *L((aa) a)
33
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
فرم های نرمال گرامر مستقل از متن
.برای گرامر مستقل از متن، دو فرم نرمال چامسکی و گریباخ وجود دارد
فرم نرمال چامسکی
ی از دو یک گرامر مستقل از متن در صورتی در فرم نرمال چامسکی قرار دارد که تمام قوانین آن به یک
.است Tعضو aبوده و Vعضو A,B,Cکه در آن . فرم و یا باشد A BCA a
34
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:گرامر زیر در فرم نرمال چامسکی قرار دارد
S AS | BS | a
A SA | a
B SB | b
مثال
35
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر زیر را به فرم نرمال چامسکی تبدیل کنیدS ABa
A aab
B Ac
:حل
X,Y,Z معرفی متغیرهای جدید : قدم اول نرمال کردن قانون اول و سوم: قدم دوم
S ABX
X a
A XXY
Y b
B AZ
Z c
S AT
T BX
A XF
F XY
B AZ
X a, Y b ,Z c
مثال
36
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر زیر را به فرم نرمال چامسکی تبدیل کنیدS aAB
A aA | b
B bB | b
:حل
قدم اول دومقدم
S TAB
T a
A TA | b
B FB | b
F b
S TK
K AB
T a
A TA | b
B FB | b
F b
مثال
37
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر زیر را به فرم نرمال چامسکی تبدیل کنیدS aAbB | ab
A ABS | a
B bb
:حل
اولقدم دومقدم سومقدم
S TAFB | TF
A ABS | a
B FF
T a
F b
S TK | TF
K AFB
A AU | a
U BS
B FF
T a
F b
S TK | TF
K AX
X FB
A AU | a
U BS
B FF
T a
F b
مثال
38
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر زیر را به فرم نرمال چامسکی تبدیل کنیدS abAB
A bAB |
B BAa | A |
حذف حذف
S abAB | abB
A bAB | bB
B BAa | A | Ba |
S abAB | abB | abA | ab
A bAB | bB | bA | b
B BAa | A | Ba | Aa | a
:ابتدا قواعد را حذف می کنیم:حل
B
A
مثال
39
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
S abAB | abB | abA | ab
A bAB | bB | bA | b
B BAa | Ba | Aa | a | bAB | bB | bA | b
:کنیمرا حذف می یکه سپس قاعده B A
40
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:در نهایت گرامر را به فرم نرمال چامسکی در می آوریم
Y, X معرفی متغیرهای جدید : قدم اول P,T,K,N, M معرفی متغیرهای جدید : قدم دوم
S XYAB | XYB | XYA | XY
A YAB | YB | YA | b
B BAX | BX | AX | a | YAB | YB | YA | b
X a
Y b
S XM | XN | XK | XY
M YT
T AB
N YB
A YT | YB | YA | b
B BP | BX | AX | a | YT | YB | YA | b
P AX
X a
Y b
41
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
. دارای اشتقاقی با طول می باشدnدر فرم نرمال چامسکی، تولید رشته ای به طول
(اشتقاق از و اشتقاق از )
2n 1
nA an 1A BC
در این . متغیر باشدbدر فرم نرمال چامسکی با ( CFG)یک گرامر مستقل از متنGفرض کنید
نامحادود L(G)تولید کند، آنگاه bبتواند رشته ای را با تعداد گام های اشتقاق بیشتر از Gصورت اگر
.است
42
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
..................یک گرامر مستقل از متن در فرم نرمال گریباخ اسات هرگااه تماام قاوانین آن باه فارم
باشند، که در آن،
A aX*
x V ,a T
فرم نرمال گریباخ
.گرامر را به فرم نرمال گریباخ تبدیل کنید S abSb | aa
:هستندbو aرا معرفی می کنیم که مترادف با Bو Aمتغیرهای جدید :حل
S aBSB | aA
A a
B b
43
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر را به فرم نرمال گریباخ تبدیل کنید S ab | aS | aaS
S aX | aS | aYS
X b
Y a
مثال
44
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر زیر را به فرم نرمال گریباخ تبدیل کنید
S AB
A aA | bB | b
B b
در ایان Aبنابراین باه جاای . قاعده با تعریف فرم نرمال گریباخ مغایر است: حل
:قانون از قوانین جایگزین آن استفاده می کنیم
S AB
S aAB | bBB | bB
A aA | bB | b
B b
مثال
45
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
نباشد، یک گرامر معادل به فرم نرماال گریبااخ ازای هرگرامر مستقل از متن در صورتیکه شامل به
.وجود دارد
چاون در هار . نیااز اساتnبه اشتقاقی با طول،nفرم نرمال گریباخ، برای تولید رشته ای به طولدر
.مرحله یکی از نمادهای رشته ایجاد می شود
46
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.زیر را به فرم نرمال گریباخ تبدیل کنیدگرامر S ABb | a
A aaA | B
B bAb
S ABb | a
A aaA | bAb
B bAb
مثال
47
S aaABb | bAbBb | a
A aaA | bAb
B bAb
S aXABY | bAYBY | a
A aXA | bAY
B bAY
X a
Y b
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
گرامر خطی
یرمتغیکحداکثرآن، قواعدتمامراستسمتدرکهمتنیازمستقل گرامر
.باشدداشتهوجود
48
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
است؟خطیزبانآیا
:نوشتآنبرایخطیگرامریکتوانمیچون-بله:پاسخ
n m{a b :m n 2m 1}
S aAb | aaBb
A aAb |
B aaBb | aBb | ab | b
مثال
49
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
است؟خطیزبانآیا
:نوشتآنبرایخطیگرامریکتوانمیچون-بله:حل
n n m{a b c :n 0,m 0}
S Sc | aAb |
A aAb |
مثال
50
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.هستندمتنازمستقلخطی،هایزبانتمامی-1
.استبستهمعکوسوریختیهمواجتماعتحتخطی،هایزبانخانواده-2
.نیستبستهالحاقواشتراكتحتخطی،هایزبانخانواده-3
51
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
52
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« هانظریه زبان ها و ماشین »
.تهیه شده است
.نماییدلینک زیر مراجعه برای کسب اطالعات بیشتر در مورد این آموزش به
هانظریه زبان ها و ماشین
faradars.org/fvsft110
فرادرس
FaraDars.org