1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ngôn ngữ chính qui và văn phạm chính qui

33 1,3K 7
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ữ chính qui và văn phạm chính qui
Trường học Khoa Công Nghệ Thông Tin
Chuyên ngành Lý thuyết Ôtômát & NNHT
Thể loại tài liệu
Định dạng
Số trang 33
Dung lượng 424,69 KB

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

Nội dung

Regular Expressions Alphabet S 1. Æ, l và a Î å là các bi u th c chính quy. Nh ng bi u th ể ứ ữ ể ức này gọi là các biểu thức chính qui nguyên tố. 1. Nếu r1 và r2 là các biểu thức chính quy thì r1 + r2,

Trang 1

Chương 3 Ngôn ngữ chính qui và văn

phạm chính qui

3.1 Biểu thức chính qui (Regular Expression)

3.2 Mối quan hệ giữa BTCQ và ngôn ngữ chính qui

3.3 Văn phạm chính qui (Regular Grammar)

Trang 2

Biểu thức chính qui

„ Biểu thức chính qui (BTCQ) là gì?

„ Là một sự kết hợp các chuỗi kí hiệu của một bảng chữ cái ∑

nào đó, các dấu ngoặc, và các phép toán +, , và * trong đó

phép + biểu thị cho phép hội, phép biểu thị cho phép kết nối,

phép * biểu thị cho phép bao đóng sao.

„ Ví dụ

„ Ngôn ngữ {a} được biểu thị bởi BTCQ a.

„ Ngôn ngữ {a, b, c} được biểu thị bởi BTCQ a + b + c.

„ Ngược lại BTCQ (a + b.c)* biểu thị cho ngôn ngữ {λ, a, bc, aa,

abc, bca, bcbc, aaa, aabc, }.

Trang 3

Định nghĩa hình thức BTCQ

„ Định nghĩa 3.1

„ Cho ∑ là một bảng chữ cái, thì

1 ∅, λ, và a ∈ ∑ tất cả đều là những BTCQ hơn nữa chúng được

gọi là những BTCQ nguyên thủy.

2 Nếu r1 và r2 là những BTCQ, thì r1 + r2, r1 r2, r1*, và (r1) cũng vậy

3 Một chuỗi là một BTCQ nếu và chỉ nếu nó có thể được dẫn

xuất từ các BTCQ nguyên thủy bằng một số lần hữu hạn áp

dụng các quy tắc trong (2)

„ Ví dụ

„ Cho ∑ = {a, b, c}, thì chuỗi (a + b.c)*.(c + ∅) là BTCQ, vì nó

được xây dựng bằng cách áp dụng các qui tắc ở trên Còn (a + b

+) không phải là BTCQ

Trang 4

Ngôn ngữ tương ứng với BTCQ

„ Định nghĩa 3.2

„ Ngôn ngữ L(r) được biểu thị bởi BTCQ bất kỳ là được định

nghĩa bởi các qui tắc sau

Trang 5

Ngôn ngữ tương ứng với BTCQ (tt)

„ Qui định về độ ưu tiên

„ Độ ưu tiên của các phép toán theo thứ tự từ cao đến thấp là

= {λ, a, aa, aaa, }{a, b}

= {a, aa, aaa, , b, ab, aab, }

Trang 8

„ Trong một số tài liệu phép cộng (+) được kí hiệu bằng dấu |

thay cho dấu + Chẳng hạn (a + b).c thì được viết là (a | b).c

Trang 11

Thủ tục: re-to-nfa (tt)

B2 Xây dựng các nfa cho các BTCQ phức tạp

„ nfa cho BTCQ r1 + r2

hoặcλ

λλ

Trang 12

1 Không có cạnh đi ra q f1 hoặc

2 Không có cạnh đi vào q02

Trang 13

Thủ tục: re-to-nfa (tt)

„ nfa cho BTCQ r*

λ λ

Trang 14

Hoặc theo

phương pháp

cải tiến

Trang 15

„ r5 = (ab* + a*b)(a + b*a)* b

„ r6 = (b + a*)(ba* + ab)*(b*a + ab)

Trang 17

Đồ thị chuyển trạng thái tổng quát

„ Hình bên biểu diễn một ĐTCTTTQ

„ NN được chấp nhận bởi nó là L(a*(a + b)c*)

Trang 18

Rút gọn trạng thái của ĐTCTTTQ

„ Để tìm BTCQ cho một ĐTCTTTQ ta sẽ thực hiện quá trình rút gọn các trạng thái trung gian của nó thành ĐTCTTTQ tương đương đơn giản nhất có thể được

„ Trạng thái trung gian

„ Là trạng thái mà không phải là trạng thái khởi đầu, cũng không phải là trạng thái kết thúc

a d

b c

Trang 21

BTCQ dùng để mô tả các mẫu đơn giản

Trang 22

Văn phạm chính qui

„ Văn phạm tuyến tính - phải và – trái.

„ Văn phạm tuyến tính - phải sinh ra NNCQ.

„ Văn phạm tuyến tính - phải cho NNCQ.

„ Sự tương đương giữa VPCQ và NNCQ.

Trang 23

Văn phạm tuyến tính - phải và - trái

„ Định nghĩa 3.3

„ Một văn phạm G = (V, T, S, P) được gọi là tuyến tính - phải

(TT-P) (right-linear) nếu tất cả luật sinh là có dạng

A → xB

A → x trong đó A, B ∈ V, x ∈ T* Một văn phạm được gọi là tuyến

tính - trái (TT-T) (left-linear) nếu tất cả các luật sinh là có dạng

A → Bx

A → x

„ Một văn phạm chính qui (VPCQ) là hoặc tuyến tính-phải hoặc tuyến tính-trái

Trang 25

„ Văn phạm tuyến tính (Linear Grammar)

„ Một văn phạm được gọi là tuyến tính nếu mọi luật sinh của nó

có dạng có tối đa một biến xuất hiện ở vế phải của luật sinh vàkhông có sự giới hạn nào trên vị trí xuất hiện của biến này

Trang 26

B1 Ứng với mỗi biến V i của văn phạm ta xây dựng một trạng thái

mang nhãn V i cho nfa tức là: Q ⊃ V.

B2 Ứng với biến khởi đầu V0, trạng thái V0 của nfa sẽ trở thành trạng

thái khởi đầu, tức là: S = V0

B3 Nếu trong văn phạm có một luật sinh nào đó dạng V i → a1a2…a m

thì thêm vào nfa một và chỉ một trạng thái kết thúc V f

Trang 31

Sự tương đương giữa VPCQ và NNCQ

Trang 32

Sự tương đương giữa VPCQ và NNCQ

1 Ứng với luật sinh TT-T A → Bv ta xây dựng luật sinh TT-P A → v R B.

2 Ứng với luật sinh TT-T A → v ta xây dựng luật sinh TT-P A → v R.

„ G P được xây dựng theo cách trên có quan hệ với G T như sau

Ngày đăng: 13/10/2012, 09:16

HÌNH ẢNH LIÊN QUAN

Đồ thị chuyển trạng thái tổng quát - Ngôn ngữ chính qui và văn phạm chính qui
th ị chuyển trạng thái tổng quát (Trang 17)
Đồ thị chuyển - Ngôn ngữ chính qui và văn phạm chính qui
th ị chuyển (Trang 19)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w