Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
199,03 KB
Nội dung
Header Page of 126 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN THỊ ÁNH ĐÀO BÀI TOÁN GHÉP CẶP VÀ ỨNG DỤNG Chuyên ngành : PHƯƠNG PHÁP TOÁN SƠ CẤP Mã số: 60.46.40 TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC Đà Nẵng - Năm 2011 Footer Page of 126 Header Page of 126 Công trình ñược hoàn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TSKH Trần Quốc Chiến Phản biện 1: TS Cao Văn Nuôi Phản biện 2: GS.TSKH Nguyễn Văn Mậu Luận văn ñược bảo vệ Hội ñồng chấm luận văn tốt nghiệp Thạc sĩ khoa học họp Đại học Đà Nẵng vào ngày 22 tháng 10 năm 2011 * Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng - Thư viện trường Đại học Sư phạm, Đại học Đà Nẵng Footer Page of 126 Header Page of 126 MỞ ĐẦU ĐẶT VẤN ĐỀ CHUNG VỀ ĐỀ TÀI NGHIÊN CỨU Đề tài “Bài toán ghép cặp ứng dụng ” ñã ñược Thầy giáo PGS.TSKH Trần Quốc Chiến gợi ý, thân thấy phù hợp với khả phục vụ tốt cho công việc giảng dạy phổ thông nên chọn ñể nghiên cứu Điều kiện ñảm bảo cho việc hoàn thành ñề tài: Được Thầy giáo hướng dẫn cung cấp tài liệu tận tình giúp ñỡ, thân sưu tập nguồn tài liệu khác ñủ ñể ñảm bảo hoàn thành ñề tài Đề tài phù hợp với sở thích thân ñây nội dung phát triển tư học sinh tốt LÝ DO CHỌN ĐỀ TÀI Năm 2001, Bộ Giáo Dục Đào Tạo có qui ñịnh chuyên ñề bồi dưỡng học sinh giỏi thống toàn quốc ñó có chuyên ñề Lý Thuyết Đồ Thị Như vậy, việc học chuyên ñề Lý Thuyết Đồ Thị ñối với học sinh giỏi ñang nhu cầu thực tế dạy học toán phổ thông Tuy nhiên, việc dạy học chuyên ñề tồn số khó khăn số lý khác Một lý ñó mẽ, ñộc ñáo khó chủ ñề kiến thức Hơn nữa, số lượng tập phổ thông ứng dụng chuyên ñề ñể giải không nhiều Chuyên ñề Lý Thuyết Đồ Thị có ñặc ñiểm bậc việc giải dạng toán “ lòng ñồ thị ” không cần nhiều ñến kiến thức mà học sinh không hiểu ñược mà cần ñến sáng tạo cách nhìn nhận toán lập luận cách giải mắt Lý Thuyết Đồ Thị Hơn nữa, nội dung toán giải phương pháp ñồ thị gần với thực tế, lý luận ñể giải toán hấp dẫn, lý thú ñầy bất ngờ Điều thu hút quan tâm ngày nhiều học sinh giỏi toán Vì vậy, Footer Page of 126 Header Page of 126 chuyên ñề chứa ñựng nhiều tiềm lớn khai thác ñể bồi dưỡng cho học sinh giỏi Các toán dùng Lý Thuyết Đồ Thị ñể giải ngày xuất nhiều thi chọn học sinh giỏi thi toán quốc tế Điều phù hợp với xu hướng ñưa toán học áp dụng vào thực tế sống Một toán tiếng việc nghiên cứu ñã ñóng góp nhiều kết cho Lý Thuyết Đồ Thị ñó Mạng ứng dụng Mạng Tuy nhiên, Mạng ứng dụng Mạng ñã ñược nhà khoa học nghiên cứu ñề cập nhiều Do vậy, xin ñề cập ñến ứng dụng khác mạng “ Bài toán ghép cặp ứng dụng” Chính lý ñây mà lựa chọn ñề tài : “ Bài toán ghép cặp ứng dụng ” ñể nghiên cứu MỤC ĐÍCH NGHIÊN CỨU Đề tài củng cố kiến thức Lý Thuyết Đồ Thị, nghiên cứu sâu toán ghép cặp ứng dụng ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊNCỨU 4.1 Đối tượng nghiên cứu Luận văn nghiên cứu sâu toán ghép cặp 4.2 Phạm vi nghiên cứu Lấy Lý Thuyết Đồ Thị làm sở nghiên cứu toán ghép cặp ñưa phương pháp giải toán PHƯƠNG PHÁP NGHIÊN CỨU Cơ sử dụng phương pháp nghiên cứu tài liệu liên quan ñến luận văn ñể thu thập thông tin nhằm phân tích, hệ thống, thiết lập dạng toán phục vụ cho yêu cầu ñề tài CẤU TRÚC CỦA LUẬN VĂN Luận văn gồm có chương: Footer Page of 126 Header Page of 126 Chương 1- ĐẠI CƯƠNG VỀ ĐỒ THỊ Trình bày kiến thức Lý Thuyết Đồ Thị Chương 2- BÀI TOÁN GHÉP CẶP Giới thiệu toán ghép cặp, toán luồng cực ñại ñịnh lý, thuật toán liên quan ñến toán Chương 3- ỨNG DỤNG CỦA BÀI TOÁN GHÉP CẶP Trình bày ứng dụng toán ghép cặp, toán luồng cực ñại vấn ñề thực tế ứng dụng toán Footer Page of 126 Header Page of 126 CHƯƠNG ĐẠI CƯƠNG VỀ ĐỒ THỊ 1.1 CÁC KHÁI NIỆM CƠ BẢN 1.1.1 Đồ thị, ñỉnh, cạnh, cung Định nghĩa 1.1 Đồ thị vô hướng G = (V, E) gồm tập V ñỉnh tập E cạnh Mỗi cạnh e∈E ñược liên kết với cặp ñỉnh v, w (không kể thứ tự) Định nghĩa 1.2 Đồ thị có hướng G = (V, E) gồm tập V ñỉnh tập E cạnh có hướng gọi cung Mỗi cung e ∈ E ñược liên kết với cặp ñỉnh (v, w) có thứ tự Định nghĩa 1.3 Nếu thay cung ñồ thị có hướng G cạnh, ñồ thị vô hướng nhận ñược ñồ thị lót G 1.1.2 Các khái niệm khác • Hai cạnh kề hai cạnh liên thuộc ñỉnh • Hai ñỉnh kề hai ñỉnh liên thuộc cạnh • Hai cạnh gọi song song chúng liên kết với cặp ñỉnh • Khuyên cạnh có hai ñỉnh liên kết trùng • Đỉnh cô lập ñỉnh không liên kết với ñỉnh khác • Đỉnh treo ñỉnh liên kết với ñỉnh • Số ñỉnh ñồ thị gọi bậc ñồ thị, ký hiệu d(G) • Số cạnh ñồ thị gọi cỡ ñồ thị, ký hiệu card(G) 1.2 CÁC LOẠI ĐỒ THỊ 1.2.1 Đồ thị hữu hạn Định nghĩa 1.4 Đồ thị hữu hạn ñồ thị có bậc cỡ hữu hạn 1.2.2 Đơn ñồ thị, ña ñồ thị Định nghĩa 1.5 Đồ thị ñơn ñồ thị khuyên cạnh song song, ngược lại ña ñồ thị 1.2.3 Đồ thị ñủ Footer Page of 126 Header Page of 126 Định nghĩa 1.6 a) Đồ thị vô hướng ñủ ñồ thị mà cặp ñỉnh ñều kề b) Đồ thị có hướng ñủ ñồ thị có ñồ thị lót ñủ c) Đồ thị Kn ñồ thị ñơn, vô hướng ñủ n ñỉnh (mỗi cặp ñỉnh ñều có cạnh liên kết) 1.2.4 Đồ thị lưỡng phân Định nghĩa 1.7 Đồ thị lưỡng phân G = (V, E) ñồ thị mà tập ñỉnh ñược phân thành hai tập rời V1 V2 cho cạnh liên kết với ñỉnh thuộc V1 ñỉnh thuộc V2 Ký hiệu G = ({V1 ,V2 } , E ) 1.2.5 Đồ thị Định nghĩa 1.8 Đồ thị G gọi ñồ thị bậc h (h số nguyên không âm) ñỉnh ñều có bậc h 1.2.6 Đồ thị con, ñồ thị ñẳng cấu a) Đồ thị G = (V , E ) Đồ thị G ' = (V ', E ') V ' ⊂ V & E ' ⊂ E Định nghĩa 1.9 Cho ñồ thị gọi ñồ thị G Nếu V’=V G’ gọi ñồ thị phủ G b) Đồ thị ñẳng cấu G2 = (V2 , E2 ) ñược gọi ñẳng cấu tồn song ánh f : V1 → V2 g : E1 → E2 thỏa mãn ∀e ∈ E1 : e = (v, w) ⇔ g(e)=(f(v),f(w)) Cặp hàm f g gọi ñẳng cấu từ G1 ñến G2 Định lý 1.1 Hai ñơn ñồ thị G1 = (V1 , E1 ) G2 = (V2 , E2 ) ñẳng cấu với tồn song ánh f : V1 → V2 thỏa mãn ∀u , v ∈ V1 : u kề v ⇔ f(u) kề f(v) Định lý 1.2 Cho G1 = (V1 , E1 ) G2 = (V2 , E2 ) hai ñồ thị Định nghĩa 1.10 Hai ñồ thị G1 = (V1 , E1 ) ñẳng cấu Khi ñó: (i) G1 Footer Page of 126 G2 có số cạnh số ñỉnh Header Page of 126 (ii) Với số tự nhiên k, số ñỉnh bậc k nhau, số chu trình sơ cấp chiều dài k G1 G2 G1 G2 (iii) Các cặp ñồ thị tương ứng ñẳng cấu 1.2.7 Đồ thị bù, ñồ thị ñường a) Đồ thị bù Định nghĩa 1.11 Xét ñơn ñồ thị ñơn ñồ thị G = (V , E ) G = (V , E ) Đồ thị bù G với tập cạnh ñược ñịnh nghĩa sau: E = {(u, v) | u, v ∈ V & (u, v) ∉ E} Như G ñồ thị bù G G ñồ thị bù b) Đồ thị ñường Định nghĩa 1.12 Cho ñồ thị G G = (V , E ) Đồ thị ñường G, ký hiệu L(G) ñồ thị có ñỉnh tương ứng với cạnh G hai ñỉnh kề L(G) cạnh tương ứng G kề Định lý 1.3 Hai ñơn ñồ thị ñẳng cấu ñồ thị bù chúng ñẳng cấu Định lý 1.4 Nếu hai ñơn ñồ thị ñẳng cấu nhau, ñồ thị ñường chúng ñẳng cấu 1.2.8 Đồ thị phẳng Định nghĩa 1.13 Một ñồ thị gọi ñồ thị hình học phẳng ñược biểu diễn mặt phẳng cho cạnh không cắt 1.2.9 Đồ thị ñối ngẫu Định nghĩa 1.14 Mỗi ñồ mặt phẳng biểu diễn ñồ thị Để lập tương ứng ñó, miền ñồ ñược biểu diễn thành ñỉnh Hai ñỉnh kề miền tương ứng có biên giới chung Hai miền chung ñiểm không ñược coi kề Đồ thị nhận ñược cách gọi ñồ thị ñối ngẫu ñồ Như ñồ mặt phẳng ñều có ñồ thị ñối ngẫu phẳng 1.3 BẬC, NỬA BẬC VÀO, NỬA BẬC RA 1.3.1 Định nghĩa bậc, nửa bậc vào, nửa bậc ra: Footer Page of 126 Header Page of 126 v ∈V • Bậc: Cho ñồ thị G = (V, E) Bậc ñỉnh tổng số cạnh liên thuộc với ký hiệu d(v) Nếu ñỉnh có khuyên khuyên ñược tính tính bậc, vậy: d(v) = số cạnh liên thuộc ñỉnh v + 2* số khuyên Như ñỉnh cô lập ñồ thị ñơn ñỉnh có bậc Đỉnh treo ñỉnh có bậc Bậc lớn ñỉnh ñồ thị G ký kiệu nhỏ ñỉnh G ký hiệu • δ (G ) Nửa bậc: Cho ñồ thị có hướng G = (V,E), ∆ (G ) bậc v ∈V Nửa bậc ñỉnh v, kí hiệu d0(v) số cung ñi từ ñỉnh v (v ñỉnh ñầu) Nửa bậc vào ñỉnh v, kí hiệu dI(v) số cung ñi tới ñỉnh v (v ñỉnh cuối) 1.3.2 Các ñịnh lý bậc Định lý 1.5 Cho ñơn ñồ thị G có số ñỉnh lớn Khi ñó G có hai ñỉnh có bậc Định lý 1.6 Cho ñồ thị G = (V,E) Khi ñó tổng bậc ñỉnh ñồ thị số chẵn ∑ d (v) = 2.card(E) v∈V Hệ 1.1 Số ñỉnh bậc lẻ ñồ thị vô hướng số chẵn Mệnh ñề 1.1 Mọi ñỉnh ñồ thị có n(n − 1) Kn có bậc n-1 Kn cạnh K m ,n = ({V1 ,V2 } , E ) Khi ñó ñỉnh tập V1 có bậc n, ñỉnh tập V2 có bậc m K m ,n có m.n cạnh Mệnh ñề 1.2 Cho ñồ thị lưỡng phân ñủ 1.4 ĐƯỜNG ĐI, CHU TRÌNH, TÍNH LIÊN THÔNG 1.4.1 Các ñịnh nghĩa Định nghĩa 1.15 Cho ñồ thị Footer Page of 126 G = (V , E ) Header Page 10 of 126 Dãy µ 10 từ ñỉnh v ñến ñỉnh w dãy ñỉnh cạnh nối tiếp bắt ñầu từ ñỉnh v kết thúc ñỉnh w Số cạnh dãy µ gọi ñộ dài dãy µ Dãy µ từ ñỉnh v ñến ñỉnh w có ñộ dài n ñược biểu diễn sau: µ = ( v, e1 , v1 , e2 , v2 , , vn−1 , en , w ) ñó vi , i = 1, n − ñỉnh dãy ei , i = 1, n cạnh dãy liên thuộc ñỉnh kề trước kề sau Các ñỉnh cạnh dãy lặp lại Định nghĩa 1.16 Đường ñi từ ñỉnh v ñến ñỉnh w dãy từ ñỉnh v ñến ñỉnh w ñó cạnh không lặp lại Định nghĩa 1.17 Đường ñi sơ cấp ñường ñi không qua ñỉnh lần Định nghĩa 1.18 Vòng dãy có ñỉnh ñầu ñỉnh cuối trùng Định nghĩa 1.19 Chu trình ñường ñi có ñỉnh ñầu ñỉnh cuối trùng Định nghĩa 1.20 Chu trình sơ cấp chu trình không ñi qua ñỉnh lần Định nghĩa 1.21 Đồ thị vô hướng ñược gọi liên thông cặp ñỉnh ñều có ñường ñi nối chúng với 1.4.2 Các ñịnh lý Định lý 1.7 Đồ thị G lưỡng phân G không chứa chu trình có ñộ dài lẻ Định lý 1.8 Cho ñơn ñồ thị G = (V , E ) với n ñỉnh k thành phần liên thông Khi ñó số cạnh m ñồ thị thỏa bất ñẳng thức: n−k ≤m≤ (n − k )(n − k + 1) Hệ 1.2 Mọi ñơn ñồ thị n ñỉnh với số cạnh lớn (n − 1)(n − 2) liên thông Footer Page 10 of 126 Header Page 11 of 126 11 Định lý 1.9 Mọi chu trình ñồ thị phẳng có ñộ dài chẵn mặt ñồ thị có bậc chẵn Định lý 1.10 (Công thức Euler) Cho G ñồ thị liên thông phẳng có e cạnh, v ñỉnh f mặt Khi ñó ta có công thức: f=e-v+2 Định lý 1.11 Cho G ñơn ñồ thị liên thông phẳng có e cạnh, v ñỉnh ñai g, ñỉnh treo Khi ñó ta có (g ≥ 3) e≤ g (v − 2) g−2 Hệ 1.3 Cho G ñơn ñồ thị phẳng liên thông với e cạnh v ñỉnh ( v ≥ ), ñỉnh treo Khi ñó ta có: e ≤ 3v − Hệ 1.4 Cho G ñơn ñồ thị phẳng liên thông với e cạnh v ñỉnh ( v ≥ ), ñỉnh treo chu trình ñộ dài Khi ñó ta có: e ≤ 2v − Footer Page 11 of 126 Header Page 12 of 126 12 CHƯƠNG BÀI TOÁN GHÉP CẶP 2.1 MẠNG • Mạng Mạng ñơn ñồ thị có hướng G = (V, E, c) thỏa mãn (i) Có ñỉnh, gọi nguồn, không liên thuộc cung vào (ii) Có ñỉnh, gọi ñích, không liên thuộc cung (iii) Trọng số cij cung (i, j) số không âm gọi khả thông qua cung (iv) Đồ thị liên thông yếu • Luồng Cho mạng G với khả thông qua cij, ( i, j) giá trị { fij│( i, j) ∈G } gọi luồng mạng G thỏa mãn (i) ≤ fij ≤ cij ∀ (i, j) ∈ G (ii) ∑ f ik ∑ = ( i , k )∈G f kj ( k , j )∈G ∈ G Tập ∀ k ∈ V \ { a; z} • Giá trị luồng Cho luồng f mạng G Giá trị luồng f ñại lượng v(f) = f = f iz ∑ ∑ ( a ,i )∈G ( i , z )∈G 2.2 BÀI TOÁN LUỒNG CỰC ĐẠI TRONG MẠNG 2.2.1 Phát biểu toán luồng cực ñại • Trong thực tế ta thường gặp toán gọi toán tìm luồng cực ñại sau: Cho mạng G với nguồn a, ñích z khả thông qua cij, (i, j) ∈ G Trong số luồng mạng G tìm luồng có giá trị lớn Bài toán luồng cực ñại biểu diễn toán quy hoạch tuyến tính v(f) = ∑ ( a ,i )∈G Footer Page 12 of 126 f = ∑ ( i , z )∈G f iz → max Header Page 13 of 126 13 với ñiều kiện ≤ fij ≤ cij ∑ f ( i , k )∈G ik ∀ (i, j) ∈ G = ∑ ( k , j )∈G f kj ∀ k ∈ V \ { a; z} 2.2.2 Luồng cực ñại lát cắt cực tiểu Định nghĩa 2.1 Cho mạng G = (V,E,c) với nguồn a ñích z Với S, T ⊂ V, ký hiệu tập cung ñi từ S vào T (S,T), tức (S,T) = { (i,j) ∈ E | i ∈ S & j ∈ T } Nếu S, T ⊂ V phân hoạch V (S ∪ T = V & S ∩ T = Ø) a ∈ S, z ∈ T cặp (S, T) gọi lát cắt (nguồn-ñỉnh) Khả thông qua lát cắt (S,T) giá trị Cho luồng f lát cắt (S,T) mạng G Với S, T ⊂ V, ký hiệu f(S,T) = ∑ fij ( i , j )∈( S ,T ) Định lý 2.1 Cho mạng G = (V,E,c) với nguồn a ñích z, f = {fij | (i, j) ∈ G} luồng mạng G, (S,T) lát cắt G Khi ñó v(f) = f(S,T) – f(T,S) Định lý 2.2 Cho mạng G = (V,E,c) với nguồn a ñích z, f = { fij│( i, j) ∈G } luồng mạng G, (S,T) lát cắt G Khi ñó, khả thông qua lát cắt (S,T) không nhỏ giá trị luồng f, tức C(S, T) ≥ v(f) Định lý 2.3 Cho mạng G với nguồn a ñích z, f = { fij│( i, j) ∈ G } luồng mạng G, (S, T) lát cắt G Khi ñó, Footer Page 13 of 126 Header Page 14 of 126 14 a Nếu C(S,T) = v(f), luồng f ñạt giá trị cực ñại lát cắt (S,T) ñạt khả thông qua cực tiểu b Đẳng thức C(S,T) = v(f) xảy (i) fij = cij (ii) fij = ∀ ( i, j) ∈( S, T) ∀ ( i, j) ∈(T, S) 2.3 THUẬT TOÁN TÌM LUỒNG CỰC ĐẠI TRONG MẠNG Định lý 2.4 (tính ñúng thuật toán Ford – Fullkerson) Cho mạng G = (V, E, c) với nguồn a ñích z, f = { fij | ( i, j) ∈G} luồng nhận ñược kết thúc thuật toán tìm luồng cực ñại Khi ñó, f luồng cực ñại 2.4 BÀI TOÁN GHÉP CẶP 2.4.1 Phát biểu toán Ta xét toán sau Cho tập X Y Mỗi phần tử X ghép với số phần tử Y Vấn ñề ñặt tìm cách ghép phần tử X với số phần tử Y cho số cặp ghép lớn 2.4.2 Một số ñịnh nghĩa Cho ñồ thị G Một ghép (matching) ñồ thị G tập hợp cạnh (cung) G, ñôi không kề Bài toán ghép cặp (Matching problem) G tìm ghép có số cạnh (cung) lớn G Bộ ghép cực ñại ghép có số cạnh (cung) lớn Lực lượng ghép cực ñại kí hiệu α1(G) Cho G = (X,Y,E) ñơn ñồ thị lưỡng phân Bộ ghép ñầy ñủ từ X vào Y ghép cực ñại có lực lượng lực lượng X Bộ ghép hoàn hảo ghép ñầy ñủ từ X vào Y từ Y vào X (suy card(X) = card(Y)) • Đưa toán ghép cặp mạng chuẩn Footer Page 14 of 126 Header Page 15 of 126 15 Xét ñơn ñồ thị lưỡng phân G = (X, Y, E) Ta ñưa toán ghép cặp cuả ñồ thị G toán luồng cực ñại sau Từ ñồ thị G ta xây dựng mạng G’ gồm tập ñỉnh V’ = {s} ∪ X ∪ Y ∪ {t } Tập cung E’ = {(s,x)│x ∈X } ∪ E ∪ {(y,t)│y ∈ Y} khả thông qua Csx = ∀ x ∈X Cyt = ∀ y ∈Y Cxy = +∞ ∀ x ∈X, y∈Y, (x,y) ∈E 2.4.3 Các ñịnh lý Định lý 2.5 Xét toán ghép cặp G = (X, Y, E) toán luồng cực ñại mạng G’ Khi ñó (i) Mọi luồng f = {fxy} G’ sinh thuật toán tìm luồng cực ñại xác ñịnh ghép G (ii) Mọi luồng cực ñại f = {fxy} G’ sinh thuật toán tìm luồng cực ñại xác ñịnh ghép cực ñại G (iii) Mọi luồng cực ñại f = {fxy} G’ sinh thuật toán tìm luồng cực ñại có giá trị │X│xác ñịnh ghép ñầy ñủ G Định lý kết hôn Hall Sau ñây ta nghiên cứu ñiều kiện tồn ghép ñầy ñủ G = (X→ Y, E) Nhà toán học người Anh Philip Hall ñã phát biểu toán dạng sau: Giả sử X tập nam, Y tập nữ Cung (x,y) ∈E biểu diễn quan hệ tương hợp x y Hãy tìm ñiều kiện ñể nam kết hôn với nữ tương hợp Cho tập S ⊂ X Ký hiệu R(S) = {y ∈Y│ ∃ x ∈S: (x,y) ∈E } Sau ñây kết Hall Định lý 2.6 (ñịnh lý kết hôn Hall) Footer Page 15 of 126 Header Page 16 of 126 16 Cho ñồ thị ñịnh hướng lưỡng phân G = (X → Y,E) Khi ñó tồn ghép ñầy ñủ │S│≤│R(S)│ ∀ S ⊂ X E1 = {(a,x)│ x ∉ Px } Định lý 2.7 (Định lí kết hôn Konig) Nếu ñồ thị lưỡng phân ñơn G=(X, Y, E) k- bậc (các ñỉnh ñều có bậc k>0), tồn ghép hoàn hảo 2.4.4 Thuật toán giải toán ghép cặp Định nghĩa 2.2 Xét ghép M G Các ñỉnh M gọi ñỉnh ñã ghép Các cạnh thuộc M gọi cạnh ghép Các cạnh không thuộc M gọi cạnh tự Ý tưởng giải thuật : Chúng ta bắt ñầu với ghép M Nếu M chứa ñỉnh X ghép cực ñại Nếu không, ta chọn ñỉnh u chưa ghép thuộc X tìm kiếm cách hệ thống cho ñường mở M với gốc u Để tìm ghép tối ñại ñồ thị lưỡng phân G, ta dùng giải thuật ñường mở sau: Giải thuật ñường mở (Augmenting path/ Hungarian Algorithm) Xây dựng ghép M sau: Bước 1: Mọi ñỉnh thuộc X chưa kiểm tra Đặt M = Ø Bước 2: Nếu ñỉnh thuộc X chứa ghép ñều ñã kiểm tra dừng Bộ ghép nhận ñược cực ñại Bước 3: Nếu không, chọn ñỉnh u thuộc X chưa ghép chưa kiểm tra ñể xây dựng pha gốc u Bước 4: Nếu pha mở qua bước 5, không, ñánh dấu u ñã kiểm tra quay bước Bước 5: Thực thủ tục mở rộng M mở sau: Trên ñường mở, loại bỏ cạnh M thêm vào cạnh M ñể nhận ñược ghép Footer Page 16 of 126 Header Page 17 of 126 17 Đánh dấu ñỉnh thuộc X chưa kiểm tra Quay bước Định lí 2.8 Bộ ghép nhận ñược áp dụng giải thuật ñường mở vào ñồ thị lưỡng phân G cực ñại Bài toán ghép cặp tối ưu 2.4.5 Định nghĩa Cho trọng ñồ lưỡng phân G = (X,Y,E) với trọng số w(e) nguyên dương với e ∈ E Tìm ghép cực ñại M có tổng trọng số cạnh thuộc M, kí hiệu w(M), nhỏ Không tính tổng quát, ta giả thiết G = Kn,n ( cần, thêm ñỉnh giả cạnh giả với trọng số + ∞ ) với X=Y={1,2,…,n } Ký hiệu A= [aij ] ma trận trọng số, ñó aij trọng số cạnh (i,j) Như lời giải toán ghép cặp tối ưu tìm n phần tử ma trận A thỏa (i) hai phần tử nằm hàng cột (ii) tổng phần tử nhỏ Một n phần tử thỏa (i) (ii), xác ñịnh ghép cực ñại tối ưu, gọi ghép cặp tối ưu Với hàng A ta trừ ñi phần tử nhỏ cho hàng có phần tử Sau ñó với cột A ta trừ ñi phần tử nhỏ cho cột có phần tử Chọn n phần tử thỏa tính chất (i) Footer Page 17 of 126 Header Page 18 of 126 18 CHƯƠNG ỨNG DỤNG CỦA BÀI TOÁN GHÉP CẶP 3.1 BÀI TOÁN PHÂN CÔNG CÔNG VIỆC 3.1.1 Phát biểu toán Trong công ty, có n người công nhân x1, x2, …, xn n công việc y1, y2,…,yn Mỗi người công nhân làm ñược nhiều việc Tìm ñiều kiện ñể tất công nhân ñều có việc phù hợp 3.1.2 Cách giải Dựng ñồ thị lưỡng phân G = (X, Y, E) với X = {x1,x2, …, xn} biểu thị n người công nhân, Y = { y1,y2,…,yn} biểu thị n công việc xi kết hợp với yj người công nhân xi làm ñược công việc yj Bài toán trở thành xác ñịnh có hay không ghép hoàn hảo ñồ thị G Áp dụng thuật toán giải toán ghép cặp ñã trình bày chương 3.2 BÀI TOÁN XẾP THỜI KHÓA BIỂU Ở TRƯỜNG HỌC 3.2.1 Phát biểu toán Cho danh sách số giáo viên danh sách lớp học ñược dạy giáo viên Giả sử có ñủ phòng học ñể cho giáo viên thực tiết giảng lớp thời ñiểm giáo viên dạy lớp lúc lớp có nhiều giáo viên dạy Hãy bố trí cho giáo viên thực tiết giảng lớp, cho số lượng giáo viên tham gia nhiều 3.2.2 Cách giải Xây dựng ñồ thị lưỡng phân G = (X, Y, E) Với X tập giáo viên, Y tập lớp học Một ñỉnh x tập X ñược nối với ñỉnh y tập Y giáo viên x có tiết giảng lớp y Footer Page 18 of 126 Header Page 19 of 126 19 Vậy việc bố trí cho giáo viên thực tiết giảng lớp, cho số lượng giáo viên tham gia nhiều nhất, trở thành xác ñịnh ghép cực ñại ñồ thị G 3.3 BÀI TOÁN DỊCH VỤ HÔN NHÂN 3.3.1 Phát biểu toán Trong công ty môi giới hôn nhân, có m chàng trai ñến ñăng kí tìm vợ Đối với chàng trai ta biết cô gái mà vừa ý Hỏi tổ chức ñám cưới ñó chàng trai sánh duyên với cô gái mà vừa ý 3.3.2 Cách giải Ta xây dựng ñồ thị với ñỉnh biểu thị chàng trai cô gái, cung biểu thị vừa ý chàng trai ñối với cô gái Khi ñó ta thu ñược ñồ thị hai phía 3.4 MẠNG VỚI NHIỀU ĐIỂM PHÁT VÀ NHIỀU ĐIỂM THU 3.4.1 Phát biểu toán Cho n kho cần chuyển hàng s1,s2, sn m kho nhận hàng t1,t2, ,tm Hãy tìm phương án chuyển hàng cho lượng hàng ñược chuyển lớn nhất, cho biết trước số lượng hàng cần chuyển khả chứa hàng kho số hàng chuyển từ si ñến tj c(i,j) 3.4.2 Cách giải Bài toán ñưa toán mạng với nhiều ñiểm phát ñiểm thu Ta coi kho si ñiểm phát, kho nhận tj ñiểm thu Đồng thời ñưa vào ñiểm phát giả s nối với tất ñiểm phát ñiểm thu giả t ñược nối với ñiểm thu 3.5 BÀI TOÁN VỚI KHẢ NĂNG THÔNG QUA CỦA CÁC CUNG VÀ CÁC ĐỈNH 3.5.1 Phát biểu toán Hãy tìm phương án vận chuyển dầu từ bể chứa s tới bể nhận t thông qua hệ thống ñường ống dẫn dầu, cho lượng dầu chuyển Footer Page 19 of 126 Header Page 20 of 126 20 ñược nhiều Cho biết trước lượng dầu lớn bơm qua ñường ống qua ñiểm nối ống 3.5.2 Cách giải Xây dựng ñồ thị G = (V,E), với V tập ñỉnh ñồ thị gồm s, t tập ñiểm nối, E tập cung ñồ thị gồm ñường ống dẫn dầu Trong G, với ñỉnh v thuộc V tổng luồng ñi vào ñỉnh v không ñược vượt khả thông qua d(v) nó, tức f ( w, v) ≤ d(v) ∑ w∈V Cần phải tìm luồng cực ñại s t mạng Xây dựng mạng G′ cho: ñỉnh v G tương ứng với hai ñỉnh v+ v - G′, cung (u,v) G tương ứng với cung (u ,v+) G′, cung (v, w) G ứng với cung (v -, w+) G’ Ngoài ra, cung (v+ , v -) G’ có khả thông qua d(v), tức khả thông qua ñỉnh v G Do luồng ñi vào ñỉnh v+ phải ñi qua cung (v+ , v -) với khả thông qua d(v), nên luồng cực ñại G’ luồng cực ñại G với khả thông qua cung ñỉnh 3.6 BÀI TOÁN VẬN TẢI 3.6.1 Phát biểu toán Người ta cần vận chuyển hàng hóa từ ñiểm cung ứng ñến ñiểm tiêu thụ Cho biết khả cung ứng, yêu cầu tiêu thụ ñơn giá vận chuyển Tìm phương án vận chuyển ñảm bảo yêu cầu tiêu thụ với chi phí thấp Giả sử có m ñiểm cung ứng n ñiểm tiêu thụ Kí hiệu Ai lượng hàng hóa có ñiểm cung ứng i, i = 1,…, m Bj lượng hàng hóa yêu cầu ñiểm tiêu thụ j, j = 1,…, n thỏa mãn n m ∑ i =1 Footer Page 20 of 126 Ai = ∑ j =1 Bj Header Page 21 of 126 21 cij ñơn giá vận chuyển từ ñiểm cung ứng i ñến ñiểm tiêu thụ j, i =1,…,m j = 1, , n xij lượng hàng vận chuyển từ ñiểm cung ứng i ñến ñiểm tiêu thụ j, i =1,…,m j = 1, , n Bài toán vận tải có dạng sau m n ∑ ∑ i =1 cijxij → j =1 n ∑ xij = Ai , i = 1,…, m (TP) j =1 m ∑ xij = Bj , j =1, , n i =1 3.6.2 Cách giải Đưa toán vận tải mạng chuẩn Ta xây dựng mạng N(V, E) sau: Tập ñỉnh V= { s0, s1,…,sm, t0, t1, …,tn} với ñỉnh nguồn s0 ñỉnh ñích t0 Tập cung khả thông qua chi phí bao gồm (s0, si) với khả thông qua Ai chi phí 0, i =1,…,m (tj, t0) với khả thông qua Bj chi phí 0, j = 1, , n (si, tj) với khả thông qua +∞ chi phí cij, i =1,…,m j = 1, , n 3.7 VỀ MỘT BÀI TOÁN TỐI ƯU RỜI RẠC Trong mục ta trình bày thuật toán ñược xây dựng dựa thuật toán tìm luồng cực ñại ñể giải toán tối ưu rời rạc mô hình toán học cho số toán tối ưu tổng hợp Xét toán tối ưu rời rạc f ( x1 , x , , x n ) = max 1≤ i≤ m với ñiều kiện Footer Page 21 of 126 n ∑ j =1 xij → (3.1) Header Page 22 of 126 22 n a ij xij = p i , i = 1,2, m, (3.2) xij = 1, j = 1,2, , n (3.3) ∑ j =1 ñó a ij ∈ {0,1}, i = 1,2, , m; j = 1,2, , n, pi -nguyên dương, i = 1,2, , m Bài toán (3.1) - (3.3) mô hình toán học cho nhiều toán tối ưu tổ hợp thực tế Dưới ñây ta dẫn vài ví dụ ñiển hình Bài toán phân nhóm sinh hoạt Có m sinh viên n nhóm sinh hoạt chuyên ñề Với sinh viên i, biết aij = 1, sinh viên i có nguyện vọng tham gia vào nhóm chuyên ñề j, aij = 0, ngược lại Cho dãy pi số lượng nhóm chuyên ñề mà họ có nguyện vọng tham gia bảo ñảm sinh viên i phải tham gia ñúng pi nhóm Hãy tìm cách bố trí sinh viên học ñủ chuyên ñề phù hợp với nguyện vọng họ ñồng thời chuyên ñề có số lượng sinh viên theo học chênh lệch tốt Bài toán lập lịch cho hội nghị Một hội nghị có m tiểu ban, tiểu ban cần sinh hoạt ngày phòng họp phù hợp với Có n phòng họp dành cho việc sinh hoạt tiểu ban Biết aij = 1, phòng họp i thích hợp với tiểu ban j, aij = 0, ngược lại, i = 1,2, ,m, j = 1,2, ,n Hãy bố trí phòng họp cho tiểu ban cho hội nghị kết thúc sau ngày làm việc Bổ ñề Bài toán (3.1)-(3.3) có phương án tối ưu n ∑ j =1 a ij ≥ pi , i = 1,2, m, Footer Page 22 of 126 (3.4) Header Page 23 of 126 23 Bổ ñề sau ñây cho thấy mối liên hệ luồng cực ñại mạng G (k) phương án toán (3.1)-(3.3) Bổ ñề Giả sử ñối với số nguyên dương k ñó, luồng cực ñại nguyên ξ mạng G (k) có giá trị σ Khi ñó X* = (x*ij )mxn với thành phần ñược xác ñịnh theo công thức x * ij = ξ * (u i , w j ), i = 1,2, , m; j = 1,2, , n phương án toán (3.1)-(3.3) Bổ ñề Giả sử X* = (x*ij ) phương án tối ưu k* giá trị tối ưu toán (3.1) – (3.3) Khi ñó luồng cực ñại mạng G (k) có giá trị σ Bổ ñề Nếu k = m luồng cực ñại mạng G (m) có giá trị σ Footer Page 23 of 126 Header Page 24 of 126 24 KẾT LUẬN Luận văn ñược viết với mong muốn nghiên cứu sâu ứng dụng toán ghép cặp toán luồng cực ñại Quá trình nghiên cứu luận văn ñã ñạt ñược kết sau: - Với thân ñã hệ thống ñược số kiến thức Lý Thuyết Đồ Thị hiểu sâu toán ghép cặp, toán luồng cực ñại - Xây dựng ñược số ứng dụng toán giải ñược cách vận dụng kết toán ghép cặp toán luồng cực ñại - Hệ thống toán xây dựng dựa ứng dụng toán ghép cặp toán luồng cực ñại chưa thật ña dạng nên ñây hướng phát triển luận văn Footer Page 24 of 126 ... Chương 2- BÀI TOÁN GHÉP CẶP Giới thiệu toán ghép cặp, toán luồng cực ñại ñịnh lý, thuật toán liên quan ñến toán Chương 3- ỨNG DỤNG CỦA BÀI TOÁN GHÉP CẶP Trình bày ứng dụng toán ghép cặp, toán luồng... luồng cực ñại - Xây dựng ñược số ứng dụng toán giải ñược cách vận dụng kết toán ghép cặp toán luồng cực ñại - Hệ thống toán xây dựng dựa ứng dụng toán ghép cặp toán luồng cực ñại chưa thật ña... Thuyết Đồ Thị ñó Mạng ứng dụng Mạng Tuy nhiên, Mạng ứng dụng Mạng ñã ñược nhà khoa học nghiên cứu ñề cập nhiều Do vậy, xin ñề cập ñến ứng dụng khác mạng “ Bài toán ghép cặp ứng dụng Chính lý ñây