1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề Cương automata và ngôn ngữ hình thức

37 1,2K 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 37
Dung lượng 600,5 KB

Nội dung

Một ngôn ngữ hình thức L trên bộ chữ cái ∑ là một tập hợp các chuỗi từ các ký hiệu của bộ chữ cái ∑ ∑* : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng ε, sinh ra từ bộ chữ cái ∑ ∑+ : tậ

Trang 1

ĐỀ CƯƠNG AUTOMAT

Câu 1 : Khái niệm về ngôn ngữ,từ(chuỗi,xâu) 1 số phép toán cơ bản trên từ và trên ngôn ngữ.Các hình thức biểu diễn ngôn ngữ?Cho ví dụ minh họa?

Ngôn ngữ : theo từ điển, là một hệ thống thích hợp cho việc biểu thị các ý nghĩ,

các sự kiện, hay các khái niệm, bao gồm tập các ký hiệu, các qui tắc ểđ vận dụng chúng

Một ngôn ngữ (hình thức) L trên bộ chữ cái ∑ là một tập hợp các chuỗi từ các ký

hiệu của bộ chữ cái ∑

∑* : tập hợp tất cả các chuỗi con, kể cả chuỗi rỗng ε, sinh ra từ bộ chữ cái ∑

∑+ : tập hợp tất cả các chuỗi con, ngoại trừ chuỗi rỗng ε, sinh ra từ bộ chữ cái

1 số phép toán cơ bản trên từ:

Chuỗi nối kết : chuỗi ượđ c tạo thành bằng cách viết chuỗi thứ nhất sau đó viết chuỗi thứ 2…… ε là ơđ n vị của phép nối kết

Chuỗi ả đ o ngược : chuỗi ảđ o ngược của W là WR,là chuỗi ượđ c viết theo thứ tự ngược lại

Phép cắt trái : của từ α cho từ β - là phần còn lại của từ α sau khi cắt bỏ

phần ầđ u β trong từ α

Phép cắt phải : của từ α cho từ β - là phần còn lại của từ α sau khi cắt bỏ

phần đuôi β trong từ α

1 số phép toán cơ bản trên ngôn ngữ :

Vì ngôn ngữ là 1 tập hợp nên ta có các phép toán ạđ i số tập hợp trên ngôn ngữ

Phép hợp :

Trang 2

Phép phần bù :

Phép nhân ghép : L1L2 = {w1w2 | w1 thuộc L1 và w2 thuộc L2} trên bộ chữ cái

Σ1 Σ2

LLL…LL = Li (kết nối i lần trên cùng ngôn ngữ L) L0 = {ε}

Ngôn ngữ lặp (bao đóng Kleenr hoặc Closure)

Ngôn ngữ lặp cắt (bao đóng dương – positive closure)

Ngôn ngữ ngược

Ngôn ngữ cắt trái của ngôn ngữ X cho ngôn ngữ Y

Ngôn ngữ cắt phải của ngôn ngữ X cho ngôn ngữ Y

Các hình thức biểu diễn ngôn ngữ :

Liệt kê các phần tử (chuỗi) : L={aa,ab,bb}

Mô tả các ặđ c điểm chủ yếu : L={ai | I là số nguyên tố}

Biễu diễn ngôn ngữ 1 cách tổng quát thông qua văn phạm (grammar) và automata

Văn phạm : là cơ chế sinh ra mọi chuỗi của ngôn ngữ

Automata : là 1 máy trừu tượng hay 1 cơ chế cho đoán nhận 1 chuỗi bất kỳ

có thuộc 1 ngôn ngữ L hay không

(các ví dụ xem trong bài giảng)

Câu 2 : Định nghĩa văn phạm,dẫn xuất và ngôn ngữ sinh bởi văn

phạm.Cho ví dụ minh họa

Trang 3

Theo từ điển, văn phạm là một tập các quy tắc về cấu tạo từ và các quy tắc về

cách thức liên kết từ lại thành câu

 S ∈ Δ - ký hiệu xuất phát hay tiên ềđ (start variable);

P - tập các luật sinh (production rules) dạng α→β, α, β ∈ (Σ ∪ Δ)*, trong

α chứa ít nhất một ký hiệu không kết thúc (đôi khi, ta gọi chúng là các qui tắc hoặc luật viết lại)

Dẫn xuất :

Nếu A → b là luật sinh trong văn phạm G và γ, 𝞭 là 2 chuỗi bất kỳ, thì khi áp dụng luật sinh A → b vào chuỗi γA𝞭 ta sẽ thu ượ đ c chuỗi γb𝞭

Dẫn xuất trực tiếp: nếu α→β là một luật sinh thì

Dẫn xuất gián tiếp: nếu các chuỗi a1, a2, , am và a1 → a2, a2 →

a3, , am-1 → am thì am có thể ượđ c dẫn xuất gián tiếp từ a1

Trang 4

Avram Noam Chomsky ưđ a ra một hệ thống phõn loại cỏc văn phạm dựa vào tớnh chất của cỏc luật sinh.

Văn phạm loại 0 (văn phạm khụng hạn chế- UG – Unrestricted Grammar) : khụng cần thỏa điều kiện ràng buộc nào trờn tập cỏc luật sinh;

Văn phạm loại 1 (văn phạm ngữ cảnh CSG-Context Sensitive Grammar) :

nếu văn phạm G cú cỏc luật sinh dạng α→β và :

,|β|≥|α|

Văn phạm loại 2 (văn phạm phi ngữ cảnh - CFG – Context-Free Grammar) :

cú luật sinh dạng A→α với A là một biến ơđ n và α là chuỗi cỏc ký hiệu thuộc ( )*

● Vớ dụ : G=({a, b}, {S, A, B}, P, S) với P gồm cỏc luật sinh:

 Tuyến tớnh phải: A → wB hoặc A → w;

 Tuyến tớnh trỏi: A → Bw hoặc A → w;

 Với A, B là cỏc biến ơ đ n, w là chuỗi ký hiệu kết thỳc (cú thể là rỗng).

(vớ dụ xem trong bài giảng)

Cõu 4 : Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P > hóy chỉ ra rằng xõu w khỏc rỗng nằm trong L(G) khi tồn tại cõy dẫn xuất trong văn phạm G mà cỏc nỳt lỏ của nú tạo nờn xõu w

Cõu 5 :Chứng minh ngụn ngữ sinh ra bởi văn phạm là là đúng với phộp hợp (Tính đóng có nghĩa là nếu 2 văn phạm cùng loại thì ngôn ngữ sinh ra cùng loại và hợp giao và nhân của các ngôn ngữ trên cùng loại)

Trang 5

- Ta mô tả các tính chất trên thông qua ví dụ sau: Cho văn phạm G1=(N1,T,S1,P1),

G2=(N2,T,S2,P2) là 2 văn phạm cùng loại trong đó N1={S}, S1}, T1={S}, a, b}, P1={S}, S1

ab, S1aS1b}; N2={S}, S2}, T2={S}, c}, P2={S}, S2 cS2, S2c}

Xây dựng văn phạm G3=(N, T, S, P) sao cho: L(G3)= L(G1)L(G2); L(G3)= L(G1)

L(G );

Trang 6

L(G3)= L(G1) L(G2).

1

2 Ta đã biết L(G1)={S}, anbn, n>=1}, L(G2)={S}, cm, m>=1} Ta chứng minh L(G3)=L(G1)L(G2)={S}, anbn,cm, n, m>=1}.Văn phạm G3 đợc xây dựng nh sau:N:={S}, N1N2{S}, S N1N2}; T:={S}, a,b,c} và các luật sinh nh sau:P:={S}, S  S1, S 

2 Ta xây dựng G3 sao cho L(G3)= L(G1) L(G2)={S}, anbncm}}

N:={S}, S, S1,S2}, T:={S}, a,b,c}, P:={S}, SS1S2, S1 ab, S1aS1b, S2 cS2, S2c}

vế phải của quy tắc dẫn xuất

Trang 7

Chứng minh Xây dựng G’=(N’,T,S’,P’) nh sau:

- N’:=N{S}, S’}, ở đây S’ là ký hiệu mới cha có trong N và T

P’:=P{S}, S’/SSP, (NT)+}, nghĩa là P’ gồm các quy tắc của G bổ sungthêm các quy tắc dạng S’ nếu trong P có quy tắc S Với quy ớc trên ta thấy

- Không có quy tắc nào mà ký tự xuất phát xuất hiện ở vế phải của dẫn xuất.Giả sử wL(G) khi đó tồn tại dãy dẫn xuât S* w và tồn tại (NT)* sao choS* w Theo cách xây dựng dẫn xuất vì trong G có S nên trong G’ có S’vì vậy dẫn xuất S’* w là dẫn xuất trong G’ vậy nên wL(G) do đó L(G)

L(G’)

Ngợc lại nếu wL(G’) nghĩa là S’*w tồn tại (NT)* S’* w mà S’*

có tơng ứng S2fg trong G vậy nên S*w là dẫn xuất trong G cho nên L(G’)

L(G)

Nhận xột : chúng ta coi các văn phạm loại 1,2,3 không có các ký tự xuất phát nằm

ở vế phải của các dẫn xuất và do eL(G) nên trong luật sinh phải có Se

Cõu 8 : Khỏi niệm văn phạm phi ngữ cảnh?Khỏi niệm về dẫn xuất vầ cõy dẫn xuất?Sự nhập nhằng của văn phạm?

Văn phạm phi ngữ cảnh : cú luật sinh dạng A→α với A là một biến ơđ n và α làchuỗi cỏc ký hiệu thuộc ( )*

Cõy dẫn xuất :

Cây :là tập hợp hữu hạn các nút và các cung trong đó:

Có duy nhất 1 nút gọi là nút gốc

Mỗi một nút trong cây trừ nút gốc đợc nối với một nút khác bằng một cung đivào duy nhất

Mỗi một nút trong cây trừ nút gốc nếu bỏ cung đi vào thì nó trở thành gốc của

Trang 8

C©y dÉn xuÊt Cho v¨n ph¹m phi ng÷ c¶nh G=(N,T,S,P) Gi¶ sö wL(G),

w=w1w2…wn , wiT vµ S*w, gi¶ sö r»ng dÉn xuÊt cña w

Trang 9

(a+a)*a hay a+(a*a)???????????????????????

Khắc phục sự nhập nhằng trong văn phạm :

 Quy ịđ nh rằng các phép cộng và nhân luôn ượđ c thực hiện theo thứ tự

từ trái sang phải (trừ khi gặp ngoặc ơđ n)

 Quy ịđ nh rằng khi không có dấu ngoặc ơđ n ngăn cách thì phép nhânluôn ượđ c thực hiện ưu tiên hơn phép cộng

Câu 9 : Cho văn phạm phi ngữ cảnh G=< Σ, Δ, S, P > không chứa xâu

rỗng.Trình bày giải thuật loại bỏ các ký hiệu thừa ,loại bỏ luật sinh 𝞮,luậtsinh ơn vịđ

Các yếu tố thừa :

 Các ký hiệu không tham gia vào quá trình dẫn xuất ra chuỗi ký hiệu kếtthúc;

 Luật sinh dạng A  B (làm kéo dài chuỗi dẫn xuất)

Khái niệm văn phạm rút gọn :

Trang 10

vẫn giữ khả năng sản sinh ngôn ngữ đó mà không chứa những yếu tố vô ích khôngsinh ra chuỗi, làm phức tạp hay kéo dài dẫn xuất sinh chuỗi.

 Loại bỏ các ký hiệu thừa :

 Có thể loại bỏ các biến không dẫn ra chuỗi ký hiệu kết thúc

Giải thuật tìm ký hiệu phụ :

1.Old Δ’ :=⌀ ;

3.while (Old Δ’ ≠ New Δ’)

Trang 11

Cho CFG G=< Σ, Δ, S, P > ta có thể tìm ượđ c 1 CFG G=< Σ’, Δ’, S, P’ >tương đương sao cho mỗi X ⋲ (Δ’⋃ Σ’) tồn tại α,β ⋲ (Δ’⋃ Σ’)* ểđ

S *αXβ

 Có thể loại các biến không dẫn ra từ S

Thuật toán :

Đặt Δ’:={S};

If(A ⋲ Δ’ và A  α1|α2…|αn là các luật sinh trong P)

if(X là 1 ký hiệu phụ trong α1,α2…,αn và X không có trong Δ’)

thêm X vào trong Δ’;

Lặp lại bước trên cho ếđ n khi không biến nào ượđ c thêm nữa

Định lý : Mỗi một ngôn ngữ phi ngữ cảnh (CFL) không rỗng ượđ c sinh ra

từ một văn phạm phi ngữ cảnh (CFG) không có ký hiệu vô ích

 Loại bỏ luật sinh ε

Định lý : Cho CFG G(Σ, Δ, S, P) và L là ngôn ngữ sinh ra bởi G Khi đó L–{ε} là ngôn ngữ sinh ra bởi CFG G(Σ’, Δ’, S, P’) không có ký hiệu vô ích

và không có luật sinh ε

 Loại bỏ luật sinh dạng A  ε

Giải thuật :

 B1 : Ω := ⌀;

Trang 12

Nếu luật sinh A  ε thì them A vào Ω.

Nếu BX1X2………Xn với mọi Xi⋲ Ω thì thêm B vào Ω;

 B2 : xây dựng P’ với mỗi AX1X2………Xn trong P ta xây dựng luật sinhA α1,α2…,αn với điều kiện :

Nếu Xi ⋶ Ω thì αi = Xi

Nếu Xi⋲ Ω thì αi = Xi|𝞮

Không phải thì tất cả αi ềđ u bằng 𝞮;

 Luật sinh ơđ n vị :

Mỗi CFL không chứa ε ượđ c sinh ra bởi CFG không có ký hiệu vô ích, không

có luật sinh ε hoặc luật sinh ơđ n vị

 Loại bỏ ượđ c các luật sinh ơđ n vị

Cho G=(Σ, Δ, S, P), ặđ t L(G) là CFL sinh ra bởi G và không chứa ε.Ta có thể loại

bỏ các ký hiệu thừa và các luật sinh ε trong G

Giải thuật xây dựng P’ không chứa luật sinh ơđ n vị :

for(mỗi biến A ⋲ Δ)

{ tính ΔA ={B|B⋲ Δ và A *B};

for( mỗi biến B⋲ ΔA)

{ for( mỗi luật sinh Bα thuộc P)

{ if(Bα không là luật sinh ơđ n vị)

Trang 13

{ thêm luật sinh Aα vào P’ }}}}

Câu 10 : ị đ nh nghĩa luật sinh 𝞮 Cho văn phạm phi ngữ cảnh G=< Σ, Δ, S, P > không chứa xâu,không chứa các ký hiệu thừa.Trình bày giải thuật loại bỏ luật sinh 𝞮

 Loại bỏ luật sinh ε

Định lý : Cho CFG G(Σ, Δ, S, P) và L là ngôn ngữ sinh ra bởi G Khi đó L–{ε} là ngôn ngữ sinh ra bởi CFG G(Σ’, Δ’, S, P’) không có ký hiệu vô ích

và không có luật sinh ε

 Loại bỏ luật sinh dạng A  ε

Giải thuật :

 B1 : Ω := ⌀;

Nếu luật sinh A  ε thì them A vào Ω

Nếu BX1X2………Xn với mọi Xi⋲ Ω thì thêm B vào Ω;

 B2 : xây dựng P’ với mỗi AX1X2………Xn trong P ta xây dựng luật sinhA α1,α2…,αn với điều kiện :

Nếu Xi ⋶ Ω thì αi = Xi

Nếu Xi⋲ Ω thì αi = Xi|𝞮

Không phải thì tất cả αi ềđ u bằng 𝞮;

Trang 14

Câu 11 : ị đ nh nghĩa luật sinh 𝞮 Cho văn phạm phi ngữ cảnh G=< Σ, Δ, S, P > không chứa xâu,không chứa các ký hiệu thừa.Trình bày giải thuật loại bỏ luật sinh ơ đ n vị ?

 Luật sinh ơđ n vị :

Mỗi CFL không chứa ε ượđ c sinh ra bởi CFG không có ký hiệu vô ích, không

có luật sinh ε hoặc luật sinh ơđ n vị

 Loại bỏ ượđ c các luật sinh ơđ n vị

Cho G=(Σ, Δ, S, P), ặđ t L(G) là CFL sinh ra bởi G và không chứa ε.Ta có thể loại

bỏ các ký hiệu thừa và các luật sinh ε trong G

Giải thuật xây dựng P’ không chứa luật sinh ơđ n vị :

for(mỗi biến A ⋲ Δ)

{ tính ΔA ={B|B⋲ Δ và A *B};

for( mỗi biến B⋲ ΔA)

{ for( mỗi luật sinh Bα thuộc P)

{ if(Bα không là luật sinh ơđ n vị)

{ thêm luật sinh Aα vào P’ }}}}

Câu 12 : Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương ươ đ ng.

Văn phạm CFG G=(Σ, Δ, S, P) có dạng chuẩn Chomsky nếu:

Trang 15

 G không chứa các ký hiệu thừa;

 G không chứa các luật sinh ơđ n vị

 Tất cả các luật sinh của nó có dạng ABC hoặc Aa (nếu ε không thuộc Lngược lại chỉ cần 1 luật sinh S ε)

Định lý : một ngôn ngữ phi ngữ cảnh bất kỳ không chứa ε ềđ u ượđ c sinh rabằng một văn phạm nào đó mà các luật sinh có dạng A  BC hoặc Aa, với

A X1X2…Xi……Xn; aXi

A X1X2…Ca……Xn ; Caa

B3.Thay thế các luật sinh mà vế phải có nhiều hơn 2 ký tự chưa kết thúc

A  B1B2 Bm (m>2) A  BD 1 D1

1  B2 D2

Dm-2  Bm-1 Bm

Trang 16

Câu 13 : Cho ví dụ minh họa chuyển 1 văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương ươ đ ng.

 tìm văn phạm có dạng CNF tương ươđ ng CFG:

Trang 17

Câu 14 : Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Greibach(không cần ví dụ)

Văn phạm CFG G(Σ, Δ, S, P) có dạng chuẩn Greibach nếu:

 G không chứa các ký hiệu thừa;

 G không chứa các luật sinh ơđ n vị

 Các luật sinh của nó có dạng A → aα (α là chuỗi các biến hoặc ε nếu ε ∉ L,ngược lại thêm vào luật sinh S → ε)

Bổ ề đ 1:

Cho G(Σ, Δ, S, P) là một CFG, ặđ t A → α1Bα2 là luật sinh trong P và B → β1|

β2| |βr là các B - luật sinh;

Văn phạm G1(Σ, Δ1, S, P1) thu ượđ c từ G bằng cách loại bỏ luật sinh A → α1Bα2

và thêm vào các luật sinh A→ α1β1α2| α1β2α2|…….| α1βrα2 tương ươđ ng G

 Áp dụng thay thế các luật sinh trực tiếp

Bổ ề đ 2 :

 Đặt G(Σ, Δ, S, P) là CFG; A → Aα1|Aα2| |Aαr là tập các A – luật sinh có

A là ký hiệu trái nhất của vế phải (luật sinh ệđ quy trái) Đặt A → β12| |βs

là các A - luật sinh còn lại; G1(Σ, Δ ⋃ {B}, S, P1) là CFG ượđ c tạo thànhbằng cách thêm biến mới B và thay các A - luật sinh bằng các luật dạng

A → β; A → βB; (1 ≤ i ≤ s)

Trang 18

B → αi; B → αiB; (1≤i≤r)

thì ta có G1 tương ươđ ng G, hay L(G) = L(G1).(loại bỏ VP ệđ quy trái)

Các bước chuyển văn phạm phi ngữ cảnh về dạng chuẩn Greibach

Đặt G là CFG sinh ra CFL không chứa ε

Bước 1: xây dựng G' có dạng GNF tương ươđ ng G

Bước 2: ổđ i tên các biến trong G' thành A1, A2, , Am (m ≥1 ) với A1 là ký hiệu bắtầ

đ u Đặt V = {A1, A2, , Am}

Bước 3: thay thế luật sinh sao cho nếu Ai → Ajγ thì j > i

 Nếu j<i : áp dụng bổ ềđ 1 Nếu i=j: áp dụng bổ ềđ 2

 Trong P chỉ chứa các luật sinh dạng : Ai → Ajγ ( j > i), Ai → aγ , Bk →

γ (γ thuộc (V⋃ { B1,B2, ,Bi-1 }))*

Bước 4 : thay thế các Ai – luật sinh về đúng dạng(áp dụng bổ ềđ 1)

Bước 5 : thay thế các Bk – luật sinh về đúng dạng (áp dụng bổ ềđ 1)

Câu 15.Trình bày về Automat hữu hạn.Phân biệt các dạng Automat hữu hạn? Ngôn ngữ đoán nhận bởi Automat hữu hạn.VD minh họa

 Automata là một mô hình toán học hay máy trừu tượng có cơ cấu và hoạtộ

đ ng ơđ n giản nhưng có khả năng đoán nhận ngôn ngữ

Một finite automata (FA) là một mô hình tính toán hữu hạn: mọi cái liên

quan ếđ n nó ềđ u có kích thước hữu hạn cố ịđ nh và không thể mở rộng trongsuốt quá trình tính toán;

Trang 19

Một FA làm việc theo thời gian rời rạc (time steps);

Nói chung, thông tin ra sản sinh bởi một FA phụ thuộc vào cả thông tin vào hiện tại lẫn các thông tin vào trước đó Nếu sử dụng bộ nhớ (memory), giả

sử rằng nó có ít nhất một bộ nhớ vô hạn về tiềm năng;

 Sự phân biệt giữa các loại automata khác nhau chủ yếu dựa trên việc thôngtin có thể ượđ c ưđ a vào memory hay không;

Các dạng Automat hữu hạn : Đơn ịđ nh và đa ịđ nh

Ngôn ngữ đoán nhận bởi AutoMat hữu hạn :

 Đoán nhận ngôn ngữ: đoán nhận các chuỗi của nó

 Hoạt ộđ ng của automata bắt ầđ u từ một trạng thái ặđ c biệt, trang thái ầđ u

tiên (start state);

Giả sử rằng tại mỗi thời điểm (step, time step), automata đang ở một trạng thái nào đó (current state), ầđ u vào của automata đón nhận một ký tự củachuỗi cần xử lý, dưới tác ộđ ng của ký tự đó automata chuyển sang một trạng

thái kế tiếp (next state);

Trang 20

 Chuỗi ượđ c đoỏn nhận nếu trạng thỏi cuối cựng của automata rơi vào một

trong cỏc trạng thỏi kết thỳc (finish states).

Vớ dụ minh họa (xem trong bài giảng)

Cõu 16 : Khỏi niệm về Automat Mealy và Automat Moore.Phõn biệt chỳng với Automat hữu hạn?Vớ dụ ?

Automat Mealy

Bộ M=( X,Y, S,,) trong đó

X -Tập hữu hạn các ký hiệu vào

Y - Tập hữu hạn các ký hiệu ra

S - Tập hữu hạn gọi là tập các trạng thái

 - ánh xạ từ XxSS gọi là hàm chuyển trạng thái

 - ánh xạ từ XxSY gọi là hàm đa thông tin ra

Đợc gọi là Automat Mealy

Với định nghĩa trên ta hiểu Automat Mealy hoạt động theo cơ chế tín hiệu phát raphụ thuộc vào tín hiệu vào và trạng thái nhận tín hiệu

Automat Moore

Bộ M=( X,Y, S,,) trong đó

X -Tập hữu hạn các ký hiệu vào

Y - Tập hữu hạn các ký hiệu ra

S - Tập hữu hạn gọi là tập các trạng thái

 - ánh xạ từ XxSS gọi là hàm chuyển trạng thái

 - ánh xạ từ SY gọi là hàm đa thông tin ra

Đợc gọi là Automat Moore

Ngày đăng: 27/04/2014, 01:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w