1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng toán giải tích chương 3 automata hữu hạn và biểu thức chính quy

34 761 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 34
Dung lượng 364,69 KB

Nội dung

2 Định nghĩa ôtômát automata Định nghĩa: là 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ữ • Con người phải lập trình sẵn cho máy một ‘lộ trình’ để

Trang 1

Automata hữu hạn &

Biểu thức chính quy

Nội dung:

• Khái niệm DFA & NFA

• Sự tương đương giữa DFA & NFA

• Biểu thức chính quy

• Các tính chất của tập chính quy

Chương 3:

Trang 2

2

Định nghĩa ôtômát (automata)

Định nghĩa: là 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ữ

• Con người phải lập trình sẵn cho máy một ‘lộ trình’ để thực hiện

Bộ điều khiển

INPUT

OUTPUT

BỘ NHỚ

Trang 3

Phân loại automata

Automata đơn định (Deterministic Automata):

• Mỗi bước di chuyển chỉ được xác định duy nhất bởi cấu hình hiện tại (hàm chuyển của automata là đơn trị)

Automata không đơn định (Non-deterministic Automata):

• Tại mỗi bước di chuyển, nó có vài khả năng để lựa chọn (hàm

chuyển của automata là đa trị)

Trang 4

NFA

Nondeterministic Finite Automata

Biểu thức

chính quy

Trang 5

x

Phép chuyển trên nhãn x

Automata hữu hạn đơn định (DFA)

Trang 7

Giải thuật hình thức

• Mục đích: kiểm tra một chuỗi nhập x có thuộc ngôn ngữ

L(M) được chấp nhận bởi automata M

Trang 8

8

Automata hữu hạn không đơn định (NFA)

Nhận xét:

• Ứng với một trạng thái và một ký tự nhập, có thể có

không, một hoặc nhiều phép chuyển trạng thái

• DFA là một trường hợp đặc biệt của NFA

Trang 9

Định nghĩa NFA

Chú ý: khái niệm δ(q, a) là tập hợp tất cả các trạng thái p

sao cho có phép chuyển từ trạng thái q trên nhãn a

Trang 10

10

Ví dụ: xét chuỗi nhập w=01001 và NFA đã cho ở trên

M( {q 0 , q 1 , q 2 , q 3 , q 4 }, {0, 1}, δ, q 0 , {q 2 , q 4 } )

{q4} {q4}

q4

Ø {q4}

q3

{q2} {q2}

q0

1

0 Trạng thái

Input

• δ(q0, 01) = δ( δ(q0, 0), 1) = δ({q0, q3},1) = δ(q0, 1)

Trang 11

Sự tương đương giữa DFA & NFA

Định lý 1: Nếu L là tập được chấp nhận bởi một NFA thì tồn

Trang 12

12

Ví dụ về sự tương đương giữa DFA & NFA

Ví dụ: NFA M ({q 0 , q 1 }, {0, 1}, δ, q 0 , {q 1 }) với hàm chuyển

Trang 13

NFA với - dịch chuyển (NFA)

Trang 15

Mở rộng hàm chuyển trạng thái cho NFA

Trang 16

16

Mục đích: mô phỏng hoạt động của NFA

Trang 17

Sự tương đương giữa NFA và NFA

Định lý 2: nếu L được chấp nhận bởi một NFA có -dịch

chuyển thì L cũng được chấp nhận bởi một NFA không có

Trang 18

q1

{q2} {q1, q2}

Inputs δ’

Trang 19

Xây dựng DFA từ NFA()

Ví dụ: xây dựng DFA tương đương với NFA sau:

Ta xây dựng DFA M’= (Q’, Σ, δ’, q0’, F’) tương đương M

• Trạng thái bắt đầu: q0’ ↔ -CLOSURE(q0)

F’ = { p | trong ký hiệu của p có chứa ít nhất một trạng thái của F }

• Xây dựng hàm chuyển δ’

Trang 20

20

Giải thuật xây dựng hàm chuyển δ’

Giải thuật:

T := -CLOSURE (q 0 ) ; T chưa được đánh dấu ;

Thêm T vào tập các trạng thái Q’ của DFA ;

While Có một trạng thái T của DFA chưa được đánh dấu do

Begin

Đánh dấu T; { xét trạng thái T}

For Với mỗi ký hiệu nhập a do

begin

U:= -closure((T, a))

If U không có trong tập trạng thái Q’ của DFA then

begin

Thêm U vào tập các trạng thái Q’ của DFA ;

Trạng thái U chưa được đánh dấu;

[T, a] := U;{ [T, a] là phần tử của bảng chuyển DFA}

end;

end;

End;

Trang 21

Xây dựng DFA từ NFA()

Trang 22

• Ký hiệu bắt đầu: q0’ = A (↔ -CLOSURE(q0) )

• Tập trạng thái kết thúc: F’ = {E} (vì trong E có chứa trạng

thái 10  F)

Xây dựng DFA từ NFA()

Trang 23

Biểu thức chính quy (RE)

Trang 25

Biểu thức chính quy (RE)

Định nghĩa: cho Σ là một bộ chữ cái BTCQ trên Σ là các tập

hợp mà chúng mô tả được định nghĩa đệ quy như sau:

●  là BTCQ ký hiệu cho tập rỗng

●  là BTCQ ký hiệu cho tập {}

a  Σ, a là BTCQ ký hiệu cho tập {a}

Nếu r và s là các BTCQ ký hiệu cho các tập hợp R và S thì (r + s), (rs)

và ( r*) là các BTCQ ký hiệu cho các tập hợp R  S, RS và R* tương ứng

Thứ tự ưu tiên:

Phép bao đóng > Phép nối kết > Phép hợp

Ví dụ:

Biểu thức ((0(1*)) + 1) có thể viết là 01*+1

Trang 27

Sự tương đương giữa NFA và BTCQ

Định lý 3: nếu r là BTCQ thì tồn tại một NFA với -dịch

chuyển chấp nhận L(r)

Chứng minh: quy nạp theo số phép toán

• Xét r không có phép toán nào

Trang 29

Sự tương đương giữa NFA và BTCQ

Trang 30

30

Sự tương đương giữa DFA và BTCQ

Định lý 4: Nếu L được chấp nhận bởi một DFA, thì L được

thái nào lớn hơn k)

• Định nghĩa đệ quy của R k

Trang 31

Sự tương đương giữa DFA và BTCQ

• Ta sẽ chứng minh (quy nạp theo k) bổ đề sau: với mọi R k

ij đều tồn tại một

biểu thức chính quy ký hiệu cho R k

ij

 k = 0: R 0

ij là tập hữu hạn các chuỗi 1 ký hiệu hoặc 

 Giả sử ta có bổ đề trên đúng với k-1, tức là tồn tại BTCQ r k-1

lm sao cho L(r k-1

Trang 32

32

Sự tương đương giữa DFA và BTCQ

Ví dụ: viết BTCQ cho DFA

Ngày đăng: 25/04/2016, 10:52

TỪ KHÓA LIÊN QUAN

w