Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
3,16 MB
Nội dung
ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC SƯ PHẠM NGUYỄN DƯƠNG TIỄN BÀI TOÁN CẶP GHÉP TRONG LÝ THUYẾT ĐỒ THỊ Chun ngành: HÌNH HỌC VÀ TƠPƠ Mã số: 60460105 LUẬN VĂN THẠC SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐOÀN THẾ HIẾU Thừa Thiên Huế, năm 2019 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tơi, số liệu kết nghiên cứu ghi luận văn trung thực, đồng tác giả cho phép sử dụng chưa công bố cơng trình khác NGUYỄN DƯƠNG TIỄN ii Mục lục Trang phụ bìa i Lời cam đoan ii Mục lục Lời mở đầu Một số kiến thức chuẩn bị 1.1 Bài toán bảy cầu Kăonigsberg 1.2 Đồ thị 1.3 Các phép toán đồ thị 1.4 Một số khái niệm đồ thị 1.5 Một số loại đồ thị 13 1.6 Cặp ghép 15 Các toán cặp ghép 18 2.1 Bài tốn nhân 19 2.2 Bài tốn nhân bền vững 23 2.3 Bài toán cặp ghép cực đại 25 Kết luận 33 Tài liệu tham khảo 34 LỜI MỞ ĐẦU Trong tình thực tế, biểu thị đối tượng người, nhà ở, nút giao thơng, quan hành chính, điểm nối điểm lại nét mũi tên tượng trưng cho mối liên hệ Các sơ đồ xuất nhiều sống với nhiều tên gọi khác chúng có hai yếu tố cấu thành đỉnh cạnh nối đỉnh D.Koning người đề nghị gọi sơ đồ đồ thị thị (Graph), đồng thời đề nghị nghiên cứu cách có hệ thống tính chất Mơ hình đồ thị xuất từ kỉ XVIII, mơ hình đưa Leonhard Euler để giải toán bảy cầu Kăonigsberg, õy c xem l mụ hỡnh th u tiên lý thuyết đồ thị Mặc dù xuất từ lâu lý thuyết đồ thị thực quan tâm vào khoảng kỉ XIX người ta nhận lý thuyết đồ thị có nhiều ứng dụng thực tiễn địi hỏi phải hình thức hóa đến mức cao Những năm gần với phát triển kinh tế, xã hội đặc biết tin học, lý thuyết đồ thị quan tâm nhiều Trong lý thuyết đồ thị, toán cặp ghép vấn đề đáng quan tâm khả ứng dụng vào thực tiễn nó, điển hình Alvin Elliot Roth người đưa thuật toán DAA (Deferred Acceptance Algorithm) Lloyd Stowell Shapley David Gale vào giải vấn đề thực tiễn từ ơng nhận giải thưởng Nobel Kinh tế Hiểu đơn giản cặp ghép tập gồm cạnh đồ thị mà đơi khơng có đỉnh chung Vấn đề đặt tìm cặp ghép mà số cạnh nhiều Với mong muốn hiểu rõ lý thuyết đồ thị, đặc biệt tốn cặp ghép tơi chọn đề tài " Bài tốn cặp ghép lý thuyết đồ thị" để tìm hiểu Dựa tham khảo tổng hợp từ nguồn tài liệu, luận văn viết với cấu trúc gồm hai chương: Chương trình bày số định nghĩa kết sử dụng chương Đó định nghĩa, định lý tính chất đồ thị Chương trình bày nội dung tốn cặp ghép, tìm hiểu thuật toán để giải toán Luận văn hoàn thành hướng dẫn thầy giáo PGS TS Đoàn Thế Hiếu Tác giả chân thành cảm ơn thầy tận tình giúp đỡ, hướng dẫn trình làm luận văn Tác giả xin bày tỏ lịng biết ơn thầy cơ, anh chị bạn cao học viên cán công nhân viên chức Đại học Huế quan tâm giúp đỡ suốt trình học tập nghiên cứu Tuy cố gắng hết sức, song chắn khuyết điểm, tác giả mong góp ý q thầy cơ, bạn bè để luận văn hoàn thiện Xin chân thành cảm ơn Huế, tháng năm 2019 Nguyễn Dương Tiễn Chương Một số kiến thức chuẩn bị Trong chương này, tìm hiểu số kiến thức đồ thị, kiến thức sử dụng phần luận văn Nội dung phần trình bày lại sở tham khảo từ tài liệu [2] [3] [4] [5] 1.1 Bài toán bảy cu Kăonigsberg Bi toỏn by cõy cu Kăonigsberg ny sinh thnh ph Kăonigsberg nm trờn sụng Pregel, có hai hịn đảo nối với với đất liền bảy cầu Bài toán đặt sau: Từ vị trí bất kì, tìm đường mà phải qua bảy cầu, cầu qua lần quay lại điểm xuất phát Rất nhiều người thời cố gắng tìm đường thỏa u cầu khơng có kết Mãi đến năm 1736, Leonhard Euler chứng minh tốn khơng có lời giải Để chứng minh kết Euler biểu diễn lại tốn ngơn ngữ đồ thị Cụ thể ơng coi vùng đất môt đỉnh, cầu cạnh nối đỉnh đó, số cạnh nối với đỉnh gọi bậc đỉnh đó, cấu trúc thu gọi đồ thị Hình 1.1: Mơ hình th bi toỏn by cõu cu Kăonigsberg Nhờ việc sử dụng bậc đỉnh, Euler chứng minh tồn đường thỏa yêu cầu toán đồ thị khơng có đỉnh bậc lẻ Trong đồ thị bảy cõy cu Kăonigsberg cú bn nh cú bc l, vỡ việc tìm đường thỏa yêu cầu tốn điều khơng thể Lời giải Euler coi định lý lý thuyết đồ thị 1.2 Đồ thị Trong thực tế, thói quen thường vẽ lên giấy điểm biểu diễn cho địa điểm, đơn vị hành chính, cá thể, nút giao thông nối điểm lại để thể cho mối liên hệ Mỗi sơ đồ hình ảnh đồ thị Định nghĩa 1.2.1 Đồ thị (Graph) tập hợp gồm đỉnh cạnh nối đỉnh Kí hiệu G = (V, E), V tập tất đỉnh đồ thị G E tập tất cạnh đồ thị G Ta xem cạnh E ứng cặp đỉnh V Cạnh nối hai đỉnh vi , vj viết dạng vi vj Một cạnh có dạng vi vi gọi khuyên Ví dụ 1.2.2 Xét đồ thị G = (V, E) biểu diễn bẳng hình vẽ sau: Hình 1.2: đồ thị G = (V, E) Khi đó: Tập đỉnh V = {v1 , v2 , v3 , v4 , v5 } Tập cạnh E = {e1 = v1 v2 , e2 = v2 v3 , e3 = v3 v4 , e4 = v3 v5 , e5 = v1 v4 , e6 = v4 v5 , e7 = v5 v1 } Định nghĩa 1.2.3 Cho đồ thị G = (V, E) Đồ thị G gọi đồ thị vô hướng cạnh tập E ứng với cặp đỉnh không phân biệt thứ tự tập V Các cạnh đồ thị vô hướng gọi cạnh vô hướng Đồ thị G gọi đồ thị có hướng cạnh tập E ứng với cặp đỉnh có phân biệt thứ tự tập V Các cạnh đồ thị có hướng gọi cạnh có hướng cung Đồ thị G gọi đồ thị hỗn tạp tập E chứa cạnh có hướng cạnh vơ hướng Ví dụ 1.2.4 Đồ thị có hướng đồ thị vơ hướng Hình 1.3: Đồ thị vơ hướng G1 đồ thị có hướng G2 1.3 Các phép toán đồ thị Định nghĩa 1.3.1 Đồ thị H gọi đồ thị đồ thị G V (H) ⊆ V (G) E(H) ⊆ E(G) Kí hiệu: H ⊆ G Đồ thị G đồ thị Nếu H đồ thị G tất đỉnh cạnh H đỉnh cạnh G Nếu H1 ⊆ H2 H2 ⊆ H3 H1 ⊆ H3 Ví dụ 1.3.2 Đồ thị G đồ thị Hình 1.4: Đồ thị G đồ thị G , G G Định nghĩa 1.3.3 Cho đồ thị G có Y ⊆ V (G) X ⊆ E(G) Đồ thị H = G − X đồ thị thu cách bỏ đỉnh thuộc tập X đồ thị G Đồ thị H = G \ Y đồ thị thu cách bỏ cạnh thuộc tập Y đồ thị G Đồ thị sinh tập Y đồ thị có tập đỉnh Y tập cạnh E = {e = uv ∈ E(G)|u, v ∈ Y } Kí hiệu: G[Y ] = (Y, E ) Định nghĩa 1.3.4 Cho hai đồ thi G1 = (V1 , E1 ) G2 = (V2 , E2 ) Đồ thị G = (V, E) V = V1 ∪ V2 E = E1 ∪ E2 gọi đồ thị hợp hai đồ thị G1 G2 Kí hiệu: G = G1 ∪ G2 Đồ thị G = (V, E) V = V1 ∩ V2 E = E1 ∩ E2 gọi đồ thị giao hai đồ thị G1 G2 Kí hiệu: G = G1 ∩ G2 Tổng trực tiếp hai đồ thi G1 G2 đồ thị G = (V, E) V = V1 ∪ V2 E = (E1 ∪ E2 ) \ (E1 ∩ E2 ) Kí hiệu: G = G1 ⊕ G2 Định nghĩa 1.3.5 Hai đồ thị G1 = (V1 , E1 ) G2 = (V2 , E2 ) gọi đẳng cấu với tồn song ánh ϕ : V1 → V2 thỏa mãn tính chất xy ∈ E1 ϕ(x)ϕ(y) ∈ E2 với x, y ∈ V1 Song ánh ϕ gọi đẳng cấu G1 G2 Kí hiệu: G1 ∼ = G2 Ví dụ 1.3.6 Các phép tốn đồ thị Hình 1.5: Các phép tốn đồ thị Ví dụ 1.3.7 Xét hai đồ thị sau Hình 1.6: Đồ thị G G đẳng cấu với Khi ánh xạ ϕ : ϕ : V −→ V vi −→ vi (1 ≤ i ≤ 5) Ta chứng minh tồn dãy Thật dựa vào điều kiện kết với S = {a0 , a1 , , ai−1 } ta có |N(S)| ≥ |S| = i tức có i đỉnh nằm B kề với đỉnh S Do ta ln chọn đỉnh bi = b1 , , bi−1 thỏa điều kiện (2), tức dãy đỉnh a0 b1 a1 b2 a2 bi phải kết thúc đỉnh B Gọi điểm cuối dãy bk , ta cần chứng minh đường P = a0 b1 a1 af (k) bk đường tăng, tức chứng minh bk đỉnh chưa ghép Giả sử bk đỉnh ghép theo điều kiện (3) ak bk ∈ M mà bk đỉnh cuối dãy nên tồn ak ( có ak bk chưa phải đỉnh cuối dãy) Do bk đỉnh chưa ghép hay P đường tăng Từ ta việc chọn cặp ghép M = M ⊕ P tiếp tục trình với cặp ghép M trình kết thúc ta có cặp ghép đầy đủ G Điều kiện |N(S)| ≥ |S| với S ⊆ A, gọi điều kiện kết hôn ( marriage condition), hay điều kiện Hall Ví dụ sau giúp có nhìn trực quan định lý Hall Ví dụ 2.1.2 Có bốn cơng ty cần tuyển dụng nhân viên có bốn sinh viên ứng tuyển Các công ty nhận sinh viên mà họ mong muốn, sinh viên chấp nhận cơng ty nhận họ Hình 2.2: Đồ thị minh họa mối liên hệ công ty sinh viên ứng tuyển Ở công ty sinh viên có cạnh nối với cơng ty muốn nhận sinh viên Ví dụ Apple muốn nhận Bình, Google nhận Sử dụng định lý Hall ta biết có cặp ghép đầy đủ từ công ty đến sinh viên hay không Nếu ta nhìn vào đồ thị thấy Apple Youtube muốn nhận Bình, Bình lại làm cho cơng ty Vì khơng 20 thể có cặp ghép đầy đủ Ta viết lại điều kiện kết bối cảnh ví dụ trên: Với tập gồm n công ty, gọi m số lượng sinh viên mà cơng ty muốn Nếu m ≥ n với tập hợp công ty có cặp ghép đầy đủ từ tập công ty tập sinh viên Ngược lại khơng có cặp ghép đầy đủ Ở ta lấy tập {Apple, Y outube} có tập sinh viên có liên kết với hai cơng ty {Binh} Vì < nên việc tìm cặp ghép đầy khơng thể Nếu ta thay đổi việc Youtube chấp nhận Hoa Hình 2.3: Đồ thị minh họa mối liên hệ công ty sinh viên ứng tuyển Lúc điều kiện kết thỏa mãn, ta ghép cặp cho tất công ty với sinh viên mà họ muốn Chú ý ví dụ số lượng công ty sinh viên khơng ta sử dụng định lý Hall Nếu ta thay đổi chút điều kiện kết hôn ta thu hệ sau Hệ 2.1.3 Nếu |N(S)| ≥ |S| − d với S ⊆ A, d số tự nhiên cố định, G chứa cặp ghép M với |M | = |A| − d Chứng minh: Từ đồ thị G ta thêm d đỉnh vào B nối chúng với tất đỉnh A ta thu đồ thị G Theo giả thuyết đồ thị G ta có |N(S)| ≥ |S| − d với S ⊆ A, với việc d đỉnh thêm vào chúng liên thuộc với cạnh A nên đồ thị G ta có |N(S)| ≥ |S| với 21 S ⊆ A Do theo định lý Hall G chứa cặp ghép đầy đủ M , ta bỏ d đỉnh thêm vào G cặp ghép M tối đa d cạnh, tức M có |A|−d cạnh thuộc G Vậy đồ thị G chứa cặp ghép M với |M | = |A|−d Cho đồ thị G = (V, E), tập S ⊆ V gọi tập phủ đỉnh với cạnh e = ab G a ∈ S b ∈ S tức tất cạnh G liên thuộc với đỉnh S Định lý 2.1.4 Kăonig 1931 Trong th hai thnh phn G, số cạnh lớn cặp ghép M với số đỉnh nhỏ tập phủ đỉnh S Chứng minh: Ta có M cặp ghép S tập phủ đỉnh |M | ≤ |S| Thật giả sử |M | < |S|, cạnh M liên thuộc với đỉnh S nên có đỉnh S liên thuộc với hai cạnh M , điều mâu thuẫn với tính độc lập cạnh cặp ghép M Giả sử G = (V, E) có V = A∪B với |A| = m, |B| = n Gọi S = {a1 , a2 , , ar , b1 , b2 , , bs }, H1 = (A1 ∪ B1 , E1 ) đồ thị G với A1 = {a1 , a2 , , ar }, B1 = B \ {b1 , b2 , , bs } Ta cần chứng minh tồn cặp ghép đầy đủ M1 H1 , tức chứng minh H1 thỏa điều kiện kết hôn Giả sử tồn X ⊆ A1 cho |X| < |NH1 (X)| Lúc ta thu tập phủ đỉnh có số đỉnh nhỏ số đỉnh S, mâu thuẫn với giả thuyết S tập phủ đỉnh có số đỉnh nhỏ Do |NH1 (X)| ≥ |X| với X ⊆ A1 Theo định lý Hall H1 có cặp ghép đầy đủ M1 |M1 | = r Gọi H2 = (B2 ∪ A2 , E1 ) đồ thị G với B2 = {b1 , b2 , , bs }, A2 = A \ {a1 , a2 , , ar } Lập luận tương tự H2 có cặp ghép đầy đủ M2 |M2 | = s Lúc G có cặp ghép M = M1 ∪ M2 |M | = |M1 | + |M2 | = r + s Từ ta có điều phải chứng minh Cho đồ thị G = (V, E) đồ thị G = (V , E ) với V = V E = ∅ gọi nhân tử đồ thị G Nếu nhân tử G G đồ thị k-chính quy G gọi k-nhân tử Như với G = (V, E) đồ thị hai thần phần đồ thị H ⊆ G 1-nhân tử E(H) cặp ghép đầy đủ G Từ ta 22 có hệ sau Hệ 2.1.5 Nếu G k-chính quy với k 1, G có 1-nhân tử Chứng minh: Ta có G k-chính quy nên deg(v) = k|A| v∈A v∈A v∈B deg(v) hay k|A| = k|B|, |A| = |B| deg(v) = Theo định lý 1.56 ta có deg(v) = k|B| v∈B Xét S ⊆ A có tập hàng xóm N (S) Vì G k-chính quy nên đỉnh S nối đỉnh N (S) với tổng cộng k|S| cạnh, cạnh k|N (S)| cạnh liên thuộc với đỉnh N (S) Do k|S| k|N (S)| hay |N(S)| ≥ |S|, theo định lý Hall G chứa cặp ghép đầy đủ hay G có 1-nhân tử 2.2 Bài tốn nhân bền vững Trong tốn nhân, việc ghép cặp đơn ghép cô gái với chàng trai mà họ thích, thực tế việc ghép đôi xuất nhược điểm mối quan hệ cặp đôi không bền vững Nếu hai cặp đơi (a1 ; b1 ), (a2 ; b2 ) mà a1 lại thích b2 b1 b2 thích a1 a2 dẫn đến tan vỡ hai cặp đôi Vấn đề đặt làm để xếp hôn nhân cho n chàng trai n cô gái cho không tồn hai người khác giới thích người ghép đơi với họ Đó nội dung tốn nhân bền vững Lloyd Stowell Shapley David Gale hai người nghiên cứu đưa lời giải cho tốn Cũng có nhiều người giải toán này, cách giải Gale Shapley có ý nghĩa thực tiễn Từ việc đưa thuật tốn giải tốn họ tìm thuật toán DAA (Deferred Acceptance Algorithm), nhờ việc sử dụng thuật toán DAA để giải vấn đề thực tiễn mà Alvin Elliot Roth nhận giải thưởng Nobel Kinh tế Trong tốn nhân bền vững, chàng trai có danh sách gái mà họ thích theo thứ tự tăng nghiêm ngặt, ngược lại gái có danh sách chàng trai mà họ thích theo thứ tự tăng nghiêm ngặt Thuật toán mà Gale Shapley đưa để giải tốn nhân bền vững thực sau: 23 (1) Tất chàng trai chưa đính cầu người đứng đầu danh sách cô gái mà họ chưa cầu hôn (2) Các cô gái cầu hôn chọn người đứng đầu danh sách người cầu để đính từ chối người cịn lại kể người đính với (nếu có) bị tự chối (3) Các chàng trai bị từ chối xóa gái từ chối họ khỏi danh sách Thuật toán kết thúc tất chàng trai đính Sau thực vịng lặp tất người ghép đôi Thật ta xét gái bất kì, chàng trai duyệt danh sách từ xuống nên sau số vịng lặp hữu hạn gái cầu Mặt khác người đính hôn với người khác giới nên rõ ràng thời điểm tất người ghép cặp Ta chứng minh với thuật toán ghép cặp ta thu cặp ghép bền vững Giả sử sau thực ghép cặp tồn hai cặp đôi (a1 ; b1 ), (a2 ; b2 ) mà a1 thích b2 b1 b2 thích a1 a2 Vì b2 thích a1 a2 nên thực thuật toán , b2 cầu a1 trước a2 Vì b2 kết với a2 nên chứng tỏ a1 từ chối b2 Mặt khác a1 kết hôn với b1 chứng tỏ a1 thích b1 b2 , mâu thuẫn với giả thuyết Vậy không tồn cặp đôi khác giới thích người ghép đơi với họ, tức cặp ghép thu từ thuật toán bền vững Trên thuật toán mà Gale Shapley đưa để giải tốn nhân bền vững Để tổng quát ta tìm hiểu tốn thơng qua ngơn ngữ Lý thuyết đồ thị Gọi họ (≤v )v∈V chuỗi thứ tự ≤v E(v) tập ưu tiên (set of preferences) G Một cặp ghép M G gọi bền vững (stable) với cạnh e ∈ E\M tồn cạnh m ∈ M mà e m có chung đỉnh v e b e với cạnh e = ab mà a chấp nhận b Bắt đầu với cặp ghép rỗng, ta xây dựng chuỗi cặp ghép cặp ghép giữ tất đỉnh A hạnh phúc Cho cặp ghép M , ta xét đỉnh a ∈ A chưa ghép chấp nhận số đỉnh b ∈ B ( Nếu không tồn ta chấm dứt chuỗi) Thêm vào cặp ghép M cạnh e = ab cho f a e với cạnh f liên thuộc với a a chập nhận b, loại bỏ khỏi M tất cạnh liên thuộc với b Rõ ràng cặp ghép chuỗi tốt trước đó, tất cặp ghép chuỗi giữ cho đỉnh A hạnh phúc Vì ta xây dựng chuỗi cặp ghép kết thúc với cặp ghép M cho đỉnh không ghép a chấp nhận tất đỉnh mà liên thuộc B Vì đỉnh A hạnh phúc với M nên M cặp ghép bền vững 2.3 Bài toán cặp ghép cực đại Như đề cập đầu chương, cặp ghép M cực đại không tồn đường tăng cho M G Như để tìm cặp ghép cực đại đồ thị G trước tiên ta xuất phát từ cặp ghép M (có thể cặp ghép rỗng), ta tìm đường tăng P cho M , sau thực phép tăng cặp ghép dọc theo P cách thay cặp ghép M cặp ghép M = M ⊕ P Vấn đề làm để tìm đường tăng P cho M cách hiệu Năm 1961 Jack Edmonds giải vấn đề với thuật tốn bơng hoa, ý tưởng chủ đạo thuật tốn thu gọn chu trình lẻ thành đỉnh việc tìm kiếm đường tăng thực đồ thị thu gọn Để tìm hiểu thuật tốn tìm cặp ghép cực đại Jack Edmonds, trước tiên ta cần hiểu rõ hoa phép thu gọn hoa Định nghĩa 2.3.1 Cho đồ thị G = (V ; E) cặp ghép M G Một hoa (Blossom) chu trình mà đỉnh xuất phát ( đỉnh kết thúc) đỉnh 25 chưa ghép dọc theo chu trình cạnh chưa ghép ghép nối tiếp xen kẽ Hình 2.4: Đồ thị G với cặp ghép M Ở chu trình B = v3 v4 v5 v6 v7 v3 hoa Đỉnh v3 gọi đỉnh sở (base) hay gọi đế hoa Một hoa B có đặc điểm sau: (1) Bơng hoa B có số cạnh lẻ số cạnh chưa ghép nhiều số cạnh ghép cạnh (2) Trong hoa đế hoa đỉnh chưa ghép, đỉnh lại đỉnh ghép đỉnh ghép với đỉnh thuộc B (3) Với đỉnh khơng phải đế hoa ln tồn hai đường pha từ đế hoa đến đỉnh đó, hai đường pha dọc theo hoa theo hai hướng ngược Định nghĩa 2.3.2 Cho đồ thị G = (V, E) cặp ghép M Trong hoa B phép thu gọn hoa (shrink) phép thay tất đỉnh hoa B thành đỉnh Đồ thị G cặp ghép M tương ứng thu cách thu gọn hoa vào đế hoa gọi đồ thị thu gọn cặp ghép thu gọn đồ thị G cặp ghép M 26 Hình 2.5: Phép thu gọn hoa đồ thị G Qua phép thu gọn hoa cạnh ghép đồ thị G cạnh ghép đồ thị G Các đường tăng P cho cặp ghép M G nâng lên thành đường tăng P cho cặp ghép M tương ứng đồ thị G cách đảo ngược thao tác thu gọn hoa Cụ thể sau: Nếu đường tăng P qua bơng hoa thu gọn ta nâng lên thành bơng hoa, sau chọn đoạn đường qua hoa cho đảm bảo tính luân phiên cạnh ghép chưa ghép Tiếp tục nâng lên đường tăng thu không qua hoa thu gọn Hình 2.6: Phép nâng đế hoa v3 G lên hoa B = v3 v4 v5 v7 v6 v3 G 27 Ở ví dụ ta có đường tăng P = v1 v2 v3 v10 đồ thị G , sau nâng lên ta thu đường tăng P = v1 v2 v3 v6 v7 v10 đồ thị G Như ta hồn tồn tìm đường tăng đồ thị G thơng qua việc tìm đường tăng đồ thị thu gọn G nhờ thao tác thu gọn nâng lên Đó ý tưởng chủ đạo cho thuật tốn Edmonds Trước tiên để thực thuật tốn tìm đường tăng ta cần gán nhãn cho đỉnh Xét đỉnh v1 chưa ghép, từ đỉnh v1 đến đỉnh đường pha kết thúc cạnh chưa ghép ta gán nhãn cho đỉnh "nhạt", đường pha kết thúc cạnh ghép ta gán nhãn cho đỉnh "đậm" Sau gán nhãn cho đỉnh ta thực thuật tốn tìm đường tăng sau: (1) Gán nhãn đậm cho đỉnh xuất phát v1 với v1 đỉnh chưa ghép Ta xây dựng đường tăng đỉnh v1 sau: v1 theo cạnh chưa ghép đến v2 lúc ta gán nhãn "nhạt" cho v2 , v2 theo cạnh ghép đến v3 lúc ta gán nhãn "đậm" cho v3 , ta tiếp tục trình theo quy tắc: Từ đỉnh đậm cạnh chưa ghép từ đỉnh nhạt cạnh ghép Trong trình xây dựng đường tăng, gặp cạnh chưa ghép nối hai đỉnh đậm tức ta gặp hoa, lúc ta tiến hành thu gọn bơng hoa bắt đầu lại trình xây dựng đường tăng đồ thị thu gọn (2) Nếu đường tăng thu khơng có đế hoa (đỉnh sở) nào, ta việc tăng cặp ghép dọc theo đường tăng Nếu đường tăng qua đế hoa ta mở rộng đế hoa thành bơng hoa chọn đường xuyên qua hoa cho đảm bảo tính ln phiên đường tăng Thực thuật tốn không tồn đường tăng nữa, lúc cặp ghép thu cặp ghép cực đại Đối với đồ thị G thuật tốn tìm cặp ghép cực đại phức tạp, G đồ thị hai thành phần thuật tốn tìm cặp ghép cực đại đơn giản nhiều Cho G = (A ∪ B, E) đồ thị hai thành phần Giả sử A = {a1 , a2 , , am } B = {b1 , b2 , , bn } Lấy M cặp ghép G (có thể cặp ghép rỗng) 28 Thuật tốn tìm cặp ghép cực đại G thực sau: Thực bước gắn nhãn sau không thực bước (1) Gắn nhãn "*" tất đỉnh chưa ghép A Sau áp dụng xen kẽ bước gắn nhãn thêm (2) Chọn đỉnh gắn nhãn A, giả sử đỉnh gắn nhãn tất đỉnh B chưa gắn nhãn mà nối với cạnh chưa ghép Lặp lại bước tất đỉnh A gắn nhãn trước (3) Chọn đỉnh gắn nhãn B, giả sử bi Gắn nhãn bi với tất đỉnh chưa gắn nhãn A nối với bi cạnh M Lặp lại bước tất đỉnh B gắn nhãn bước trước Lưu ý việc gắn nhãn tiếp tục luân phiên hai khả sau xảy ra: (E1 ) Một đỉnh chưa ghép B gắn nhãn (E2 ) Không thể gắn nhãn thêm đỉnh E1 không xảy Khi thuật toán kết thúc với khả E2 cặp ghép tìm cặp ghép cực đại G Bây ta áp dụng thuật toán vào việc tìm cặp ghép cực đại đồ thị hai thành phần G Ví dụ 2.3.3 Cho G = (A ∪ B, E) đồ thị hai thành phần với A = {a1 , a2 , a3 } B = {b1 , b2 , b3 } Cho M = {a2 b1 } cặp ghép G Hình 2.7: Đồ thị G cặp ghép M 29 (1) Gắn nhãn "*" cho tất đỉnh chưa ghép A Ở ta gắn nhãn "*" cho a1 a3 Hình 2.8: Gắn nhãn sau bước thứ (2) Chọn đỉnh gắn nhãn A, giả sử , gắn nhãn tất đỉnh B mà nối với cạnh chưa ghép Lặp lại bước tất đỉnh B gắn nhãn bước trước Chúng ta chọn đỉnh a1 Gắn nhãn a1 cho ba đỉnh b1 , b2 , b3 Xét đỉnh a3 Vì a3 liên thuộc với đỉnh gắn nhãn B nên gắn thêm nhãn bước (3) Chọn đỉnh gắn nhãn B, giả sử bi , gắn nhãn tất đỉnh chưa gắn nhãn A mà nối với bi cạnh M Ở có đỉnh a2 A chưa gắn nhãn ta chọn đỉnh B gắn nhãn trước liên thuộc với a2 Ta phải gắn nhãn b1 cho a2 Hình 2.9: Gắn nhãn sau bước thứ 30 Thuật toán dừng lại Do đỉnh chưa ghép B gắn nhãn nên thuật toán kết thúc với khả E1 Hơn đường P = a1 b2 đường tăng Vì ta có cặp gép M = {a2 b1 , a1 b2 } Bây ta chạy lại thuật toán với cặp ghép M (1) Đỉnh a3 đỉnh chưa ghép A, ta gắn nhãn "*" cho a3 Gắn nhãn a3 tất đỉnh liên thuộc với a3 b1 b3 Hình 2.10: Cặp ghép M việc gắn nhãn sau bước thứ (2) Bây chọn b1 , gắn nhãn b1 cho a1 a2 Chú ý b3 liên thuộc với đỉnh gắn nhãn nên ta khơng cần xét đến Hình 2.11: Gắn nhãn sau bước thứ (3) Xét a1 Vì liên thuộc với b2 không gắn nhãn bước trước nên ta gắn nhãn a1 cho b2 31 Hình 2.12: Gắn nhãn sau bước thứ Ta dừng thuật tốn tất đỉnh G gắn nhãn Chú ý đỉnh chưa ghép b3 gắn nhãn nên khả E1 xảy Lúc ta có P = a3 b3 đường tăng ta có cặp ghép M = {a2 b1 , a1 b2 , a3 b3 } Hình 2.13: Cặp ghép M Khi chạy thuật tốn với cặp ghép M , khơng thể tìm đỉnh chưa ghép A nên thuật toán kết thúc với khả E2 Vậy M cặp ghép cực đại G 32 KẾT LUẬN Luận văn trình bày khái niệm, tính chất, hệ thống xếp lại kiến thức Các chứng minh định lý, bổ đề, thuật tốn trình bày lại chi tiết, rõ ràng dựa tham khảo nguồn tài liệu Đưa ví dụ minh họa cho khái niệm, tính chất, thuật tốn kết luận văn Các kết thu cụ thể sau: Trình bày kiến thức đồ thị: Các phép toán đồ thị, định nghĩa bản, loại đồ thị thường gặp Trình bày kiến thức đồ thị hai thành phần, định nghĩa cặp ghép, đường tăng, đường pha định lý, bổ đề liên quan Trình bày nội dung tốn cặp ghép, thuật tốn tăng cặp ghép, thuật tốn tìm đường tăng, thuật tốn tìm cặp ghép cực đại, đưa ví dụ minh họa 33 Tài liệu tham khảo Tiếng Việt: [1] Lê Minh Hồng, Giáo trình Lý thuyết đồ thị [2] Ngô Đắc Tân (2004), Lý thuyết tổ hợp đồ thị, Nhà Xuất Bản Đại Học Quốc Gia Hà Nội Tiếng Anh: [3] J A Bondy (2014), Beautiful conjectures in graph theory, European Journal of Combinatorics [4] J A Bondy, U S R Murty (2008), Graph Theory, Springer [5] R Diestel (2017), Graph theory fifth edition, Springer, Berlin [6] S V Tzvetalin, H Laura (2012), Algorithms for Matchings in Graphs , Nipissing University, North Bay, P1B 8L7, Canada Typed by LATEX 34 ... 1.3.2 Đồ thị G đồ thị Hình 1.4: Đồ thị G đồ thị G , G G Định nghĩa 1.3.3 Cho đồ thị G có Y ⊆ V (G) X ⊆ E(G) Đồ thị H = G − X đồ thị thu cách bỏ đỉnh thuộc tập X đồ thị G Đồ thị H = G Y đồ thị. .. Hình 1.3: Đồ thị vơ hướng G1 đồ thị có hướng G2 1.3 Các phép toán đồ thị Định nghĩa 1.3.1 Đồ thị H gọi đồ thị đồ thị G V (H) ⊆ V (G) E(H) ⊆ E(G) Kí hiệu: H ⊆ G Đồ thị G đồ thị Nếu H đồ thị G tất... đồ thị G cặp ghép M 26 Hình 2.5: Phép thu gọn hoa đồ thị G Qua phép thu gọn hoa cạnh ghép đồ thị G cạnh ghép đồ thị G Các đường tăng P cho cặp ghép M G nâng lên thành đường tăng P cho cặp ghép