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

Biểu thức chính quy và ngôn ngữ chính quy

33 1,4K 3

Đ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 33
Dung lượng 271,36 KB

Nội dung

Biểu thức chính quiRegular Expression - RE  FA là những máy ảo nhận dạng ngôn ngữ, trong khi RE mô tả ngôn ngữ như biểu thức đại số  Ứng dụng: 1.. Xây dựng biểu thức chính qui  Dạng c

Trang 1

1.1 Toán tử của biểu thức chính qui

1.2 Xây dựng biểu thức chính qui

1.3 Độ ưu tiên của các toán tử

2 Định lý của Kleene

2.1 Chuyển FA sang biểu thức chính qui

2.2 Chuyển biểu thức chính qui sang FA

2.3 Định lý Kleen

Trang 2

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

 FA là những máy ảo nhận dạng ngôn ngữ, trong khi RE mô tả ngôn ngữ như biểu thức đại số

 Ứng dụng:

1 Các lệnh tìm kiếm chuỗi

2 Các bộ phát sinh bộ phân tích từ vựng

Ngôn ngữ L: Tập các chuỗi thỏa điều kiện:

- Hoặc một số 0 theo sau bởi nhiều số 1

- Hoặc một số 1 theo sau bởi nhiều số 0

RE biểu diễn ngôn ngữ L:

Toán tử của RE

Ba toán tử trên RE

Trang 3

{xy | x  L và y  M}

Tập các chuỗi hình thành từ việc nối của

không/nhiều chuỗi thuộc L.

Trang 4

Xây dựng biểu thức chính qui

 Dạng cơ sở của biểu thức đại số là hằng số

và/hoặc biến Những biểu thức phức tạp hơn được xây dựng bằng cách áp dụng các toán tử trên những biểu thức đã được xây dựng

 RE cũng được xây dựng tương tự

Nếu RE E là hợp lệ thì tồn tại ngôn ngữ L(E) mà

E biểu diễn.

Bước qui nạp: Gồm 4 phần

1. Hằng ε và Ø là RE

2. Nếu a là một ký hiệu bất kỳ thì a là RE:

Bước cơ sở: Bao gồm 2 phần:

Nếu E và F là RE thì E + F là RE:

Nếu E và F là RE thì EF là RE:

Trang 5

Bước qui nạp: Để có những chuỗi bao gồm

không/nhiều chuỗi con 01, ta sử dụng RE (01)*

Tuy nhiên, L((01)*) không phải là ngôn ngữ cần

tìm

Cách 1: Xây dựng thêm 3 RE :

Trang 6

Cách 2:

- Muốn không/có số 1 đứng đầu

- Muốn không/có số 0 đứng sau

Độ ưu tiên của các toán tử

Trang 8

Tính tương đương giữa RE, DFA, ε–NFA và NFA.

Từ DFA đến RE: Khái niệm

Xây dựng RE chấp nhận ngôn ngữ của DFA khá phức tạp

RE sẽ mô tả tập các chuỗi mà mỗi ký hiệu trong

chuỗi là nhãn một đường truyền trong sơ đồ

truyền của DFA

Trang 9

RE xây dựng từ DFA thông qua qui nạp:

Khi các đường truyền đến được mọi trạng thái  những RE phát sinh biểu diễn tất cả các đường truyền có thể

Định lý 3.1: Mọi ngôn ngữ chính qui (nghĩa là

ngôn ngữ được chấp nhận bởi FA nào đó) đều

có thể được mô tả bởi RE.

Chứng minh:

Xây dựng tập RE, mô tả các đường truyền (mở

rộng dần) trên sơ đồ truyền của DFA A.

Trang 10

Một đường truyền biểu diễn bởi Rij(k)

Trục tung biểu diễn trạng thái, trục hoành thể hiện

từng bước đi của đường truyền

1

n

i

j k

Phương pháp qui nạp, dựa trên giá trị của k  [0, n],

được sử dụng để xây dựng biểu thức Rij(k),

Bước cơ sở: k = 0

Trang 11

- Nếu tồn tại đường truyền

- Nếu không tồn tại đường truyền

Trang 12

Bước qui nạp: Giả sử tồn tại đường truyền từ

trạng thái i sang j với điều kiện mọi trạng thái bên

trong được đánh số  k

1 Đường truyền đi qua trạng thái k ít nhất một lần.

) 1

Trang 13

* ) 1 ( ) 1 ( )

1 ( )

kj

k kk

k ik

k ij

k

R

Trang 14

Ví dụ: Chuyển DFA trong hình trên thành RE

DFA này chấp nhận tất cả các chuỗi có ít nhất một số 0

Trang 15

Bước qui nạp: Xây dựng các RE phức tạp hơn.

Luật xây dựng Rij(1) dựa vào Định lý 3.1:

(ε + 1) + (ε + 1)(ε + 1)*(ε + 1)

R11(1)

Rút gọnThay thế trực tiếp

Dựa vào bảng của các Rij(0), ta có:

Trang 17

Chuyển DFA sang RE bằng loại bỏ trạng thái

 Phương pháp xây dựng RE: Loại bỏ trạng thái

Giả sử tồn tại đường truyền: q → s → p.

Hủy s

Trang 19

Chiến lược xây dựng RE từ FA

1 Với mỗi trạng thái chấp nhận q: Loại bỏ dần

Trang 22

Chuyển RE sang FA

Mọi ngôn ngữ L = L(R) của RE R cũng là ngôn

ngữ L = L(E) của ε–NFA E xác định.

Bước cơ sở:

Bước qui nạp:

Tất cả những automata được xây dựng sẽ là

ε–NFA có duy nhất một trạng thái chấp nhận

Định lý 3.2: Mọi ngôn ngữ được định nghĩa

bởi RE thì cũng được định nghĩa bởi FA và như vậy, nó là ngôn ngữ chính qui.

Chứng minh:

Trang 24

(a)

Trang 25

i Đi trực tiếp

Đường truyền chấp nhận chuỗi

ii Từ trạng thái bắt đầu chung

→ Tất cả các chuỗi thuộc ngôn ngữ

R ε

ε

(c)

Trang 28

Các luật đại số trên RE

Khi chuyển từ DFA sang RE, xuất hiện yêu cầu rút gọn RE

Thông qua tập luật đại số trên RE

Ví dụ: Luật giao hoán của phép cộng: 1 + 2 = 2 + 1

RE cũng có những thao tác tương tự biểu thức đại số

Trang 29

Luật giao hoán và kết hợp

Luật giao hoán của phép hội:

Luật kết hợp của phép hội:

Luật kết hợp của phép nối:

Đồng nhất thức và giá trị triệt tiêu

Trang 30

Ø là giá trị triệt tiêu đối với phép nối.

Các luật phân phối

Trang 32

Khảo sát các luật mở rộng trên RE

Những luật được trình bày ở trên chỉ là một

phần trong vô số các luật về RE có thể tìm ra

Tính đúng của luật có thể được chỉ ra bằng cách

chứng minh dấu bằng giữa hai ngôn ngữ được

mô tả bởi hai biểu thức tương ứng

Kỹ thuật này phù hợp với những toán tử dùng

Ngày đăng: 13/05/2014, 17:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w