Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
266,65 KB
Nội dung
BáocáobàitậplớnAutomata Đề bài : 2DFAtương đương
MỤC LỤC
I.ÔTÔMAT HỮU HẠN VÀ AUTOMATA HỮU HẠN ĐƠN ĐỊNH
1.1. Mở đầu…………………………………………………………………………………2
1.2. Định nghĩa……………………………………………………………………………3
1.3. Phương pháp biểu diễn ôtômat hữu hạn đơn định……………4
1.4. Định nghĩa ngôn ngữ đoán nhận bởi FA……………………………7
II.HAI DFATƯƠNGĐƯƠNG
2.1. Định nghĩa………………………………………………………………………………….9
2.2.Các cách xác định 2DFAtươngđương …………………………………….10
2.2.1.Cùng sinh ra một ngôn ngữ …………………………………………….10
2.2.2.Dựa vào bảng đánh dấu các trạng thai tương đương……15
a.Sự tươngđương của các trạng thái………………………… 15
b.Sự tươngđương của 2DFA Dựa vào bảng đánh dấu sự
tương đương của các trạng thái………………………………………17
1
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
I.ÔTÔMAT HỮU HẠN VÀ AUTOMATA HỮU HẠN ĐƠN ĐỊNH
1.1. Mở đầu:
Một ôtômat hữu hạn là một mô hình tính toán thực sự hữu
hạn. Mọi cái liên quan đến nó đều có kích thước hữu hạn cố định và
không thể mở rộng trong suốt quá trình tính toán. Các loại ôtômat
khác được nghiên cứu sau này có ít nhất một bộ nhớ vô hạn về tiềm
năng. Sự phân biệt giữa các loại ôtômat khác nhau chủ yếu dựa trên
việc thông tin có thể được đưa vào bộ nhớ như thế nào.
Một ôtômat hữu hạn làm việc theo thời gian rời rạc như tất cả
các mô hình tính toán chủ yếu. Như vậy, ta có thể nói về thời điểm “kế
tiếp” khi “đặc tả” hoạtđộng của một ôtômat hữu hạn.
Trường hợp đơn giản nhất là thiết bị không có bộ nhớ mà ở mỗi
thời điểm, thông tin ra chỉ phụ thuộc vào thông tin vào lúc đó. Các
thiết bị như vậy là mô hình của các mạch tổ hợp.
Tuy nhiên, nói chung, thông tin ra sản sinh bởi một ôtômat hữu
hạn phụ thuộc vào cả thông tin vào hiện tại lẫn các thông tin vào trước
đó. Như vậy ôtômat có khả năng (với một phạm vi nào đó) ghi nhớ các
thông tin vào trong quá khứ của nó. Một cách chi tiết hơn, điều đó có
nghĩa như sau.
Ôtômat có một số hữu hạn trạng thái bộ nhớ trong. Tại mỗi thời
điểm i, nó ở một trong các trạng thái đó, chẳng hạn q
i
Trạng thái q
i+1
ở
thời điểm sau được xác định bởi q
i
và thông tin vào a
i
cho ở thời điểm
i. Thông tin ra ở thời điểm i được xác định bởi trạng thái q
i
(hay bởi cả
a
i
và q
i
).
2
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
1.2. Định nghĩa:
Một ôtômat hữu hạn đơn định hay một DFA (Deteministic
Finite Automata) là một bộ năm A = <Q, Σ, δ, q0, F>, trong đó:
− Q là một tập hữu hạn khác rỗng, được gọi là tập các trạng thái;
− Σ là một bảng chữ, được gọi là bảng chữ vào;
− Σ là một bảng chữ, được gọi là bảng chữ vào;
− δ: D → Q, trong đó D ⊂ Q x Σ, được gọi là ánh xạ chuyển;
− q
0
∈ Q, được gọi là trạng thái đầu;
− F ⊂ Q, được gọi là tập các trạng thái kết thúc.
Trong trường hợp D = Q x Σ, ta nói A là đầy đủ. Về sau ta sẽ thấy
rằng mọi ôtômat hữu hạn đều đưa về được ôtômat hữu hạn đầy đủ
tương đương.
Hoạt động của ôtômat hữu hạn đơn định A = <Q, Σ, δ, q0, F> khi
cho xâu vào ω=a
1
a
2
… a
n
có thể được mô tả như sau:
Khi bắt đầu làm việc, máy ở trạng thái đầu q
0
và đầu đọc đang
nhìn vào ô có ký hiệu a
1
. Tiếp theo máy chuyển từ trạng thái q
0
dưới tác
động của ký hiệu vào a
1
về trạng thái mới δ(q
0
, a
1
) = q
1
∈ Q và đầu đọc
chuyển sang phải một ô, tức là nhìn vào ô có ký hiệu a
2
. Sau đó ôtômat
A có thể lại tiếp tục chuyển từ trạng thái q
1
nhờ ánh xạ chuyển δ về
trạng thái mới q
2
=δ(q
1
, a
2
) ∈ Q. Quá trình đó sẽ tiếp tục cho tới khi
gặp một trong các tình huống sau:
− Trong trường hợp ôtômat A đọc hết xâu vào ω và δ(q
n-1
,a
n
)=q
n
∈
F, ta nói rằng A đoán nhận ω.
3
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
− Trong trường hợp ôtômat A đọc hết xâu vào ω và δ(q
n-1
,a
n
)=q
n
∉
F hoặc tồn tại chỉ số j (j≤n) sao cho δ(q
j-1
,a
j
) không xác định, ta nói rằng
A không đoán nhận ω.
1.3. Phương pháp biểu diễn ôtômat hữu hạn đơn định:
Ánh xạ chuyển là một bộ phận quan trọng của một ôtômat hữu
hạn đơn định.Nó có thể cho dưới dạng bảng chuyển hoặc cho dưới
dạng đồ thị.
1) Phương pháp cho bảng chuyển:
trong đó dòng i cột j của bảng là ô trống nếu ( q
i
,a
j
) ∉ D, tức là
δ(q
i
,a
j
) không xác định.
4
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
2) Phương pháp cho bằng đồ thị chuyển:
Cho ôtômat A = <Q, Σ, δ, q0, F>. Ánh xạ chuyển δ có thể cho bằng
một đa đồ thị có hướng, có khuyên G sau đây, được gọi là đồ thị
chuyển của ôtômat A. Tập đỉnh của G là Q. Nếu a ∈ Σ và từ trạng thái
q chuyển sang trạng thái p do đẳng thức δ(q, a)=p thì sẽ có một cung
từ q tới p được gán nhãn a.
Đỉnh vào của đồ thị chuyển là đỉnh ứng với trạng thái ban đầu q
0
.
Các đỉnh sẽ được khoanh bởi các vòng tròn, tại đỉnh q
0
có mũi tên đi
vào, riêng đỉnh với trạng thái kết thúc được khoanh bởi vòng tròn
đậm.
Thí dụ 1: Cho hai ôtômat hữu hạn đơn định
A1 = <{q0, q1, q2}, {a, b}, δ, q0, {q2}>,
trong đó δ(q0, a)=q0, δ(q0, b)=q1, δ(q1, a)=q0, δ(q1, b)=q2, δ(q2, a)=q2,
δ(q2, b)=q2 và
A2 = <{q0, q1, q2, q3}, {0, 1}, δ, q0, {q0}>,
trong đó δ(q0, 0)=q2, δ(q0, 1)=q1, δ(q1, 0)=q3, δ(q1, 1)=q0, δ(q2, 0)=q0,
δ(q2, 1)=q3, δ(q3, 0)=q1, δ(q3, 1)=q2.
Khi đó các bảng chuyển của A1 và A2 là:
5
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
Dãy trạng thái của ôtômat A1 khi cho xâu α=ababbab vào là:
Dãy trạng thái của ôtômat A2 khi cho xâu β=1010100 vào là:
Đồ thị chuyển của ôtômat A1:
Đồ thị chuyển của ôtômat A2:
6
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
Ta có thể mô tả quá trình đoán nhận xâu vào của ôtômat hữu hạn
đơn định đầy đủ A bằng thuật toán mô phỏng sau:
Đầu vào:
− Một xâu ω
− Một ôtômat hữu hạn đơn định đầy đủ A với trạng thái đầu q
0
và tập
trạng thái kết thúc là F.
Đầu ra:
− “True” nếu A đoán nhận xâu ω.
− “False” nếu A không đoán nhận xâu ω.
Thuật toán:
Begin
S:=q
0
;
C:=ký hiệu tiếp theo;
While ( C < > Ø ) do
begin
S:=δ(S, C);
C:=ký hiệu tiếp theo;
end;
if ( S ∈ F ) return True
else return False;
7
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
End.
1.4. Định nghĩa ngôn ngữ đoán nhận bởi DFA:
Cho ôtômat hữu hạn đơn định A = <Q, Σ, δ, q0, F>, ω ∈ Σ và L là
một ngôn ngữ trên Σ. Ta nói:
− ω được đoán nhận bởi A nếu δ(q
0
, ω) ∈ F;
− L được đoán nhận bởi A nếu L={ ω ∈ Σ* | δ(q
0
, ω) ∈ F} và
ký hiệu L là L(A).
Lưu ý rằng trong đồ thị chuyển của A, ω∈Σ* được đoán nhận
bởi A khi và chỉ khi ω ứng với một đường đi từ đỉnh q
0
đến một trong
các đỉnh kết thúc.
Cụ thể là nếu ω=a
1
a
2
…a
n
thì đường đi là (q
0
, q
1
, …, q
n
) với cung
(q
i-1
, q
i
) có nhãn a
i
( 1≤ i ≤n ) và q
n
∈ F. Như vậy, L(A) là tập hợp tất cả
các đường đi từ q
0
đến các đỉnh kết thúc.
8
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
II.HAI DFATƯƠNGĐƯƠNG :
2.1. Định nghĩa: Hai ôtômat hữu hạn đơn định A và A’ được gọi là
tương đương nếu L( A )=L( A’ ).
Ví dụ: Cho ôtômat hữu hạn đơn định:
A = <{q0, q1, q2, q3, q4}, {0, 1}, δ, q0, {q1, q2, q4}>,
trong đó δ(q0,0)=q0, δ(q0,1)=q1, δ(q1,0)=q3, δ(q1,1)=q2, δ(q2,0)=q2,
δ(q2,1)=q2, δ(q3,1)=q3, δ(q4,0)=q2, δ(q4,1)=q3.
Đồ thị chuyển của A là:
Trước hết, ta nhận thấy rằng không có đường đi từ q0 đến đỉnh
kết thúc q4, do đó ôtômat A tươngđương với ôtômat A’ sau:
A’ = <{q0, q1, q2}, {0, 1}, δ, q0, {q1, q2}>,
trong đó δ(q0,0)=q0, δ(q0,1)=q1, δ(q1,1)=q2, δ(q2,0)=q2, δ(q2,1)=q2.
Đồ thị chuyển của A’ là:
9
Báo cáobàitậplớnAutomata Đề bài : 2DFAtương đương
Các đường đi từ q0 đến đỉnh kết thúc q
1
ứng với các xâu 0
n
1, n≥0.
Các đường đi từ q
0
đến đỉnh kết thúc q
2
ứng với các xâu 0
n
11ω,
n≥0, ω∈{0, 1}*. Vậy L( A )=L( A’ )={0
n
1, 0
n
11ω | n≥0, ω∈{0, 1}*}.
2.2.Các cách xác định 2DFAtươngđương :
2.2.1.Cùng sinh ra một ngôn ngữ :
Dựa vào định nghĩa trên ta có : 2DFA A
1
và A
2
tương đương
với nhau nếu L( A
1
) = L( A
2
). Do đó để chứng minh hai DFA A
1
và
A
2
tươngđương thì ta cần chứng minh:
1
L
=
2
L
1
L
∩
2
L
=
1
L
∩
2
L
= L(M) = ∅.
DFA rỗng: Nếu không tồn tại một đường đi từ trạng thái đầu
đến một trong các trạng thái cuối thì là rỗng, ngược lại thì không
rỗng.
* T ính đóng của lớp ngôn ngữ dưới phép giao:
Định lý: Nếu L
1
và L
2
là các ngôn ngữ chính quy thì L
1
∩ L
2
cũng
là ngôn ngữ chính quy
Chứng minh: Chúng ta xây dựng trực tiếp DFA thừa nhận
ngôn ngữ L
1
∩ L
2
từ các DFA thừa nhận L
1
và L
2
.
10
[...]... và L2 11 BáocáobàitậplớnAutomata Đề bài : 2DFAtươngđươngDFA giao của hai DFA Chúng ta dễ dàng nhận thấy rằng, DFA thừa nhận ngôn ngữ gồm it nhất một kí hiệu 0 và ít nhất một kí hiệu 1 DFA biểu diễn L1 A B 12 Báo cáobàitậplớn Automata DFA biểu diễn Đề bài : 2DFAtươngđương L2 C D E DFA biểu diễn L2 D C E 13 Báo cáobàitậplớn Automata DFA biểu diễn L1 Đề bài : 2DFAtươngđương L2 ∩ =... b.Sự tươngđương của 2DFA Dựa vào bảng đánh dấu sự tươngđương của các trạng thái: Ví dụ: Xét hai DFA, hai DFA này cùng đoán nhận ngôn ngữ gồm các xâu trên bảng chữ {0, 1} kết thúc bởi kí hiệu 0 17 Báo cáobàitậplớn Automata Đề bài : 2DFAtươngđương Chúng ta dễ dàng xác định được sự tươngđương của hai DFA Thật vậy, giả sử có hai DFA A 1 và A2 Xét DFA mới là hợp của hai DFA A1 và A2 Khi đó, DFA. .. ∩ = L(M) A,D B,E B,C B,D A,C A,E Ta thấy L(M) là một Automat rỗng vì không tồn tại đương đi nào từ (A, C) đến (A, E) Tương tự ta có L(M)= Suy ra hai DFA L1 L2 , L1 ∩ L2 cũng rỗng tươngđương 14 Báo cáobàitậplớn Automata Đề bài : 2DFAtươngđương2.2 .2. Dựa vào bảng đánh dấu các trạng thai tương đương: a.Sự tươngđương của các trạng thái : Mục đích của chúng ta là xác định xem hai trạng thái khác.. .Báo cáobàitậplớn Automata Đề bài : 2DFAtươngđương Giả sử A1= (Q1, Σ1, δ1, q01, F1) và A2 = (Q2, 2, 2, q 02, F2) là các DFA thừa nhận tương ứng L1 và L2 Chúng ta sẽ xây dựng DFA M bắt chước thực hiện đồng thời A1 và A2 Mỗi trạng thái của M sẽ là một cặp trạng thái: một trạng thái của A 1 và một trạng thái của A2 Bảng chữ của M sẽ là hợp của các bảng chữ của A 1 và A2 Một dịch chuyển trong. .. nếu DFA A1 và A2 là tươngđương thì cặp trạng thái đầu phải là cặp trạng thái tươngđương Ngược lại, nếu cặp trạng thái đầu là cặp trạng thái phân biêt thì A1 và A2 là không tươngđương Áp dụng thuật toán:Chúng ta coi hai DFA như là một DFA với các trạng thái là A, B, C, D và E Bây giờ xây dựng bảng đánh dấu các trạng thái phân biệt của DFA này 18 BáocáobàitậplớnAutomata Đề bài : 2DFAtương đương. .. thúc Ngược lại, hai trạng thái không tươngđương được gọi là phân biệt Nghĩa là trạng thái p phân biệt với trạng thái q, nếu tồn tại ít nhất một xâu w sao cho một trong hai dịch chuyển δ *(p, w) và δ*(q, w) cho trạng thái kết thúc và dịch chuyển còn lại cho trạng thái không kết thúc 15 BáocáobàitậplớnAutomata Đề bài : 2DFAtươngđương Để xác định sự tươngđương của các trạng thái, chúng ta sử... dựng tương ứng một dịch chuyển đồng thời trên A1 và A2 khi đọc cùng một kí hiệu M sẽ đoán nhận xâu vào khi đồng thời cả hai DFA A 1 và A2 cùng đoán nhận xâu vào Như vậy, M được xây dựng như sau: M=(Q1× Q2, Σ1∪ 2, δ, (q01, q 02) , F1× F2) Trong đó, δ((p, q), a) = (δ1(p, a), 2( q, a)), với p ∈ Q1, q∈ Q2, a ∈ Σ1 ∪ 2 Dễ dàng nhận thấy rằng L(M) = L(A1) ∩ L(A2) Thật vậy, δ*((q01, q 02) , w) = (δ1*(q01, w), 2* (q 02, ... đánh dấu X, các cặp trạng thái tươngđương được để trống, các ô bôi đen không được sử dụng Ban đầu, không 16 BáocáobàitậplớnAutomata Đề bài : 2DFAtươngđương có cặp nào bị đánh dấu Chúng ta thực hiện việc đánh dấu theo thuật toán đã trình bày ở trên Trước hết, các cặp trạng thái gồm có một trạng kết thúc và một trạngthái không kết thúc được đánh dấu Thực hiện bước 2 của thuật toán,chúng ta không... (δ1*(q01, w), 2* (q 02, w)), như thế M chỉ chấp nhận w khi δ 1*(q01, w) ∈ F1 và 2* (q 02, w) ∈ F2, nghĩa là M chỉ chấp nhận w khi M1 chấp nhận w và M2 chấp nhận w Vậy chấp nhận L(A1) ∪ L(A2) Ví dụ: Cho L1 là ngôn ngữ chính quy có chứa ít nhất một kí hiệu 0 được thừa nhận bởi DFA A1 (a) và L2 là ngôn ngữ chính quy có ít nhất một kí hiệu 1 được thừa nhận bởi DFA A 2 (b) Chúng ta chỉ ra DFA M (c) thừa nhận... các trạng thái là A, B, C, D và E Bây giờ xây dựng bảng đánh dấu các trạng thái phân biệt của DFA này 18 BáocáobàitậplớnAutomata Đề bài : 2DFAtươngđương A và C là cặp trạng thi tương đương, vậy hai DFA là tươngđương Tức là chúng cùng thừa nhận một ngôn ngữ 19 . 1. DFA biểu diễn 1 L A 12 B Báo cáo bài tập lớn Automata Đề bài : 2 DFA tương đương DFA biểu diễn 2 L C D DFA biểu diễn 2 L E 13 E D C Báo cáo bài tập lớn Automata Đề bài : 2. hai DFA 1 L , 2 L tương đương. 14 A,D B,E B,C B,D A,C Báo cáo bài tập lớn Automata Đề bài : 2 DFA tương đương 2. 2 .2. Dựa vào bảng đánh dấu các trạng thai tương đương: a.Sự tương. q1, q2}, {0, 1}, δ, q0, {q1, q2}>, trong đó δ(q0,0)=q0, δ(q0,1)=q1, δ(q1,1)=q2, δ(q2,0)=q2, δ(q2,1)=q2. Đồ thị chuyển của A’ là: 9 Báo cáo bài tập lớn Automata Đề bài : 2 DFA tương đương Các