آموزش نظریه زبان ها و ماشین ها - بخش چهارم
TRANSCRIPT
:مدرس
فرشید شیرافکن
دانشگاه تهران دانشجوی دکتری (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )
نظریه زبان ها و ماشین ها
1
هانظریه زبان ها و ماشین
faradars.org/fvsft110
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
بخش دوم
متناز زبان مستقل
گرامر مستقل از متن
اتوماتای پشته ای 2
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
گرامرهایدرموجودمحدودیت هایقیدازحدیتابایدقدرتمندتربرنامه هایساختبرای
.شویمرهامنظم
. شودمیاستفادهکامپایلرساختوبرنامه سازیزبان هایطراحیدرمتنازمستقلزبان هایاز
3
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:متنازمستقلگرامر
تمامکهشودمیخواندهمتنازمستقلصورتیدرمفروضگرامر
.وآندرکهباشندفرمبهPقوانین
متغیریکفقطقوانین،چپسمتدرکهاستاینبودنمتنازمستقلشرطکلیطوربه
.باشدداشتهوجود
G (V,T,S,P)
A xA V*
x (V T) U
4
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:متنازمستقلزبان
گرامراگرتنهاواگرشود،مینامیدهازمتنمستقلLزبان
.بطوریکهباشدداشتهوجودGازمتنمستقل L L(G)
5
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
. گرامرهای منظم، مستقل از متن نیز هستند
.هر زبان منظمی، یک زبان مستقل از متن نیز می باشد
6
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:گرامر تولید کننده زبانn n
L {a b :n 1}
S aSb | ab
مثال
7
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
nزبانگرامر تولید کننده nL {a b :n 0}
S aSb |
مثال
8
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر
:دومروش
n n 1L {a b :n 0}
S aSb | b
n na b b
S Xb
X aXb |
مثال
9
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر
:دومروش
S aSb | a
S aX
X aXb |
n 1 nL {a b :n 0}
مثال
10
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر
:دومروش
S aSb | aaa
S aaaX
X aXb |
n 3 nL {a b :n 0}
مثال
11
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n n 3L {a b :n 3}
k 3 k{a b :k 0}
S aSb | aaa
مثال
12
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n n k kL {a b a b :n 0,k 0}
S MM
M aMb |
مثال
13
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n 2nL {a b :n 0}
S aSbb |
مثال
14
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامرn 2 3n
L {a b :n 0}
S aSbbb | aa
مثال
15
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n 2nL {a bc :n 0}
S aScc | b
مثال
16
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر 2n 2 n 2L {a b :n 0}
S aXb
X aaXb | ab
مثال
17
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n mL {a bc :n m}
S aSc | aS | Sc | ab | bc
مثال
18
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n n n nL {a b :n 0} {b a :n 0} U
1 2
1 1
2 2
S S | S
S aS b |
S bS a |
مثال
19
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایگرامری n kL {a b : 2n k 3n}
(n 0,k 0) S aSbb | aSbbb |
مثال
S aSbb aaSbbbb aaaSbbbbbbb aaabbbbbbb
3رشتهتولید نحوه 7a b
20
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n kL {a b :k n}
(n 0,k 0) S XB
X aXb |
B bB | b
مثال
21
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانکنندهتولیدگرامر n kL {a b :n k}
(n 0,k 0) S AX
A aA | a
X aXb |
مثال
22
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنازمستقلگرامریک
وحالتدوترکیب n kk n
n kL {a b :n k}
S AX | XB
X aXb |
A aA | a
B bB | b
مثال
23
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر
:فرم
n m kL {a b c : m n k} (n 0,m 0,k 0)
S XY
X aXb |
n n k ka b b c
Y bYc |
مثال
24
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر n m kL {a b c : n k m}
(n 0,m 0,k 0) k m m k
a a b c
S aSc | X
X aXb |
مثال
25
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر
.استومعنیبهشرط
.دادنشانوصورتبهتوانمیراحالتدواین
.شوندترکیبهمبابایدوشدبررسیقبلمثالهایدرحالتهااین
n m kL {a b c :k n m } (n 0,m 0,k 0)
k n m k (n m)
n k m m n k
مثال
26
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر
n m m na b c c c
S aSc | X
X bXc | cY
Y cY |
n m kL {a b c :k n m} (n 0,m 0,k 1)
مثال
27
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر
(n 0,m 0,k 0)
n m kL {a b c :k n m}
n m m na (a b) b c c
S aSc | aS | aX | bX
X bXc | bX |
مثال
28
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر
.استیامعنیبهشرط
.کنیممیترکیبهمباراحالتدواین
(n 0,m 0,k 0) n m kL {a b c :k n m}
k n m k n m
مثال
29
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.گرامر مستقل از متنی برای زبان بنویسید
. نیستپس این زبان مستقل از متن. نمی توان یک گرامر مستقل از متن برای این زبان نوشت: حل
n m kL {a b c :k n.m}
مثال
30
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر n nL {(ab) (cd) :n 1}
S aXd
X bSc | bc
مثال
31
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامر n nL {(ab) (cde) :n 1}
S aXde
X bSc | bc
مثال
32
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازگرامرمستقل n nL {aa(bc) be(dde) :n 0}
S aaX
X bYe
Y cXdd |
مثال
33
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازگرامرمستقل
S abX
X bbYa
Y aaXb |
n nL {ab(bbaa) bba(ba) | n 0}
مثال
34
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانبرایمتنیازمستقلگرامرn k k n
L {a b c d :n 0,k 1}
S aSd | bXc |
X bXc |
مثال
35
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
.های برابر استbو aتولید شده شامل رشته هایی با تعداد زبان
.(شروع می شوند bیاaجمالت با )
:زبانگرامر تولید کننده a b
L {w :n (w) n (w)}
S SS | aSb | bSa |
مثال
36
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانگرامر تولید کننده a b
L {w :n (w) n (w) 1}
S XaX
X XX | aXb | bXa |
:ababaتولیدنحوه
S XaX aXbaX abaX ababXa ababa
مثال
37
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:گرامر تولید کننده زبانa b
L {w :n (w) n (w)}
S SS | aSb | bSa | aS | Sa | a
مثال
38
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانگرامر تولید کننده
.باشد 3k+2و یا 6k ،3k+1طول رشته باید
L {w : w mod 3 w mod 2}
S aX | aaX | Y
X aaaX |
Y aaaaaaY |
{a}
مثال
39
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبان گرامر تولید کننده
. است که نیمه دوم، معکوس نیمه اول استabbaجمله های این زبان مانند
* RL {w {a,b} : ww }
S aSa | bSb |
مثال
40
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:گرامر تولید کننده زبان RL {w {a,b} : ww }
S aSa | bSb | aa | bb
مثال
41
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:گرامر تولید کننده زبان
.است که از هر دو طرف یکسان خوانده می شوند abaجمله های زبان این گرامر مانند
* R{w {a,b} : w w }
S aX | bY |
X Sa |
Y Sb |
مثال
42
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:زبانگرامر تولید کننده n R n *L {a ww b :n 1,w {a,b} }
S aSb | aMb
M aMa | bMb |
مثال
43
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
R :زبانگرامر تولید کننده L {uvwv :u, v,w {a,b} ,| u | | w | 2}
S XY
X aa | bb | ab | ba
Y aYa | bYb | aXa | bXb
مثال
44
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
گرامر مستقل از متن زیر چه زبانی را تولید می کند؟
S AB |
A 1A | S
B 0B | S
. استزبان گرامر داده شده، زبان منظم
. فوق یک گرامر مستقل از متن است که زبان منظم تولید می کندگرامر
* *(1 0 )
مثال
45
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
S XYZ |
X aX | S
Y bY | S
Z cZ | S
* * *(a b c )
مثال
46
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
ل از متن، گرامر منظم فقط زبان منظم تولید می کند، اما گرامر مستقل از متن عالوه بر زبان مستق
. می تواند زبان منظم هم تولید کند
مثال
47
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
لم تزریق
.نیستمتنازمستقلزبانیککهدادتشخیصتوانمیتزریقلمکمکبه
وجودmمثبتوصحیحعددآنگاه.باشدنامتناهیمتنازمستقلزبانیکLکنیدفرض:تزریقلم
باصورتبهتوانمیرافرضباLبهمتعلقwهربطوریکهدارد،
باشیمداشتههرازایبهکهکردتجزیهچنانوشرایط
| w | mw uvxyz
vxy mi 0,1,2, ... 1vy
Lzxyuv ii
48
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
قسمت تجزیه 5را به Lحال رشته متعلق به . مستقل از متن باشد Lفرض کنیم که: حل
:کرد
:این چنین نیست i=2باشد، ولی به ازای L، متعلق بهحال باید به ازای تمام ، رشته
.مستقل از متن نیستبه کمک لم تزریق، نشان دهید که زبان n n nL {a b c :n 0}
n i n 2 i n n 2 n 2 2 n n n 2 na b b b c a b b b c a b c L
n n nw a b c
n n 2 nx a ,y b, z b ,u b, v c
i 0
مثال
nnn cbaw
49
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
هرازایبهکهمی شویممتوجه،زبانرویتزریقلمقوانیناعمالبا
Lکهگرفتنتیجهنمی توانموضوعایناز.استLدرشدهتزریقرشته،iمقدار
.یریمبگنتیجه اینتوانستیمتزریقلمازکهگفتمی توانفقطواستمتنازمستقل
}0:{ nbaL nn
50
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
:اشندتوسط لم تزریق می توان نشان داد که زبانهای زیر مستقل از متن نمی ب
a b cw :n (w) n (w) n (w)
*{ww : w {a,b} }
R *{ww w : w {a,b} }
n m ka b c :k mn
n n m{a b c :n m}
n!{a :n 0}
51
فرادرس
FaraDars.org
هانظریه زبان ها و ماشین
faradars.org/fvsft110
52
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« هانظریه زبان ها و ماشین »
.تهیه شده است
.نماییدلینک زیر مراجعه برای کسب اطالعات بیشتر در مورد این آموزش به
هانظریه زبان ها و ماشین
faradars.org/fvsft110
فرادرس
FaraDars.org