2. 3.4 Phép đơn định hoá một Otomat
2.4.1.2. Xây dựng Otomat tương đương đơn định, đầy đủ tương đương với nguồn.
Thuật tốn:
Giả sử có nguồn I trên bảng chữ cái . Để xây dựng otomat A đơn định đầy đủ tương đương với nguồn I ta thực hiện một số bước sau:
1) Xây dựng hàm hai biến T: T: 2D(I) 2D(I)
được xác định bằng quan hệ sau:
Bài giảng mơn học: Ngơn ngữ hình thức và Otomat 28 28 q D(I), a , T(q,a) = q s T(s,a) a , T(,a) =
2) Xác định tập trạng thái kết và trạng thái khởi đầu
Tập {v(I)} được thừa nhận là trạng thái khởi đầu của otomat A và đựơc ký hiệu là Q0.
Tập trạng thái kết (F) của otomat được xác định như sau: {q D(I) | q F(I) } {q0} nếu N(I)
{q D(I) | q F(I) } nếu N(I)
3) Otomat đơn định đầy đủ A có dạng : A=(Q, ,Q0, , F)
Trong đó Q là tập trạng thái của Otomat và hàm chuyển trạng thái được xác định bằng quan hệ:
q Q, a ((q,a) = T(q,a)).
Bằng thuật tốn này ta có xây dựng được otomat A tương đương với nguồn I, tức là N(A)=N(I).
Xét ví dụ trên, ta đi xây dựng Otomat đơn định đầy đủ tương đương với nguồn. T(s0,a) = {s0, s1} = q1 T(s0,b) = {s0} = q0 T(s0,c) = {s0} = q0 T(s1,a) = = q2 T(s1,b) = {s2} = q3 T(s1,c) = = q2 T(s2,a) = {s2} = q3 T(s2,b) = {s2} = q3 T(s2,c) = {s2} = q3
T(q1,a) = T({s0, s1},a) = T(s0,a) T(s1,a)= {s0, s1} ={s0, s1} = q1 T(q1,b) = T({s0, s1},b) = T(s0,b) T(s1,b) = {s0, s2} = q4
T(q1,c) = T(({s0, s1},c) = T(s0,c) T(s1,c) = {s0} = s0 = q0 T(q3,a) = T(s2,a)= q3
Bài giảng mơn học: Ngơn ngữ hình thức và Otomat
29 T(q3,b) = T(s2,b)= q3
T(q3,c) = T(s2,c)= q3
T(q4,a) = T({s0, s2},a) = T(s0,a) T(s2,a) = {s0, s1} {s2} = {s0, s1, s2} = q5 T(q4,b) = T({s0, s2},b) = T(s0,b) T(s2,b) ={s0, s2} = q4
T(q4,c) = T({s0, s2},c) = T(s0,c) T(s2,c) ={s0, s2} = q4
T(q5,a) = T({s0, s1, s2},a) =T(s0,a) T(s1,a) T(s2,a) = ({s0, s1, s2} = q5 T(q5,b) = T({s0, s1, s2},b) =T(s0,b) T(s1,b) T(s2,b) = ({s0, s2} = q4 T(q5,c) = T({s0, s1, s2},c) =T(s0,c) T(s1,c) T(s2,c) = ({s0, s2} = q4 Vậy Otomat A đơn định và đầy đủ tương đương với nguồn là :
A=({q0, q1, q2, q3, q4, q5}, {a, b, c}, q0, , {q3, q4, q5}) và hàm chuyển trạng thái được xác định bằng bảng sau :
q0 q1 q2 q3 q4 q5
a q1 q1 q2 q3 q5 q5
b q0 q4 q2 q3 q4 q4
c q0 q0 q2 q3 q4 q4