Ôn thi toán rời rạc đồ thị

101 548 0
Ôn thi toán rời rạc đồ thị

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA ĐỒ THỊ Nội dung chương đề cập đến khái niệm đồ thị, bao gồm:  Định nghĩa ví dụ  Phân loại đồ thị vô hướng, đồ thị có hướng, đơn đồ thị, đa đồ thị  Khái niệm bậc bán bậc đỉnh  Khái niệm đường đi, chu trình tính liên thông đồ thị  Bài tập Bạn đọc tìm thấy kiến thức sâu rộng tài liệu [1], [2], [3] 1.1 Định nghĩa khái niệm Đồ thị (Graph) cấu trúc liệu rời rạc bao gồm đỉnh cạnh nối cặp đỉnh Chúng ta phân biệt đồ thị thông qua kiểu số lượng cạnh hướng cạnh nối cặp đỉnh đồ thị Để minh chứng cho loại đồ thị, xem xét số ví dụ loại mạng máy tính bao gồm: máy tính đỉnh, cạnh kênh điện thoại nối hai máy tính với Hình 1.1, sơ đồ mạng máy tính loại San Francisco Detroit Chicago New York Denver Los Angeles Washington Hình 1.1 Đơn đồ thị vô hướng Trong mạng máy tính này, máy tính đỉnh đồ thị, cạnh vô hướng biểu diễn đỉnh nối hai đỉnh phân biệt, hai cặp đỉnh nối cặp đỉnh Mạng loại biểu diễn đơn đồ thị vô hướng Định nghĩa Đơn đồ thị vô hướng G = bao gồm V tập đỉnh, E tập cặp thứ tự gồm hai phần tử khác V gọi cạnh Trong trường hợp hai máy tính thường xuyên truyền tải nhiều thông tin, người ta nối hai máy tính nhiều kênh thoại khác Mạng máy tính đa kênh thoại biểu diễn Hình 1.2 San Francisco Detroit Chicago New York Denver Los Angeles Washington Hình 1.2 Đa đồ thị vô hướng Trên Hình 1.2, hai máy tính nối với nhiều kênh thoại Với mạng loại này, dùng đơn đồ thị vô hướng để biểu diễn Đồ thị loại đa đồ thị vô hướng Định nghĩa Đa đồ thị vô hướng G = bao gồm V tập đỉnh, E họ cặp thứ tự gồm hai phần tử khác V gọi tập cạnh e1∈E, e2∈E gọi cạnh bội chúng tương ứng với cặp đỉnh Rõ ràng, đơn đồ thị đa đồ thị, đa đồ thị đơn đồ thị hai đỉnh có nhiều cạnh nối chúng với Trong nhiều trường hợp, có máy tính nối nhiều kênh thoại với Với loại mạng này, ta dùng đa đồ thị để biểu diễn mà phải dùng giả đồ thị vô hướng Giả đồ thị vô hướng mô tả Hình 1.3 Định nghĩa Giả đồ thị vô hướng G = bao gồm V tập đỉnh, E họ cặp thứ tự gồm hai phần tử (hai phần tử không thiết phải khác nhau) V gọi cạnh Cạnh e gọi khuyên có dạng e =(u, u), u đỉnh thuộc V San Francisco Detroit Chicago New York Denver Los Angeles Washington Hình 1.3 Giả đồ thị vô hướng Trong nhiều mạng, kênh thoại nối hai máy tính phép truyền tin theo chiều Chẳng hạn máy tính đặt San Francisco phép truy nhập tới máy tính đặt Los Angeles, máy tính đặt Los Angeles không phép truy nhập ngược lại San Francisco Hoặc máy tính đặt Denver truy nhập tới máy tính đặt Chicago ngược lại máy tính đặt Chicago truy nhập ngược lại máy tính Denver Để mô tả mạng loại này, dùng khái niệm đơn đồ thị có hướng Đơn đồ thị có hướng mô tả Hình 1.4 San Francisco Detroit Chicago New York Denver Los Angeles Washington Hình 1.4 Đơn đồ thị có hướng Định nghĩa Đơn đồ thị có hướng G = bao gồm V tập đỉnh, E tập cặp có thứ tự gồm hai phần tử V gọi cung Đồ thị có hướng Hình 1.4 không chứa cạnh bội Nên mạng đa kênh thoại chiều, đồ thị có hướng mô tả mà ta dùng khái niệm đa đồ thị có hướng Mạng có dạng đa đồ thị có hướng mô tả Hình 1.5 San Francisco Detroit Chicago New York Denver Los Angeles Washington Hình 5.5 Đa đồ thị có hướng Định nghĩa Đa đồ thị có hướng G = bao gồm V tập đỉnh, E cặp có thứ tự gồm hai phần tử V gọi cung Hai cung e1, e2 tương ứng với cặp đỉnh gọi cung lặp Từ dạng khác đồ thị kể trên, thấy khác loại đồ thị phân biệt thông qua cạnh đồ thị có thứ tự hay thứ tự, cạnh bội, khuyên có dùng hay không Ta tổng kết loại đồ thị thông qua Bảng Bảng Phân biệt loại đồ thị Loại đồ thị Cạnh Có cạnh bội Có khuyên Đơn đồ thị vô hướng Vô hướng Không Không Đa đồ thị vô hướng Vô hướng Có Không Giả đồ thị vô hướng Vô hướng Có Có Đơn đồ thị có hướng Có hướng Không Không Đa đồ thị có hướng Có hướng Có Có 1.2 Một số thuật ngữ đồ thị vô hướng Cho đồ thị vô hướng G = , V tập đỉnh, E tập cạnh Ta bắt đầu làm quen với số khái niệm 1.2.1 Bậc đỉnh Định nghĩa Hai đỉnh u v đồ thị vô hướng G = gọi kề (u,v) cạnh thuộc đồ thị G Nếu e =(u, v) cạnh đồ thị G ta nói cạnh liên thuộc với hai đỉnh u v, ta nói cạnh e nối đỉnh u với đỉnh v, đồng thời đỉnh u v gọi đỉnh đầu cạnh (u,v) Định nghĩa Ta gọi bậc đỉnh v đồ thị vô hướng số cạnh liên thuộc với ký hiệu deg(v) a b c d f e g Hình 1.6 Đồ thị vô hướng G Ví dụ Xét đồ thị Hình 1.6, ta có: deg(a) = 2, deg(b) =deg(c) = deg(f) = 4; deg(e) = 3, deg(d) = 1, deg(g)=0 Đỉnh có bậc gọi đỉnh cô lập Đỉnh bậc gọi đỉnh treo Vì : • Đỉnh g đỉnh cô lập đồ thị • Đỉnh d đỉnh treo đồ thị 2m = Định lý Giả sử G = đồ thị vô hướng với m deg(v) cạnh Khi ∑ v∈V Chứng minh Rõ ràng cạnh e=(u,v) bất kỳ, tính lần deg(u) lần deg(v) Từ suy số tổng tất bậc hai lần số cạnh Hệ Trong đồ thị vô hướng G=, số đỉnh bậc lẻ số chẵn Chứng minh Gọi O tập đỉnh bậc chẵn V tập đỉnh bậc lẻ Từ định lý ta suy ra: 2m = deg(v) = ∑ v∈V deg(v) + ∑ deg(v) ∑ v∈O v∈U Do deg(v) chẵn với v đỉnh O nên tổng thứ hai vế phải số chẵn 1.2.2 Đường đi, chu trình, đồ thị liên thông Định nghĩa Đường độ dài n từ đỉnh u đến đỉnh v đồ thị vô hướng G= dãy x0, x1, , xn-1, xn , n số nguyên dương, x0 =u, xn=v, (xi, xi+1)∈E, i =0, 1, 2, , n-1 Đường biểu diễn thành dãy cạnh (x0, x1), (x1,x2) , , (xn-1, xn) Đỉnh u đỉnh đầu, đỉnh v đỉnh cuối đường Đường có đỉnh đầu trùng với đỉnh cuối (u=v) gọi chu trình Đường hay chu trình gọi đơn cạnh lặp lại Ví dụ Tìm đường đi, chu trình đồ thị vô hướng Hình 1.7 a, d, c, f, e đường đơn độ dài d, e, c, a không đường (e,c) cạnh đồ thị Dãy b, c, f, e, b chu trình độ dài Đường a, b, e, d, a, b có độ dài đường đơn cạnh (a,b) có mặt hai lần a b c d e f Hình 1.7 Đường đồ thị Định nghĩa Đồ thị vô hướng gọi liên thông tìm đường hai đỉnh Trong trường hợp đồ thị G= không liên thông, ta phân rã G thành số đồ thị liên thông mà chúng đôi đỉnh chung Mỗi đồ thị gọi thành phần liên thông G Như vậy, đồ thị liên thông số thành phần liên thông Đối với đồ thị vô hướng, đường từ đỉnh u đến đỉnh v giống đường từ đỉnh v đến đỉnh u Chính vậy, tồn đỉnh u∈V cho u có đường đến tất đỉnh lại đồ thị ta kết luận đồ thị liên thông Ví dụ Tìm thành phần liên thông đồ thị Hình 1.8 Số thành phần liên thông G Thành phần liên thông thứ gồm đỉnh 1, 2, 3, 4, 6, Thành phần liên thông thứ hai gồm đỉnh 5, 8, 9, 10 Thành phần liên thông thứ ba gồm đỉnh 11, 12, 13 Định nghĩa Cạnh e∈E gọi cầu loại bỏ e làm tăng thành phần liên thông đồ thị Đỉnh u∈V gọi đỉnh trụ loại bỏ u với cạnh nối với u làm tăng thành phần liên thông đồ thị Ví dụ Tìm cạnh cầu đỉnh trụ đồ thị Hình 1.8 11 12 10 13 Hình 1.8 Đồ thị vô hướng G Lời giải • Cạnh (5, 9) cầu loại bỏ (5, 9) số thành phần liên thông đồ thị tăng từ lên • Cạnh (5, 10) cầu loại bỏ (5, 10) số thành phần liên thông đồ thị tăng từ lên (6,từ7)3làlêncầu • Cạnh thị tăng loại bỏ (6, 7) số thành phần liên thông đồ • Cạnh (8, 10) cầu loại bỏ (8, 10) số thành phần liên thông đồ thị tăng từ lên lạicủa không cầu loại bỏ cạnh không làm tăng thành • Các phầncạnh liên thông đồ thị • Đỉnh đỉnh trụ loại bỏ đỉnh với cạnh nối với đỉnh số thành phần liên thông đồ thị tăng từ lên đỉnh bỏ đỉnh • Đỉnh thành6phần liêntrụ thông củaloại đồ thị tăng từ lênvới cạnh nối với đỉnh số • Đỉnh 10 đỉnh trụ loại bỏ đỉnh 10 với cạnh nối với đỉnh 10 số thành phần liên thông đồ thị tăng từ lên • Các đỉnh lại không trụ loại bỏ đỉnh với cạnh nối với đỉnh không làm tăng thành phần liên thông đồ thị 1.3 Một số thuật ngữ đồ thị có hướng Cho đồ thị có hướng G = , V tập đỉnh, E tập cạnh Ta bắt đầu làm quen với số khái niệm 1.3.1 Bán bậc đỉnh Định nghĩa Nếu e=(u,v) cung đồ thị có hướng G ta nói hai đỉnh u v kề nhau, nói cung (u, v) nối đỉnh u với đỉnh v, nói cung khỏi đỉnh u vào đỉnh v Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối cung (u,v) Định nghĩa Ta gọi bán bậc đỉnh v đồ thị có hướng số cung đồ thị khỏi v ký hiệu deg+(v) Ta gọi bán bậc vào đỉnh v đồ thị có hướng số cung đồ thị vào v ký hiệu deg-(v) a e b c d Hình 1.9 Đồ thị có hướng G Ví dụ Xét đồ thị có hướng Hình 1.10, ta có • deg+(a) = 2, deg+(b) = 2, deg+(c) = 0, deg+(d) = 1, deg+(e) = • deg-(a) = 1, deg-(b) = 1, deg-(c) = 2, deg-(d) = 2, deg-(e) = Do cung (u,v) tính lần bán bậc vào đỉnh v lần bán bậc đỉnh u nên ta có: ∑ v∈V Định lý Giả sử G = đồ thị có hướng Khi deg − (v) =| E | deg + (v) = ∑ v∈V Rất nhiều tính chất đồ thị có hướng không phụ thuộc vào hướng cung Vì vậy, nhiều trường hợp, ta bỏ qua hướng cung đồ thị Đồ thị vô hướng nhận cách bỏ qua hướng cung gọi đồ thị vô hướng tương ứng với đồ thị có hướng cho 1.3.2 Đồ thị có hướng liên thông mạnh, liên thông yếu Khái niệm đường chu trình đồ thị có hướng định nghĩa hoàn toàn tương tự, có điều khác biệt ta phải ý tới cung đồ thị Định nghĩa Đường độ dài n từ đỉnh u đến đỉnh v đồ thị có hướng G= dãy x , x , , x , đó, n số nguyên dương, u = x , v = x , (x , x ) ∈E n n i i+1 Đường biểu diễn thành dãy cung : (x0, x1), (x1, x2), , (xn-1, xn) Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối đường Đường có đỉnh đầu trùng với đỉnh cuối (u=v) gọi chu trình Đường hay chu trình gọi đơn hai cạnh lặp lại Đối với đồ thị vô hướng, đường từ đỉnh u đến đỉnh v giống đường từ đỉnh v đến đỉnh u Đối với đồ thị có hướng, đường từ đỉnh u đến đỉnh v đường từ v đến u Chính vậy, đồ thị vô hướng đưa hai khái niệm liên thông mạnh liên thông yếu sau Định nghĩa Đồ thị có hướng G= gọi liên thông mạnh hai đỉnh u∈V, v∈V có đường từ u đến v Như vậy, để chứng tỏ đồ thị có hướng liên thông mạnh ta cần chứng tỏ cặp đỉnh đồ thị có đường đến Điều hoàn toàn khác biệt với tính liên thông đồ thị vô hướng Định nghĩa Ta gọi đồ thị vô hướng tương ứng với đồ thị có hướng G= đồ thị tạo G bỏ hướng cạnh G Khi đó, đồ thị có hướng G= gọi liên thông yếu đồ thị vô hướng tương ứng với liên thông Ví dụ Hình 1.10: Đồ thị G1 liên thông mạnh, đồ thị G2 liên thông yếu a b c a b e d G1 e d c G2 Hình 1.10 Đồ thị có hướng liên thông mạnh, liên thông yếu Định nghĩa Đồ thị vô hướng G= gọi định chiều ta biến đổi cạnh G thành cung tương ứng để nhận đồ thị có hướng liên thông mạnh Định lý Đồ thị vô hướng G= định chiều cạnh cầu Bạn đọc tìm hiểu phần chứng minh định lý tài liệu [1, 2, 3] 1.4 Một số dạng đồ thị đặc biệt Dưới số dang đơn đồ thị vô hướng đặc biệt có nhiều ứng dụng khác thực tế Đồ thị đầy đủ Đồ thị đầy đủ n đỉnh, ký hiệu Kn, đơn đồ thị vô hướng mà hai đỉnh có cạnh nối Ví dụ đồ thị K3, K4, K5 Hình 1.11 1 2 K K 3 K 5 Hình 1.11 Đồ thị K3, K4, K5 Đồ thị vòng Đồ thị vòng Cn (n≥3) có cạnh (1,2), (2,3), ,(n-1,n), (n,1) Ví dụ đồ thị C3, C4, C5 Hình 1.12 1 2 C C 3 C 5 Hình 1.12 Đồ thị C3, C4, C5 Đồ thị bánh xe Đồ thị bánh xe W thu cách bổ sung đỉnh nối với tất đỉnh C Ví dụ đồ thị W , Wn , W Hình 1.13 n 2 51 3 có đường truyền tin tới điểm khác Biết chi phí xây dựng hệ thống cable từ điểm i đến điểm j c[i,j] Hãy tìm cách xây dựng hệ thống mạng cable cho chi phí nhỏ Để giải toán khung nhỏ nhất, liệt kê toàn khung chọn số nhỏ Phương án thực không khả thi số khung đồ thị lớn cỡ nn-2, điều thực với đồ thị với số đỉnh cỡ chục Để tìm khung ta thực hai thuật toán: Thuật toán Kruskal thuật toán PRIM 5.4.2 Thuật toán Kruskal Thuật toán xây dựng tập cạnh T khung nhỏ H= theo bước mô tả Hình 5.5 a) Mô tả thuật toán Thuật toán Kruskal: Begin Bước (Khởi tạo): T = ∅=; 0’ //Khởi tạotạo tậpđộcạnh ∅ d(H) //Khởi dài nhỏ khung khung Bước (Sắp xếp): ; Bước (Lặp): while (|T[...]... đồ thị: đơn đồ thị, đa đồ thị, đồ thị vô hướng, đồ thị có hướng, đồ thị trọng số  Nắm vững những khái niệm cơ bản trên đồ thị vô hướng  Nắm vững những khái niệm cơ bản trên đồ thị có hướng.về đồ thị  Nắm vững các khái niệm đường đi, chu trình, liên thông, liên thông mạnh, liên thông yếu  Nắm vững các loại đồ thị : đồ thị đầy đủ, đồ thị vòng, đồ thị bánh xe, đồ thị hai phía CHƯƠNG II BIỂU DIỄN ĐỒ... khoảng trống Ví dụ khuôn dạng lưu trữ danh sách kề của Hình 2.7 trong file dothi.in như sau: dothi.in 6 2 6 9 13 16 18 2 1 1 2 2 4 3 3 2 3 4 5 4 4 5 6 5 6 2.4 Những điểm cần ghi nhớ  Nắm vững và phân biệt rõ các loại đồ thị: đơn đồ thị, đa đồ thị, đồ thị vô hướng, đồ thị có hướng, đồ thị trọng số  Nắm vững những khái niệm cơ bản về đồ thị: đường đi, chu trình, đồ thị liên thông  Hiểu và nắm rõ bản... với đồ thị vô hướng, nếu DFS(u) = V ta có thể kết luận đồ thị liên thông • Đối với đồ thị có hướng, nếu DFS(u) = V ta có thể kết luận đồ thị liên thông yếu 3.1.4 Cài đặt thuật toán Thuật toán được cài đặt theo khuôn dạng dữ liệu tổ chức trong file dothi.in được qui ước như được trình bày trong Mục 2.1.3 như sau: • Dòng đầu tiên ghi lại số đỉnh của đồ thị; • N dòng kế tiếp ghi lại ma trận kề của đồ thị. .. với đồ thị vô hướng, nếu BFS(u) = V ta có thể kết luận đồ thị liên thông • Đối với đồ thị có hướng, nếu BFS(u) = V ta có thể kết luận đồ thị liên thông yếu 3.2.4 Cài đặt thuật toán Thuật toán được cài đặt theo khuôn dạng dữ liệu tổ chức trong file dothi.in được qui ước như được trình bày trong Mục 2.1.3 như sau: • Dòng đầu tiên ghi lại số đỉnh của đồ thị; • N dòng kế tiếp ghi lại ma trận kề của đồ thị. .. ; End Hình 3.3 Thuật toán BFS(u) 3.2.2 Độ phức tạp thuật toán Độ phức tạp thuật toán BFS(u) phụ thuộc vào phương pháp biểu diễn đồ thị Độ phức tạp thuật toán BFS(u) theo các dạng biểu diễn đồ thị như sau: • Độ phức tạp thuật toán là O(n2) trong trường hợp đồ thị biểu diễn dưới dạng ma trận kề, với n là số đỉnh của đồ thị • Độ phức tạp thuật toán là O(n.m) trong trường hợp đồ thị biểu diễn dưới dạng... Hình 3.1 Thuật toán DFS(u) dựa vào ngăn xếp 3.1.2 Độ phức tạp thuật toán Độ phức tạp thuật toán DFS(u) phụ thuộc vào phương pháp biểu diễn đồ thị Độ phức tạp thuật toán DFS(u) theo các dạng biểu diễn đồ thị như sau: • Độ phức tạp thuật toán là O(n2) trong trường hợp đồ thị biểu diễn dưới dạng ma trận kề, với n là số đỉnh của đồ thị • Độ phức tạp thuật toán là O(n.m) trong trường hợp đồ thị biểu diễn... Đồ thị C , C , C 3 4 5 Đồ thị hai phía Đồ thị G = được gọi là đồ thị hai phía nếu tập đỉnh V của nó có thể phân hoạch thành hai tập X và Y sao cho mỗi cạnh của đồ thị chỉ có dạng (x, y), trong đó x∈X và y∈Y Ví dụ đồ thị K2,3, K33, K3,5 trong Hình 1.14 8 3 1 4 2 1 6 1 2 5 2 3 4 3 7 6 5 5 Hình 1.13 Đồ thị K , K , K 2,3 3,3 4 3,5 1.5 Những điểm cần ghi nhớ  Nắm vững và phân biệt rõ các loại đồ. .. II BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH Để lưu trữ đồ thị và thực hiện các thuật toán khác nhau, ta cần phải biểu diễn đồ thị trên máy tính, đồng thời sử dụng những cấu trúc dữ liệu thích hợp để mô tả đồ thị Việc chọn cấu trúc dữ liệu nào để biểu diễn đồ thị có tác động rất lớn đến hiệu quả thuật toán Vì vậy, lựa chọn cấu trúc dữ liệu thích hợp biểu diễn đồ thị sẽ phụ thuộc vào từng bài toán cụ thể Nội dung... danh sách cạnh, với n là số đỉnh của đồ thị, m là số cạnh của đồ thị • Độ phức tạp thuật toán là O(max(n, m)) trong trường hợp đồ thị biểu diễn dưới dạng danh sách kề, với n là số đỉnh của đồ thị, m là số cạnh của đồ thị Bạn đọc tự chứng minh hoặc có thể tham khảo trong các tài liệu [1, 2, 3] 3.1.3 Kiểm nghiệm thuật toán Ví dụ 1 Kiểm nghiệm thuật toán DFS(1) trên đồ thị gồm 13 đỉnh trong Hình 3.2 dưới... danh sách cạnh, với n là số đỉnh của đồ thị, m là số cạnh của đồ thị • Độ phức tạp thuật toán là O(max(n, m)) trong trường hợp đồ thị biểu diễn dưới dạng danh sách kề, với n là số đỉnh của đồ thị, m là số cạnh của đồ thị Bạn đọc tự chứng minh hoặc có thể tham khảo trong các tài liệu [1, 2, 3] 3.2.3 Kiểm nghiệm thuật toán 0 1 1 1 0 0 0 0 0 0 0 0 0 Ví dụ 3 Cho đồ thị gồm 13 đỉnh được biểu diễn dưới dạng ... loại đồ thị : đồ thị đầy đủ, đồ thị vòng, đồ thị bánh xe, đồ thị hai phía CHƯƠNG II BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH Để lưu trữ đồ thị thực thuật toán khác nhau, ta cần phải biểu diễn đồ thị máy... bội Có khuyên Đơn đồ thị vô hướng Vô hướng Không Không Đa đồ thị vô hướng Vô hướng Có Không Giả đồ thị vô hướng Vô hướng Có Có Đơn đồ thị có hướng Có hướng Không Không Đa đồ thị có hướng Có hướng... 1.11 Đồ thị K3, K4, K5 Đồ thị vòng Đồ thị vòng Cn (n≥3) có cạnh (1,2), (2,3), ,(n-1,n), (n,1) Ví dụ đồ thị C3, C4, C5 Hình 1.12 1 2 C C 3 C 5 Hình 1.12 Đồ thị C3, C4, C5 Đồ thị bánh xe Đồ thị

Ngày đăng: 27/04/2016, 10:47

Từ khóa liên quan

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

Tài liệu liên quan