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

Bổ túc toán 3

31 283 0
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

Định dạng
Số trang 31
Dung lượng 274 KB

Nội dung

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:... Start 11 0 x P

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

Nondeterministic Finite Automata

Biểu thức

chính quy

Trang 3

Start 1

1 0

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

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

Trang 5

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.

If (q, c);q in F) then write(q, c);"YES") else write(q, c);"NO");

Trang 6

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

1 0

q 1

q 2

0 1

• Ví dụ: cho automata M (hình vẽ) và xét chuỗi nhập 01001

0

0

1 0

0 1

Trang 7

Đị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 8

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}

q2

{q2} Ø

q1

{q0,q1} {q0,q3}

q0

1 0

Trang 9

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

• F’ là tập hợp các trạng thái của Q’ có chứa ít nhất một

trạng thái kết thúc trong tập F của M

• Hàm chuyển δ’([q 1 , q 2 , , q i ], a) = [p 1 , p 2 , , p j ] nếu và

chỉ nếu δ({q 1 , q 2 , , q i }, a) = {p 1 , p 2 , , p j }

Trang 10

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 δ(q0,0) = {q0, q1}, δ(q0,1) = {q1}, δ(q1,0) = , δ(q1,1) = {q0, q1}

Ta sẽ xây dựng DFA tương đương M’ (Q’, {0, 1}, δ’, [q 0 ], F’)

Trang 11

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

Trang 14

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

If (q, c);q in F) then write(q, c);"YES") else write(q, c);"NO");

Trang 15

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ó -CLOSURE(q)dịch

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

Trang 16

q1

{q2} {q1, q2}

{q0, q1, q2}

q0

2 1

0 Trạng thái

Inputs δ’

Trang 17

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(q)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 }

Trang 18

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

Giải thuật:

T := -CLOSURE CLOSURE (q, c);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 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] := U;{[T, a] là phần tử của bảng chuyển DFA}T, a] là phần tử của bảng chuyển DFA}] là phần tử của] là phần tử của bảng chuyển DFA} bảng chuyển DFA}

end;

end;

End;

Trang 20

• Bảng hàm chuyển

E A

a a

E

E B

D

C B

C

D B

B

C B

A

b a

Ký hiệu nhập Trạng thái

• Ký hiệu bắt đầu: q0’ = A (↔ -CLOSURE(q)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 21

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

Trang 22

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à

Trang 24

Định lý 3: nếu r là BTCQ thì tồn tại một NFA với -CLOSURE(q)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 25

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

Trang 27

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

trạng thái i đến trạng thái j mà không đi ngang qua trạng thái nào lớn hơn k)

Trang 28

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

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

lm sao cho L(rk-CLOSURE(q)1

Trang 29

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

Ví dụ: viết BTCQ cho DFA

Trang 30

(0 + 1)(00)*

0 + 1

0 + 1

r k 32

(0 + 1)(00)*0

r k 31

0*1

1 + 01 1

r k 23

(00)*

 + 00

r k 22

0(00)*

0 0

r k 21

0*1 1

1

r k 13

0(00)*

0 0

r k 12

(00)*

r k 11

Trang 31

Mối liên hệ giữa FA và BTCQ

Ngày đăng: 06/07/2013, 01:25

Xem thêm

HÌNH ẢNH LIÊN QUAN

Sơ đồ liên hệ: - Bổ túc toán 3
Sơ đồ li ên hệ: (Trang 31)

TỪ KHÓA LIÊN QUAN

w