1. Trang chủ
  2. » Luận Văn - Báo Cáo

giao trinh toan roi rac 2

218 716 0

Đ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

Chương ƠTƠMAT HỮU HẠN ĐỐN NHẬN BIỂU THỨC CHỈNH QUY |1 ÔTÔMAT HỮU HẠN (FINITE AUTOMATA - FA) Ô t m a t hữu h n có t h ể xem n h " m y t r u tượng" để đ o n n h ậ n ngôn ngữ C h ú n g ta t h ấ y r ằ n g láp n g n ngữ điíỢc đ o n n h ậ n ô t ô m a t h ữ u h n k h đơn g i ộ n c h í n h lốp n g ô n ngữ c h í n h quỵ v ă n p h m c h í n h quy sinh 1.1 D i n h n g h ĩ a ô t ô m a t h ữ u h n Đinh nghĩa ĩ: Ơ t m a t hữu h n M = < I Q q„ F> dó: ì - t ậ p hợp hữu h n k h c rỗng ký h i ệ u v o Q- t ậ p hợp hữu h n k h c rỗng t r n g t h i q,j e Q gọi t r n g t h i ban đ ầ u F c Q gọi t ậ p t r n g t h i két t h ú c 5- gọi h m chuyên có dạng; N ê n h m chuyển n h xạ : Q X ì —> Q k h i M gọi ơtơmat đơn định v i ế t t ắ t DFA) 240 (Deterministic Finite Automata, Nếu h m chuyển ánh xạ ơ: Q X ì -» , M Q gọi ơtơtnat khơng đơn định (Nondeterministic Finite Automata, viết t ắ t NDFA) Ta mơ tả bưốc làm việc ôtômat hữu hạn M = < I Q, ô q,„ F> cho xâu vào co = X! x x x E* sau: Xâu vào 0) X, x x _! x n n n t Qo-> Khi bắt đầu làm việc máy trạng thái đầu q đầu đọc nhìn vào có ký hiệu X, Tiếp theo máy chuyển từ trạng thái q đuối tác động ký hiệu vào X i trạng thái ô(q x,) = q, e Q đầu đọc chuyển sang phải Ì ơ, tức nhìn vào có ký hiệu x Sau ơtơmat M l i tiếp tậc chuyển từ trạng thái q, nhờ hàm chuyển trạng thái mói q = 5(q,, Xa) = 5(5(q X,), x ) = 5(q x , x ) e Q 2 Q trình tiếp tậc đầu đọc nhìn vào ký hiệu x„ với trạng thái máy q , = ô(q,„ X1X2 x„.i) n Hàm chuyển l i đưa máy từ trạng thái q _| đuối tác động n x„ trạng thái q,,= 5(q„.ị, x„) = ô(q , X j X x„) € Q Khi ơtơmat dừng l i Nếu q„ F ta nói ơtơmat đốn nhận xâu co Trong trường hợp ngược lại nói ơtơmat khơng đoản nhận xâu co Tập L(M) ={co/ co e ì* mà 5(q , co) e F} gọi ngôn ngữ đốn nhận ơtơmat M Tập trạng thái Q q trình tính tốn coi nhớ ơtơmat Vì Q hữu hạn nên M gọi ôtômat hữu hạn 241 1.2 Phương pháp biêu d i ê n ô t ô m a t hữu hạn Cho ôtômat thực chất cho hàm chuyển Hàm chuyển cho đuối dạng bảng chuyển, cho đuối dạng đồ thị a) Phương pháp Trạng thái cho bảng chuyên: Ký hiệu vào qi x„ Xi x ô(q,, X,) ô(q, x ) ô(q 5(q x ) ô(q x ) • •• 5(q x ) q q S(q X,) S(q , x Qk 5(q , X,) ỗ(q x ) -ỉ Xi) 3 k k S(q,, x„) • 2 n n 5(q x„) k Nếu M = < I Q q F> ơtơmat đơn định ơ(q, Xj) trạng thái Q, cịn ơtơmat khơng đơn định ơ(q Xj) tập trạng thái Q r Ví dụ 1: Cho ơtơmat đơn định M = vối ì ={0 1}, Q={q,, q, q q.j} F = {q,,} trạng thái ban đầu q,„ hàm chuyển cho đuối dạng bảng: Ký hiệu vào Trạng thái q.j Q2 Qi Qo q.ì q 242 q q Cho xâu vào (0= 110101 Quá trình hoạt động ơtơmat M diễn theo q trình sau: ô(q,;„ 1) = qi ô(q, 1) = q,j, ô(q,„ 0) = q , ỗ(q 1) = q 5(q, 0) = q, 5(q„ 1) = q„ e F Diều chứng tỏ ơtơmat M đốn nhận xâu 0) = 110101 Dãy trạng thái M cho xâu vào co = 110101 biểu diễn sau: co = Ì Ì Ì q - » q, -> q,, -> q-2 Ì -> q -> q -> q,.i Hay trình tường đương với diễn đạt sau: S(q , 110101) = Ỗ(ô(q , 1), 10101) = S(q„ 10101) = L 5(5(q, 1) 0101) = 5(q„ 0101) = 5(5(q„ 0).101) = 5(q .101) = 5(ỗ(q 1) OI) = ô(q OI) = S(ô(q 0) 1) = 5(q, 1) = q„ £ F 2 3 Ví dụ 2: Cho ôtômat đơn định M = vối ì = {0.1' Q - {q,„ q, q q.í) q,, trạng thái ban đầu cịn F = { q j tập trạng thái kết thúc Hàm chuyển trạng thái cho b i bảng sau: Trạng thái Ký hiệu vào q Qi q* Q| q q q-2 qo q.3 q q q;i 3 243 Giả sử xét xâu co, = 10110 co = no, C0 = 10011 Hỏi ơtơmat M có đốn nhận xâu hav không ? a Dãy trạng thái ôtômat M cho CO] vào là: co, = Ì Ì Ì q -» q -> q„ -> q -> q -> q e F 2 3 Do ơtơmat M đốn nhận xâu CO) = 10110 b Với xâu vào K>2 = no k h i dãy trạng thái M đối vối xâu vào co là: ©2=1 t Ì t t t q , -» q -> q -> q e F : ơtơmat cĩing đốn nhận xâu C = no c Vối xâu vào Cù = 10011 Ta lập dãy trạng thái ôtômat M đối vói co sau: C0 = 0 1 q,,-> q -> q,, -> q, -> q -> q « F nên máy M khơng đốn nhận xâu vào ) = 10011 2 Từ ví dụ ta thấy q trình đốn nhận xâu đối vối ôtômat M đơn định trình biên đoi trạng thái cuối ơtơmat có phải trạng thái kết thúc hay khơng Ta mơ tả q trình đốn nhận xâu vào ơtơmat đơn định M sau: Thuật tốn mơ ơtơmat hữu hạn đốn nhận xâu vào: Đầu vào: - Một xâu co kết thúc b i ký hiệu hết File eof 244 - M ộ t ô t ô m a t h ữ u h n M với t r n g t h i ban đ ầ u q,i t ậ p t r n g t h i k é t t h ú c F " Đ ú n g " n ế u M đ o n n h ậ n x â u co Đ ầ u ra: "Sai" n ế u M k h ô n g đ o n n h ậ n x â u co Thuật toán: Begin S:= q ; C:=ký hiệu ; While c eof begin S:= 5(S C); C:= ký hiệu tiếp theo; end; if s in F return (True) else return (False); End Ví dụ 3: Cho ô t ô m a t k h ô n g đơn định M = < I Q q„ F> v ố i ì ={0.1 J Q-{q,, q, q q.í) q.-i t r n g t h i ban đ ầ u , F - ÍQ2- q-)} t ậ p hợp t r n g t h i k é t t h ú c Q H m c h u y ê n ô : Q X £ —>• cho ỏ bảng sau: Trạng thái Ký h i ệ u vào q„ {q, q,! q q q q* q q Q4 q.3 íq Q1 ỉ 2 245 Sau đ â y q u t r ì n h đ o n n h ậ n x â u v o m y M Vì đ ố i với ô t ô m a t k h ô n g đơn định t h ì h m chuyển k h i m y t r n g t h i q t í n h i ệ u a ô(q,a) c Q n ê n x u ấ t h i ệ n t ì n h t r n g rẽ n h n h Đ ể cho t i ệ n ta có t h ể l ậ p d ã y t r n g t h i m y ứng v ố i x â u v o d i d n g m gốc t r n g t h i ban đ ầ u q„ Trong c â y n y n ế u có m ộ t đường t gốc q đ ế n m ộ t chứa t r n g t h i k ế t t h ú c t h ì ta nói r ữ n g m y M đoán n h ậ n x â u vào đ a n g xét Ngược l i , n ê u k h n g có m ộ t n o chứa t r n g t h i k ế t t h ú c t h ì ta nói M k h ô n g đ o n n h ậ n x â u vào ụ C h ẳ n g h n k h i cho x â u v o (0, = 01001 đ ố i v ố i m y M t h ì ta có đ o n n h ậ n x â u co ị n h sau: Trong t r ê n có m ộ t đường t q„ đ ế n q CO^OIOOI x â u đ o n n h ậ n m y M b) Phương pháp cho ôtômat đồ thi e F nên xâu chuyển Cho ô t ô m a t h ữ u h n M = < £ , Q, 5, q , F> H m chuyển có t h ể cho b ữ n g đồ t h ị chuyển có hướng theo n g u y ê n tắc sau: M ỗ i t r n g t h i q Q m ộ t đ ỉ n h đồ t h ị N ê u a ì t 246 trạng thái qi chuyển sang trạng thái qj đẳng thức Ô(q;,a) = qj (đối vối DFA) có cung có hướng từ đỉnh qi sang đỉnh qj cung gán n h ã n a Nêu ơ(qj,a) = {qj , qj từ q; sang qj qj qj } đối vối ôtômat không đơn định qj có k cung gán nhãn a Đỉnh vào đồ thị chuyển đỉnh ứng vói trạng thái ban đầu q,, Các đỉnh có trạng thái k ế t thúc khoanh vòng tròn hai lần Các đỉnh l i khoanh vòng trịn Ví dụ 4: Cho ơtơmat đơn định M = < I , Q, 5, q , F>, ì = {0.1}, Q = {q q, q q } F = {q } h m chuyển 5: Q X ì -> Q cho dạng đồ chuyển n h sau: 0 Ì Ví dụ 5: Cho ơtơmat khơng đơn định M = ì ={0,1}, Q = {q,„ q,, q q } F ={q , q ỉ h m chuyển 5: Q X E -> cho dưối dạng đồ thị Q 247 Đôi v ố i ô t ô m a t M ta đ a vào k h i n i ệ m "chuyên dịch A" định nghĩa n h sau: H m A - Closure(T) cho t ậ p t r n g t h i đ t t t r n g t h i s T qua p h é p chuyển dịch A duv n h ấ t Lớp T có t h ể gồm m ộ t p h ầ n tử Nó dược tính n h sau: Đẩy tất trạng thái T vào stack, Đặt A -Closure(T) T While stack không rỗng begin lấy t phần tử stack ra; for trạng thải mà có đường từ t đến u có nhãn if u không thuộc A -Closure(T) begin Thêm u vào A -Closure(T); Đặt u vào Stack; end; end; T h u ậ t t o n m ô ô t ô m a t k h ô n g đơn đ ị n h đ o n n h ậ n x â u vào: Đ ầ u vào: M ộ t x â u v o to, k ế t t h ú c b i ký h i ệ u file eof M ộ t ô t ô m a t k h ô n g đơn định N v ố i t r n g t h i ban đ ầ u q,, t ậ p t r n g t h i k ế t t h ú c F c Q Đ ầ u ra: T r ả l i "True" n ế u N đoán n h ậ n x â u co, "False" trường hợp ngược l i : 248 Thuật toán : Begin S:= A -Closure(q ); C:=ký tự tiếp; While c eof begin S:= - Closure(Move(S,C)); C:=ký tự tiếp; end; if s ó F * then return True else return False End; Chú ý h m Move(T.a) tập trạng thái mà N đạt thực dịch chuyển với ký hiệu vào a từ trạng thái thuộc T 1.3 Sự tương đương ôtômat đơn định không đơn định Theo định nghĩa ôtômat đơn định M ơtơmat khơng đơn định N M N nên lốp ngơn ngữ đốn nhận M lớp ngơn ngữ đốn nhận N Ký hiệu lớp ngơn ngữ đốn nhận M N tương ứng L(M) UN) Định lý 1: Lốp ngơn ngữ đốn nhận ôtômat đơn định trùng với lớp ngôn ngữ đoán nhận ôtômat không đơn định 249 a) Bảng Karnaugh để tối thiểu hóa hàm boole biến gồm vng, hình vng biểu diễn hội sơ cấp có mặt t r o n g DCTT đánh số Các ô vuông gọi kề hội sơ cấp khác tục biên ( t ứ c biến có mặt hội sơ cấp X có mặt h ộ i sơ c ấ p k i a l X, biên k h c giữ nguyên) Bảng Karnaugh hàm biến X, y y y xy xy xy xỹ Tiếp theo dủa vào có sơ Ì kề bảng Karnaugh để rút gọn lại t h n h hội sơ cấp gồm Ì biên Chú ý: Nên t ấ t bốn đề u có số Ì rút gọn bơn hội sơ cấp t h n h số hạng Ta xét ví dụ đây: Ví dụ Cho f(x.y) = Ị A y v x A y Hãy dùng bảng Karnaugh để tơi thiểu hóa hàm boole Giải: Bảng Karnaugh hàm f(x,y) y = X A y v X Á y y 1 Có n g h ĩ a t r o n g ô đ ầ u t i ê n c h ứ a h ộ i sơ c ấ p X A y , c ị n t h ứ hai đuối chứa X A y Vì kề nên hai hội s c ấ p X A y X A y c ó thể t ổ hợp v i ta f(x,y) = x A y v - X A y = ( x v x ) A y = y Ví dụ Cho f(x,y) = X A ỹ v x A y v x A ỹ Hãy tối thiểu hóa f(x,y) bảng Karnaugh 443 Giải: Bảng Karnaugh f(x.y) có dạng ỹ y - X 1 Có kê nhau, nên ta tổ hợp hội sơ cấp X A y với X A ỹ b i ể u thức X t ổ hợp h ộ i sơ cấp X A ỹ vói X A ỹ ta ỹ Hay dạng t ố i thiểu hóa f(x,y) = X V ỹ b) Bảng Karnaugh cho hàm boole biến X, y, z h ì n h chữ n h ậ t chia t h n h có dạng sau : ' y A z y A z ỹ X X ỹ A Z - X A J ' A Z y A z y A V X A y z y A Z A y z A z AZ y A Z X 1 X K A Z = X A y A Z V y A z y X A } ' ỹ A Z A X 1 X 1 z - X A y A z V XA y A z V y A z y A z XAy y A z A z A z ỹ A Z z V X Ay A z y A Z X X X 444 = 1 X A y A Z v X Ay A z V X A y A z V X A y AZ y A z Ỵ A Z y A z y A Z 1 1 1 1 = X A y A Z v x A y A z V X Ay A z V X A y A Z V X AyAZv V X AyA z V X A y A Z vxAy AZ Để t ố i thiểu hóa h m boole ba biến f(x, y, z), ta lập bảng Karnaugh cho f(x, y, z) • Các khối gồm hai kề chứa hội sơ cấp có t h ể tổ hợp vói thành hội sđ cấp • Các khối gồm kể có t h ể tổ hợp hội sở cấp t h n h hội sơ cấp gồm biên • Khối gồm t ấ t kề t h ì f(x, y, z) = Ví dụ Cho f(x, y,z) = X A y A z v x A y A z v x A y A z v x A y A Z Hãy tơi thiểu hóa h m boole bảng Karnaugh Giải : Bảng Karnaugh h m n y ỹ A Z y A z y A z X AZ 1 X y Tổ hợp ô kề Tổ hợp ô kề : : x A Ỵ A z v x A y A Z X A y A z v x A y A Z = X A Z = y A Z Vậy khai triển tối thiểu hóa f(x, y, z) = X A Z V ỹ A Z V X Á y A z Ví dụ Tơi thiểu hóa h m boole f(x,y,z)=L A ỹ A Í Z | V / X A.ỹV ếVfe A y A Z / \ / [ X A y A z/v[x A y A z 445 Giải: Bảng Karnaugh có dạng yA z y A z y A z y A 1 1 z Tổ hợp ô liền I; X A y A z/vCx A y A z >= X A y X A y A z v x A y A z = X A y Vậy dạng tối thiểu f(x,y,z) = X A ỹ v "\ ^ \ X A y V X A y A Z = y V X A y A Z 4.3 Phương pháp Quine - Me Cluskey Phường pháp bảng Karnaugh có hạn chế số biến hàm boole vượt q khó thực quan sát nhận dạng hội số sơ cấp tổ hợp vói Phương pháp Quine - Mc.Cluskey khắc phục nhược điểm Phương pháp Quine - Mc.Cluskey có hai phần : Phần thễ tìm sơ hạng ễng viên đưa vào khai triển cực tiểu hàm boole đuối dạng chuẩn tắc tuyển Phần thễ hai xác định xem ễng viên sơ hạng thực dùng Ta mô tả phương pháp qua ví dụ sau đây: Ví dụ Tối thiểu hóa h m f(x,y,z)= X A y A Z v x A y A Z v x A y A z v x A y A Z v x A y A Z Trưốc hết ta biểu diễn hội sơ cấp có mặt h m f(x,y,z) xâu bit theo nguyên tắc sau: biên boole khơng có dấu phủ định thay có dấu phủ định thay Xem bảng dưối đây: 446 Bảng Hội sơ cấp X A y A z 1 X A y A z 1 z 1 z 0 1 z 0 0 X A X X s ố số Xâu bit y A A A y ỹ A A T i ế p theo h ộ i sơ cấp có t h ể t ổ hợp với n ê u c h ú n g k h c n h a u m ộ t tục b i ế n H a y h a i h ộ i sơ cấp có t h ể to hợp v ố i n h a u k h i v k h i x â u b i t t n g ứ n g k h c n h a u m ộ t số Ví d ụ X A ỹ A z v X A ỹ A z b i ể u d i ễ n h a i x â u b í t Ì Ì v 0 Ì có t h ể t ổ hợp t h n h ỹ A z v ố i x â u b í t - H a i h ộ i sơ cấp có hai tục biên có t h ể tổ hợp v ố i n h a u đ ể h ộ i có m ộ t tục b i ế n vói đ i ề u k i ệ n h a i h ộ i sơ cấp có tục b i ế n c ù n g h a i b i ê n Nói cách k h c theo n g ô n n g ữ x â u b i t t h ì h a i x â u b i t h a i h ộ i sơ cấp p h ỏ i có gạch ngang c ù n g m ộ t vị t r í v k h c n h a u ỏ m ộ t hai vị t r í cịn l i Ta có t h ể t ổ hợp y A z v ỹ z b i ể u diễn qua x â u b i t - Ì Ì v - Ì t h n h z b i ể u d i ễ n x â u b i t - - K ế t q u ỏ t ổ hợp t r ê n cho b ỏ n g sau đ â y : Bảng TT Hội sơ cấp X A y A X A X ỹ A y Xâu bit Xâu bit - (1, 2, 3, 4) z 1 (1,2) A z 1 (1,3) y A z 1 (2,4) ỹ z 0 (3,4) z 0 (4,5) X A ỹ X A ỹ A A Hội sơ cấp Xâu bit sau tổ hợp Hội sơ cấp sau tổ hợp XA z A Z - 1 A z - X A z - ỹ 0 - X A z - - 447 Chú ý: Trong bảng ta hội sơ cấp dùng để tạo hội sơ cấp có số biến có tục biến khơng thiết chúng phải có mặt biểu thức tối thiểu hóa hàm boole Bưốc cuối xây dựng biểu thức tối thiểu hóa f(x,y,z) theo nguyên tắc sau đây: Xét tất hội sơ cấp chưa dùng để xây dựng hội sổ cấp có số tục biến Trong bảng z X A ỹ Sau ta lịp bảng đuối để kiểm tra xem hội sơ cấp (ứng viên) z X A ỹ có thực phủ hết hội sơ cấp hàm f(x,y,z) hay không, tức hội sờ cấp có chứa z, X A ỹ hay khơng (nêu có đánh dấu x) Bảng Các ứng viên X A z X A yA z X A y X A z X A X yA z X X A y A z X A y A z X ỹ X Từ bảng ta thấy z có mặt hội sơ cấp f(x,y,z) cịn X A ỹ có mặt hội sơ cấp cuối f(x,y,z) Hay ứng viên z, X A ỹ l p h ủ h ế t h ộ i sơ cấp f(x,y,z) Vì vịy dạng t ố i thiểu hóa hàm f(x,y,z) z V X A ỹ BÀI TẬP Tìm giá trị Ì Chứng minh đắn luịt phân phôi cách lịp bảmg giá trị chân lý: 448 V (0 V 1) (y V z) = (x A y) V (x A z) Tìm giá trị (nêu có) biến boole X thỏa mãn phương trình sau: a) X A = 0; b) X A X = Ì X A A Tìm giá trị biếu boole X mãn thỏa X A y - X V V Chứng minh F(x.v.z) = X •• y - X A z V y z có giá trì Ì hai số biên X V, z có giá trị Tìm biểu thức boole đối ngẫu biểu thức boole a) X J y V X A V X r\ Ì; b) X V y V z V X A ỹ A Z Tìm dạng chuẩn tắc tuyên h m boole a ) f(x.y,z) = (x V y) A z ; b) f(x.y) = X V y c) f(x.y) = Ì d) f(x,y) = ỹ e) f ( x , y , z ) = X V V V z, Tìm dạng chuẩn tắc tuyển hàm boole f(x.y.z) = Ì nếu: a) X •• 0: b) XV 0: c) XV y = ũ; d) X A y A z — Đôi hẹ thông đèn cô định điề u khiên nhiều công tắc Các mạch cỳn thiết k ế cho ấn (hoặc gạt) công tắc hệ thống đèn t ắ t bật bật tắt Hãv thiết kê mạch thực điề u có cơng tắc có ba cơng tắc Tìm đ ỳ u hai mạch điện sau đây: OA •X - y • h ) « ì ó o—[> Ch 4> l i Dựng mạch gồm đảo cổng AND OR để tạo đỳu cho ì) • - Ị ỉ X •• V J y A z V X A y A z y) A X 449 12 Thiết k ế mạch thực bỏ phiếu theo đa số cho năm thành viên 13 Dùng bảng Karnaugh để tối thiểu hóa h m boole sau : a) X A y; b ) x A y v X A ỹ ; c ) x A y v x A ỹ v X A y v X A ỹ ; d) X A y V X A ỹ e ) x A y v x A ỹ 14 Dùng bảng Karnaugh để tối thiểu hóa h m boole a) f(x,y.z) = X A y A z V X A ỹ A Z V X A y A Z v X A ỹ A z b) f(x,y,z) - X A ỹ A Z V X A ỹ A Z V X A y A Z V X A ỹ A Z V X A ỹ A z c) f(x,y,z) — X A y A Z v x A y A z V X A ỹ A z V X A ỹ A z V X A y A zV X A ỹ A z V X A ỹ A z 15 Dùng bảng Karnaugh để tối thiểu hóa hàm boole f(x,y,z,

Ngày đăng: 19/10/2016, 17:01

Xem thêm: giao trinh toan roi rac 2

TỪ KHÓA LIÊN QUAN

Mục lục

    Chương I-KHÁI NIỆM THUẬT TOÁN - PHƯƠNG PHÁP QUY NẠP - HƯƠNG PHÁP ĐỆ QUY

    1. KHÁI NIỆM THUẬT TOÁN

    2. PHƯƠNG PHÁP QUY NẠP

    3. PHƯƠNG PHÁP ĐỆ QUY

    Chương 2 - QUAN HỆ

    |1. QUAN HỆ VÀ BIỂU DIỄN QUAN HỆ

    52. CUNG VÀ ĐƯỜNG TRONG Đ ổ THỊ CỦA QUAN HỆ

    S3. QUAN HỆ NGƯỢC VÀ QUAN HỆ HỢP THÀNH

    S4. QUAN HỆ TƯƠNG ĐƯƠNG

    |5. BAO ĐÓNG BẮC CẦU C Ủ A QUAN HỆ

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN