Published on
1. ĐẠI HỌC QUẢNG NGÃI BỘ ĐỀ TOÁN RỜI RẠC Dùng cho sinh viên khoa Công nghệ thông tin và cho thí sinh luyện thi cao học ngành Khoa học máy tính Biên soạn: BÙI TẤN NGỌC – 10/2011 –
3. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 2 a xong, b a) Sau k a, b c a, b) b. abc c : {0, 2, 4}. + Khi c a b như sau: c =0, a {1, 2, 3, 4, 5}. a, c b + Khi c c a b như sau: c, a c a, c b c a) Bài 3. Có bao nhiêu xâu khác nhau có thể lập được từ các chữ cái trong từ MISSISSIPI, COMPUTER yêu cầu phải dùng tất cả các chữ? Từ MISSISSIPI có chứa : 1 từ M, 4 từ I, 4 từ S và 1 từ P Số xâu khác nhau là : !1!.4!.4!.1 !10 Xâu COMPUTER , nên lập được 8! xâu.
6. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 5 Moät caàu thuû ñaõ chæ ñònh laøm thuû moân, vaäy ta caàn choïn ra 10 caàu thuû trong 19 caàu thuû coøn laïi xeáp vaøo 10 vò trí. Soá caùch choïn baèng chænh hôïp khoâng laëp chaäp 10 cuûa 19 phaàn töû : 003352212864 !9 !19 )!1019( !19 )!( ! kn n Ak n caùch. c. Coù 3 caàu thuû chæ coù theå laøm thuû moân ñöôïc, caùc caàu thuû khaùc chôi ôû vò trí naøo cuõng ñöôïc ? Coù 3 caùch choïn 1 caàu thuû ñeå laøm thuû moân töø 3 caàu thuû. Sau khi ta choïn thuû moân xong, keá ñeán choïn 10 caàu thuû trong 17 caàu thuû coøn laïi ñeå xeáp vaøo 10 vò trí, coù: 07057290240 !7 !17 )!1017( !17 )!( ! kn n Ak n caùch Theo nguyeân lyù nhaân, ta coù: 3 07057290240 = 211718707200 caùch. Bài 8. Coù 8 ngöôøi ñi vaøo 1 thang maùy cuûa moät toøa nhaø 13 taàng. Hoûi coù bao nhieâu caùch ñeå : a. Moãi ngöôøi ñi vaøo 1 taàng khaùc nhau. Soá caùch ñi vaøo 8 taàng khaùc nhau cuûa 8 ngöôøi naøy laø soá caùch choïn 8 trong soá 13 taàng khaùc nhau (moãi taàng ñöôïc ñaùnh soá töø 1 ñeán 13). Ñoù laø soá chænh hôïp khoâng laëp chaäp 8 cuûa 13 phaàn töû: 51891840 !5 !13 )!813( !13 )!( ! kn n Ak n b. 8 ngöôøi naøy, moãi ngöôøi ñi vaøo 1 taàng baát kì naøo ñoù. Moãi ngöôøi coù 13 caùch löïa choïn töø taàng 1 ñeán 13. Maø coù 8 ngöôøi. Vaäy soá caùch choïn laø 813 . Bài 9. Có bao nhiêu xâu có độ dài 10 được tạo từ tập {a, b, c} thỏa mãn ít nhất 1 trong 2 điều kiện: – Chứa đúng 3 chữ a & chúng phải đứng cạnh nhau – Chứa đúng 4 chữ b & chúng phải đứng cạnh nhau Gọi A là số xâu có độ dài 10 có chứa đúng 3 chữ a đứng cạnh nhau. B là số xâu có độ dài 10 có chứa đúng 4 chữ b đứng cạnh nhau. Như vậy: A B là số xâu mà ta phải tìm.
10. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 9 + Bỏ 2 viên bi chai vào 3 cái túi, có 6 2 4.3 !2)!.2( !42 4 13 123 1 1 CCCn kn cách bỏ bi + Bỏ 1 viên bi chai vào 3 cái túi, có 3 !2!.1 !32 3 13 113 1 1 CCCn kn cách bỏ bi Theo nguyên lý nhân, ta có: 6.6.3 = 108 cách bỏ bi. c. Giả sử chúng ta có 5 viên bi (2 bi sắt, 2 bi chai và 1 bi đất. Cho biết có bao nhiêu cách sắp chúng thành hàng? Ví dụ: sắt sắt chai chai đất, sắt chai sắt chai đất,… Cách sắp các viên bi thành hàng chính bằng hoán vị lặp của 5 phần tử, trong đó 2 bi sắt, 2 bi chai và 1 bi đất, vậy có: 30 2 5.4.3 !1!.2!.2 !5 cách sắp bi. 14. (Đề thi cao học ĐH CNTT TPHCM -5/2001) a. Tìm số các chuỗi 8 bits thỏa mãn điều kiện: bit đầu tiên là 1 hay 2 bit cuối là 0 Gọi A là số chuỗi 8bits có bit đầu tiên là 1 B là số chuỗi 8bits có 2 bit cuối là 0. Theo nguyên lý bù trừ, ta có N(A B) = N(A) + N(B) – N(A B) Tính N(A): Gọi S=s1s2s3s4s5s6s7s8 là chuỗi 8bits có bit đầu tiên là 1. Vậy s1 có 1 trường hợp, si(i=2..8) có 2 trường hợp 0 và 1. Theo nguyên lý nhân, ta có: N(A) = 1.2.2.2.2.2.2.2 = 27 Tương tự: N(B) = 26 . N(A B) = 25 Vậy: N(A B) = 27 + 26 – 25 = 160 b. Mỗi người sử dụng một hệ thống máy tính của một công ty X phải sử dụng một password dài từ 6 đến 8 ký tự, trong đó mỗi ký tự là một chữ cái hoặc là một chữ s Mỗi password phải có ít nhất một chữ số. Hỏi có thể lập được bao nhiêu password khác nhau? n .
11. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 10 n . n – 52n 6 – 526 7 – 527 8 – 528 6 – 526 ) + (627 – 527 ) + (628 – 528 ) 6 – 266 ) + (367 – 267 ) + (368 – 268 ) 15. (Đề thi cao học ĐH KHTN-1999) Xét 3 chuỗi ký tự trên tập mẫu tự {a, b, c} ( với a < b < c) : s1 = ac, s2 = aacb, s3 = aba. a. Hãy sắp xếp chúng theo thứ tự tăng đối với thứ tự từ điển. a < b < c, nên s2 < s3 < s1) b. Cho biết giữa s1 và s3 có bao nhiêu chuỗi ký tự có chiều dài 6. s3 = aba < ab * * * * < s1 = ac Bài 16. Cho trước một đa giác lồi P có 10 đỉnh lần lượt là A, B, C, D, E, F, G, H, I, J. Giả sử rằng trong đa giác không có 3 đường chéo nào cắt nhau tại một điểm. Hãy cho biết đa giác có tổng bao nhiêu đường chéo. Vì đa giác lồi P có 10 đỉnh, nên tổng số các đường nối 2 đỉnh bất kỳ của P chính bằng tổ hợp chập 2 (đỉnh) của 10 (đỉnh). 45 2 10.9 !2)!.210( !102 10C cạnh. Theo đề bài đa giác lồi P có 10 cạnh, vậy số đường chéo của đa giác P là: 45 -10 =35
15. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 14 12650 4.3.2 25.24.23.22 !4!.21 !25 !4)!.425( !254 25 15 1215 1 1 CCCn kn b. x5<4. + x1 ≥ 3 (II) + x1 ≥ 3, x5 ≥ 4 (III) – r. (1) x1 ≥ 3 – a = x1 – 3 x1 = a + 3 a + 3 + b + c + d + e = 21 a + b + c + d + e = 18 (2) ≥ 3. q = 7315 4.3.2 22.21.20.19 !4!.18 !22 !4)!.422( !224 22 15 1185 1 1 CCCn kn x3 ≥ 0, x4 ≥ 0, x5 ≥ 4. x1 ≥ 3 – – 3 x1 = a + 3 x5 ≥ 4 x5 – 4 ≥ 0 e = x5 – 4 x5 = e + 4 a + 3 + b + c + d + e + 4 = 21 a + b + c + d + e = 14 (3 x1 ≥ 3, x5 ≥ 4.
16. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 15 r = 3060 4.3.2 18.17.16.15 !4!.14 !18 !4)!.418( !184 18 15 1145 1 1 CCCn kn – r = 7315 – 3060 = 4255. . ( – 9/2011) Người ta chia 10 viên kẹo (hoàn toàn giống nhau) cho 3 em bé. a. Có bao nhiêu cách chia kẹo Gọi x1, x2, x3 lần lượt là số kẹo được chia cho mỗi em Ta có : x1 + x2 + x3 = 10 với x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 0 3 10 3 Vậy có 66 cách chia 10 viên kẹo cho 3 em bé. b. Có bao nhiêu cách chia kẹo sao cho em nào cũng có ít nhất 1 viên Gọi x1, x2, x3 lần lượt là số kẹo được chia cho mỗi em. Vì mỗi em phải có ít nhất 1 viên nên: x1 + x2 + x3 = 10 (1) với x1 ≥ 1, x2 ≥ 1, x3 ≥ 1. Đặt: x1′ = x1 – 1 ≥ 0 x1 = x1′ + 1 (a) x2′ = x2 – 1 ≥ 0 x2 = x2′ + 1 (b) x3′ = x3 – 1 ≥ 0 x3 = x3′ + 1 (c) Thay (a), (b) và (c) vào phương trình (1), ta được : x1′ + x2′ + x3′ = 7 (2) với x1′ ≥ 0, x2′ ≥ 0, x3′ ≥ 0 Số nghiệm nguyên dương của phương trình (2) cũng chính bằng số nghiệm nguyên dương của phương trình (1) thỏa mãn với điều kiện mà đề bài đưa ra và bằng: Vậy có 36 cách chia 10 viên kẹo cho 3 em bé mà mỗi em bé có ít nhất 1 viên.
17. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 16 Bài 20. (Đề thi cao học ĐH Đà Nẵng – 8/2009). Cho bảng chữ cái gồm n ký tự phân biệt, trong đó có ký tự a. Hãy cho biết: a. Có bao nhiêu chuỗi ký tự được xây dựng từ có độ dài p. Số chuỗi có độ dài p được xây dựng từ bảng chữ cái gồm n ký tự phân biệt, chính bằng chỉnh hợp lặp chập p của n phần tử: p n . b. Có bao nhiêu chuỗi ký tự được xây dựng từ có độ dài p chứa ít một ký tự a. Số chuỗi có độ dài p không chứa ký tự a là: p n )1( . Số chuỗi có độ dài p chứa ít nhất 1 ký tự a bằng số chuỗi có độ dài p trừ đi số chuỗi có độ dài p không chứa ký tự a: p n – p n )1( . c. Có bao nhiêu chuỗi được xây dựng từ có độ dài p chứa chỉ một ký tự a. Gọi B là số chuỗi có độ dài p-1 không có ký tự a là: B = 1 )1( p n . Để có chuỗi có đúng 1 ký tự a, ta đem chèn ký tự a vào số chuỗi B. Ứng với 1 chuỗi trong B có p cách chèn ký tự a vào. Vậy số chuỗi được xây dựng từ có độ dài p chứa chỉ một ký tự a là: 1 )1( p np d. Có bao nhiêu chuỗi ký tự được xây dựng từ có độ dài p có đúng q ký tự a. Số tập hợp gồm q vị trí trong số p vị trí của chuỗi có độ dài p là: !)!.( ! qqp p Cq p Trong chuỗi p, có q ký tự a, số ký tự ký còn lại không có chứa a là p-q, và bằng qp n )1( Vậy số chuỗi được xây dựng từ có độ dài p chứa q ký tự a là: qp n qqp p )1( !)!.( ! Bài 21. Đếm số cách đặt 20 cuốn sách vào 4 ngăn tủ, mỗi ngăn đựng 5 cuốn, nếu: a. Mỗi ngăn được đánh số phân biệt b. Các ngăn như nhau a. Chọn 5 cuốn sách bỏ vào ngăn 1, có : !5)!.15( !205 20C cách Sau khi chọn 5 cuốn bỏ vào ngăn 2, số sách còn lại là 15. Chọn tiếp 5 cuốn bỏ vào ngăn 2, có: !5)!.10( !155 15C cách.
19. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 18 Bài 23. (Đề thi cao học Đà Nẵng – 10/2010) Cho X={0..15}. Chứng tỏ rằng nếu S là một tập con gồm 9 phần tử của X thì có ít nhất 2 phần tử của S có tổng bằng 15. Phân hoạch X thành 8 tập con, mỗi tập con đều có tổng bằng 15, như sau: {0,15}, {1,14}, {2,13}, {3,12}, {4,11}, {5,10}, {6,9}, {7,8} Phân 9 phần tử của S vào 8 tập con trên. Theo nguyên lý Dirichlet, có 2 phần tử của S thuộc một tập nào đó, mà tổng 2 phần tử này sẽ bằng 15. Bài 24. (Đề thi cao học Đà Nẵng – 3/2011) Trong mặt phẳng cho 6 điểm phân biệt nối nhau từng đôi một bởi các đoạn thẳng màu xanh hoặc đỏ. Chứng tỏ rằng có 3 điểm nối nhau bởi các đoạn thẳng cùng màu. Gọi A, B, C, D, E, F là 6 điểm phân biệt nằm trong một mặt phẳng. Giả sử ta chọn điểm A, nối điểm A với 5 điểm còn lại B, C, D, E, F bởi các đoạn thẳng màu xanh hoặc đỏ. + Ngược lại, tam giác BCD không có cạnh màu đỏ, thì tam giác này phải màu xanh. Vậy luôn luôn tồn tại 3 điểm nối với nhau từng đôi 1 bởi các đoạn thẳng cùng màu A B C D E F Giả sử ta chọn điểm A, nối điểm A với 5 điểm còn lại B, C, D, E, F bởi các đoạn thẳng màu xanh hoặc đỏ. Theo nguyên lý Dirichlet phải có 3 đoạn thẳng cùng màu xanh hoặc đỏ. Giả sử là 3 đoạn thẳng AB, AC và AD có màu đỏ (như hình vẽ). + Nếu trong tam giác BCD có cạnh màu đỏ, giả sử là cạnh BC, thì tam giác ABC là tam giác có các cạnh màu đỏ (hay 3 điểm nối nhau cùng màu).
21. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 20 + Sáu điểm A, B, C, D, E, F được nối với nhau từng đôi một bởi các đoạn thẳng, trong đó có ít nhất 1 đoạn thẳng có màu đỏ. Khi đó, đoạn thẳng màu đỏ này cùng với điểm P tạo thành 3 điểm nối với nhau bởi các đoạn thẳng có màu đỏ. + Sáu điểm A, B, C, D, E, F được nối với nhau từng đôi một bởi các đoạn thẳng không có màu đỏ, tức là các đoạn thẳng này có màu xanh hoặc vàng. Khi đó, chọn điểm bất kỳ (chẳng hạn điểm A) nối với 5 điểm còn lại bởi các đoạn thẳng màu xanh hoặc vàng. Theo nguyên lý Dirichlet, tồn tại ít nhất 3 trong 5 đoạn thẳng có cùng màu, giả sử đó là màu xanh. Giả sử đó là các cạnh AB, AC và AD. Nếu có ít nhất một trong 3 đoạn thẳng BC, CD và DB có màu xanh thì cùng với điểm A tạo thành 3 điểm được nối với bởi màu xanh. Ngược lại, thì B, C, D là điểm được nối với nhau bởi màu vàng. Như vậy, luôn tồn tại ba điểm nối với nhau bởi các đoạn thẳng cùng màu Bài 27. Trong mặt phẳng xOy lấy ngẫu nhiên 5 điểm tọa độ nguyên. Chứng tỏ rằng có ít nhất một trung điểm của các đoạn nối chúng có tọa độ nguyên. Giả sử trong mặt phẳng xOy có A(x1,y1), B(x2,y2). Vậy trung điểm của đoạn thẳng AB sẽ là: 2 21 , 2 21 yyxx . Các tọa độ này nguyên khi: (x1,x2) đều chẵn hoặc đều lẻ, (y1,y2) đều chẵn hoặc đều lẻ. Vì có 4 bộ bao gồm 2 phần tử có tính chẵn lẻ với nhau. Nên theo nguyên lý Dirichlet thì trong 5 điểm sẽ có ít nhất 2 điểm có tính chẵn lẻ như nhau. Do dó, trung điểm của 2 điểm này sẽ có tọa độ nguyên. Bài 28. Cho trước các tập hợp gồm các phần tử xác định nào đó. a. Hãy cho biết các cách mô tả, hay biểu diễn một tập hợp? Cho ví dụ. + Nếu A là một tập hợp gồm một số hữu hạn phần tử, để biểu diễn tập A, ta có thể liệt kê hết các phần tử của A. – Ví dụ biểu diễn A là tập hợp 4 chữ cái hoa đầu tiên: A={‘A’,’B’,’C’,’D’} + Nếu A là một tập hợp vô hạn các phần tử, để biểu diễn tập A, ta dùng cách biểu diễn tính chất của các phần tử, có dạng: A={x P(x)} là tập hợp các phần tử x, sao cho x thỏa mãn tính chất P
22. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 21 – Ví dụ biểu diễn A là tập hợp các số thực: A={x x R} b. Hãy cho biết thế nào là một tập hợp đếm được, một tập hợp không đếm được? Cho ví dụ. + Nếu A là một tập hợp có hữu hạn phần tử, thì tập A được gọi là tập đếm được. Ví dụ: A={1, 2, 3, 4, 5, 6, 7, 8, 9}, A là tập đếm được vì nó có 9 phần tử, từ 1 đến 9 + Nếu A là một tập hợp có vô hạn phần tử, thì tập A có thể là tập đếm được hoặc không đếm được. Để xác định A có đếm được hay không ta chỉ cần xây dựng song ánh giữa tập A với tập các số tự nhiên N. Ví dụ: Cho A là tập hợp các số phức. A là tập vô hạn không đếm được. c. Cho A là tập không đếm được, B là tập đếm được. Hãy cho biết tập hợp A-B (hiệu) có đếm được hay không? Giả sử A-B là tập đếm được, khi đó A=(A-B) B cũng là tập hợp đếm được, vì: (A-B) : là tập đếm được theo giả thiết. B : là tập đếm được theo đề bài. Mâu thuẩn với đề bài đã cho là A là tập không đếm được. Vậy A-B là tập không đếm được. d. CMR tích Decac của hai tập hợp vô hạn đếm được cũng là một tập vô hạn đếm được? Tích Decac AxB là tập tất cả các cặp phần tử có trật tự sắp xếp (a,b) được tạo ra bởi một phần tử a A với các phần tử đứng kế tiếp b B. Giả sử A={ai, i=1..n}; B={bj, j=1..n} Ta xây dựng một (bảng) ma trận hai chiều, đầu mỗi hàng là một phần tử của A, đầu mỗi cột là phần tử của B. Khi đó, các phần tử của tích Decac AxB là các phần tử của ma trận.
29. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 28 C00: C tùy ý có độ dài n-2, số chuỗi là: 2(n-2) Ta có công thức truy hồi: Sn=S(n-1)+S(n-2)+ 2(n-2) Bài 6. (Đề thi cao học Đà Nẵng – 9/2010) Cho biết dân số của Việt Nam năm 2007 là 86 triệu người. Giả sử tốc độ tăng dân số hằng năm là 0,2% mỗi năm. Gọi Dn là dân số của Việt Nam n năm sau 2007 a. Lập hệ thức truy hồi tính Dn. Gọi: D0 là tổng dân số Việt Nam năm 2007, D0 = 86 triệu người D1 là tổng dân số Việt Nam năm 2008 : D1 = D0 + 0,002.D0=1,002.D0 ………………………….. Dn là tổng dân số Việt Nam n năm sau năm 2007 Dn = Dn-1 + 0,002Dn-1 = 1,002.Dn-1 b. Dân số Việt Nam năm 2020 là bao nhiêu? Thế lần lượt Dn-1 = 1,002.Dn-2 vào Dn Dn-2 = 1,002Dn-3 vào Dn-1 …….. Cuối cùng ta có : Dn = (1,002)n .D0 = 86.(1,002)n triệu người. Theo đề bài, ta có: n = 2020 – 2007 = 13 Như vậy sau 13 năm dân số Việt Nam là: D13 =86.(1,002)13 triệu người. Bài 7. Giả sử lãi suất ngân hàng là 2% một năm. Tính tổng số tiền có trong tài khoản sau 10 năm, nếu tiền gửi ban đầu tài 10 triệu. P0 là số tiền ban đầu : P0 = 10 triệu P1 là tổng số tiền sau 1 năm gửi: P1 = P0 + 0,02P0 = 1,02P0 P2 là tổng số tiền sau 2 năm gửi: P2 = P1 + 0,02P1 =1,02P1 = 1,02 . 1,02 P0 = (1,02)2 P0
30. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 29 ….. Pn là tổng số tiền sau n năm gửi: Pn = Pn-1 + 1,02Pn-1 …. = (1,02)n P0 Với n=10, ta có: P10 = (1,02)10 P0 = (1,02)10 .10 = 12,189 triệu đồng. Bài 8. Tìm hệ thức truy hồi và điều kiện đầu để tính số chuỗi nhị phân độ dài n có 4 bít 0 liên tiếp. Ứng dụng tính số chuỗi với n=8. Gọi Sn là số chuỗi nhị phân độ dài n (n 4) có 4 bit 0 liên tiếp. Sn sẽ có một trong các dạng sau: A1: Trong đó A chứa 4 bit 0 liên tục, số chuỗi là: S(n-1) B10: B chứa 4 bít 0 liên tục, số chuỗi là: S(n-2) C100: C chứa 4 bít 0 liên tục, số chuỗi là: S(n-3) D1000: D chứa 4 bít 0 liên tục, số chuỗi là: S(n-4) E0000: E tùy ý có độ dài n-4, số chuỗi là 2(n-4) Ta có công thức truy hồi: Sn=S(n-1)+S(n-2)+S(n-3)+S(n-4)+2(n-4) Điều kiện đầu là: S1=S2=S3=0; S4=1 (Nghĩa là, với n=1, 2, 3 không có chuỗi nào, n=4 có duy nhất 1 chuỗi, đó là: 0000). Dùng phương pháp thế để giải, như sau: s5 = s4+s3+s2+s1+2 = 1+0+0+0+2 = 3 (chuỗi độ dài 5 có 3 trường hợp 0000 kề nhau: 00000, 10000, 00001) s6 = s5 + s4 + s3 + s2 + 22 = 3 + 1 + 0 +0+4 = 8 s7 = s6 + s5 + s4 + s3 + 23 = 8 + 3 + 1+0 + 8 = 20 s8 = s7 + s6 + s5 + s4 + 24 = 20 + 8 + 3 + 1 + 16 = 48 Vậy có 48 chuỗi nhị phân có độ dài 8 chứa 4 bits 0 kề nhau.
32. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 31 Logic mệnh đề Bài 1. Viết bảng giá trị chân lý của các phép toán mệnh đề Bài 2. Hãy nêu các công thức trong logic mệnh đề
33. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 32 Bài 3. Chứng minh a. rqprpqp )()( )()()()( rpqprpqp (Đ/n ) ))()(()( rprpqp (Luật De Morgan và Đ/n ) ))()(()( rprppq (Luật De Morgan và giao hoán) ))()((( rprppq (Luật kết hợp) )))(())((( rpprppq (Luật phân phối) ))))(())((( rpprppq (Luật kết hợp) ))()(( rprTq (Luật bù) ))(( rpTq (Luật nuốt) )( rpq ( Luật đồng nhất) rqp ( Luật giao hoán) b. )()]([)( pqqrqqp )]()[()()]([)( qqrqqpqrqqp ])[()( qrqqp ])[()( qTrqp ][)( qTqp qqp )( qqqp Fqp qp qp
34. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 33 c. 1)]()[( qpqpp qpqqpqpp )](0[)]()[( (Luật đúng sai) qpq )( (Luật đồng nhất) qpq )( (Đ/n ) qpq )( (Luật De Morgan) pqq )( (Luật kết hợp) p1 (Luật đúng sai) 1 (Luật trội) Bài 4. Viết biểu thức mệnh đề của: a. Bạn không được phép lái xe máy nếu bạn chưa cao đến 1,5m, trừ khi bạn đủ 18 tuổi và có giấy phép lái xe. Ta đặt các biến mệnh đề: p : Bạn được phép lái xe máy. q : Bạn cao dưới 1,5 m r : Bạn đủ 18 tuổi. s : Bạn có giấy phép lái xe. q r s p Hoặc : q r s p. b. Đặt P, Q lần lượt là các mệnh đề: P := ” Minh học chăm”, Q:= ” Minh có kết quả học tập tốt” Hãy viết lại các mệnh đề sau dưới dạng hình thức trong đó có sử dụng các phép nối. * Minh học chăm và có kết quả học tập tốt: QP * Minh học chăm hay Minh có kết quả học tập tốt: QP * Nếu Minh học chăm thì Minh có kết quả học tập tốt: QP * Minh có kết quả học tập tốt khi và chỉ khi Minh học chăm: PQ Bài 5. (Đề thi cao học ĐHSP HN – 2006) a. Cho trước mệnh đề logic F = (P (R Q)) ( P (Q (R P))), Trong đó P, Q, R là ba mệnh đề logic và là phép phủ định.
36. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 35 Bài 6. Dùng bảng chân trị chứng minh rằng : CBACBA A B C CBA CBA A B C CBA 0 0 0 0 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 0 0 Bài 7.Trình bày các quy tắc suy diễn trong logic mệnh đề
38. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 37 q r s (4) (Tam đoạn luận 1 và 2) s (5) (Tiền đề) rq (Do 4, 5 và luật phủ định) q r (Luật De Morgan ) Vậy suy luận trên là đúng. b. Cho biết biểu thức nào trong số các biểu thức sau đây là đồng nhất đúng 1. pqr p+q là đồng nhất đúng: p q r pqr p+q pqr p+q 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 2. (p q(q r)) (p r) là đồng nhất đúng: p q r q r q(q r) p q(q r)) p r (p q(q r)) (p r) 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 3. (p q) p không đồng nhất đúng: p q p q (p q) p 0 0 1 0 0 1 1 0
39. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 38 1 0 0 1 1 1 1 1 4. (p (q+r)) (q pr) không đồng nhất đúng: p q r q+r p (q+r) q pr q pr (p (q+r)) (q pr) 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 c. Tìm giá trị các biến Boole x và y thỏa mãn phương trình xy = x + y x y xy x + y 0 0 0 0 1 1 1 1 Bài 10. Hãy kiểm tra các suy luận sau và cho biết đã sử dụng quy tắc suy diễn nào? c, a. ((p q) q) p (Quy tắc phủ định) r p (r p) (De Morgan)
41. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 40 Đại số Boole Bài 1. Trình bày các tính chất của các phép toán Boole 1. Tính giao hoán: a.b = b.a a+b = b+a. 2. Tính kết hợp: (a.b).c = a.(b.c) (a+b)+c = a+(b+c). 3. Tính phân phối: a.(b+c) = (a.b)+(a.c) a+(b.c) = (a+b).(a+c). 4. Tính đồng nhất: a.1 = 1.a = a a+0 = 0+a = a. 5. Tính bù: 0.. aaaa 0aaaa 6. Tính nuốt a.0 = 0 a+1 = 1 7. Tính luỹ đẳng a.a = a a+a = a. 8. Hệ thức De Morgan baab baba 9. Tính bù kép aa 10. Tính hút a.(a+b) = a a+(a.b) = a.
42. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 41 Bài 2. Tối thiểu hàm Bool bằng bảng Karnaugh a) zyxyzxzyxzxyzyxF ),,( Việc nhóm thành các khối cho thấy rằng: Có 2 cặp hình vuông kề nhau, cặp ngang biểu diễn cho zx , cặp đứng biểu diễn cho zy và 1 hình vuông cô lập biểu diễn cho yzx ; vì vậy: zx , zy và yzx là các nguyên nhân nguyên tố của F(x,y,z). Do đó, ta có hàm tuyển chuẩn tắc tối thiểu là: yzxzyzxzyxF ),,( zxyzyxF ),,( zyxzyxF ),,(
43. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 42 Bài 3. (Đề thi cao học Đà Nẵng – 8/2008) a. Tìm các giá trị của hàm Boole được biểu diễn: zxyzyxF ),,( x y z z xy zxy 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 b. Tối thiểu hàm Boole yxyxyxyxF ),( yxyyxyyxxxy 1.)( yx c. Tối thiểu hóa hàm Boole bằng bảng Karnaugh : zyxyzxzyxzxyyxF ),( yz zy zy zy x 1 1 x 1 1 zxzxyxF ),(
44. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 43 Bài 4: Tìm dạng chuẩn tắc của hàm zyxzyxF )(),,( Ta lập bảng giá trị của hàm F như sau: x y z z x+y zyx )( 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 Ta thấy F(x,y,z) bằng 1 khi : x=0, y=1, z=0 hoặc x=1, y=0, z=0 hoặc x=1, y=1, z=0 Vậy dạng chuẩn tắc của hàm F : zxyzyxzyxzyxF ),,( Bài 5: Vẽ mạch logic của các hàm sau: a. xyxyxF )(),( b. zyxzyxyxF )(),(
45. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 44 Bài 6. a, Dạng tuyển đầy đủ của F Tập các thể hiện làm cho giá trị của F(x,y,z) bằng 1 là: {000, 010, 100, 110, 111}. Từ tập các thể hiện này ta lập các từ tối thiểu tương ứng : zyx , zyx , zyx , zxy , xyz. Như vậy, dạng tuyển chuẩn tắc đầy đủ của F như sau: F(x,y,z) = zyx + zyx + zyx + zxy + xyz b, Dạng chuẩn tắc tối thiểu F(x,y,z) = zyx + zyx + zyx + zxy + xyz = zx ( y + y ) + zx ( y + y ) + xyz = zx + zx + xyz = ( x + x ) z + xyz = z + xyz Bài 7. a, Dạng tuyển đầy đủ của F Tập các thể hiện làm cho giá trị của F(w,x,y,z) bằng 1 là: {1111, 1101, 1100, 1010, 1000, 0110, 0101, 0100, 0010}. Từ tập các thể hiện này ta lập các từ tối thiểu tương ứng : wxyz, zywx , zywx , zyxw , zyxw , zxyw , zyxw , zyxw , zyxw . Như vậy, dạng tuyển chuẩn tắc đầy đủ của F như sau: F(x,y,z) = wxyz + zywx + zywx + zyxw + zyxw + zxyw + zyxw + zyxw + zyxw b, Dạng chuẩn tắc tối thiểu F(x,y,z) = wxyz + zywx + zywx + zyxw + zyxw + zxyw + zyxw + zyxw + zyxw = wxz( y + y ) + zwx ( y + y ) + zyxw + z ( xyw + yxw ) + yxw (z + z )
46. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 45 = wxz + zwx + zyxw + z ( yw ( x + x )) + yxw = wx( z + z ) + zyxw + zyw + yxw = wx + zyxw + zyw + yxw Bài 8. Tìm dạng chuẩn tắc của biểu thức ))(()(),,( zyzxzxyzyxf = ( zxy )( )( zx + )( zy ) (Luật De Morgan) = ( zxy )( zx + yz) (Luật De Morgan) = zyzzzxxyyzzxyx (Luật phân phối) = zxxzyzxy + 0 (Luật lũy đẳng: xx = x Luật bù: 0zz Luật nuốt 0.x = 0) = zxzzxy )( = zxxy (Luật bù 1zz ) Bài 9. Tìm dạng chuẩn tắc đầy đủ của biểu thức a, zxyzzyxf ),,( = )()( yyzxxxyz = zyxzxyyzxxyz b, zxyxzyxf ),,( = zxyzzx )( = zxyzxxz = yzxxz
47. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 46 = ))(()()( zxxzyyyzxyyxz = zyyxxyzzyxzxyzyxxyz = )()( xxzyzzyxzyxzxyzyxxyz = zyxzxyzyxyzxzyxzxyzyxxyz = zyxyzxzyxzyxzxyxyz Cách khác: Giải bằng lập bảng chân trị của biểu thức zxyxzyxf ),,( X Y Z Z’ XZ’ X+Y X+Y+XZ’ 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 Tập các thể hiện làm cho giá trị của F(x,y,z) bằng 1 là: {010, 011, 100, 101, 110, 111}. Từ tập các thể hiện này ta lập các từ tối thiểu tương ứng : zyx , yzx , zyx , zyx , zxy , xyz . Như vậy, dạng tuyển chuẩn tắc đầy đủ của F như sau: zyxyzxzyxzyxzxyxyzzyxF ),,( Bài 10. Tìm biểu thức tối thiểu của: a, xxyyxyxxyE 1.)(1 (Luật bù 1yy ) (Luật đồng nhất x.1=x) b, )(2 yyxxyyxyxxyE yxxxyxxyE 1.2 (Luật hấp thụ yxyxx , xxyx , xyxx )( , xyyxx )( )
48. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 47 c, yxyxyxE4 )( yyxyx xyx yx Bài 11. Tìm biểu thức tối thiểu của: a, xzyyxzyzxE1 )1()1(1 xyzzyxE )1()1(1 xyzzyxE 1.1.1 yzxE (Luật nuốt 1 + x = 1) yzxE1 (Luật đồng nhất 1.x =x) b, zyxzyxzxyxyzE2 zyxzyxzxy )1( zvyxzyxxy zyxzxxy )( zyxzxy )( (Luật hấp thụ yxyxx ) zyxzyxy c, zyxyzxzyxzxyxyzE3 )()( yyzxzyxzzxy zxzyxxy zxzyyx )(
49. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 48 zxzyx )( zxxzxy zxxxy )( zxy d, zyxzyxzxyxyzE3 zyxzyxzzxy )( zyxzyxxy zyxzxxy )( zyxzxy )( zyxzyxy zyxzyxy Bài 12. Tìm biểu thức tối thiểu của: A, zxywyxwwxyxwE1 )()( zwwxyywwx )()( zwxyywx zxyxywyxwx zxyyxxyxw )( zxyyxyxw )( zxyyxywwx
50. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 49 b, zyxwzyxwzwxywxyzE2 zyxwzyxwzzwxy )( zyxwzyxwwxy Bài 13. Cho bảng giá trị x y z F(x, y, z) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 a. Tìm dạng tuyển chuẩn tắc hoàn toàn (đầy đủ) của f. Tập các thể hiện làm cho giá trị của F(x,y,z) bằng 1 là: {000, 010, 100, 110, 111}. Từ tập các thể hiện này ta lập các từ tối thiểu tương ứng : zyx , zyx , zyx , zxy , xyz. Như vậy, dạng tuyển chuẩn tắc đầy đủ của F như sau: xyzzxyzyxzyxzyxzyxF ),,( b. Tìm dạng tuyển chuẩn tắc thu gọn của f bằng bảng Karnaugh. yz zy zy zy x 1 1 1 x 1 1 zxyzyxF ),,(
51. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 50 Bài 14. (Đề thi cao học ĐH CNTT TP HCM-2010) a. Tìm công thức dạng chính tắc và công thức tối thiểu của hàm Boole sau: xyzttxytzxzyxtzytzyxxztzyxtzyxF ),,,( xyztzztxyyytzxttzyxxxtzytzyxyyxztzyx )()()()()( xyzttxyztzxytzyxtzyxtzyxtzyxtzyxtzxytzyxzyxxyztzyx xyzttxyztzxytzyxtzyxtzyxtzyxtzxytzyxttzyxttxyztzyx )()( xyzttxyztzxytzyxtzyxtzyxtzyxtzxytzyxtzyxztyxtxyzxyzttzyx txyztzxytzyxtzyxtzyxtzyxtzxytzyxtzyxztyxxyzttzyx Công thức dạng chính tắc đầy đủ là: txyztzxytzyxtzyxtzyxtzyxtzxytzyxtzyxztyxxyzttzyxtzyxF ),,,( Ta dùng bảng Karnaugh để rút gọn hàm F(x,y,z,t) như sau: yz zy zy zy tx 1 1 1 1 xt 1 xt 1 1 1 xt 1 1 1 1 Vậy hàm tối thiểu : tyzyxtzyxF ),,,( b. Vẽ sơ đồ mạng các cổng logic tương ứng với f(x,y,z,t) dựa trên một công thức đa tối thiểu hóa của hàm Boole f Ta có: tyzyxtzyxF ),,,( y z t x F
52. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 51 a. , = 1. Xét bảng giá trị x,y,z có 23 = 8 trường hợp sau: khi x.y=1 : x = 1 x 1z z Dạng tuyển chuẩn tắc đầy đủ của F(x,y,z) như sau: zxyxyzzyxF ),,( : xyxyzzxyzxyxyzzyxF 1.)(),,( b. , y = 0. 1x , 1y 1z 1x , 1y 1z zyxzyx , Dạng tuyển chuẩn tắc đầy đủ của F(x,y,z) như sau: zyxzyxzyxF ),,( : yxyxzzyxzyxzyxzyxF 1.)(),,( x y z 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0
53. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 52 Đồ thị và cây Bài 1. (Đề thi cao học ĐH Đà Nẵng – 2/2009) Cho đồ thị a. Biểu diễn đồ thị trên bằng ma trận kề X1 X2 X3 X4 X5 X6 X1 0 1 1 ∞ ∞ ∞ X2 ∞ 0 ∞ 1 ∞ ∞ X3 ∞ ∞ 0 1 ∞ ∞ X4 ∞ ∞ ∞ 0 ∞ ∞ X5 ∞ ∞ ∞ ∞ 0 ∞ X6 ∞ ∞ 1 ∞ ∞ 0 b. Bậc vào của đỉnh X3 Đỉnh X3 có 2 cung đi vào, nên bậc của nó là: deg+ (x3) = 2 Bậc ra của đỉnh x6: Đỉnh X6 có 1 cung đi ra, nên bậc của nó là: deg- (x6) = 1 c. G có phải là đồ thị liên thông không ? Vì sao? Không liên thông vì trong G có 1 đỉnh cô lập là x5 X1` X2 X3 X4 X6X5
54. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 53 d. Tìm ổn định ngoài (G) Ta có tập đỉnh V={x1, x2, x3, x4, x5, x6} Xác định ánh xạ (x1) ={x1, x2, x3} (x2) ={x1, x2, x4} (x3) ={x1, x3, x4, x6} (x4) ={x2, x3, x4} (x5) ={x5} (x6) ={x3, x6} Từ các tập (xi) trên ta có: (x2) (x5) (x6) ={x1, x2, x4} {x5} {x3, x6} = V (x3) (x4) (x5) ={x1, x3, x4, x6} {x2, x3, x4} {x5} = V Vậy có 2 tập : B1 = {x2, x5, x6} và B2 = {x3, x4, x5} Là các tập ổn định ngoài có số phần tử ít nhất. Từ đó ta có số ổn định ngoài (G)=3 Bài 2. Cho đồ thị X1` X2 X3 X4 X6X5
55. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 54 a. Biểu diễn đồ thị trên bằng ma trận kề X1 X2 X3 X4 X5 X6 X7 X1 0 1 1 1 ∞ ∞ ∞ X2 1 0 1 ∞ ∞ ∞ ∞ X3 1 1 0 1 ∞ ∞ ∞ X4 1 ∞ 1 0 ∞ ∞ ∞ X5 ∞ ∞ ∞ ∞ 0 1 ∞ X6 ∞ ∞ ∞ ∞ 1 0 ∞ X7 ∞ ∞ ∞ ∞ ∞ ∞ 0 b. Tìm số ổn định trong của đồ thị Tập các ổn định trong 2 phần tử A1={x1, x5} A2={x1, x6} A3={x1, x7} A4={x2, x5} A5={x2, x6} A6={x2, x7} A7={x3, x5} A8={x3, x6} A9={x3, x7} A10={x4, x5} A11={x4,x6} A12={x4, x7} … Tập các ổn định trong 3 phần tử A13={x1, x5, x7} A14={x1, x6, x7} A15={x3, x5, x7} A16={x3, x6, x7} Tập các ổn định trong 4 phần tử A10 = {x2, x4, x5, x7}; A11 = {x2, x4, x6, x7} Và không có tập ổn định trong có trên 4 phần tử. Vậy số ổn định trong là (G) = 4. c. Tìm số ổn định ngoài của đồ thị Ta có tập đỉnh V={x1, x2, x3, x4, x5, x6, x7} Xác định ánh xạ (x1) ={x1, x2, x3, x4} (x2) ={x1, x2, x3} (x3) ={x1, x2, x3, x4}
56. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 55 (x4) ={x1, x3, x4} (x5) ={x5, x6} (x6) ={x5, x6} (x7) ={x7} Từ các tập (xi) trên ta có: (x1) (x5) (x7) = V (x1) (x6) (x7) = V (x3) (x5) (x7) = V (x3) (x6) (x7) = V Vậy ta có 4 tập : B1 = {x1, x5, x7} ; B2 = {x1, x6, x7} B3 = {x3, x5, x7} ; B4 = {x3, x6, x7} Là các tập ổn định ngoài có số phần tử ít nhất. Từ đó ta có số ổn định ngoài (G)=3 d. Tìm nhân của đồ thị Các tập : {x1, x5, x7} {x1, x6, x7} {x3, x5, x7} {x3, x6, x7} vừa là các tập ổn định trong vừa là các tập ổn định ngoài, nên nhân của đồ thị là: : {x1, x5, x7} {x1, x6, x7} {x3, x5, x7} {x3, x6, x7} Bài 3. Cho đồ thị a. Biểu diễn đồ thị trên bằng ma trận kề
57. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 56 X1 X2 X3 X4 X5 X6 X1 0 1 ∞ ∞ ∞ 1 X2 ∞ 0 ∞ ∞ 1 ∞ X3 ∞ 1 0 ∞ 1 ∞ X4 ∞ ∞ ∞ 0 1 ∞ X5 ∞ ∞ ∞ ∞ 0 ∞ X6 ∞ ∞ ∞ ∞ 1 0 b. Tìm số ổn định ngoài của đồ thị Ta có tập đỉnh V = {x1, x2, x3, x4, x5, x6} Xác định ánh xạ (x1) ={x1} (x2) ={x1, x2, x3} (x3) ={ x3} (x4) ={x4} (x5) ={x2, x3, x4, x5, x6} (x6) ={x1, x6} Từ các tập (xi) trên ta có: (x1) U (x5) = V (x2) U (x5) = V (x5) U (x6) = V Vậy các tập ổn định ngoài có số phần tử ít nhất là : B1= {x1, x5} B2={x2, x5} B3={x5, x6} Từ đó ta có số ổn định ngoài (G)=2 c. Số ổn định trong A1={x1, x3, x4} A2={x2, x4, x6} A3={x3, x4, x6} Và không có tập ổn định trong có trên 3 phần tử. Vậy số ổn định trong là (G) = 3. d. Nhân của đồ thị Tập B1= {x1, x5} vừa là ổn định ngoài, vừa là ổn định trong nên B1 là nhân của đồ thị.
58. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 57 Bài 4. Hãy xét xem các đồ thị cho bằng ma trận kề sau, đồ thị nào là đồ thị Euler hoặc nữa Euler và tìm chu trình Euler hoặc đường đi Euler (nếu có) a. Vô hướng Ta có bậc của các đỉnh như sau: Deg(x1) = 4, Deg(x2) = 4, Deg(x3) = 5, Deg(x4) = 6 Deg(x5) = 5, Deg(x6) = 4, Deg(x7) = 4 Đồ thị có 2 đỉnh bậc lẻ đó là đỉnh X3 và X5, các đỉnh còn lại bậc chẵn. Vì vậy, đồ thị trên là đồ thị bán Euler. b. Có hướng Ta có bậc của đồ thị: Deg- (1) = Deg+ (1)= 3; Deg- (2) = Deg+ (2)= 2; Deg- (3) = Deg+ (3)= 2; Deg- (4) = Deg+ (4)= 2; Deg- (5) = Deg+ (5)= 3; Deg- (6) = Deg+ (6)= 3; 1 1 2 7 X 6 6 X 6 2 4 X 3 3 X 4 5 X 5 2 1 1 2 4 X 3 3 X 4 7 X 6 5 X 5 6 X 6 8 X 6
60. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 59 b. Một đơn đồ thị phẳng liên thông có 9 đỉnh, bậc của các đỉnh là 2, 2, 2, 3, 3, 3, 4, 4, 5. Tìm số cạnh và số mặt của đồ thị. Tổng bậc của đồ thị là : 2 + 2 + 2 + 3 + 3 + 3 + 4 + 4 + 5 = 28. Số cạnh của đồ thị là : e = 28/2 = 14 cạnh Số mặt của đồ thị là : f = e – v + 2 = 14 – 9 + 2 = 7 mặt Bài 6. (Đề thi cao học ĐH Đà Nẵng – 8/2009) a. Trình bày thuật toán Kruskal tìm cây khung nhỏ nhất Các bước của thuật toán tìm cây phủ nhỏ nhất T của đồ thị liên thông có trọng số như sau: Bước 1: Đặt T= (T rỗng không có cạnh) Sắp xếp các cạnh của đồ thị theo thứ tự trọng số tăng dần vào tập Z Bước 2: Trong khi ( T <n-1) và Z ≠ ) thực hiện: – Tìm cạnh e có trọng số nhỏ nhất trong tập Z. Z= Z{e} – Nếu T {e} không tạo chu trình thì T = T U {e} b. Áp dụng thuật toán Kruskal xác định cây khung nhỏ nhất của đồ thị với trọng số như hình vẽ: T= , n=11. Sắp xếp các cạnh của đồ thị theo thứ tự trọng số tăng dần như sau: b e k c f l d g m a h 5 5 5 5 1 10 11 6 3 3 2 6 10 8 7 4 6 4
61. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 60 Cạnh c,d c,f d,g f,g a,e b,e a,b b,c g,m m,l a,k f,l g,h k,l e,k d,h e,f h,m Độ dài 1 2 3 3 4 4 5 5 5 5 6 6 6 7 8 10 10 11 Bước lặp Cạnh được chọn và đưa vào T Trọng số 1 C,D 1 2 C,F 2 3 D,G 3 4 Không chọn cạnh (F,G), vì tạo chu trình 5 A,E 4 6 B,E 4 7 Không chọn cạnh (A,B), vì tạo chu trình 8 B,C 5 9 G,M 5 10 L,M 5 11 A,K 6 12 Không chọn cạnh (F,L), vì tạo chu trình 13 G,H 6 Tổng trọng số: 41 Tập cạnh của cây khung nhỏ nhất cần tìm là T = {(C,D), (C,F), (D,G), (A,E), (B,E), (B,C), (G,M), (L,M), (A,K), (G,H)}, có tổng trọng số là: 41. Cây khung này như hình dưới : b e k c f l d g m a h 5 5 5 1 6 32 4 6 4
62. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 61 Bài 7. (Đề thi cao học ĐH Đà Nẵng – 9/2010) Cho đồ thị có trọng số G như hình vẽ a. Đồ thị G có phải là đồ thị Euler không? Nếu có thì hãy chỉ ra chu trình Euler? Nếu không hãy giải thích vì sao? Để một đồ thị vô hướng là đồ thị Euler thì bậc của các đỉnh của đồ thị đều chẵn. Nhưng bậc của các đỉnh a, c, d, k, h, m của đồ thị là số lẻ (deg(a) = 3, deg(c) =3, deg(d)=3, deg(k)=3, deg(m)=3, deg(h)=3). Vậy đồ thị G không phải là đồ thị Euler. b. Hãy sử dụng thuật toán Kruskal tìm cây bao trùm nhỏ nhất của đồ thị G có chứa cạnh bc nhưng không chứa cạnh dh. Cây bao trùm nhỏ nhất không chứa cạnh dh của đồ thị G, ta loại cạnh dh ra khỏi đồ thị, lúc này ta có đồ thị G’ với tập cạnh E’=E{dh} như sau: b e k c f l d g m a h 4 9 12 8 7 1 3 15 2 3 4 9 1 7 1 3 2 8 3 3 b e k c f l d g m a h 4 9 12 8 7 3 15 2 3 4 9 1 7 1 3 2 8 3 3
63. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 62 Khởi tạo T:= {(b,c)}. Sắp xếp các cạnh của đồ thị theo thứ tự trọng số tăng dần trừ cạnh bc, ta có: Z={(e,f), (k,l), (a,k), (d,g), (a,e), (b,f), (f,g), (h,m), (g,l), (a,b), (c,f), (c,d), (e,k), (b,c), (l,m), (f,l), (g,m), (h,g) }. Bước lặp Cạnh được chọn và đưa vào T Trọng số 1 E,F 1 2 K,L 1 3 A,K 2 4 D,G 2 5 A,E 3 6 B,F 3 7 F,G 3 8 H,M 3 9 Không chọn cạnh (G,L), vì tạo chu trình 10 Không chọn cạnh (A,B), vì tạo chu trình 11 Không chọn cạnh (C,F), vì tạo chu trình 12 Không chọn cạnh (C,D), vì tạo chu trình 13 Không chọn cạnh (E,K), vì tạo chu trình 14 Không chọn cạnh (B,C), vì tạo chu trình 15 (L,M) 8 Tập cạnh của cây khung nhỏ nhất cần tìm là T={(B,C), (E,F), (K,L), (A,K), (D,G), (A,E), (B,F), (F,G), (H,M), (L,M)}, trọng số nhỏ nhất bằng : 35. Cây khung được vẽ như sau:
64. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 63 Bài 8. a. Trình bày thuật toán Prim Các bước chính của thuật toán Prim tìm cây phủ nhỏ nhất T của đồ thị liên thông có trọng số G được mô tả như sau: Bước 1 : T := {v} v là đỉnh bất kỳ. Bước 2 : Lặp n-1 lần – Tìm đỉnh rìa v có cạnh e nối T với trọng số nhỏ nhất – Đưa e vào T b. Dùng thuật toán Prim tìm cây khung nhỏ nhất của đồ thị có ma trận trọng số sau: X1 X2 X3 X4 X5 X6 X7 X8 Tv Te Khởi tạo – (16,x1) (15,x1)* (23,x1) (19,x1) (18,x1) (32,x1) (20,x1) X1 1 – (13,X3)* – (13,X3) (19,x1) (18,x1) (20,X3) (19,X3) X1, X3 X1X3 b e k c f l d g m a h 9 8 3 2 31 1 3 2 3
65. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 64 2 – – – (13,X3) (19,×1) (18,×1) (19,X2) (11,X2) * X1, X3, X2 X1X3, X3X2 3 – – – (12,X8)* (19,×1) (14,×8) (18,X8) – X1, X3, X2, X8 X1X3, X3X2, X2X8 4 – – – – (19,×1) (14,×8)* (18,X8) – X1, X3, X2, X8, X4 X1X3, X3X2, X2X8, X8X4 5 – – – – (19,×1) – (17,×6)* – X1, X3, X2, X8, X4, X6 X1X3, X3X2, X2X8, X8X4, x8x6 6 – – – – (19,×1) * – – – X1, X3, X2, X8, X4, X6, X7 X1X3, X3X2, X2X8, X8X4, x8x6, x6x7 7 X1, X3, X2, X8, X4, X6, X7, X5 X1X3, X3X2, X2X8, X8X4, x8x6, x6x7, x1x5 Tập cạnh của cây khung nhỏ nhất cần tìm là T={(X1,X3), (X3,X2), (X2,X8), (X8,X4), (X8,X6), (X6,X7), (X1,X5)} trọng số nhỏ nhất bằng : 13+15+12+19+14+17+11 = 101. Cây khung được vẽ như sau: Bài 9. a. Trình bày thuật toán Dijkstra Các bước chính của thuật Dijkstra để tìm đường đi ngắn nhất từ đỉnh a đến đỉnh z trên đồ thị G=(V,E,W) được mô tả như sau: Bước 1 : T=V; Da = 0; Di = ∞, Vi ≠ a. Bước 2 : Lặp cho đến khi z T: – Lấy ra khỏi T đỉnh Vi có Di nhỏ nhất – Đánh nhãn lại cho mọi Vj kề Vi và Vj T theo công thức: Dj = min{Dj, Di+Wij} X1 X7 X5 X3 X6 X2 X8 X4
66. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 65 b. Tìm đường đi ngắn nhất từ đỉnh x1 đến các đỉnh còn lại của đồ thị vô hướng B.lặp X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 Khởi tạo 0, x1* ∞,x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞,x1 1 – 9, x1 ∞, x1 9, x1 6, x1* ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 2 – 8,x5* ∞, x1 9, x1 – 13, x5 ∞, x1 ∞, x1 14,x5 10,x5 ∞, x1 3 – – 13,x2 9, x1* – 13, x5Ux2 14,x2 ∞, x1 14,x5 10,x5 ∞, x1 4 – – 13,x2 – – 13, x5Ux2 14,x2 ∞, x1 13,x4 10,x5* ∞, x1 5 – – 13,x2* – – 13, x5Ux2 14,x2 ∞, x1 11,x10 – 17,x10 6 – – 13,x2* – – 13, x5Ux2 14,x2 16,x3 – – 17,x10 7 – – – – – 13, x5Ux2 14,x2 16,x3 – – 17,x10 8 – – – – – – 14,x2 16,x3 – – 17,x10 9 – – – – – – – 16,x3 – – 17,x10 10 – – – – – – – – – – 17,x10 Từ bảng trên ta có đường đi ngắn nhất từ x1 đến các đỉnh là: X1X5X2 (độ dài 8); X1X4 (9); X1X5X2X3 (13); X1X5 (6) X1X5X6 (13); X1X5X2X7 (14); X1X5X2X3X8 (16) X1X5X10X9 (11); X1X5X10 (10); X1X5X10X11 (17) Các đường đi được minh họa trên đồ thị sau:
67. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 66 c. Tìm đường đi ngắn nhất từ đỉnh A đến các đỉnh còn lại của đồ thị có hướng B.lặp A B C D E F G H I K M Khởi tạo 0, A* ∞,x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞, x1 ∞,x1 1 – 7, A ∞, A ∞, A 4,A ∞, A ∞, A 1, A* ∞, A ∞, A ∞, A 2 – 7, A ∞, A ∞, A 3,H* ∞, A ∞, A – 3,H ∞, A ∞, A 3 – 6, E ∞, A ∞, A – ∞, A ∞, A – 3,H* ∞, A ∞, A 4 – 6, E* ∞, A ∞, A – 7,I ∞, A – – 12,I ∞, A 5 – – 9,B ∞, A – 7,I* ∞, A – – 12,I ∞, A 6 – – 9,B F* ∞, A – – ∞, A – – 12,I ∞, A 7 – – – 17,C – – 15,C – – 11,C* ∞, A 8 – – – 17,C – – 14,K* – – – 16,K 9 – – – 16,G* – – – – – – 16,K 10 – – – – – – – – – – 16,K*
68. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 67 Từ bảng trên, ta có đường đi ngắn nhất từ A đến các đỉnh là: AHEB (6); AHIFC (9); AHIFKGD (16); AHE (3) AFHIF (7); AHIFCKG (14); AH (1); AHI (3); AHIFCK (11); AHIFCKM (16) Bài 10. Cho đồ thị a. Tìm đường đi ngắn nhất từ x1 đến x14 B.lặp X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 Khởi tạo X1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 – 7,x1 6,x1 ∞ ∞ 7,x1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 – 7,x1 – ∞ ∞ 7,x1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 – – – 17,x2 12,x2 7,x1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 4 – – – 17,x2 8,x6 – ∞ ∞ 10,x6 ∞ ∞ ∞ ∞ ∞ ∞ 5 – – – 15,x5 – – ∞ 10,x5 10,x6 ∞ ∞ ∞ ∞ ∞ ∞ 6 – – – 15,x5 – – 17,x8 – 10,x6 18,x8 ∞ ∞ ∞ ∞ ∞ 7 – – – 15,x5 – – 17,x8 – – 18,x8 ∞ 26,x9 ∞ ∞ ∞ 8 – – – – – – 17,x8 – – 18,x8 ∞ 26,x9 ∞ ∞ ∞ 9 – – – – – – – – – 18,x8 23,x7 25,x7 ∞ ∞ ∞ 10 – – – – – – – – – – 21,x10 25,x7 23,x10 ∞ ∞ 11 – – – – – – – – – – – 25,x7 23,x10 25,x11 28,x11 12 – – – – – – – – – – – 25,x7 – 25,x11 U x13 28,x11
69. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 68 Từ bảng trên ta có đường đi ngắn nhất từ x1 đến x14 là: X1X6X5X8X10X13X14 hoặc X1X6X5X8X10X11X14 và độ dài là: 25. b. Tìm đường đi ngắn nhất từ x1 đến x14 có chứa X8X9 B.lặp X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 Khởi tạo X1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 – 7,×1 6,×1 ∞ ∞ 7,×1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 – 7,×1 – ∞ ∞ 7,×1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 – – – 17,×2 12,×2 7,×1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 4 – – – 17,×2 8,×6 – ∞ ∞ 10,×6 ∞ ∞ ∞ ∞ ∞ ∞ 5 – – – 15,×5 – – ∞ 10,×5 10, x6 U x5 ∞ ∞ ∞ ∞ ∞ ∞ 6 – – – – – ∞ – 10, x6 U x5 ∞ ∞ ∞ ∞ ∞ ∞ 7 – – – – – 23, x9x8 – – 24, x9x8 32, x8x9 ∞ ∞ ∞ 8 – – – – – – – – 24, x9x8 29,×7 31,×7 ∞ ∞ 35,×12 9 – – – – – – – – – 27,×10 31,×7 29,×10 ∞ 35,×12 10 – – – – – – – – – – 31,×7 29,×10 31, x11 34, x11 11 – – – – – – – – – – 31,×7 – 31, x10 U x13 34, x11 Từ bảng trên ta có đường đi ngắn nhất từ x1 đến x14 có chứa X8X9 là: x1x6x5x9x8x10x11x14 , hoặc x1x6x5x9x8x10x13x14 , hoặc x1x6x9x8x10x11x14 , hoặc x1x6x9x8x10x13x14 với chiều dài là: 31 c. Tìm đường đi ngắn nhất từ x1 đến x14 có chứa đỉnh X7 B.lặp X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 Khởi tạo X1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 – 7,×1 6,×1 ∞ ∞ 7,×1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 – 7,×1 – ∞ ∞ 7,×1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 – – – 17,×2 12,×2 7,×1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 4 – – – 17,×2 8,×6 – ∞ ∞ 10,×6 ∞ ∞ ∞ ∞ ∞ ∞
70. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 69 5 – – – 15,x5 – – ∞ 10,x5 10,x6 ∞ ∞ ∞ ∞ ∞ ∞ 6 – – – 15,x5 – – 17,x8 – 10,x6 18,x8 ∞ ∞ ∞ ∞ ∞ 7 – – – 15,x5 – – 17,x8 – – 18,x8 ∞ 26,x9 ∞ ∞ ∞ 8 – – – – – – 17,x8 – – 18,x8 ∞ 26,x9 ∞ ∞ ∞ 9 – – – – – – – – – 21,x7 23,x7 25,x7 ∞ ∞ ∞ 10 – – – – – – – – – – 23,x7 25,x7 26,x10 ∞ ∞ 11 – – – – – – – – – – – 25,x7 26,x10 27,x11 30,x11 12 – – – – – – – – – – – – 26,x10 27,x11 28,x12 13 – – – – – – – – – – – – – 27,x11 28,x12 Vậy đường đi ngắn nhất từ x1 đến x14 có chứa đỉnh X7 là: X1 X6 X5 X8 X7 X11 X14, và độ dài đường đi bằng: 27 Bài 11. Cho đồ thị G=(V,E,W) a. Tìm đường đi ngắn nhất từ V1 đến các đỉnh của đồ thị. B.lặp V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 Khởi tạo V1 V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ 1 – 32,v1 V1,∞ 17,v1 V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ V1,∞ 2 – 32,v1 35,v4 – 27,v4 V1,∞ V1,∞ 21,v4 V1,∞ V1,∞
71. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 70 3 – 32,v1 35,v4 – 27,v4 V1,∞ 80,v8 – 25,v8 V1,∞ 4 – 32,v1 35,v4 – 27,v4 V1,∞ 80,v8 – – 37,v9 5 – 32,v1 35,v4 – – 55,v5 80,v8 – – 37,v9 6 – – 35,v4 – – 55,v5 80,v8 – – 37,v9 7 – – – – – 55,v5 40,v3 – – 37,v9 8 – – – – – 55,v5 – – – 37,v9 9 – – – – – 43,v10 – – – – b. Tìm cây phủ nhỏ nhất của G. Sắp xếp các cạnh của đồ thị theo thứ tự trọng số tăng dần, như sau: (v4,v8), (v8,v9), (v3,v7), (v6,v10), (v4,v5), (v9,v10), (v1,v4), (v3,v4), (v5,v9), (v5,v6), (v1,v2), (v2,v5), (v7,v8). Trọng số tương ứng: 4, 4, 5, 6, 10, 12, 17, 18, 25, 28, 32, 45, 59. Bước lặp Cạnh được chọn và đưa vào T Trọng số 1 (v4,v8) 4 2 (v8,v9) 4 3 (v3,v7) 5 4 (v6,v10) 6 5 (v4,v5) 10 6 (v9,v10) 12 7 (v1,v4) 17 8 (v3,v4) 18 9 Không chọn (v5,v9), vì tạo chu trình 10 Không chọn (v5,v6), vì tạo chu trình 11 (v1,v2) 32 Tổng trọng số: 108
72. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 71 Bài 12. Tìm đường đi ngắn nhất giữa các cặp đỉnh của các đồ thị sau: a. Đồ thị có hướng – 14 11 67 57 0W ba d dc cb P0 – a c : C(d,a) + C(a,c) = 9 4 6 d 1 b a c 7 117 5
73. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 72 914 11 67 57 1W aba d dc cb P1 – : b d : C(a,b) + C(b,d) = 13 d b c : C(d,b) + C(b,c) = 8 < W1(d,c)=9 d b d : C(d,b) + C(b,d) = 7 7814 11 67 1357 2W bcba d dc bcb P2 – : 7814 11 67 1357 3W bcba d dc bcb P3 – : 7814 11191215 67710 135717 4W bcba dbdd dcdd bcbb P4 *=W4 4 : i1= P(b,a) = d, i2 = d c
74. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 73 b. Đồ thị có hướng 1 22 4 3 14 27 0 WW 1 4292 4 3 14 27 1W 251 104292 584 3 14 82117 2W 8251 5104292 11584 3 714 1482117 3W 8251 594282 11584 3 714 1372106 4W 726414 594282 1059747 3 615393 1272969 5W
75. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 74 726414 574262 1059747 359747 615373 1272969 * 6WW Bài 13. (Đề thi cao học ĐH Đà Nẵng – 8/2008) Đ ồ thị có hướng G = (V,E), được cho bởi ma trận trọng số như sau: 1 2 3 4 5 6 1 7 1 2 4 1 3 5 2 7 4 5 2 5 6 3 a. Vẽ đồ thị 1 1 3 3 4 6 5 5 7 4 2 2 5 7 1 2
77. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 76 2 4 = min(cf(1,2), cf(2, 4)) = min(c(1, 2) − f(1,2), c(2, 4) − f(2, 4)) = min(7− 1, 4 − 0) = 4 5; f(2,4) =4; 4. (Đề thi cao học 3/2011 – ĐH Đà Nẵng) Giả sự nước Nhật xây dựng lại mạng viễn thông như đồ thị đã cho, giữa hai thành phố có thể kết nối trực tiếp hoặc gián tiếp qua các thành phố khác. Ưu tiến các đường truyền trực tiếp từ các thành phố đến Tokyo hơn là gián tiếp nếu có cùng chi phí. Mỗi thành phố được biểu diễn bởi một đỉnh của đồ thị, trọng số của cung là ước tính chi phí xây dựng đường truyền. Chất lượng đường truyền giữa hai thành phố chính bằng số các thành phố trung gian giữa hai thành phố. Nếu hai thành phố được nối trực tiếp sẽ cho chất lượng tốt nhất. Chất lượng đường truyền của toàn hệ thống chính bằng chất lượng kết nối xấu nhất giữa hai thành phố nào đó. a. Tính chi phí tối thiểu để xây dựng hệ thống đường truyền liên thông giữa các thành phố. b. Chi phí tối thiểu để xây dựng hệ thống đường truyền liên thông mà tất cả các đường truyền xuất phát từ Tokyo đều được giữ lại. c. Hãy tính chất lượng đường truyền của toàn hệ thống. Hãy cho biết các cặp thành phố nào có chất lượng thấp nhất. d. Hãy đưa ra phương án tối ưu sao cho nếu có một cung nào đó bị xóa, thì đồ thị vẫn liên thông. 1 1 3 3 4 6 5 5 7 4 2 2 5 7 1 2 (5) (1) (1) (1) (4)
78. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 77 a. Chi phí tối thiểu để xây dựng hệ thống đường truyền liên thông giữa các thành phố chính bằng giá trị cây khung nhỏ nhất của đồ thị. Ta dùng thuật toán Kruskal để tìm cây bao trùm tối thiểu như sau: – Khởi tạo T= . – Sắp xếp các cạnh của đồ thị theo thứ tự trọng số tăng dần vào tập Z Z={(Ya,Se), (Nago,Yo), (Toky, Yo), (Fu,Se), (Toky,Fu), (Toky,Nago), (Toky,Ya), (Naga,Hi), (Yo,Fu), (Toky,To), (To,Ya), (Nago,Ko), (Toky,Se), (Se,Ao), (Nago,Hi), (Ko,Naga), (Ao,Ya), (Nago,Naga), (To,Hi), (Ko,Yo)} Trọng số tương ứng: 4, 6, 7, 7, 12, 15, 15, 15, 15, 17, 17, 17, 20, 20, 20, 25, 25, 30, 30, 30 Bước lặp Cạnh được chọn và đưa vào T Trọng số 1 (Ya,Se) 4 2 (Nago,Yo) 6 3 (Toky, Yo) 7 4 (Fu,Se) 7 5 (Toky,Fu) 12 Nagasaki 15 Hiroshima Toyama Yamagata Aomori Tokyo Yokoham a Nagoy a Kochi Sendai Fukushi ma 30 25 17 30 20 30 17 25 4 20 720 12 157 15 17 15 6
79. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 78 6 Không chọn (Toky,Nago), vì tạo chu trình 7 Không chọn (Toky,Ya), vì tạo chu trình 8 (Naga,Hi) 15 9 Không chọn (Yo,Fu), vì tạo chu trình 10 (Toky,To) 17 11 Không chọn (To,Ya), vì tạo chu trình 12 (Nago,Ko) 17 13 Không chọn (Toky,Se), vì tạo chu trình 14 (Se,Ao) 20 15 (Nago,Hi) 16 Không chọn (Ko,Naga), vì tạo chu trình 17 Không chọn (Ao,Ya), (Nago,Naga), (To,Hi), (Ko,Yo), vì tạo chu trình Tổng trọng số: 125 Chi phí tối thiểu để xây dựng hệ thống đường truyền liên thông giữa các thành phố là 125. Sơ đồ kết nối như hình dưới: Nagasaki 15 Hiroshima Toyama Yamagata Aomori Tokyo Yokoham a Nagoya Kochi Sendai Fukushim a 17 20 4 20 7 12 7 17 6
80. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 79 b. Khởi tạo T= {(Toky,Ya), (Toky, Se), (Toky, Fu), (Toky,Yo), (Toky,Nago)}. Z = ET. Sắp xếp các cạnh của đồ thị trong Z theo thứ tự trọng số tăng dần Z ={(Ya,Se), (Nago,Yo), (Fu,Se), (Naga,Hi), (Yo,Fu), (Nago,Ko), (Se,Ao), (Nago,Hi), (Ko,Naga), (Ao,Ya), (Nago,Naga), (To,Hi), (Ko,Yo)} Bước lặp Cạnh được chọn và đưa vào T Trọng số 1 Không chọn (Ya,Se), vì tạo chu trình 2 Không chọn (Nago,Yo), vì tạo chu trình 3 Không chọn (Fu,Se), vì tạo chu trình 4 (Naga,Hi) 15 5 Không chọn (Yo,Fu), vì tạo chu trình 6 (Nago,Ko) 17 7 (Se,Ao) 20 8 (Nago,Hi) 20 9 Không chọn (Ko,Naga), (Ao,Ya), (Nago,Naga) (To,Hi), (Ko,Yo), vì tạo chu trình Chi phí tối thiểu để xây dựng hệ thống đường truyền liên thông mà tất cả các đường truyền xuất phát từ Tokyo đều được giữ lại là : 158 và đường kết nối như hình sau:
81. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 80 c. Dùng thuật toán Floy tìm đường đi ngắn nhất giữa các cặp đỉnh, trọng số của đồ thị cij=1 (nếu đỉnh i có cạnh nối với đỉnh j: i,j = 1..11), cij = ∞ (nếu đỉnh i không có cạnh nối với đỉnh j). Ma trận liền kề của đồ thị Nagasaki 15 Hiroshima Toyama Yamagata Aomori Tokyo Yokohama Nagoya Kochi Sendai Fukushim a 17 20 20 20 12 7 15 17 15 Naga(1) 1 Hi (4) To (5) Ya (11) Ao (10) Toky(6) Yo (7) Nago(3) Ko(2) Se (9) Fu (8) 1 1 1 1 1 1 1 1 1 1 11 1 11 1 1 1 1
82. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 81 01111 101 11011 1011 10111 1111011 1101 1011 111011 1101 1110 0 WW 01111 101 11011 1011 10111 1111011 1101 10121 111011 12101 1110 1W 01111 101 11011 1011 101112 1111011 1101 10121 111011 12101 21110 2W 01111 101 11011 1011 1012112 1111012122 1101 2210121 111011 122101 221110 3W 01111 101 11011 1011 10132112 1111012122 13101232 2210121 1121011 1232101 2221110 4W 0114112343 101 11011 1011 410132112 1111012122 13101232 22210121 31121011 41232101 32221110 5W
83. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 82 01122112233 101 11012123233 2101123233 2210122112 1111012122 1222101232 2332210121 2221121011 3331232101 3332221110 6W 01122112233 101 11012123233 2101123223 2210122112 1111012122 1222101232 2332210121 2221121011 3321232101 3332221110 7W 01122112233 101 11012123233 2101123223 2210122112 1111012122 1222101232 2332210121 2221121011 3321232101 3332221110 8W 01122112233 10123234344 11012123233 22101123223 23210122112 12111012122 13222101232 24332210121 23221121011 34321232101 34332221110 9W 01122112233 10123234344 11012123233 22101123223 23210122112 12111012122 13222101232 24332210121 23221121011 34321232101 34332221110 10W 01122112233 10123233344 11012123233 22101123223 23210122112 12111012122 12222101232 23332210121 23221121011 34321232101 34332221110 11W Từ ma trận W11, ta có chất lượng đường truyền của toàn hệ thống là 4. Các cặp thành phố có chất lượng thấp nhất là: (Nagasaki, Aomori), (Kochi Aomori). c. Phương án tối ưu sao cho nếu có một cung nào đó bị xóa, thì đồ thị vẫn liên thông. Thêm cạnh để đồ thị thành đồ thị Euler (Tất cả các đỉnh của đồ thị có bậc chẳn). Khi đó nếu có 1 cạnh nào bị xóa đồ thị vẫn còn đường đi Euler.
84. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 83 Bài 15. (Đề thi cao học ĐH CNTT TP HCM – 2010) Cho đồ thị G như sau: a. Viết biểu diễn ma trận của đồ thị G. a b c d u v t y z a 0 5 10 ∞ 6 ∞ ∞ ∞ ∞ b 5 0 9 20 ∞ ∞ ∞ ∞ ∞ c 10 9 0 12 2 8 ∞ ∞ ∞ d ∞ 20 12 0 ∞ 5 ∞ 4 ∞ u 6 ∞ 2 ∞ 0 ∞ 22 ∞ ∞ v ∞ ∞ 8 5 ∞ 0 10 14 15 t ∞ ∞ ∞ ∞ 22 10 0 ∞ 4 y ∞ ∞ ∞ 4 ∞ 14 ∞ 0 9 z ∞ ∞ ∞ ∞ ∞ 15 4 9 0 1 4 5 11 10 6 7 3 2 9 8 a c d e f g h j f a b d y z tu c v 20 4 9 14 15 4 10 22 6 5 9 10 12 2 8 5
85. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 84 b. Trình bày một thuật toán để tìm cây bao trùm tối thiểu của một đồ thị có trọng số. Áp dụng thuật toán đó để tìm cây bao trùm tối thiểu của đồ thị G. Thuật toán Prim để tìm cây khung nhỏ nhất như sau: Các bước chính của thuật toán Prim tìm cây phủ nhỏ nhất T của đồ thị liên thông có trọng số G được mô tả như sau: Bước 1 : T := {v} v là đỉnh bất kỳ. Bước 2 : Lặp n-1 lần o Tìm đỉnh rìa v có cạnh e nối T với trọng số nhỏ nhất o Đưa e vào T a b c d u v t y z Tv Te Khở i tạo – 5,a 10,a ∞,a 6,a ∞,a ∞,a ∞,a ∞,a a 1 – – 9,b 20,b 6,a ∞,a ∞,a ∞,a ∞,a a,b ab 2 – – 2,u 20,b – ∞,a 22,u ∞,a ∞,a a, b, u ab, au 3 – – – 12,c – 8,c 22,u ∞,a ∞,a a, b, u, c ab, au, uc 4 – – – 5,v – – 10,v 14,v 15,v a, b, u, c, v ab, au, uc, cv 5 – – – – – – 10,v 4,d 15,v a, b, u, c, v, d ab, au, uc, cv, vd 6 – – – – – – 10,v – 9,y a, b, u, c, v, d, y ab, au, uc, cv, vd, dy 7 – – – – – – 4,z – – a, b, u, c, v, d, y, z ab, au, uc, cv, vd, dy, yz 8 – – – – – – – – – a, b, u, c, v, d, y, z, t ab, au, uc, cv, vd, dy, yz, zt Tập cạnh của cây khung nhỏ nhất cần tìm là T={(a,b), (a,u), (u,c), (c,v), (v,d), (d,y), (y,z) , (z,t)} trọng số nhỏ nhất bằng : 5+2+5+6+8+4+4+9 =43 . Cây khung được vẽ như sau: a c d e f g h j f a b d y z tu c v 4 9 4 6 5 2 8 5
86. Toán rời rạc – Tài liệu dùng để luyện thi cao học ngành Khoa học máy tính ấn Ngọc buitanngocqn@gmail.com 85 c. Giả sử e1 và e2 là hai cạnh của G. Hãy xây dựng một thuật toán tìm một cây bao trùm của đồ thị G thỏa mãn các điều kiện sau: T không chứa các cạnh e1 và e2, và tổng trọng số các cạnh của cây T là nhỏ nhất. Áp dụng thuật toán đó để tìm cây bao trùm tối thiểu của G không chứa các cạnh uc và dy. Bước 1: – Khởi tạo T:= . Z = E{e1,e2} – Sắp xếp tập các cạnh của đồ thị trong Z, theo thứ tự trọng số tăng dần. Bước 2: Trong khi ( T <n-1) và Z ≠ ) thực hiện: – Tìm cạnh e có trọng số nhỏ nhất trong tập Z. Z= Z{e} – Nếu T U {e} không tạo chu trình thì T = T U {e} Áp dụng thuật toán trên tìm cây bao trùm tối thiểu như sau: – Khởi tạo T:= . – Sắp xếp các cạnh của đồ thị theo thứ tự trọng số tăng dần, trừ cạnh uc và dy như sau: Z={(t,z ‘4’), (a,b ‘5’), (d,v ‘5’), (a,u ‘6’), (c,v ‘8’), (b,c ‘9’), (y,z ‘9’), (a,c ’10’), (v,t ’10’), (c,d ’12’), (v,y ’14’), (v,z ’15’), (b,d ’20’), (u,t ’22’)}. Bước lặp Cạnh được chọn và đưa vào T Trọng số 1 T,Z 4 2 A,B 5 3 D,V 5 4 A,U 6 5 C,V 8 6 B,C 9 7 Y,Z 9 8 Không chọn cạnh (A,C), vì tạo chu trình 9 V,T 10 10… Không chọn cạnh (c,d), (v,y), (v,z), (b,d), (u,t), vì tạo chu trình Tổng trọng số: 56