Tải bản đầy đủ (.pptx) (25 trang)

slide ô tô mát hữu hạn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (202.63 KB, 25 trang )

1
Chương 3
ÔTÔMÁT HỮU HẠN

1. Mở đầu.
2. Định nghĩa ô tô mát hữu hạn
3. Biểu diễn ô tô mát hữu hạn
4. Hàm chuyển của xâu đầu vào.
5. Ngôn ngữ được đoán nhận bởi ô tô mát
6.Sự tương đương ôtômát đơn định
và ôtômát không đơn định
7.Quan hệ giữa NNCQ, ô tô mát và VPCQ
8. Một số ví dụ.
2
1. Mở đầu

Máy bán hàng tự động, Máy làm trễ đầu vào, Máy cộng các số nguyên, các linh kiện trong máy tính- mô
hình hoá các máy hữu hạn trạng thái có đầu ra.

Các máy này đều bao gồm
1. một tập hữu hạn các trạng thái, có một trạng thái xuất phát,
2. một bộ chữ cái đầu vào và
3. một hàm chuyển
f: (trạng thái, đầu vào)

trạng thái mới.
4. hàm đầu ra:
g: (trạng thái, đầu vào)

một đầu ra
3


1. Mở đầu

Các loại máy hữu hạn trạng thái.

1. Có đầu ra - máy Mealy (G.H.Mealy, 1955)

2. Máy Moore, đầu ra chỉ phụ thuộc trạng thái (E.F. Moore,1956).

3. Các máy không có đầu ra, dùng đoán nhận ngôn ngữ, đó là các ôtômát
hữu hạn.

Các ôtômát h u h n dùng oán nh n ngôn ng chính quy.ữ ạ đểđ ậ ữ
4
2. Định nghĩa ô tô mát hữu hạn

Một ôtômát hữu hạn M={S, I, f, s
0
, F}:
1. tập hữu hạn S các trạng thái,
2. một bộ các đầu vào I,
3. một hàm chuyển
f : trạng thái-đầu vào → trạng thái tiếp theo
4. trạng thái xuất phát s0, và
5. tập con F của S, bao gồm các trạng thái kết thúc.

3.Biểu diễn ôtômát hữu hạn: bằng bảng trạng thái hoặc đồ thị chuyển trạng thái.

Ví dụ 1.

Dựng đồ thị chuyển trạng thái của ôtômát hữu hạn M={S,I,f, s0, F} với S={s0, s1, s2, s3}, I={0,1}, F={s0,

s3} còn hàm chuyển f được cho trong Bảng 1.
5
3. Biểu diễn ô tô mát hữu hạn
Bảng 1
Trạng
thái
H.chuy n ể f
0 1
s0
s1
s2
s3
s0 s1
s0 s2
s0 s0
s2 s1
s0
s1
s3
s2
0
0
1
1
1
0
0,1
Xu t ấ
phát
Hai cách biểu diễn ôtômát

6
4. Hàm chuyển của xâu đầu vào.

Định nghĩa hàm chuyển đối với một cặp trạng thái, xâu đầu vào :

Giả sử x= x
1
x
2
x
k
là một xâu trong I.

Khi đó f(s
1
, x) là một trạng thái nhận được bằng cách dùng tuần tự các ký hiệu của x từ trái sang
phải làm đầu vào, bắt đầu với trạng thái s1.

Từ s
1
→ s
2
=f(s
1
, x
1
), →s
3
=f(s
2

, x
2
), và → s
k+1
= f(s
k
, x
k
). Vậy f(s
1
, x)=s
k+1
.

Xâu x gọi là được đoán nhận bởi máy M={S,I,f, s
0
, F } nếu nó đưa trạng thái xuất phát tới một
trạng thái kết thúc, t.l f(s
0
, x) ∈ F.
7
5. Ngôn ngữ được đoán nhận bởi ô tô mát

Một ngôn ngữ được máy M đoán nhận, ký hiệu L(M) là tập tất cả các xâu đc đoán
nhận bởi M.

Hai ôtômát hữu hạn là tương đương nếu đoán nhận cùng một ngôn ngữ.

Ví dụ 2. Xác định ngôn ngữ đoán nhận bởi các ôtômát M
1

, M
2
, M
3
trên Hình 2.

1 0,1

Xuất phát 0

L(M
1
)= {1
n
| n=0,1,2, }
s0
s1
8
5. Ngôn ngữ được đoán nhận bởi ô tô mát

Còn M
2

0



0 1 0,1




1

và M
3
0

0 0,1



1 1
0,1
s0
s1 s2 s3
Xuất phát
L(M
2
) = {1, 01}
s1 s2
s0
s3
L(M
3
) = {0
n
, 0
n
10x | n=0,1,2, , và x là xâu bất kỳ}
5. Ngôn ngữ được đoán nhận bởi ô tô mát


Ví dụ 3. Cho Ôtô mát đơn định M={S, I, f, s
0
, F} với S= {s
0
, s
1
, s
2
, s
3
}, I= {0,1 }, s
0
trạng thái ban
đầu, F= {s
3
} trạng thái kết thúc, hàm chuyển được cho như sau:

Khi đó:

f(s
0
,10110)=s
3
∈F

f(s
0
,110)=s
3

∈F

f(s
0
,10011)=s
2
∉F



Quá trình đoán nhận một xâu đối với ôtômát đơn định là qt biến đổi đến trạng thái cuối cùng có
phải là trạng thái kết thúc không.
Trạng thái Ký hiệu vào
0 1
s
0
s
1
s
2
s
3
s
1
s
2
s
3
s
0

s
0
s
3
s
3
s
3
10
6.Sự tương đương ôtômát đơn định
và ôtômát không đơn định

Định nghĩa . Một ôtômát hữu hạn không đơn định M={S, I, f, s
0
, F} gồm:

một tập hữu hạn S các trạng thái,

một bộ các đầu vào I,

một hàm chuyển f gán cho mỗi cặp trạng thái- đầu vào, một tập các trạng thái,

trạng thái xuất phát s
0
, và

tập con F của S, gồm các trạng thái kết thúc.

Biểu diễn ôtômát hữu hạn không đơn định bằng bảng trạng thái hoặc đồ thị chuyển trạng thái.
11

6.Sự tương đương ôtômát đơn định
và ôtômát không đơn định

Ví dụ 4. Tìm đồ thị chuyển
trạng thái cho ôtômát hữu hạn
không đơn định với bảng trạng
thái là Bảng 3, các trạng thái
kết thúc là s2 và s3.
Bảng trạng thái
Trạng thái Hàm chuyển
Đầu vào
0 1
s0
s1
s2
s3
s0, s1
s0
s0, s1, s2
s3
s1, s3
s0, s2
s1
12
6.Sự tương đương ôtômát đơn định
và ôtômát không đơn định
Ôtômat hữu hạn không đơn định
s1
s0
s2

s3
Xuất phát
0
0
0
1
0,1
1
1
0
0
1
1
6.Sự tương đương ôtômát đơn định
và ôtômát không đơn định

Theo định nghĩa ô tô mát đơn định và ô tô mát không đơn định thì lớp ngôn ngữ đoán nhận bởi ô
tô mát đơn định(M) nằm trong lớp ngôn ngữ đoán nhận bởi ô tô mát không đơn định (N).

Và người ta cũng chứng minh điều ngược lại: lớp ngôn ngữ đoán nhận bởi ô tô mát không đơn
định nằm trong lớp ngôn ngữ đoán nhận bởi ô tô mát đơn định.

Định lý 1 . Lớp ngôn ngữ đoán nhận bởi ô tô mát đơn định trùng với lớp ngôn ngữ đoán nhận
bởi ô tô mát không đơn định trên bảng ký tự I hay L(M)=L(N)
6.Sự tương đương ôtômát đơn định
và ôtômát không đơn định

Ví dụ 5. Cho ô tô mát không đơn định M={Q, I, f, q
0
, F} Hãy tìm L(M)=?


Xây dựng ô tô mát không đơn định M’ tương đương M?

Bài giải.

X.phát

L(M)= {0
n
, 0
m
1
k
, 01
l
| n≥1, m≥1,k≥1, l≥0

Xây dựng M’ đơn định và tương đương với M
14
q
0
q
1
q
2
1
1
0
0
0

Q 0 1
q
0
q
1
q
2
{q
1
,q
2
} φ
q
1
q
2

φ q
2

6.Sự tương đương ôtômát đơn định và

M’=< S, I, f’, s
0
, F’ >; I= {0,1 }

S= {s
0
, s
1

, s
2
, s
3
, s
4
, s
5
, s
6
, s
7
} trong đ ó

s
0
=q
0
, s
1
=q
1
, s
2
=q
2
, s
3
= {q
0

, q
1
}, s
4
= {q
0
, q
2
}, s
5
= {q
1
, q
2
}, s
6
= {q
0
, q
1
,q
2
}, s
7
= φ

F’= {s
1
, s
2

,s
3
, s
4
, s
5
,s
6
}; Hàm chuyển f’ như sau:

s
0
là trạng thái xuất phát


F’ tập trạng thái kết thúc.
S 0 1
s
0
s
1
s
2

s
3
s
4
s
5

s
6

s
7

s
5
s
7

s
1
s
2
s
7
s
2

s
5
s
2

s
5
s
2


s
1
s
2

s
5
s
2

s
7
s
7

7.Quan hệ giữa NNCQ, ô tô mát và VPCQ

Định lý 2 (Định lý Kleene). Tập A là NNCQ trên bảng I khi và chỉ khi nó được đoán nhận bởi ô tô
mát M={S, I, f, s
0
, F} sao cho L(M)=A.

Định lý 3 . Đối với VPCQ suy rộng bất kỳ G=(T,V,s
0
,P) bao giờ cũng xây dựng được ô tô mát
hữu hạn M={S, I, f, q
0
, F} sao cho L(M)=L(G).

Và ngược lại: Đối với ô tô mát hữu hạn bất kỳ M={S, I, f, q

0
, F} bao giờ cũng xây dựng được
VPCQ suy rộng G=(T,V,s
0
,P) sao cho L(G)=L(M).
7.Quan hệ giữa NNCQ, ô tô mát và VPCQ
17
BTCQ
(suy rộng)
VPCQ
(suy rộng)
NNCQ
(suy rộng)
Sinh ra
Biểu diễn
ÔT Ô M ÁT
HỮU HẠN
Đoán nhận
xây dựng
xây dựng
8. Một số ví dụ .
Ví dụ 1. Cho ô tô mát M=<S, I, f,s
0
, F>
Bài giải.
a) M không đơn định vì f(s
0
,a)={s
0
, s

1
}.
Bảng 1. là bảng chuyển.
s
0
s
1
s
2
s
3
a
a
a
b
b
b
X.phát
a) M đơn định hay không? Đưa về
dạng bảng chuyển.
b) Tìm L(M)=?
c) Tìm BTCQ của L(M)
d) Xây dựng VPCQ G sao cho
L(G)=L(M)
8. Một số ví dụ

S={s
0
, s
1

, s
2
, s
3
};

I= {a,b }; s
0
,trạng thaí ban đầu,

F= {s
0
, s
3
}
b)L(M)= {λ,a
n
,a
n
b,a
m
(bb)
k
a| n,m,k≥0 },
Chỉ ra các xâu được M đoán nhận;
f(s
0
, λ)=s
0
,

f(s
0
, aa)=f(s
0
, a) ∪ f(s
1
, a)= {s
0
, s
1
} ∪ {s
3
}={s
0
, s
1
, s
3
};
Do f(s
0
, aa) ∩F ≠φ nên aa được đoán nhận.
f(s
0
, b)=s
3
mà s
3
∈F nên xâu b được đoán nhận.
Tương tự cho các trường hợp còn lại.

S a b
s
0
s
1

s
2

s
3
{s
0
, s
1
}
s
3
φ
φ
s
3
s
2
s
1
φ
s
0
-trạng thái ban đầu; F= {s

0
, s
3
, }
8. Một số ví dụ

c) BTCQ là λ∪aa*∪a*b ∪aa*(bb)*a

d) Xây dựng VPCQ

G=<T,N,S,P>, T={a,b}, N={S, A,B}
P={S→λ,S→aA, A→aA, A→a, S→b, A→b, A→bB, B →bA}

Dễ chỉ ra L(G)=L(M)

Ví dụ 2 Cho L={ab(cdcd)
n
ba,x
m
aba, b(xy)
k
xb| n,k≥0,m≥1}

a) Xây dựng ô tô mat đơn định sao cho L(M)=L;

b) Xây dựng VLCQ suy rộng sao cho L(G)=L

c) Chỉ ra BTCQ của L.

Bài giải.

8. Một số ví dụ

a) Sơ đồ của M:

Dễ thấy L(M)={ab(cdcd)
n
ba,x
m
aba, b(xy)
k
xb| n,k≥0,m≥1}

Chứng minh M đoán nhận L(M)
s
0
s
6
s
5
s
4
s
3
s
2
s
1
s
7
s

10
s
8
s
11
s
9
X.phát
x
b
ba
x
a
b
d c
dc
ba
y
x
b
8. Một số ví dụ

b)-VPCQ G=<T,N,S,P>

T= {a,b,c,d,x,y}, N= {S, … }

P= {S→aA, A→bB, B→cC,C→dD, D→cE, E→dB, B→bF, F→a,

S→xH, H→xH, H→aK, K→bF, S→bL, L→xR, R→yL,R→b};


VP này sinh Ngôn ngữ L hay L(M)=L

D(abba)=D(S, )

D(xaba)=D(S, )

D(bxb)=D(…)

c) BTCQ biểu diễn NNCQ L là;

BTCQ= ab(cdcd)*ba ∪ xx*aba ∪b(xy)*xb
8. Một số ví dụ

Ví dụ 3.Cho BTCQ: 0(11)*0∪00*10∪10*∪λ
a) Tìm NNCQ biểu diễn bởi BTCQ trên.
b) Xây dựng VPCQ suy rộng sao cho L(G)=L
c) Xây dựng ô tô mat M sao cho L(M)=L(G).

Bài giải.

a) L={0(11)
n
0, 00
m
10, 10
k
, λ| n,m,k≥0}

b) G=<T,N,S,P>; T={1,0}, N={…}


P={S→ λ, S→0A, A→1B, B→1A, A→0, S→0C, C→0C,C→1D, D→0, S→1E, E→0E, E→ λ};

VPCQ suy rộng này sinh L tức là L(G)=L thật vậy:
8. Một số ví dụ

D(λ)=D(S,λ)

D(0(11)
n
0)=D(S,0A,01B,011A, ,0(11)
n
A, 0(11)
n
0)

D(00
m
10)=D(S,0C,0(0)
m
1D,0(0)
m
10)

D(10
k
)=(S,1E,10E,…,10
k
E, 10
k
);


Là các dẫn xuất đầy đủ trong L(G).
c) Ô tô mát M mà L(M)=L(G):
s
0
s
4
s
2
s
1
s
6
s
3
s
5
0
1
0
0
01
0
1
1
0
8. Một số ví dụ

Ta thấy:


f(s
0
,0(11)
n
0)=f(s
4
,(11)
n
0) ∪f(s
1
,(11)
n
0)=f(s
2
, 1(11)
n-1
0)

= f(s
1
,(11)
n-1
0)=…=f(s
1
,0)=s
3
∈F;

f(s
0

,00
m
10)=f(s
4
,0
m
10) ∪f(s
1
,0
m
10)=f(s
4
, 0
m-1
10)

= f(s
4
,10)=f(s
5
,0)=s
3
∈F;

f(s
0
,10
k
)=f(s
6

,0
k
)= f(s
6
,0
k-1
)=…= f(s
6
,0)=s
6
∈F;

f(s
0
,λ)=q
0
∈F;

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×