Bài giảng Lý thuyết đồ thị - Bài 9: Bài toán ghép cặp cung cấp cho người học các kiến thức: Đồ thị lưỡng phân, định lí Hall và ứng dụng, thuật toán tìm SDR, bài toán phân công công việc, bài toán giao việc của Gale,... Mời các bạn cùng tham khảo.
Bài Bài toán ghép cặp Giới thiệu Bài tốn ghép cặp chia thành loại Xét việc ghép phần tử tập hợp với phần tử tập hợp khác phân công n việc khác cho n người, người việc, tốn nhân Xét việc chia 2k phần tử tập hợp thành k cặp, ví dụ xếp 2k sinh viên vào k phịng ký túc xá (mỗi phịng có sinh viên) Định lý Hall Bài tốn nhân Phillip Hall giải năm 1935 có nhiều ứng dụng phát biểu nhiều dạng khác Đồ thị lưỡng phân Định nghĩa: Đơn đồ thị G=(V,E) cho V=V1 V2, V V 2= , V , V2 cạnh G nối đỉnh V1 đỉnh V2 gọi đồ thị đầu (lưỡng phân) Cho đồ thị lưỡng phân G=(A,B,E) Một ghép cặp tập hợp cạnh cho khơng có cạnh có chung đầu mút Một ghép cặp từ A đến B gọi hồn hảo nối tất đỉnh A đến B Đặt vấn đề Có việc cần tuyển người đảm nhiệm, người việc Gọi Si tập hợp ứng viên thích hợp cho việc thứ i giả sử ta có S1 = {A, B, C}, S2 = {D, E}, S3 = {D}, S4 = {E}, S5 = {A, E} Có thể tuyển đủ người thích hợp cho việc nói hay khơng? ? Đặt vấn đề Có chàng trai B1, B2, B3, B4 cô gái G1, G2, G3, G4, G5; chàng có danh sách gái thích hợp sau: B1: {G1, G4, G5} B2: {G1} B3: {G2, G3, G4} B4: {G2, G4} Một chàng trai kết hợp với gái thích hợp hay khơng? Dễ dàng ta thấy lời giải cho toán cặp sau: (B1, G4), (B2, G1), (B3, G3), (B4, G2) Định nghĩa Cho S tập hợp hữu hạn đa tập hợp A={A 1, A2, … Am} họ tập S Ta bảo A thỏa điều kiện Hall với k m} k phần tử Ai1, … Aik A, ta có |Ai1 Ai2 {1, …, … Aik| >=k Một hệ đại diện riêng biệt hay SDR (Systems of Distinct Representatives) A (a 1, a2, …, am) gồm m phần tử khác S cho a i Ai; gọi đại diện Ai Ví dụ Cho A ={A1, A2, A3, A4} với A1={1, 2}, A2={2, 3, 4}, A3={1}, A4={2} |A1 Hall A2 A3 | = nên A không thỏa điều kiện Định lí Hall ứng dụng Định lí Hall Cho đồ thị lưỡng phân X, Y Với tập A thuộc X, gọi G(A) tập đỉnh thuộc Y kề với đỉnh thuộc A Khi điều kiện cần đủ để tồn đơn ánh f: X → Y cho x kề f(x) |G(A)| ≥ |A| với A khác rỗng thuộc X Cho S tập hợp hữu hạn đa tập hợp {A1, A2, … Am} họ tập S, A có SDR A thỏa điều kiện Hall Định lí Hall (tt) Chứng minh Điều kiện cần hiển nhiên: Nếu tồn đơn ánh f với thuộc X, ta có chứa phần tử phân biệt , Ta chứng minh điều kiện đủ quy nạp theo |X| Khi , khẳng định hiển nhiên Giả sử định lý với tập X với Giả sử Ta xét hai trường hợp: Định lí Hall (tt) Chứng minh (tt) 1) Giả sử với , ta có Chọn phần tử thuộc X, theo điều kiện , tồn thuộc Y kề với X Ta đặt Bây xét , G’(A) tập đỉnh thuộc Y’ kề với A Khi Vì nên theo giả thiết quy nạp, tồn đơn ánh cho kề x với x thuộc x’ Bổ sung thêm ta đơn ánh thỏa mãn yêu cầu định lý 10 Thuật tốn tìm SDR Cho phần tử a1 tùy ý A1 làm đại diện cho A1 Với i>=2 Ai – {a1, a2, …, ai-1} ta chọn phần tử Ai – {a1, a2, …, ai-1} Nếu chọn a1, a2, …, am tập hợp tạo thành SDR A Ngược lại, trường hợp có k cho A k – {a1, a2, …, ak-1} = hay Ak {a1, a2, …, ak-1} (có nghĩa phần tử Ak đại diện Gọi S(b) phần tử A có đại diện b 12 Thuật tốn tìm SDR (tt) Đặt B1 = Ak phần tử B1 thành dãy U1 = b1b2…bh Nếu S(b1) – B1 = đặt U2 = U1; S(b1) – B1 = {bh+1 …bp}, ta lập dãy U2 = U1 bh+1 …bp= b1b2 …bp Giả sử có Ui Bi tập hợp phần tử xuất Ui Nếu S(bi) – Bi= đặt Ui+1 = Ui; ngược lại S(bi) – Bi = {bi1, …bit}, ta lập dãy Ui+1 = Ui bi1, …bit 13 Thuật tốn tìm SDR (tt) Nếu cuối có dãy Uq với phần tử b1, …br đại diện S(bi), i=1, …, r |Ak S(b1) … S(br)| = r < r+1, điều trái với giả thiết A thỏa điều kiện Hall Vậy có r mà U r có phần tử bs- chưa đại diện Theo định nghĩa U1 bs khơng có U1 có s1 < s cho bs S(bs2), bs2 S(bs2), …, bt-1 S(bst), bst Ak 14 Thuật tốn tìm SDR (tt) Ta chọn bs làm đại diện cho S(bs1-), bs1 làm đại diện cho S(bs2-), …, và bt-1 làm đại diện cho S(bst-), cuối bst làm đại diện cho Ak Lặp lại q trình ta có SDR A 15 Bài tốn phân cơng cơng việc Giả sử ta có việc v1, v2, v3, v4 ứng viên U1, U2, U3, U4 mà ta muốn phân công người việc Khả ứng viên tương ứng với công việc cho bảng sau đây, điểm cao khả thấp J1 J2 J3 J4 W1 82 83 69 92 W2 77 37 49 92 W3 11 69 86 W4 98 23 16 Bài toán phân cơng cơng việc (tt) Thuật tốn tìm phương án phân cơng tốt Bước 1: Trừ dịng cho số nhỏ dịng Bước 2: Trừ cột cho số nhỏ cột Bước 3: Xác định k, số đường nhỏ chứa tất zero A rõ đường k Nếu kJ5 26 ... phân Định nghĩa: Đơn đồ thị G=(V,E) cho V=V1 V2, V V 2= , V , V2 cạnh G nối đỉnh V1 đỉnh V2 gọi đồ thị đầu (lưỡng phân) Cho đồ thị lưỡng phân G=(A,B,E) Một ghép cặp tập hợp cạnh cho khơng... thành k cặp, ví dụ xếp 2k sinh viên vào k phòng ký túc xá (mỗi phịng có sinh viên) Định lý Hall Bài tốn nhân Phillip Hall giải năm 1935 có nhiều ứng dụng phát biểu nhiều dạng khác Đồ thị lưỡng... 20 Bài toán giao việc Gale Loại toán giao việc khác xét tầm quan trọng công việc Việc quan trọng ưu tiên nhận người Quy ước: J1