Bài giảng Lý thuyết đồ thị - Bài 2: Đường đi, chu trình Euler cung cấp cho người học các kiến thức: Đồ thị Euler, bài toán người phát thư Trung Hoa. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Toán học và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Bài Đường đi, chu trình Euler 2.1 Đồ thị Euler Bài toán cầu TP Konigsberg A B Graph Theory C 03/10/20 D Bài toán cầu Tp Konigsberg A B C A Mô hình thành Đồ thị D B D C Đặt vấn đề (tt) Hãy vẽ hình sau nét bút (không nhấc bút lên vẽ) Không vẽ nét Tối thiểu phải vẽ nét Không vẽ nét Tối thiểu phải vẽ nét Đặt vấn đề (tt) Hãy vẽ hình sau nét bút (không nhấc bút lên vẽ) Đường đi, chu trình Euler Xét đồ thị G = Một đường đồ thị gọi đường Euler qua tất cạnh, cạnh lần Một chu trình đồ thị gọi chu trình Euler qua tất cạnh, cạnh lần VD: Đồ thị sau có đường Euler là: d1: 5 d2: 5 … Đường đi, chu trình Euler (tt) VD: Đồ thị sau có chu trình Euler là: d1: 5 d2: 5 … Đồ thị Euler Xét đồ thị G = Đồ thị G gọi đồ thị Euler tồn chu trình Euler G Đồ thị G gọi đồ thị nửa Euler tồn đường Euler G 3 4 5 Đồ thị Euler (hiển nhiên đồ thị nửa Euler) Đồ thị nửa Euler Định lý Euler Định lý Đồ thị vô hướng, liên thông G đồ thị Euler đỉnh có bậc chẵn Hệ Đồ thị vô hướng, liên thông G đồ thị nửa Euler có khơng q hai đỉnh bậc lẻ 10 Thuật tốn xây dựng chu trình Euler Gọi chu trình Euler cần tìm C Thuật tốn tiến hành theo bước sau: Khởi tạo: Chọn đỉnh cho vào C Lặp G cạnh Chọn cạnh e nối đỉnh vừa chọn với đỉnh kề với theo nguyên tắc: chọn cầu khơng cịn cạnh khác để chọn Bổ sung e đỉnh cuối vào C Xóa e khỏi G Sau xố đỉnh lập (nếu có) 12 Ví dụ 13 Ví dụ (tt) Xuất phát từ u, ta theo cạnh (u, v) (u, x), giả sử (u, v) (xố (u,v)) Từ v qua cạnh (v, w), (v, x), (v, t), giả sử (v, w) (xoá (v,w)) Tiếp tục, theo cạnh (w, s), (w, y), (w, z), giả sử (w, s) (xoá (w, s)) Đi theo cạnh (s, y) (xoá (s, y) s) Vì (y, x) cầu nên theo hai cạnh (y, w), (y, z), giả sử (y, w) (xoá (y, w)) Đi theo (w, z) (xoá (w, z) w) theo (z, y) (xoá (z, y) z) Tiếp tục theo cạnh (y, x) (xố (y, x) y) Vì (x, u) cầu nên theo cạnh (x, v) (x, t), giả sử (x, v) (xố (x, v)) 14 Ví dụ (tt) Tiếp tục theo cạnh (v, t) (xoá (v, t) v), theo cạnh (t, x) (xoá cạnh (t, x) t), cuối cung theo cạnh (x, u) (xoá (x, u), x u) Sau thực xong thuật tốn ta có chu trình Euler sau: (u, v, w, s, y, w, z, y, x, v, t, x, u) 15 Định lý Euler cho đồ thị có hướng Định lý: Xét G đồ thị có hướng, liên thơng mạnh Khi G đồ thị Euler đỉnh G có bán bậc bán bậc vào 16 2.2 Bài toán người phát thư Trung Hoa 17 Phát biểu toán Một nhân viên từ Sở Bưu Điện, qua số đường phố để phát thư, quay Sở Người phải qua đường theo trình tự để đường ngắn nhất? Bài toán nhà toán học Trung Hoa Guan nêu lên (1960), thường gọi “bài toán người phát thư Trung Hoa” 18 Giải toán người đưa thư Xét toán dạng đơn giản sau: Cho đồ thị liên thơng G Một chu trình qua cạnh G gọi hành trình đồ thị G Trong hành trình đó, tìm hành trình ngắn nhất, tức qua cạnh Rõ ràng G đồ thị Euler (mọi đỉnh có bậc chẵn) chu trình Euler G (qua cạnh G lần) hành trình ngắn cần tìm Chỉ cịn phải xét trường hợp G có số đỉnh bậc lẻ (số đỉnh bậc lẻ số chẵn) Khi đó, hành trình G phải qua hai lần số cạnh 19 Giải tốn người đưa thư (tt) Xét toán dạng đơn giản sau: (tt) Dễ thấy hành trình qua cạnh (u, v) q hai lần khơng phải hành trình ngắn G Vì vậy, ta cần xét hành trình T qua hai lần số cạnh G Quy ước hành trình T G hành trình đồ thị Euler GT, có từ G cách vẽ thêm cạnh song song cạnh mà T qua hai lần 20 Giải toán người đưa thư (tt) Bài toán đặt đưa toán sau: Trong đồ thị Euler GT, tìm đồ thị có số cạnh (khi chu trình Euler đồ thị hành trình ngắn nhất) Định lý (Gooodman Hedetniemi, 1973) Nếu G đồ thị liên thơng có q cạnh hành trình ngắn G có chiều dài q + m(G), m(G) số cạnh mà hành trình qua hai lần xác định sau: 21 Giải toán người đưa thư (tt) Bài toán đặt đưa toán sau: (tt) Gọi V0(G) tập hợp đỉnh bậc lẻ (2k đỉnh) G Phân 2k phần tử G thành k cặp, tập hợp k cặp gọi phân hoạch cặp V0(G) Gọi độ dài đường ngắn từ u đến v khoảng cách d(u, v) Đối với phân hoạch cặp Pi, tính khoảng cách hai đỉnh cặp, tính tổng d(Pi) Số m(G) cực tiểu d(Pi): m(G)=min d(Pi) 22 Ví dụ toán người đưa thư Giải toán người phát thư Trung Hoa với đồ thị sau: 23 Ví dụ toán người đưa thư (tt) Tập hợp đỉnh bậc lẻ VO(G)={B, G, H, K} tập hợp phân hoạch cặp P={P1, P2, P3}, P1 = {(B, G), (H, K)} d(P1) = d(B, G)+d(H, K) = 4+1 = 5, P2 = {(B, H), (G, K)} d(P2) = d(B, H)+d(G, K) = 2+1 = 3, P3 = {(B, K), (G, H)} d(P3) = d(B, K)+d(G, H) = 3+2 = Vậy m(G) = min(d(P1), d(P2), d(P3)) = 24 Ví dụ tốn người đưa thư (tt) Do GT có từ G cách thêm vào cạnh: (B, I), (I, H), (G, K) GT đồ thị Euler Vậy hành trình ngắn cần tìm theo chu trình Euler GT: (A, B, C, D, E, F, K, G, K, E, C, J, K, H, J, I, H, I, B, I, A) 25 Ví dụ tốn người đưa thư (tt) Đồ thị sau thêm cạnh: 26 ... có đường Euler là: d1: 5 d2: 5 … Đường đi, chu trình Euler (tt) VD: Đồ thị sau có chu trình Euler là: d1: 5 d2: 5 … Đồ thị Euler Xét đồ thị G = Đồ thị G gọi đồ thị Euler tồn chu trình Euler. .. Euler G Đồ thị G gọi đồ thị nửa Euler tồn đường Euler G 3 4 5 Đồ thị Euler (hiển nhiên đồ thị nửa Euler) Đồ thị nửa Euler Định lý Euler Định lý Đồ thị vô hướng, liên thông G đồ thị Euler đỉnh... lên vẽ) Đường đi, chu trình Euler Xét đồ thị G = Một đường đồ thị gọi đường Euler qua tất cạnh, cạnh lần Một chu trình đồ thị gọi chu trình Euler qua tất cạnh, cạnh lần VD: Đồ thị sau