1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Về otomat đẩy xuống và ngôn ngữ phi ngữ cảnh

61 517 0

Đ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

Định dạng
Số trang 61
Dung lượng 264,96 KB

Nội dung

Như vậy, các quy tắc trong văn phạm phi ngữ cảnh có vế trái chỉ chứamột ký hiệu phụ còn vế phải là tùy ý, và được gọi là quy tắc phi ngữ... Cây suy dẫn đầy đủ trong văn phạm G là một đồ

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS Kiều Văn Hưng

Hà Nội – Năm 2016

Trang 3

Em xin được bày tỏ lòng biết ơn chân thành tới TS Kiều Văn Hưng,

người thầy đã truyền thụ kiến thức, tận tình giúp đỡ, hướng dẫn em trongsuốt quá trình học tập, nghiên cứu và hoàn thành khóa luận này

Em xin được gửi lời cảm ơn tới các thầy cô giáo trường Đại học Sưphạm Hà Nội 2, các thầy cô giáo khoa Toán đã giúp đỡ em trong quá trìnhhọc tập tại trường và tạo điều kiện cho em hoàn thành đề tài khóa luậntốt nghiệp Trong quá trình nghiên cứu, không tránh khỏi những thiếu sót

và hạn chế Em kính mong nhận được sự đóng góp ý kiến của các thầygiáo, cô giáo và toàn thể bạn đọc để khóa luận được hoàn thiện hơn

Hà Nội, ngày tháng 05 năm 2016

Sinh viên

Phạm Thị Thu Hà

Trang 4

Em xin cam đoan dưới sự hướng dẫn của thầy giáo Kiều Văn Hưng khóa

luận của em được hoàn thành không trùng với bất kì đề tài nào khác

Em cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện khóaluận này đã được cảm ơn và các thông tin thu trích dẫn trong khóa luận

đã được chỉ rõ nguồn gốc

Hà Nội, tháng 5 năm 2016

Sinh viên

Phạm Thị Thu Hà

Trang 5

Lời mở đầu ii

1.1 Văn phạm phi ngữ cảnh 1

1.1.1 Định nghĩa 1

1.1.2 Ngôn ngữ sinh bởi văn phạm phi ngữ cảnh 2

1.1.3 Cây suy dẫn đầy đủ trong văn phạm phi ngữ cảnh 3 1.1.4 Quan hệ giữa dẫn xuất và cây suy dẫn 3

1.1.5 Văn phạm phi ngữ cảnh đa nghĩa 5

1.1.6 Rút gọn các văn phạm phi ngữ cảnh 7

1.2 Chuẩn hóa văn phạm phi ngữ cảnh 12

1.2.1 Dạng chuẩn Chomsky 13

1.2.2 Dạng chuẩn Greibach 16

1.3 Bổ đề Bơm cho ngôn ngữ phi cảnh 20

1.4 Bài tập 24

2 Otomat đẩy xuống 32 2.1 Mô tả otomat đẩy xuống 33

Trang 6

2.2.1 Định nghĩa 352.2.2 Hàm chuyển 362.2.3 Hình trạng 372.2.4 Ngôn ngữ đoán nhận bởi otomat đẩy xuống không

đơn định 382.2.5 Otomat đẩy xuống không đơn định và ngôn ngữ

phi ngữ cảnh 402.3 Otomat đẩy xuống đơn định và ngôn ngữ phi ngữ cảnh

đơn định 442.4 Bài tập 44

Trang 7

Những năm gần đây, con người đã đạt được nhiều thành tựu khoa họcrực rỡ, một trong những thành tựu đó là sự bùng nổ của ngành khoa họcmáy tính Sự phát triển kì diệu của máy tính gắn liền với sự phát triểntoán học hiện đại, đó là Toán rời rạc Toán học rời rạc nghiên cứu cáccấu trúc có tính chất rời rạc không liên tục Toán rời rạc bao gồm cáclĩnh vực như quan hệ, lý thuyết đồ thị, ngôn ngữ hình thức và otomat

Lý thuyết ngôn ngữ hình thức là lý thuyết nền tảng cho việc thấuhiểu khái niệm về ngôn ngữ nói chung (cả ngôn ngữ lập trình lẫn ngônngữ tự nhiên), và các vấn đề cơ bản về ngôn ngữ như cách xây dựng vănphạm sinh ra ngôn ngữ (xây dựng văn phạm cho ngôn ngữ lập trình, choquá trình phân tích cú pháp), dịch từ ngôn ngữ lập trình cấp cao sangngôn ngữ máy Lý thuyết otomat là lý thuyết cơ bản cho việc nghiêncứu các mô hình tự động để làm tiền đề cho sự phát triển đến dạng máytính số như hiện nay

Ngôn ngữ phi ngữ cảnh là chủ đề quan trọng nhất của lý thuyết ngônngữ hình thức, vì nó áp dụng cho ngôn ngữ lập trình Mục đích của khóaluận này nhằm tìm hiểu rõ hơn về ngôn ngữ phi ngữ cảnh cùng với cơchế để sinh lớp ngôn ngữ này, đó là các văn phạm phi ngữ cảnh và cácotomat có bộ nhớ đẩy xuống

Khóa luận được chia thành hai chương:

Chương 1 trình bày về văn phạm phi ngữ cảnh và ngôn ngữ phi ngữcảnh

Chương 2 trình bày về khái niệm otomat đẩy xuống và sự liên kếtgiữa otomat đẩy xuống và ngôn ngữ phi ngữ cảnh

Trang 8

Tác giả khóa luận

Phạm Thị Thu Hà

Trang 10

+ Σ là một bảng chữ cái, gọi là bảng chữ cái cơ bản (hay bảng chữ cáikết thúc), mỗi phần tử của nó được gọi là một ký hiệu kết thúc hay kýhiệu cơ bản.

+ ∆ là một bảng chữ cái, ∆∩ Σ = ∅, gọi là bảng ký hiệu phụ (hay

bảng chữ cái không kết thúc), mỗi phần tử của nó được gọi là một kýhiệu không kết thúc hay ký hiệu phụ

+ S ∈ ∆ được gọi là ký hiệu xuất phát hay tiên đề.

+ P là tập hợp các quy tắc sinh có dạng A → ω, trong đó A ∈ ∆,

ω ∈(Σ ∪ ∆).

Như vậy, các quy tắc trong văn phạm phi ngữ cảnh có vế trái chỉ chứamột ký hiệu phụ còn vế phải là tùy ý, và được gọi là quy tắc phi ngữ

Trang 11

Ví dụ 1.1 Cho văn phạm G1 = <{a,b}, {S, A, B}, S, P1>, trong đó:

1.1.2 Ngôn ngữ sinh bởi văn phạm phi ngữ cảnh

Định nghĩa 1.1 Cho văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> và

η, ω ∈ (Σ ∪ ∆) ∗ Ta nói ω được suy dẫn trực tiếp từ η trong G, ký hiệu

η ⊢ G ω hay ngắn gọn là η ⊢ ω, nếu tồn tại quy tắc α → β ∈ P và

γ, δ ∈ (Σ ∪ ∆) ∗ sao cho η = γαδ, ω = γβδ.

Định nghĩa 1.2 Cho văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> và

η, ω ∈ (Σ ∪ ∆) ∗ Ta nói ω được suy dẫn từ η trong G, ký hiệu η |= G ω

hay ngắn gọn là η |= ω, nếu η = ω hoặc tồn tại một dãy D = ω0, ω1, ,

ω k ∈ (Σ ∪ ∆) ∗ sao cho ω

0 = η, ω k = ω và ω i −1 ⊢ ω i, với i = 1, 2, , k

Định nghĩa 1.3 Cho văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> Từ

ω ∈ Σ ∗ được gọi là sinh bởi văn phạm phi ngữ cảnh G, ký hiệu L(G), là

tập hợp tất cả các từ sinh bởi văn phạm G: L(G) = {ω ∈ Σ ∗ | S |= G ω}.

Hai văn phạm G1 = <Σ1, ∆1, S1, P1> và G2 = <Σ2, ∆2, S2, P2>

được gọi là tương đương nếu L(G1) = L(G2)

Ví dụ 1.3 Xét văn phạm G = <{a,b}, {S}, S, S → aSb, S → ab>

Trang 12

Bằng cách áp dụng quy tắc sinh thứ nhất n-1 lần và quy tắc sinh thứ

hai 1 lần, ta có: S ⊢ aSb|= aaSbb|= a3Sb3|= |= a n −1 b n −1 |= a n b n

Vậy L(G) chứa các chuỗi có dạng a n b n , hay L(G) = {a n b n |n ≥ 1}.

1.1.3 Cây suy dẫn đầy đủ trong văn phạm phi ngữ cảnh Định nghĩa 1.4 Văn phạm phi ngữ cảnh G= <Σ, ∆, S, P> Cây suy

dẫn đầy đủ trong văn phạm G là một đồ thị hữu hạn có hướng, không

có chu trình và thỏa mãn bốn điều kiện sau:

1.Mỗi đỉnh của cây được gán một nhãn là các ký hiệu trong tập

Σ∪ ∆ ∪ {ε} Gốc của cây được gán nhãn là S.

2 Mỗi đỉnh trong được gán nhãn là một ký hiệu nào đó trong ∆

3 Mỗi đỉnh ngoài (lá của cây) được gán nhãn là một ký hiệu trongtập Σ

4 Nếu đỉnh m được gán nhãn là A ∈ ∆, còn các đỉnh n1,n2, , n k

là các con của đỉnh m theo thứ tự từ trái sang phải và được gán nhãn

B1,B2, , B k tương ứng thì A → B1B2 B k là một quy tắc trong P củavăn phạm G

Nếu đọc tất cả nhãn ở các lá theo thứ tự từ trái sang phải, ta sẽ nhậnđược một từ nào đó Từ đó sẽ là một phần tử trong L(G) và được gọi làkết quả của cây suy dẫn trong G

1.1.4 Quan hệ giữa dẫn xuất và cây suy dẫn

Định lý 1.1 Cho G= <Σ, ∆, S, P> là văn phạm phi ngữ cảnh và

ω ∈ Σ ∗ \{ε} Khi đó ω ∈ L(G) khi và chỉ khi tồn tại một cây suy dẫn đầy đủ trong G có kết quả là ω.

Chứng minh Do ω ̸= ε nên ta có thể giả thiết rằng S → ε /∈ P Bây

Trang 13

giờ với mọi A ∈ ∆, đặt G A = <Σ, ∆, S, P>, ta có G A là văn phạm phi

ngữ cảnh Ta sẽ chứng tỏ rằng ω ∈ L(G A) khi và chỉ khi tồn tại một cây

suy dẫn trong G A có kết quả là ω.

Giả sử ω là kết quả của một cây suy dẫn trong G A và n là số kýhiệu không kết thúc trong cây Bằng quy nạp theo n, ta sẽ chỉ ra rằng

ω ∈ L(G A)

Nếu tổng số ký hiệu không kết thúc trong cây là 1, ký hiệu phải là

A và là gốc của cây, do đó các con của A phải là các đỉnh được gán bởi

các ký hiệu kết thúc, chẳng hạn b1,b2, , b k Theo định nghĩa của cây suy

dẫn, ta có A → b1b2 b k hay A |= ω.

Giả sử mệnh đề đúng với mọi cây suy dẫn có số ký hiệu không kết

thúc là n-1 Xét một cây suy dẫn trong G A có kết quả là ω và trong cây

có n ký hiệu không kết thúc Gọi các con của A theo thứ tự từ trái sang

phải là B1, B2, ,B k Nếu các đỉnh này đều là lá thì cây gốc A chỉ cómột đỉnh có ký hiệu không kết thúc Giả sử trong các đỉnh này có các

đỉnh trong là C1, C2, , C m Xét các cây con mà gốc của nó là C1, C2,

, C m Gọi α i là kết quả của cây suy dẫn gốc C i Theo giả thiết quy

nạp, α i ∈ L(G A ) Vì tập các quy tắc trong G Ci chứa trong tập các quy

tắc trong G A nên ta có các suy dẫn trong G A là C1 |= α1, C2 |= α2, ,

C m |= α m Sử dụng các suy dẫn này và quy tắc A → B1B2 B k, ta nhậnđược

A |= B1B2 B k |= ω1C1ω2C2 ω m C m ω m+1 |= |= ω1α1ω2α2 ω m α m ω m+1

Do kết quả của cây suy dẫn trong G A là ω nên ω = ω1α1ω2α2 ω m α m ω m+1

hay ω ∈ L G (A).

Đảo lại ta cần chứng minh rằng nếu có suy dẫn A |= ω(ω ̸= ε) trong

G A thì có thể xây dựng một cây suy dẫn trong G A có kết quả là ω Mệnh

đề này được chứng minh bằng quy nạp theo độ dài của suy dẫn

Trang 14

Trước hết, nếu A |= ω = b1b2 b k (suy dẫn một bước) thì có thể xâydựng một cây có gốc là A và các con từ trái sang phải lần lượt được gán

các nhãn là b1,b2, , b k

Giả sử mệnh đề đúng với mọi suy dẫn có độ dài không lớn hơn n

Cho suy dẫn trong G A là A |= ω có độ dài là n+1 Giả sử quy tắc đầu

tiên trong suy dẫn này là A → B1B2 B k và C1, C2, , C m là các ký

hiệu không kết thúc trong các B i(1 ≤ i ≤ k), có nghĩa là B1B2 B k =

ω1C1ω2C2 ω m C m ω m+1 , ở đây C i |= ω i có độ dài không vượt quá n Theo

giả thiết quy nạp, tồn tại các cây T i của G Ci mà kết quả của nó là α i

do đó ta có thể xây dựng trong G A cây suy dẫn có kết quả là ω như sau:

Hình 1.1: Cây suy dẫn có kết quả ω

1.1.5 Văn phạm phi ngữ cảnh đa nghĩa

Định nghĩa 1.5 Cho văn phạm phi ngữ cảnh G= <Σ, ∆, S, P> Ta

nói văn phạm G là nhập nhằng hay đa nghĩa nếu tồn tại một xâu ω là

kết quả của hai cây suy dẫn khác nhau trong G

Trong trường hợp ngược lại, ta nói G là không nhập nhằng hay đơn

Trang 15

Một văn phạm phi ngữ cảnh được gọi là nhập nhằng vĩnh cửu nếukhông tồn tại văn phạm phi ngữ cảnh đơn nghĩa nào tương đương vớinó

Ngôn ngữ do văn phạm G sinh ra gọi là ngôn ngữ nhập nhằng nếu G

Hình 1.2: Hai cây suy dẫn khác nhau cho từ ω = b+a*b+a

Ví dụ 1.5 Văn phạm phi ngữ cảnh G1 = <{a, b, c, +, *, (, )}, {E, T,

F, I}, E, {E → T , T → F , F → I, E → E + T , T → T ∗ F , F → (E),

I → a | b | c}> Cây suy dẫn của xâu ω = a + b * c được chỉ ra trong

hình, không có một cây dẫn xuất nào khác có xâu này Văn phạm này

là đơn nghĩa

Trang 16

Hình 1.3: Cây suy dẫn cho từ ω = a + b * c

1.1.6 Rút gọn các văn phạm phi ngữ cảnh

Trong một văn phạm phi ngữ cảnh có thể có nhiều yếu tố thừa, chẳnghạn có những ký hiệu không hề tham gia vào quá trình sinh các ngôn

ngữ, hoặc có những quy tắc dang A → B chỉ làm mất thời gian trong

quá trình hình thành các xâu của ngôn ngữ Vì lẽ đó cần loại bỏ nhữngyếu tố dư thừa không có ích trong việc sinh ngôn ngữ, sao cho việc loại

bỏ đó không làm ảnh hưởng tới quá trình sinh ngôn ngữ Điều đó cónghĩa là chỉ cần giữ lại các ký hiệu và các quy tắc có ích trong văn phạm

G mà chúng thực sự là cần thiết trong quá trình sinh ngôn ngữ mà thôi

Rút gọn các ký hiệu thừa trong văn phạm phi ngữ cảnh

Định nghĩa 1.6 Cho văn phạm phi ngữ cảnh G= <Σ, ∆, S, P> X

được gọi là ký hiệu có ích nếu tồn tại suy dẫn S |= αXβ |= ω, trong đó

α, β ∈ (Σ ∪ ∆), X ∈ Σ ∪ ∆ và ω ∈ Σ ∗.

Nếu ký hiệu X không thỏa mãn điều kiện trên thì X được gọi là ký

Trang 17

hiệu thừa.

Như vậy X là ký hiệu thừa nếu:

1/ Từ X không thể dẫn ra một xâu ω ∈ Σ ∗ Ký hiệu X có tính chất

như thế được gọi là ký hiệu vô sinh.

2/ Từ ký hiệu xuất phát S không thể dẫn được một xâu nào có chứa

ký hiệu X Khi đó ta nói ký hiệu X là ký hiệu không đến được.

Như vậy một ký hiệu là thừa nếu nó hoặc là ký hiệu vô sinh hoặc là

ký hiệu không đến được

Bổ đề 1.1 (Loại ký hiệu vô sinh) Cho văn phạm phi ngữ cảnh G= <Σ,

∆, S, P> với L(G) ̸= ∅ Khi đó tồn tại văn phạm phi ngữ cảnh G’=

<Σ, ∆, S, P’> tương đương với G sao cho ∀A ∈ ∆ ′ có một xâu ω ∈ Σ ∗

để A |= ω.

Chứng minh Từ tập quy tắc P của G, ta xây dựng ∆ ′ như sau:

+ Nếu trong P có quy tắc dạng A → ω với A ∈ ∆, ω ∈ Σ ∗ thì kết nạp

A vào ∆

+ Nếu A → X1X2 X k là quy tắc trong P mà X i ∈ Σ hoặc X i là biến

đã được kết nạp vào ∆ thì ta kết nạp A vào ∆

Cứ tiếp tục xét các quy tắc trong P, ta sẽ xây dựng các ký hiệu cho tập

Vì P là hữu hạn nên quá trình sẽ được dừng lại sau một số hữu hạnbước Khi đó ta xây dựng được tập ∆

Ta xây dựng tiếp cận quy tắc P’ gồm các quy tắc trong P mà các kýhiệu có mặt trong đó đều thuộc tập Σ∪ ∆ ′.

Bổ đề 1.2 (Loại ký hiệu không đến được) Cho văn phạm phi ngữ cảnh

G = <Σ, ∆, S, P> Khi đó tồn tại văn phạm phi ngữ cảnh G’= <Σ,

, S, P’> tương đương với G sao cho ∀X ∈ Σ ′ ∪ ∆ ′ có α, β ∈ (Σ ′ ∪ ∆ ′)

để cho S |= αXβ.

Trang 18

Chứng minh Xây dựng tập Σ ′ và ∆ như sau:

Đưa ký hiệu S vào ∆ Nếu một ký hiệu A đã được kết nạp vào ∆

A → α, ở đây α ∈ (Σ ′ ∪ ∆ ′)∗ thì ta kết nạp các ký hiệu phụ trong α vào

′ , còn các ký hiệu kết thúc trong α thì kết nạp vào Σ ′

Thủ tục kết nạp trên sẽ ngừng khi không còn bổ sung thêm được bất

kỳ ký hiệu nào nữa vào các tập Σ và ∆

P’ bao gồm mọi quy tắc trong P mà chứa các ký hiệu thuộc tập

Σ′ ∪ ∆ ′ Với cách xây dựng đó, ta có L(G) = L(G’), trong đó G’ chỉ

gồm các ký hiệu đến được

Định lý 1.2 Mọi ngôn ngữ phi ngữ cảnh khác rỗng đều có thể được sinh

ra từ một văn phạm phi ngữ cảnh không có ký hiệu thừa.

Chứng minh Đặt L = L(G) là ngôn ngữ phi ngữ cảnh không rỗng.

Đặt G1 là kết quả của việc áp dụng bổ đề 1.1 vào G và G2 là kết quả

của việc áp dụng bổ đề 1.2 vào G1

Giả sử G2 có ký hiệu vô ích X Theo bổ đề 1.2 ta có S |= G2 αXβ Vì tất

cả các ký hiệu trong G2 đều có trong G1 nên theo bổ đề 1.1

S |= G1 αXβ |= G1 ω với ω là chuỗi ký hiệu kết thúc Vì vậy không có ký

hiệu nào trong dẫn xuất αXβ |= G1 ω bị loại bởi bổ đề 1.2 Vậy X dẫn

ra ký hiệu kết thúc trong G2 Suy ra X là ký hiệu có ích (mâu thuẫn)

Vậy văn phạm phi ngữ cảnh G2 không có ký hiệu thừa nào

Rút gọn các quy tắc thừa trong văn phạm phi ngữ cảnh

Định nghĩa 1.8 Cho văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> Quy

tắc trong P có dạng A → B, ở đây A, B∈ ∆, được gọi là quy tắc đơn

hay phép đổi tên

Quy tắc đơn có tác dụng làm kéo dài quá trình sinh ra ngôn ngữ, vì

Trang 19

vậy ta sẽ tìm cách loại quy tắc đơn mà không làm ảnh hưởng tới quátrình sinh ra ngôn ngữ của văn phạm đã cho.

Định lý 1.3 Đối với mọi phạm phi ngữ cảnh mà trong tập các quy tắc

của nó có quy tắc đơn thì tồn tại một văn phạm phi ngữ cảnh tương đương với nó mà trong tập các quy tắc của nó không chứa quy tắc đơn Chứng minh Giả sử G = <Σ, ∆, S, P> là văn phạm phi ngữ cảnh có

chứa quy tắc đơn (và không chứa ký hiệu thừa) Ta xây dựng văn phạmphi ngữ cảnh G’ = <Σ, ∆, S, P’> tương đương với G và không chứaquy tắc đơn

Đưa tất cả các quy tắc không đơn của P vào P’ Nếu trong P có quy

tắc A → B, với A, B∈ ∆, thì tồn tại suy dẫn S |= αAβ |= αBβ |= α ω

β, ở đây α, β ∈ (Σ ∪ ∆) ∗ , ω ∈ Σ ∗ do ∆ gồm các ký hiệu không thừa.

Vậy thay cho A → B, ta đưa vào P’ quy tắc S → αAβ và A → ω đều

là các quy tắc không đơn nhưng chức năng sinh ngôn ngữ tương đương

với quy tắc A → B.

Ví dụ 1.6 Văn phạm phi ngữ cảnh G = <{a,+,*}, {S,A,B}, S, {S

S + A, S → A, A → A ∗ B, S → a, A → B, B → a}> tương đương với

văn phạm phi ngữ cảnh sau không còn các quy tắc đơn

G = <{a,+,*}, {S,A,B}, S, {S → S + A, A → A ∗ B, B → a, S → a,S → A ∗ B, A → a, S → a}>.

Định nghĩa 1.9 Cho văn phạm phi ngữ cảnh G = <Σ, ∆, S, P>, nếu

trong P có quy tắc A → ε, A ∈ ∆, thì ta nói G có ε-quy tắc.

Nếu L(G) không chứa từ rỗng ε thì có thể loại hết các ε-quy tắc trong

P để được một văn phạm mới tương đương với G; còn nếu trong L(G)

có chứa từ rỗng ε, thì không thể loại hết các ε-quy tắc khỏi G (ít nhất trong G phải chứa quy tắc S → ε).

Trang 20

Các ε-quy tắc cũng làm văn phạm phi ngữ cảnh trở nên cồng kềnh, thiếu chính xác Định lí dưới đây cho phép loại bỏ các ε-quy tắc trong

văn phạm phi ngữ cảnh để được một văn phạm mới tương đương, chỉsai khác một từ rỗng

Định lý 1.4 Cho văn phạm phi ngữ cảnh G = <Σ, ∆, S, P>, giả sử

L = L(G) khi đó tồn tại một văn phạm phi ngữ cảnh G’ = <Σ ′ , ∆ ′ , S, P’> không chứa các ε-quy tắc sao cho L(G’) = L(G) \ {ε}.

Chứng minh Theo định lý 1.2, ta luôn giả thiết văn phạm G là không

chứa các ký hiệu thừa Ta sẽ xây dựng G’ không chứa các quy tắc rỗngtheo các bước sau:

1/ Tìm tất cả các ký hiệu triệt tiêu (nullable symbol) theo thủ tục:

• Nếu A → ε ∈ P thì A là ký hiệu triệt tiêu.

• Nếu B → α ∈ P mà α là một xâu gồm toàn ký hiệu triệt tiêu thì

B là ký hiệu triệt tiêu

• Lặp lại các bước trên cho đến khi không tìm thêm được ký hiệu

triệt tiêu nào nữa

2/ Xây dựng tập quy tắc P’

• Loại tất cả các quy tắc rỗng trong P (có dạng A → ε).

• Tập quy tắc mới P’ được xác định như sau: Nếu A → X1X2 X n

∈ P , X i ∈ (Σ∪∆) ∗ , thì đưa vào P’ tất cả các quy tắc dạng A → α1α2 α n

sao cho:

a/ Nếu X i không phải ký hiệu triệt tiêu thì α i = X i , (giữ nguyên X i)

b/ Với các X i là ký hiệu triệt tiêu thì mỗi lần thay một tập con của

các ký hiệu triệt tiêu này bởi các ký hiệu rỗng ε để được một quy tắc

mới

c/ Không thay tất cả các α i bởi các ký hiệu rỗng, dù mọi X i đều là

Trang 21

Ví dụ 1.7 Văn phạm phi ngữ cảnh G = <{a, b}, {I, A, B}, I, P> với

dựng văn phạm G’ không có các ε-quy tắc, không có các ký hiệu thừa,

sao cho L(G’) = L(G) \ {ε}.

+ Dễ thấy G là không có các ký hiệu thừa

+ Các ký hiệu triệt tiêu là A và B

+ Tập quy tắc P’ = {I → AB, I → A, I → B, A → aA, A → a,

B → bB, B → b}.

Vậy ta có G’ = <{a, b}, {I, A, B}, I, P’> là văn phạm không chứa các

ε-quy tắc.

Ví dụ 1.8 Văn phạm phi ngữ cảnh G1 = <{a, b, d}, {S, A, B, C, D},

S, P1> với tập quy tắc P1 = {S → ABaC, A → BC, B → b | ε, C → D

| ε, D → a} Xây dựng văn phạm G1’ không có các ε-quy tắc sao cho L(G ′1) = L(G1) \ {ε}.

+ Các ký hiệu triệt tiêu là A, B, C

+ Tập quy tắc P1′ = {S → ABaC | BaC | AaC | ABa | aC | Aa | Ba |

a, A → BC | B | C, B → b, C → D, D → d}.

Vậy ta có G1’ = <{a, b, d}, {S, A, B, C, D}, S, P1’> là văn phạm

không chứa các ε-quy tắc.

Một văn phạm có dạng chuẩn là một văn phạm mà, cho dù hạn chế,

nó vẫn đủ, để có một dạng chuẩn tương đương Chúng tôi giới thiệu

Trang 22

hai dạng hữu ích nhất trong số các văn phạm chuẩn, đó là dạng chuẩnChomsky và dạng chuẩn Greibach.

1.2.1 Dạng chuẩn Chomsky

Định nghĩa 1.10 Văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> được

gọi là văn phạm dạng chuẩn Chomsky, nếu mọi quy tắc đều có dạng

Đưa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky

Định lý 1.5 Đối với văn phạm phi ngữ cảnh tùy ý G = <Σ, ∆, S, P>,

luôn tồn tại một văn phạm phi ngữ cảnh ở dạng chuẩn Chomsky G’ =

<Σ, ∆ ′ , S, P’> tương đương với nó, tức là L(G) = L(G’).

Chứng minh Theo các định lý 1.2, 1.3 và 1.4 phần trên, ta có thể giả

thiết văn phạm G không chứa các ký hiệu thừa, không chứa các ε-quy

tắc và không chứa các quy tắc đơn Để xây dựng văn phạm mới G’ ởdạng chuẩn Chomsky, ta chỉ cần loại bỏ các quy tắc mà vế phải cóchứa cả ký hiệu chính và ký hiệu phụ hoặc các quy tắc mà vế phảinhiều hơn hai ký hiệu Việc loại bỏ các quy tắc không hợp lệ này tiếnhành theo hai bước sau:

Trang 23

Bước 1 Với các quy tắc vế phải có chứa cả ký hiệu chính và ký hiệu

phụ, tức là các quy tắc có dạng A → X1X2 X m , với X i ∈ Σ ∪ ∆.(1)

Xét tất cả các X i trong quy tắc (1), nếu X i ∈ ∆ thì giữ nguyên X i, nếu

X i = a ∈ Σ, ta thêm vào ký hiệu phụ A a , thay X i trong quy tắc (1) bởi

A a , và thêm vào quy tắc A a → a.Lặp lại quá trình trên với tất cả các

X i trong quy tắc (1), quy tắc (1) trở thành: A → Y1Y2 Y m , với Y i

các ký hiệu phụ (Y i = X i nếu X i ∈ ∆, Y i = A i nếu X i = a ∈ Σ).

Sau bước 1, ta nhận được văn phạm G1 = <Σ, ∆1, S, P1> với ∆1 và

P1 nhận được từ ∆ và P sau khi thêm vào các ký hiệu phụ mới và các

quy tắc mới như trên Rõ ràng L(G1) = L(G) mà G1 không chứa cácquy tắc mà vế phải có cả ký hiệu chính và ký hiệu phụ

Bước 2 Bây giờ trong G1 cần loại bỏ các quy tắc mà vế phải có độ dài

lớn hơn 2, gồm toàn ký hiệu phụ, là các quy tắc dạng: A → Y1Y2 Y m

Ví dụ 1.9 Cho văn phạm phi ngữ cảnh G = <{a, b},{S, A, B}, S, P>,

Trang 24

B → bB, B → b} Hãy xây dựng văn phạm ở dạng chuẩn Chomsky

tương đương với G

Lời giải Áp dụng định lý 1.3, ta có thể loại hết các quy tắc đơn trong

G, để được văn phạm tương đương mà không chứa quy tắc đơn G1 =

<{a, b},{S, A, B}, S, P1>, với P1 = {S → ABA, S → aA, S → a,

S → bB, S → b, A → aA, A → a, A → bB, A → b, B → bB, B → b}

Bây giờ ta thay tất cả các quy tắc mà vế phải có chứa cả ký hiệu chính

và ký hiệu phụ:

+ Với các quy tắc S → aA, A → aA ta thay a bởi A a , thêm A a vào tập

ký hiệu phụ mới ∆2, thêm quy tắc A a → a vào tập quy tắc mới P2

+ Với các quy tắc S → bB, A → bB, B → bB ta thay b bởi A b, thêm

A b vào tập ký hiệu phụ mới ∆2, thêm quy tắc A b → b vào tập quy tắc

+ Với G2, ta giảm độ dài vế phải các quy tắc có hơn hai ký hiệu: thay

quy tắc S → ABA bởi hai quy tắc S → AC, C → BA, và thêm C vào

tập ký hiệu phụ Cuối cùng, ta được văn phạm G3 = <{a, b},{S, A, B,

S a , A b ,C}, S, P3> với P3 = {S → AC, C → BA, S → A a a, S → a, S →

A b B, S → b, A → A a A, A → a, A → A b B, A → b, B → A b B, B → b}

Văn phạm G3 ở dạng chuẩn Chomsky và G3 ∼ G2 ∼ G1 ∼ G.

Trang 25

1.2.2 Dạng chuẩn Greibach

Một dạng chuẩn khác của văn phạm phi ngữ cảnh là dạng chuẩn Greibachcũng được sử dụng nhiều trong các chứng minh hay thiết kế các vănphạm

Định nghĩa 1.11 Văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> được

gọi là văn phạm dạng chuẩn Greibach, nếu mọi quy tắc đều có dạng

A → aα với a ∈ Σ, α ∈ ∆ ∗ , và S → ε nếu ε ∈ L(G) Khi ε ∈ L(G) thì S

không xuất hiện ở vế phải của mọi quy tắc

Trong dạng chuẩn Greibach, vế phải của mọi quy tắc đều bắt đầubằng một ký hiệu kết thúc

Ví dụ 1.10 Văn phạm G = <{a, b, c}, {S, A, B, C}, S, S → aAB,

S → ε, A → bC, B → b, C → c> là văn phạm ở dạng chuẩn Greibach.

Đưa văn phạm phi ngữ cảnh về dạng chuẩn Greibach

Trước hết ta xét hai bổ đề hỗ trợ sau

Bổ đề 1.3 Giả sử G = <Σ, ∆, S, P> là văn phạm phi ngữ cảnh Cho

trước A → Bγ là A-quy tắc trong P và B → β1 | β2 | | β k Văn phạm

G1 = <Σ, ∆, S, P1> thu được từ G bằng cách loại bỏ quy tắc A → Bγ

và thêm vào quy tắc A → β i γ (1 ≤ i ≤ k) thì L(G) = L(G1).

Chứng minh áp dụng A → Bγ trong suy dẫn để ω ∈ L(G) thì chúng

ta sẽ phải sử dụng B → B i với i nào đó ở bước tiếp theo Vây

A |= G β i γ Kết quả của việc sử dụng A → Bγ và loại bỏ B khỏi P

trong G thì hoàn toàn tương đương với việc sử dụng A → β i γ trong G1

Do vậy L(G1) = L(G)

Bổ đề 1.4 G = <Σ, ∆, S, P> là văn phạm phi ngữ cảnh Giả sử tập

Trang 26

các A-dẫn xuất là A → Aα1 | Aα2 | Aα n | β1 | β2 | | β m, trong đó

β i không bắt đầu bằng A

G’ = <Σ, ∆∪ {Z}, S, P1> với P1 được xác định như sau:

1) Tập các A-dẫn xuất trong P1 là A → β1 | β2 | | β m và A → β1Z

| β2Z | | β m Z.

2) Tập các Z-dẫn xuất trong P1 là Z → α1 | α2 | α n và Z → α1Z |

α2Z | | α n Z.

3) Các quy tắc đối với các ký hiệu khác cũng thuộc P1

Khi đó G’ là văn phạm phi ngữ cảnh tương đương với G

Chứng minh Trong một dẫn xuất trái, một chuỗi quy tắc dạng A → α i

phải kết thúc bằng A → β j Tức là:

A ⊢ Aα i1 ⊢ Aα i2α i1 ⊢ ⊢ Aα i p α i p −1 α i1 ⊢ β j α i p α i p −1 α i1 (1 ≤ i ≤ n).

Dẫn xuất trong G có thể thay bằng dẫn xuất trong G’ bởi:

Định lý 1.6 Mọi ngôn ngữ phi ngữ cảnh L đều có thể được sinh bởi văn

phạm phi ngữ cảnh G ở dạng chuẩn Greibach.

Trang 27

Chứng minh Chứng minh định lý theo hai trường hợp: L không chứa ε

và sau đó mở rộng khi có chứa ε.

Trường hợp 1 ε / ∈ L(G)

Bước 1 Xây dựng văn phạm phi ngữ cảnh G ở dạng chuẩn Chomsky

để sinh ra L Giả sử G = <Σ, {A1, A2, , A n }, A1, P >.

Bước 2.Để có được các quy tắc dạng A i → aγ hoặc A i → A j γ với j > i,

thì phải chuyển A i -dẫn xuất về dạng A i → A j γ sao cho j > i Điều này

thực hiện được bằng phương pháp quy nạp theo i và sử dụng bổ đề 1.4

Cuối cùng chúng ta có A i → A j γ, với i = 1, 2, , n-1 và j > i hoặc

A i → aγ ′.

A n -dẫn xuất sẽ có dạng A n → A n γ hoặc A n → aγ ′.

Bước 3 Chuyển A n -dẫn xuất về dạng A n → aγ Ở đây sử dụng bổ đề

1.4 để loại quy tắc dạng A n → A n γ.

Bước 4 Chuyển trạng thái A i -dẫn xuất về dạng A i → aγ với i = 1, 2,

, n-1

Cuối bước 3 ta đã thu được A n → aγ Các A n −1-dẫn xuất có dạng

A n −1 → A n γ hoặc A n −1 → aγ ′ Áp dụng bổ đề 1.3 để loại đi những quy

tắc A n −1 → A n γ và chỉ còn lại những quy tắc dạng A n −1 → aγ Lặp lại

tương tự đối với A n −2 , A n −3 , , A1

Bước 5 Biến đổi các Z i-dẫn xuất Mỗi khi áp dụng bổ đề 1.4 ta sẽ có

một biến mới, thêm biến Z i khi áp dụng bổ đề với A i-dẫn xuất Khi đó

Z i -dẫn xuất có dạng Z i → αγ|A k γ, với k nào đó Sau bước 4, vế phải

của mọi A k-dẫn xuất đều bắt đầu bằng một ký hiệu kết thúc Ta áp

dụng bổ đề 1.3 để loại bỏ Z i → A k γ Kết thúc bước 5 ta nhận được văn

phạm ở dạng chuản Greibach

Trường hợp 2 Xây dựng G để sinh ra L có chứa ε.

Trong trường hợp 1 đã xây dựng được văn phạm phi ngữ cảnh G =

Trang 28

<Σ, ∆, S, P > để L(G) = L \{ε}.

Định nghĩa G1 = <Σ, ∆ ∪ {S1}, S1, P ∪ {S1 → S, S1 → ε} >

Quy tắc S1 → S có thể được loại bỏ theo định lý 1.3

Khi đó L(G1) = L

Ví dụ 1.12 Cho văn phạm phi ngữ cảnh G = <{a, b},{S, A, B}, S,

P>, với tập quy tắc P = {S → AA, S → a, A → SS, A → b} Hãy xây

dựng văn phạm ở dạng chuẩn Greibach tương đương với G

Bước 1 Văn phạm G ở dạng chuẩn Chomsky Đặt A1 = S, A2 = A các quy tắc trên chuyển thành A1 → A2A2, A1 → a, A2 → A1A1, A2 → b

và không có quy tắc thừa

Bước 2.

• A1-dẫn xuất có dạng đúng theo yêu cầu: A1 → A2A2, A1 → a

• A2 → b thỏa mãn điều kiện bước 2 ở trên Sử dụng bổ đề 1.3 để

Trong số các A1-dẫn xuất chỉ còn lại A1 → a vì A1 → A2A2 bị loại bỏ

theo bổ dề 1.3 Các A1-dẫn xuất sau khi chuyển đổi sẽ là

A1 → a | aA1A2 | bA2 | aA1Z2A2 | bZ2A2

Bước 5 Biến đổi Z2 → A2A1, Z2 → A2A1Z2 Áp dụng bổ đề 1.3 tanhận được

Z2 → aA1A1 | bA1 | aA1Z2A1 | bZ2A2,

Trang 29

Để chứng minh ngôn ngữ cho trước là phi ngữ cảnh thì có nhiều cách.Một trong các cách đó là xây dựng một văn phạm phi ngữ cảnh để đoánnhận ngôn ngữ đó.Tuy nhiên, muốn chứng minh một ngôn ngữ khôngphải là phi ngữ cảnh thì khó hơn nhiều Ta không thể xét được tất cảcác văn phạm phi ngữ cảnh để chứng tỏ ngôn ngữ đã cho không đượcsinh bởi các văn phạm phi ngữ cảnh Để khắc phục khó khăn này, người

ta đưa ra một số "tiêu chuẩn đặc trưng" của ngôn ngữ phi ngữ cảnh vàdựa vào đó để xem xét khả năng thỏa mãn của ngôn ngữ cho trước.Sau đây, chúng ta xét một số tính chất quan trọng của ngôn ngữ phingữ cảnh dựa vào bổ đề Bơm Dựa vào đó chúng ta có thể khẳng địnhkhá nhiều ngôn ngữ không phải là phi ngữ cảnh

Bổ đề 1.5 Giả sử G = <Σ, ∆, S, P>là văn phạm phi ngữ cảnh ở dạng

chuẩn Chomsky và T là một cây suy dẫn của G Nếu độ dài của đường

đi dài nhất trong T nhỏ hơn hoặc bằng k thì mọi kết quả sinh ra của T đều có độ dài nhỏ hơn hoặc bằng 2 k −1

Chứng minh: Chứng minh quy nạp theo độ dài k, độ dài của đường

đi dài nhất trong số tất cả các cây suy dẫn có gốc được gán nhãn là S.Khi k = 1, tức là gốc của cây dẫn xuất chỉ có một đỉnh con mà nhãncủa nó là ký hiệu kết thúc Nếu đỉnh gốc có 2 đỉnh con thì nhãn của

Trang 30

chúng sẽ phải là một ký hiệu trong ∆ bởi G ở dạng chuẩn Chomsky Từ

đó suy ra kết quả sinh ra có độ dài là 1 ≤ 21−1 = 1.

Giả sử kết luận trên đúng với mọi k - 1 (k > 1)

Ta cần chứng minh nó đúng với k, tức nếu T là cây suy dẫn có gốcđược dán nhãn là S có các đường đi dài nhất nhỏ hơn hoặc bằng k thìmọi kết quả sinh ra của T đều có độ dài nhỏ hơn hoặc bằng 2k −1 Bởi vì

k > 1 nên đỉnh gốc của T có đúng hai cây con A1 và A2 có các đường đidài nhất là nhỏ hơn hoặc bằng k - 1

Theo giả thiết quy nạp mọi kết quả ω1, ω2 sinh ra trên hai cây suy

dẫn A1 và A2 tương ứng đều thỏa mãn 1| ≤ 2 k −2, 2| ≤ 2 k −2 Kết quả

sinh ra bởi T khi đó có thể là ω1ω2 và 1ω2| ≤ 2 k −2 + 2k −2 = 2k −1 Đó

là điều cần chứng minh

Định lý 1.7 (Bổ đề Bơm cho ngôn ngữ phi ngữ cảnh) Nếu L là

ngôn ngữ phi cảnh thì sẽ tồn tại số tự nhiên n sao cho:

1) ∀z ∈ L với |z| ≥ n đều có thể viết được dưới dạng: z = uvωxy, với

u, v, x, y là các xâu nào đó.

2) |vx| ≥ 1

3) |vωx| ≤ n

4) uv k ωx k y ∈ L với mọi k ≥ 0.

Chứng minh Ta kiểm tra xem ε ∈ L hay không Khi ε ∈ L thì ta xây

dựng văn phạm phi ngữ cảnh G = <Σ, ∆, S, P> ở dạng chuẩn

Chomsky để sinh ra L \{ε} (trường hợp ε /∈ L thì xây dựng văn phạm

phi ngữ cảnh G = <Σ, ∆, S, P> ở dạng chuẩn Chomsky để sinh ra L).Giả sử G có m ký hiệu trong ∆, ta đặt n = 2m

Với z ∈ L, |z| ≥ n ta đi xây dựng cây suy dẫn cho z Nếu độ dài đường

đi dài nhất trong T nhiều nhất là m thì theo bổ đề 1.5, ta có

Ngày đăng: 04/04/2017, 12:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w