Bổ túc toán 3 - Pdf 43

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:
2
Phân loại FA
FA
(Finite Automata)
DFA
Deterministic
Finite Automata
NFA
Nondeterministic
Finite Automata
Biểu thức
chính quy
3
Start
1
1
0
0

x
Phép chuyển trên nhãn x
Automata hữu hạn đơn định (DFA)
4
Mở rộng hàm chuyển trạng thái
1. δ(q, ε) = q
2. δ(q, wa) = δ( δ(q,w), a) với ∀ w, a
Ngôn ngữ được chấp nhận:
L(M) = { x | δ( q
0
, x ) ∈ F }
Ngôn ngữ
chính quy
Ví dụ: chuỗi nhập w=110101

δ(q
0
, 1) = q
1

δ(q
0
, 11) = δ(q
1
, 1) = q
0

δ(q
0
, 110) = δ(q

∈ F
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.

Input: chuỗi nhập x$

Output: câu trả lời ‘YES’ hoặc ‘NO’

Giải thuật:
q := q
0
;
c := nextchar ; {c là ký hiệu nhập được đọc tiếp theo}
While c <> $ do
begin
q := δ(q, c);
c := nextchar ;
end
If (q in F) then write("YES") else write("NO");
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

q
0
q
0
q
0
q
0
q
0
q
3
q
1
q
3
q
3
q
1
q
4
q
4
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.
Hàm chuyển trạng thái mở rộng:


, q
4
}, {0, 1}, δ, q
0
, {q
2
, q
4
} )
{q
4
}{q
4
}q
4
Ø{q
4
}q
3
{q
2
}{q
2
}q
2
{q
2
}Øq
1
{q

0
, 1)
∪ δ(q
3
, 1) = {q
0
, q
1
}

δ(q
0
, 010) = {q
0
, q
3
}

δ(q
0
, 0100) = {q
0
, q
3
, q
4
}

δ(q
0

i
] với q
0
, q
1
, …, q
i
∈ Q

q
0
’ = [q
0
]

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

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

Q’ = {∅, [q
0
], [q
1
], [q
0
, q
1
]}

F’ = {[q
1

], 1) = [q
0
, q
1
]

δ’([q
0
, q
1
], 0) = [q
0
, q
1
]

δ’([q
0
, q
1
], 1) = [q
0
, q
1
]
11
NFA với ε- dịch chuyển (NFAε)
Định nghĩa: NFAε M(Q, Σ, δ, q
0
, F)

0, 1
0
1
2
Start
1, 2
0, 1, 2
12
Mở rộng hàm chuyển trạng thái cho NFAε
Định nghĩa ε-CLOSURE:

ε-CLOSURE(q) = { p | có đường đi từ q tới p theo nhãn ε }

ε-CLOSURE(P) = ∪
q∈P
ε-CLOSURE(q)
Hàm chuyển trạng thái mở rộng: mở rộng δ thành δ*

δ* : Q x Σ* → 2
Q

δ*(q, w) = { p | có đường đi từ q tới p theo nhãn w, trên
đường đi có thể chứa cạnh nhãn ε }
Ta có:

δ*(q, ε) = ε-CLOSURE(q)

δ*(q,a) = ε-CLOSURE(δ(δ*(q, ε),a))

δ*(q, wa) = ε-CLOSURE( δ( δ*(q, w), a) )


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status