Slide toán rời rạc chương 4 đồ thị euler và đồ thị hamilton

5 33 1
Slide toán rời rạc chương 4 đồ thị euler và đồ thị hamilton

Đang tải... (xem toàn văn)

Thông tin tài liệu

CHƢƠNG ĐỒTHỊ EULER VÀ ĐỒTHỊ HAMILTON I Đồ thị EULER Khái niệm  Đường qua cạnh đồ thị lần gọi đường Euler  Chu trình qua cạnh đồ thị lần gọi chu trình Euler  Đồ thị gọi đồ thị Euler có chu trình Euler, gọi đồ thị nửa Euler có đường Euler  Mọi đồ thị Euler nửa Euler, điều ngược lại không G1 G2 co ng c om Ví dụ: Đồ thị G1 hình đồ thị Euler có chu trình Euler a, e, c, d, e, b, a Đồ thị G3 khơng có chu trình Euler có đường Euler a, c, d, e, b, d, a, b, G3 đồ thị nửa Euler Đồ thị G2 khơng có chu trình đường Euler G3 an Hình Đồ thị G1, G2, G3 cu u du o ng th Ví dụ: Đồ thị H2 hình đồ thị Euler có chu trình Euler a, b, c, d, e, a Đồ thị H3 chu trình Euler có đường Euler c, a, b, c, d, b H3 đồ thị nửa Euler Đồ thị H1 khơng có chu trình đường Euler Hình Đồ thị H1, H2, H3 Đị nh lý ( Đị nh lý Euler): G đồ thị vô hướng liên thông G đồ thị Euler đỉnh G có bậc chẵn Bổ để: Nếu bậc đỉ nh đồ thị G không nhỏ G chứa chu trình Cm bổ đề: Nếu G có cạnh lặp khẳng đị nh bồ đề hiển nhiên Vì giả sử G đơn đồ thị Gọi v đỉ nh G Ta xây dựng đường sau: v -> v1 -> v2 -> CuuDuongThanCong.com https://fb.com/tailieudientucntt v1 đỉ nh kề với v, với i≥1 chọn vi+1 kề với vi vi+1 vi-l (có thể chọn vi+1 deg(vi) ≥2) Do tập đỉ nh G hữu hạn , nên sau số hữu hạn bước ta phải quay lại đỉ nh xuất trước chu trình cần tìm Chứng minh đị nh lý: ( ) Giả sử G đồ thị Euler tức tồn chu trình Euler P G Mỗi lần chu trình P qua đỉ nh G bậc đỉ nh tăng lên Mặt khác cạnh đồ thị xuất P lần, suy đỉ nh đồ thị có bậc chẵn .c om ( ) Quy nạp theo số cạnh G Do G liên thông bậc đỉ nh số chẵn nên bậc đỉ nh khơng nhỏ Từ theo bổ đề G phải chứa chu trình C Nếu C qua tất cạnh G chu trình Euler Giả sử C khơng qua tất cạnh G Khi loại bỏ khỏi G tất cạnh thuộc C ta thu đồ thị H có tất đỉ nh bậc chẵn Theo giả thiết qui nạp, thành phần liên thông H tìm chu trình Euler Do G liên thơng nên thành phần H có đỉ nh chung với chu trình C du o ng th an co ng Vì vậy, ta xây dựng chu trình Euler G sau: đỉ nh chu trình C, theo cạnh C gặp đỉ nh chung với H, ta theo chu trình Euler thành phần liên thơng H chứa đỉ nh Sau lại tiếp tục theo cạnh C gặp phải đỉ nh chung với H lại theo chu trình Euler thành phần liên thông tương ứng H v.v… (xem hình 3) Quá trình kết thúc ta trở đỉ nh xuất phát , tức thu chu trình qua cạnh đồ thị lần cu Hệ : u Hình Minh hoạ cho chứng minh đị nh lý Cho đồ thị vô hướng liên thông G G nửa Euler  G có khơng q đỉnh bậc lẻ Chứng minh ( ) Nếu G có khơng đỉ nh bậc lẻ số đỉ nh bậc lẻ (do số đỉ nh bậc lẻ số chẵn) Nếu G khơng có đỉ nh bậc lẻ theo đị nh l{ 1, đồ thị Euler Giả sử G có đỉ nh bậc lẻ u v Gọi H đồ thị thu từ G cách thêm vào G đỉ nh w hai cạnh (w,u) (w,v) Khi tất đỉ nh H có bậc chẵn, theo đị nh lý 1, có chu trình Euler Xố bỏ khỏi chu trình đỉ nh w hai cạnh kề ta thu đường Euler đồ thị G Thuật tốn tìm chu trình Euler đƣờng Euler void Euler_Cycle(){ stack= ; CE= ;// CE la tap chua cac dinh theo thu tu cua chu trinh Euler CuuDuongThanCong.com https://fb.com/tailieudientucntt cat dinh xp vao stack Trong stack khác rỗng{ Goi x la phan tu dinh stack ; Nếu (x đỉ nh kề) { Chọn đỉ nh y kề x, cất y vào stack; Loại bỏ cạnh (x,y) khỏi đồ thị } Ngược lại //x khong dinh ke { Lấy x khỏi stack ; cất x vào CE } } In CE theo thứ tự ngược (9) (8) (1) (7) (2) (3) 3 2 2 7 6 2 1 Thứ tự cạnh bị huỷ ghi ngoặc CE = {1, 3, 5, 4, 3, 2, 7, 6, 2, 1}: chu trình Euler (6) (5) 5 an 4 3 co (4) 1 ng c om } Ví dụ : Chọn la dinh xuat phát Đị nh lý : du o ng th Thuật toán Flor Giả sử G đồ thị Euler, thuật toán đơn giản sau cho phép xác đị nh chu trình Euler làm tay : Xuất phát từ đỉ nh u G ta theo cạnh cách tuz { cần tuân thủ qui tắc sau: Xoá bỏ cạnh qua đồng thời xoá bỏ đỉ nh cô lập tạo thành Ởmỗi bước ta qua cầu khơng cịn cách lựa chon khác cu u G có hướng liên thơng mạnh G đồ thị Euler Deg+(v) = deg - (v), v V II Đồ thị HAMILTON Khái niệm  Đường qua tất đỉ nh đồ thị đỉ nh lần gọi đường Hamilton  Chu trình đỉ nh v qua tất đỉ nh lại đỉ nh lần quay trở v gọi chu trình Hamilton  Đồ thị G gọi đồ thị Hamilton chứa chu trình Hamilton gọi đồ thị nửa Hamilton có đường Hamilton  Đồ thị Hamilton nửa Hamilton, điều ngược lại không Ví dụ: G3 Hamilton, G2 nửa Hamilton , G1 khơng nửa Hamilton CuuDuongThanCong.com https://fb.com/tailieudientucntt Hình Đồ thị Hamilton G3, nửa Hamilton G2 , G1 không nửa Hamilton Lưu ý: đồ thị Euler khơng Hamilton hamilton khơng Euler 2 5 Hamilton kg Euler c om Euler kg Hamilton Đị nh lý ng G đơn đồ thị vô hướng có n đỉnh (n>2) đỉnh u, deg(u) n/2 G đồ thị Hamilton Đị nh lý an co G đồ thị có hướng liên thơng với n đỉnh đỉnh u, deg+ (u) ≥n/2, deg – (u) ≥ n/2 G đồ thị Hamilton ng th Đồ thị đấu loại đồ thị có hướng mà hai đỉ nh bất kz nối với cung Đồ thị đấu loại dùng để biểu diễn kết thi đấu trò chơi mà khơng cho phép hồ du o Đị nh lý u i) Mọi đồ thị đấu loại nửa Hamilton ii) Mọi đồ thị đấu loại liên thông mạnh Hamilton cu Ví du: Đồ thị đấu loại D5, D6 cho hình Hình Đồ thị đấu loại D5, đấu loại liên thông mạnh D6 CuuDuongThanCong.com https://fb.com/tailieudientucntt du o ng th an co ng c om Thuật toán liệt kê tất chu trình/đƣờng Hamilton void Try(int i){ for(int j=1;j

Ngày đăng: 25/09/2021, 19:00

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan