1. Trang chủ
  2. » Khoa Học Tự Nhiên

Chương 7: NGÔN NGỮ HÌNH THỨC VÀ VĂN PHẠM SINH

22 1,5K 14
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ngôn Ngữ Hình Thức Và Văn Phạm Sinh
Trường học Trường Đại Học
Thể loại bài giảng
Định dạng
Số trang 22
Dung lượng 286 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 7NGÔN NGỮ HÌNH THỨC VÀ VĂN PHẠM SINH Trong các chương 7, 8, 9 chúng ta sẽ nghiên cứu về ngôn ngữ hình thức, trong đó chủyếu là các lớp ngôn ngữ phi ngữ cảnh và ngôn ngữ chính quy.

Trang 1

Chương 7

NGÔN NGỮ HÌNH THỨC VÀ VĂN PHẠM SINH

Trong các chương 7, 8, 9 chúng ta sẽ nghiên cứu về ngôn ngữ hình thức, trong đó chủyếu là các lớp ngôn ngữ phi ngữ cảnh và ngôn ngữ chính quy Sẽ nghiên cứu trên 2phương diện :

• Thiết bị tự động sinh hoặc đoán nhận ngôn ngữ : Trọng tâm xem xét là các vănphạm (sinh) và ôtômat (đoán nhận)

• Tính chất của các lớp ngôn ngữ phi ngữ cảnh (Context-Free Grammar) và chínhquy (Regular Grammar)

Các ngôn ngữ trên đóng vai trò quan trọng trong thiết kế các ngôn ngữ lập trình vàchương trình dịch

1 Khái niệm về ngôn ngữ

Ngôn ngữ là phương tiện giao tiếp giữa người và người, người và máy, máy và máy.Ngôn ngữ tự nhiên có cú pháp phong phú nhưng ngữ nghĩa không chặt chẽ Để giao tiếpgiữa người và máy hoặc máy và máy cần có ngôn ngữ với văn phạm chặt chẽ hơn mà tagọi là ngôn ngữ hình thức

2 Các yếu tố cơ bản của ngôn ngữ hình thức

• Bảng chữ cái : là một tập hợp Σ hữu hạn, khác rỗng Mỗi phần tử được gọi làmột kí tự

Trang 2

3 Các phép toán trên ngôn ngữ (lấy phần sau)

4 Các bài toán trên ngôn ngữ

Đối với một ngôn ngữ ta thường quan tâm đến các vấn đề :

− Kiểm tra tính rỗng (emptiness), hữu hạn (finite), vô hạn (infinite) của một ngônngữ

− Kiểm tra tính thuộc của một xâu đối với một ngôn ngữ

− Sinh xâu bất kỳ của một ngôn ngữ

− Tính đóng của ngôn ngữ đối với phép toán

Để giải quyết các vấn đề này, trước hết ta cần tìm các biểu diễn ngôn ngữ Ngôn ngữthường được biểu diễn bởi văn phạm (sinh) hoặc các máy hình thức hữu hạn trạng thái

Cách 2 : “Thiết bị tự động” có khả năng lần lượt sinh ra tất cả xâu trong ngôn ngữ

Cách 3 : Với một xâu ω cho trước, “thiết bị tự động” có thể cho biết xâu đó có thuộcngôn ngữ đã cho hay không ?

Trong lý thuyết văn phạm đã chứng minh được 3 cách làm việc trên đối với văn phạm làtương đương nhau Do đó ta có thể quan tâm chỉ 1 trong 3 ở đây ta sẽ xét cách 1 tứccách mà văn phạm sinh ra các từ, vì vậy ta còn gọi là văn phạm sinh (Chú ý, việc sinhcác từ còn có thể sử dụng nhiều thiết bị khác nhau như ôtômat, văn phạm sinh, máyTuring …, văn phạm sinh được đưa ra bởi Chomsky vào các năm 1956, 1957)

Định nghĩa 1 : Văn phạm G là một bộ 4 thành phần G = <Σ, ∆, I, R>, trong đó :

• Σ, ∆ là các tập hữu hạn, rời nhau và khác rỗng Tập Σ được gọi là bảng từ điển

cơ bản, mỗi phần tử của nó được gọi là kí tự cơ bản hay kết thúc (terminal) Tập

∆ được gọi là từ điển hỗ trợ, các phần tử của nó được gọi là kí tự hỗ trợ haykhông kết thúc (nonterminal) Đặt V = Σ∪∆ được gọi là từ điển dầy đủ

• Kí hiệu I ∈∆ được gọi là kí hiệu ban đầu

• R là tập các quy tắc, mỗi phần tử của nó có dạng α → β, ở đây α, β là các từ

Trang 3

trên từ điển đầy đủ V, α ≠ λ và → là kí hiệu hình thức ∉ V (tức α ∈ V+, β ∈

V*)

Định nghĩa 2 : Cho văn phạm G = <Σ, ∆, I, R> và một qui tắc r = α →β∈ R Cho ω làmột từ trên V Giả thiết ω có dạng ξ1αξ2 (được gọi là một vị trí hay một xuất hiện của α

trong ω) Khi đó ta nói xâu η = ξ1βξ2 nhận được từ ω bằng cách áp dụng qui tắc r Xâu η

được gọi là dẫn được trực tiếp từ ω trong văn phạm G và được kí hiệu là omega |=G η

hay đơn giản hơn ω |= η

Định nghĩa 3 : Dãy các xâu D = (ω0, ω1, …, ωk) với ωi ∈ V* được gọi là một dẫn xuấtcủa xâu ωk từ ω0 trong văn phạm G = <Σ, ∆, I, R> nếu ωi-1 |= ωi, với i = 1, 2, …, k Số kđược gọi là độ dài của dẫn xuất D

Dẫn xuất của ωk từ ω0 trong văn phạm G được kí hiệu ω0 |-G ωk hay đơn giản hơn ω0

|-ωk Hiển nhiên ω |= η ⇒ω |- η Nếu ωi nhận được từ ωi-1 bởi qui tắc r thì ta nói qui tắc rđược áp dụng ở bước thứ i

2 Ngôn ngữ của văn phạm

Định nghĩa 4 : Cho văn phạm G = <Σ, ∆, I, R> và D = (ω0, ω1, …, ωk) là một dẫn xuấtcủa xâu ωk từ ω0 trong văn phạm G Nếu ω0 = I và ωk ∈ Σ* thì ωk được gọi là một xâu(từ) sinh bởi văn phạm G Khi đó D được gọi là dẫn xuất đầy đủ trong G Tập tất cả các

từ được sinh bởi văn phạm G được gọi là ngôn ngữ sinh bởi văn phạm G và được kí hiệuL(G) Khi đó : L(G) = {ω | ω∈Σ* và I |-Gω}

Ví dụ các ngôn ngữ {0n1} và {01n} được sinh bởi tập các qui tắc : {I → 0I, I → 1} và {I

→ I1, I → 0 }

Định nghĩa 5 : Hai văn phạm được gọi là tương đương nhau nếu chúng sinh cùng một

ngôn ngữ, tức G và G’ tương đương khi và chỉ khi L(G) = L(G’)

Định nghĩa 6 : Các loại văn phạm

IV MỘT SỐ VÍ DỤ VỀ VĂN PHẠM

VÝ dô 1 : ∅, {λ}, {a1, a2, …, an }, Σ+, Σ*

VÝ dô 2 : {anbm }, {anbn }, {anbnam }, {ambnan }

VÝ dô 3 : Ngôn ngữ đối xứng gương (tập con của palindrom), Ngôn ngữ đối xứng

VÝ dô 4 : Ngôn ngữ gồm các số chính phương

VÝ dô 5 : Ngôn ngữ trên {a, b} gồm các xâu có số chữ cái a bằng số chữ cái b

Trang 4

Để chứng minh L là một ngôn ngữ được sinh bởi một văn phạm nào đó là điều rất khó.Nói chung, ta không có một chiến lược chứng minh tổng quát nào cả mà thường dựa vàođặc điểm của văn phạm và thường sử dụng cách chứng minh qui nạp theo độ dài của xâu

kí tự của L

Để chứng minh L = L(G) ta cần phải chứng minh hai vế của khẳng định :

i nếu I |- ω thì ω ∈ L và ngược lại

ii nếu ω ∈ L thì I |- ω

nghĩa là mọi dẫn xuất đầy đủ trong G đều chỉ sinh ra xâu thuộc L và mọi xâu thuộc ngônngữ L đều có thể xây dựng được một dẫn xuất đầy đủ trong G

Ta minh hoạ điều này thông qua ví dụ 5 ở trên Kí hiệu d(a, ω) là số lần xuất hiện của kí

tự a trong ω, khi đó L = {ω ∈ {a, b}* | d(a,ω) = d(b,ω)} Văn phạm G sinh ra L có thểđược xây dựng theo 2 cách :

− Với n = 2 ii) và iii) không xảy ra, còn i) đúng vì khi đó ω hoặc bắt đầu là a hoặc

b Do đó : I |- ω có dẫn xuất I, aB, ab hoặc I, bA, ba ⇒ d(a, ω) = d(b, ω)

Ngược lại giả thiết d(a, ω) = d(b, ω) ⇒ω = ab hoặc ω = ba và ta có dẫn xuất như trên

ii Giả thiết ω = aω’ Ta có : A |- ω = aω’ và A |= aI ⇔ I |- ω’, do giả thiết qui nạp

Trang 5

của i) ⇔ d(a, ω’) = d(b, ω’) ⇔ d(a, aω’) = d(b, aω’) + 1 ⇔ d(a, ω) = d(b, ω) +1.

Trường hợp ω = bω’ A |- bω’ và A |= bAA ⇔ AA |- ω’, đặt ω’ = ω’1ω’2⇔ A |- ω’1 và A

|- ω’2 do giả thiết qui nạp của ii) ⇔ d(a, ω’1) = d(b, ω’1) + 1 và d(a, ω’2) = d(b, ω’2) + 1

⇔ d(a, ω’) = d(b, ω’) + 2 ⇔ d(a, bω’) = d(b, bω’) + 1 ⇔ d(a, ω) = d(b, ω) + 1

iii Chứng minh tương tự ii

Từ đó ta thấy i), ii), iii) đúng Do i) ta có L = L(G)

Ví dụ : Tìm dẫn xuất đầy đủ của xâu ω = babbaababa

− I → bA → baI → babA → babbAA → babbaIA → babbabAA → babbabaA →

babbabaaB → babbababA → babbababa

Cách 2 : I → II | aIb | bIa | ab | ba

Ta đưa ra định nghĩa đệ qui của tập xâu kí tự L như sau :

i ab, ba ∈ L

ii Nếu ω∈ L thì aωb, bωa, ωω cũng thuộc L

iii Các xâu thuộc L chỉ được tạo từ i và ii

Và chứng minh rằng xâu ω có d(a, ω) = d(b, ω) khi và chỉ khi ω ∈ L

Chứng minh :

1 Dễ thấy xâu ω được tạo từ i và ii luôn luôn có d(a, ω) = d(b, ω)

2 Ngược lại xét bất kỳ xâu có d(a, ω) = d(b, ω), ta cần chứng minh xâu ω ∈ Lbằng qui nạp theo độ dài của xâu ω

Bước cơ sở : Xét ω = ab hoặc ω = ba khi đó theo i ω ∈ L

Bước qui nạp :

Giả thiết mọi xâu có độ dài < k và có d(a, ω) = d(b, ω) đều thuộc L Ta cần chứngminh mọi xâu có độ dài k và có d(a, ω) = d(b, ω) cũng thuộc L Thật vậy :

− Xét ω = aω’b hoặc ω = bω’a ⇒ω’ cũng có d(a, ω) = d(b, ω) và có độ dài = k-2

< k, do giả thiết qui nạp ⇒ω’ ∈ L Theo ii ta có ω ∈ L

− Xét ω = aω’a Do d(a, ω) = d(b, ω) nên d(a, ω’) = d(b, ω’) – 2 Dễ thấy có thểchia ω’ thành 2 xâu con ω’1 và ω’2 sao cho ω = aω’1ω’2a (nếu không sẽ dẫn đếnmâu thuẫn với d(a, ω) = d(b, ω)) Trong đó ω1 = aω’1 và ω2 = ω’2a có số kí tự a

= số kí tự b Theo giả thiết qui nạp ω1 và ω2∈ L Theo ii) ⇒ω∈ L

Từ đó khẳng định được chứng minh

Dựa trên định nghĩa đệ qui của L ta dễ dàng chứng minh được văn phạm G như đãđịnh nghĩa sinh ra ngôn ngữ L

Trang 6

Theo định nghĩa trên ta cũng có thể xây dựng dẫn xuất cho các xâu của L như sau :

• Nếu xâu ω có dạng aω’b hoặc bω’a thì sử dụng qui tắc I→ aIb hoặc I → bIa(trường hợp ω’ ≠λ) hoặc qui tắc I→ ab hoặc I → ba (trường hợp ω’ = λ)

• Nếu xâu ω có dạng aω’a thì :

− Bước 1: sử dụng qui tắc I → II tạm gọi I1I2

− Bước 2 : Tách xâu ω’ thành ω’1 và ω’2 sao cho d(a, aω’1) = d(b, aω’1) vàd(a, ω2’a) = d(b, ω2’a)

− Bước 3 : áp dụng đệ qui quá trình trên để I1 → aω’1, và I2 → ω’2a Quátrình chấm dứt khi xâu được sinh hoàn toàn

• Nếu xâu ω có dạng bω’b quá trình thực hiện tương tự dạng aω’a

Ví dụ : Tìm dẫn xuất đầy đủ của xâu ω = babbaababa

− I → babbaababa có dẫn xuất I, bIa

− I → abbaabab có dẫn xuất I, aIb

− I → bbaaba có dẫn xuất I, bIa

− I → baab có dẫn xuất I, II

− I → ba có dẫn xuất I, ba

− I → ab có dẫn xuất I, ab

Tóm lại ta có dẫn xuất cuối cùng là :

− I → bIa → baIba → babIaba → babIIaba → babbaIaba → babbaababa

Định nghĩa 7 : (Đồng lực của dẫn xuất)

Định nghĩa 8 : (Dẫn xuất không lặp)

§Þnh lý 1 : Đối với một dẫn xuất bất kỳ luôn tồn tại dẫn xuất không lặp đồng lựcvới nó

§Þnh lý 2 : ∀G luôn có G’ sao cho : L(G) = L(G’)

Chøng minh : Xây dựng G’ như sau :

Σ’ = Σ ; I’ = I

∆ = ∆∪∆’ trong đó ∆’ = {a | a ∈Σ và a ∉ V}

R’ = R1∪ R2 trong đó R1 = thay mỗi kí hiệu a trong R bởi a và

Trang 7

R2 = { a → a | ∀a ∈Σ }Khi đó mọi dẫn xuất có thể chuyển tương đương từ G sang G’ bằng cách thay mọi kí tự a

Định nghĩa 9 : (Các phép toán trên ngôn ngữ) : hợp, giao, hiệu, phần bù, nhân ghép và

lặp

§Þnh lý 3 : Lớp ngôn ngữ sinh bởi văn phạm là đóng đối với phép hợp, giao vàghép

Chøng minh : Cho Gi= <Σi, ∆i, Ii, Ri> (i = 1,2) Trong đó giả thiết ∆1 ∩ ∆2 = ∅ (nếu cần

có thể đổi tên các kí hiệu phụ của G2 Xây dựng các văn phạm G = <Σ, ∆, I, R> cho cácphép toán hợp, nhân ghép và giao như sau :

Hợp : Σ = Σ1∪Σ2 ; ∆ = ∆1∪∆2∪ {I}

R = R1∪ R2∪ {I → I1, I → I2 }Nhân ghép : Σ = Σ1∪Σ2 ; ∆ = ∆1∪∆2∪ {I}

R = R1∪ R2∪ {I → I1I2 }Giao : Σ = Σ1∩Σ2 ;

∆ = ∆1∪∆2∪Γ1∪Γ2 ∪ {I}

trong đó : Γ1 = {a | a ∈Σ }, Γ2 = {b | b ∈Σ2 }

R = R1’ ∪ R2’ ∪ R’’ ∪ R’’’ ∪ {I → I1I2 }trong đó R1’ và R2’ nhận được từ R1, R2 bằng cách thay a bởi a và b bởi

b

R’’ = {a b → b a | ∀a ∈Σ1, ∀b ∈Σ2} (có |Σ1| * |Σ2| luật)R’’’ = {a a → a | ∀a ∈Σ1∩Σ2 } (có |Σ1∩Σ2| luật)Chứng minh các ngôn ngữ hợp và nhân ghép là dễ dàng, việc chứng minh cho ngôn ngữgiao tương đối phức tạp, do đó ta chỉ đưa ra ý tưởng chứng minh ở đây

• Do ∆1 ∩∆2 = ∅ nên ta thấy việc sinh các từ ω từ I1 và I2 là độc lập nhau, mặt khác I

→ I1 | I2 nên từ I có thể sinh ra hoặc ω1 (nếu I → I1) hoặc ω2 (nếu I → I2) Ngược lạinếu ω được sinh bởi I1 hoặc I2 thì cũng chính là dẫn xuất trong G nếu kết hợp với I →

I1 hoặc I → I2

• Tương tự với phép nhân ghép trong đó I1 đảm nhận việc sinh ra xâu ω1 và I2 sinh xâu

ω2 mọt cách độc lập nhau Do đó, với xâu ω = ω1ω2 nếu I |- ω thì cũng có thể xâydựng được I1 |- ω1 và I2 |- ω2, và ngược lại là điều dễ thấy

• Đối với phép giao nếu I1 |- ω1 và I2 |- ω2 thì có thể xây dựng I |- ω1’ω2’ trong đó ω1’

Trang 8

nhận được từ ω1 bằng cách thay các kí tự a ∈Σ1 bởi a và b ∈Σ2 bởi b Tiếp theo ápdụng các qui tắc của R’’ hoán vị các kí tự a về cùng với a và tiếp tục áp dụng R’’’

để sinh a từ a a

Ngược lại cũng tương tự nếu ω sinh được từ G thì cũng có thể tách được các cặp kí tự

a a về theo qui luật sinh của G1 và G2, sau đó tách ω thành ω1 và ω2 sinh bởi I1 và I2

VÝ dô 1 : Cho 3 ngôn ngữ L1 = {an, n ≥ 0}, L2 = {bn, n ≥ 0} và L3 = {cn, n ≥ 0} được sinhbởi các văn phạm G1 , G2 và G3 có :

=

}

| aA A { R

A

} A {

} { G

1

1 1

=

}

| bB B { R B

} B {

} { G

2

2 2

C

} C {

} { G

=

}

| bB B ,

| aA A , B

| A D { R D

} B , A , D {

} b , a { G

4

4 4

=

}

| cC C ,

| bB B , C

| B E { R E

} C , B , E {

} c , b { G

5

5 5

→ λ

=

}

| cC C , C

| B E ,

| bB B ,

| aA A , B

| A D , E

| D I { R

I

} E , D , C , B , A , I {

} c , b , a { G

6

6 6

6

Trang 9

Chú ý trong G6 xâu bm có thể sinh bởi 2 cách : I → D → B → bB → … → bmB → bmhoặc

I → E → B → bB → … → bmB → bm Tuy nhiên có thể quan niệm L6 như hợp mở rộng của3 ngôn ngữ L1, L2, L3 từ đó có thểxây dựng G6 gọn hơn như sau :

→ λ

=

}

| cC C ,

| bB B ,

| aA A , C

| B

| A I { R I

} C , B , A , I {

} , b , a G

6

6 6

6

VÝ dô 2 : Cho các ngôn ngữ L1, L2 và L3 như trong ví dụ 1, khi đó nhân ghép của L1 và L2

là L = {anbm | n, m ≥ 0} được sinh bởi văn phạm G như sau :

=

}

| bB B ,

| aA A , AB I { R I

} B , A , I {

} b , a { G

Tương tự ngôn ngữ {anbmck | n, m, k ≥ 0} là nhân ghép của 3 ngôn ngữ L1, L2 và L3sinh bởi văn phạm G cũng được xây dựng như sau :

→ λ

=

}

| cC C ,

| bB B ,

| aA A , ABC I

{ R I

} C , B , A , I {

} c , b , a { G

Ví dụ 3 : Cho ngôn ngữ L1 = {anbm | n, m ≥ 0} được sinh bởi văn phạm G1 :

=

}

|bAA,A

|aII{RI

}A,I{

},a{G

1 1 1 1

1 1 1

=

}B,B

|aII{RI

}B,I{

},a{G

2 2 2 2

2 2 2 2

để xây dựng văn phạm G sinh ngôn ngữ L = L1 ∩ L2 = {anb | n ≥ 0 } đầu tiên ta cần xácđịnh các tập kí hiệu phụ :

Trang 10

∩ Σ

=

Σ

=

} b b , a a , b a a b , a b b a

b B , B

| I a I ,

| A b A , A

| I a I , I I I

{

R

I

} b , a , b , a , B , A , I , I , I { } I { } b , a } b , a

} b , a G

2 2 1

1 2 1

2 1 2

1

2 1

Để chứng minh G sinh ra L, ta minh hoạ bằng ví dụ Lấy ω = aab ∈ L1∩ L2, khi đó ω códẫn xuất đầy đủ D1 trong G1 và D2 trong G2 như sau :

D1 = (I1, aI1, aaI1, aaA, aabA, aab) D2 = (I2, aI2, aaI2, aaB, aab)

− Từ qui tắc I → I1 I2 và dựa trên tập qui tắc R’1, R’2 ta thấy dãy kết hợp từ D1, D2 vàđổi các kí tự kết thúc thành các kí tự đối ngẫu cũng cho ta một dẫn xuất D trong G, cụthể :

D = (I, I1I2, …, a a bI2, … a a b a a b)

áp dụng tiếp tập qui tắc R’’ hoán vị từ a a b a a b ta được a a a a b b, cuối cùng

áp dụng tập qui tắc R’’’ ta được từ a a a a b b |- aab Như vậy ta đã xây dựng đượcmột dẫn xuất đầy đủ của ω trong G, nói cách khác G cũng sinh ω

Ngược lại, giả thiết G sinh ω = aab, bằng cách xây dựng ngược với chứng minh trên tacũng xây dựng được dẫn xuất đầy đủ trong G1 và G2

Trang 11

BÀI TẬP

1. Cho bảng chữ cái Σ = {0, 1} Hãy chỉ ra :

a Các ngôn ngữ có 0 phần tử, 1 phần tử độ dài 0, 1 phần tử độ dài 1 trên bảng chữcái Σ

b Các ngôn ngữ có các phần tử là mọi xâu có độ dài 2, độ dài 3

c Ngôn ngữ có số phần tử nhiều nhất Liệt kê các phần tử của ngôn ngữ này theothứ tự tự điển và độ dài tăng dần của các xâu

d Liệt kê các phần tử theo thứ tự tự điển và độ dài tăng dần của các xâu của ngônngữ có kí tự đầu tiên của các xâu là 0

e Liệt kê các phần tử theo thứ tự tự điển và độ dài tăng dần của các xâu của ngônngữ có kí tự cuối cùng của các xâu là 1

2. Biểu diễn các ngôn ngữ sau dưới dạng mô tả tính chất :

a L = {λ, ab, aabb, aaabbb, … }

Trang 12

b L = {ab, aabb, aaabbb, … }

c L = {ab, abb, abbb, …, aab, aabb, aabbb, aaab, aaabb, …}

d L = {010, 0100, 010000, …, 010100, 01010000, … }

4. Hãy tìm hợp, giao, hiệu, phần bù, nhân ghép, lặp của các ngôn ngữ L1 và L2 sau :

a L1 gồm các xâu bắt đầu bởi 1 và L2 gồm các xâu kết thúc bởi 0

b L1 = {ab, aabb, aaabbb, …} và L2 = {ab, abab, ababab, … }

5. Xây dựng văn phạm G = <Σ, ∆, I, R> sinh các ngôn ngữ sau :

a ∅ b {λ} c {a1a2 … an} d Σ+ e Σ*

Lêi gi¶i :

a ∅ R = {I → aI} { chính qui, không kết thúc} hoặc R = {I → A} {chính qui,

Trang 13

được cho :

a R = {I → aIb | λ} Xây dựng dẫn xuất của xâu aaabbb và aaaabbbb

b R = {I → aI | bI | a | b} Xây dựng dẫn xuất của xâu abbaab và abbabbaa

c R = {I → aI | bA, A → bA | λ} Xây dựng dẫn xuất của xâu aaabb và aaabbbb

7. Xây dựng văn phạm G = <Σ, ∆, I, R> sinh các ngôn ngữ sau :

a {anb | n ≥ 0 } Hãy chỉ ra dẫn xuất của xâu aaab và aaaaab

b {ban | n ≥ 0 } Hãy chỉ ra dẫn xuất của xâu baaa và baaaaa

8. Xây dựng văn phạm G = <Σ, ∆, I, R> sinh các ngôn ngữ sau :

a Tập xâu nhị phân bắt đầu bằng 1 còn lại toàn bit 0

b Tập xâu nhị phân kết thúc bằng 0 còn lại toàn bit 1

Lêi gi¶i :

a Đây là bài 7b với b = 1, a = 0

b Đây là bài 7a với b = 0, a = 1

9. Xây dựng văn phạm G với bảng chữ chỉ gồm 2 chữ cái a, b sinh các ngôn ngữ sau :

c G3 với tập qui tắc I → aA | bB | c , A → Ia, B → Ib

d G4 với tập qui tắc I → AB, A → Ic | a, B → dB | b

e G5 với tập qui tắc I → IaI | b

f G6 với tập qui tắc I → aII | b

g G7 với tập qui tắc I → AA , A → aAa | bAb | c

Hãy tìm L(Gi) (i = 1 7) và gọi tên ngôn ngữ theo phân loại Chomsky

Lêi gi¶i :

a L(G1) = { ancbm | n, m ≥ 0 }

Ngày đăng: 06/09/2013, 10:50

HÌNH ẢNH LIÊN QUAN

1. Cho bảng chữ cái Σ= {0, 1}. Hãy chỉ ra : - Chương 7: NGÔN NGỮ HÌNH THỨC VÀ VĂN PHẠM SINH
1. Cho bảng chữ cái Σ= {0, 1}. Hãy chỉ ra : (Trang 11)
e. Σ*. R ={ I→ aI, I→ λ| ∀a Σ} {an n≥ 0} trên bảng chữ {a, b} - Chương 7: NGÔN NGỮ HÌNH THỨC VÀ VĂN PHẠM SINH
e. Σ*. R ={ I→ aI, I→ λ| ∀a Σ} {an n≥ 0} trên bảng chữ {a, b} (Trang 12)
9. Xây dựng văn phạm G với bảng chữ chỉ gồm 2 chữ cái a, b sinh các ngôn ngữ sau: a.{a ω | ω∈Σ* }. - Chương 7: NGÔN NGỮ HÌNH THỨC VÀ VĂN PHẠM SINH
9. Xây dựng văn phạm G với bảng chữ chỉ gồm 2 chữ cái a, b sinh các ngôn ngữ sau: a.{a ω | ω∈Σ* } (Trang 13)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w