Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

40 1.4K 6
Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

Đ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

Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

Đ th Nguy n Th Vinh-ĐHKH CHƯƠNG IV ĐỒ THỊ Lý thuyết đồ thị ngành khoa học phát triển từ lâu lại có nhiều ứng dụng đại ứng dụng tin học ngày Những ý tưởng đưa từ kỷ 18 nhà toán học Thụy Sĩ tên Leonhard Euler Ông dùng đồ thị để giải toán tiếng cầu Konigsberg hay cịn gọi tốn cầu Đồ thị dùng để giải tốn nhiều lĩnh vực khác Ví dụ, dùng đồ thị để biểu diễn mối quan hệ quen biết, dùng đồ thị biểu diễn mang lưới giao Chúng ta phân biệt hai hợp chất hóa học có cơng thức phân tử có cấu trúc khác nhờ đồ thị Chúng ta xác định xem hai máy tính có nối với đường truyền thông hay không dùng mơ hình đồ thị mạng máy tính Đồ thị với trọng số gán cho cạnh dùng để giải tốn tốn tìm đường ngắn hai thành phố mạng giao thông, xây dựng hệ thơng giao thơng đảm bảo tính liên thơng với chi phí nhỏ dựa thuật tốn khung Chúng ta dùng đồ thị để lập lịch thi phân chia kênh tối thiểu cho đài truyền hình cho khơng xảy tượng "tranh chấp" kênh 4.1 CÁC LOẠI ĐỒ THỊ Đồ thị cấu trúc rời rạc gồm đỉnh cạnh cung (vơ hướng có hướng) nối đỉnh Người ta phân loại đồ thị tùy theo đặc tính số cạnh nối cặp đỉnh đồ thị Nhiều toán thuộc lĩnh vực khác giải mơ hình đồ thị Chẳng hạn người ta dùng đồ thị để biểu diễn cạnh tranh loài môi trường sinh thái (đồ thị canh tranh), dùng đồ thị để biểu diễn có ảnh hưởng lên tổ chức (đồ thị ảnh hưởng) dùng đồ thị để biểu diễn kết cục thi đấu thể thao (đồ thị đấu vịng trịn) Chúng ta dùng đồ thị để giải toán tốn tính số tổ hợp khác chuyến bay hai thành phố mạng hàng 64 Đ th Nguy n Th Vinh-ĐHKH không, hay để giải toán tham quan tất đường phố thành phố cho đường phố qua lần, tốn tìm số màu cần thiết để tô vùng khác đồ Trong đời sống, thường gặp sơ đồ, sơ đồ tổ chức máy quyền, sơ đồ giao thơng, sơ đồ hướng dẫn thứ tự đọc chương sách v.v , gồm điểm biểu thị đối tượng xem xét (người, tổ chức, địa danh, chương mục sách, ) nối số điểm với tượng trưng cho quan hệ đối tượng Đó ví dụ mơ đồ thị 4.1.1 Định nghĩa 1: Một đơn đồ thị vô hướng G = (V, E) bao gồm tập khác rỗng V mà phần tử gọi đỉnh, E tập cặp không thứ tự gồm hai phần tử khác V gọi cạnh 4.1.2 Định nghĩa 2: Một đa đồ thị G = (V, E) bao gồm tập khác rỗng V mà phần tử gọi đỉnh, E họ cặp không thứ tự gồm hai phần tử khác V gọi cạnh Hai cạnh e1 e2 gọi cạnh song song hay 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ị, đa đồ thị có hai (hoặc nhiều hơn) cạnh nối cặp đỉnh 4.1.3 Định nghĩa 3: Một giả đồ thị G = (V, E) bao gồm tập khác rỗng V mà phần tử gọi đỉnh, E họ cặp không thứ tự gồm hai phần tử (không thiết phải khác nhau) V gọi cạnh Với v∈V, (v,v)∈E ta nói có khuyên đỉnh v Tóm lại, giả đồ thị loại đồ thị vô hướng tổng qt chứa khun cạnh bội Đa đồ thị loại đồ thị vơ hướng chứa cạnh bội khơng thể có khun, cịn đơn đồ thị loại đồ thị vô hướng không chứa cạnh bội khuyên 4.1.4 Định nghĩa 4: Một đồ thị có hướng G = (V, E) gồm tập khác rỗng V mà phần tử gọi đỉnh tập E mà phần tử 65 Đ th Nguy n Th Vinh-ĐHKH gọi cung, cặp có thứ tự (u,v) phần tử thuộc V Đỉnh u gọi đỉnh đầu đỉnh v gọi đỉnh cuối 4.1.5 Định nghĩa 5: Một đa đồ thị có hướng G = (V, E) gồm tập khác rỗng V mà phần tử gọi đỉnh họ E mà phần tử gọi cung, cặp có thứ tự phần tử thuộc V Đồ thị vô hướng nhận từ đồ thị có hướng G cách xoá bỏ chiều mũi tên cung gọi đồ thị vô hướng G 4.2 CÁC MƠ HÌNH ĐỒ THỊ 4.2.1 Đồ thị lấn tổ sinh thái học Đồ thị dùng nhiều mơ hình có tính đến tương tác loài vật Chẳng hạn cạnh tranh loài hệ sinh thái mơ hình hóa đồ thị “lấn tổ” Mỗi loài biểu diễn đỉnh Một cạnh vô hướng nối hai đỉnh hai loài biểu diễn đỉnh cạnh tranh với Ví dụ chung nguồn thức ăn cạnh tranh với Sóc Gấu trúc cịn Quạ Chuột chù khơng 4.2.2 Đồ thị quen biết Chúng ta dùng đồ thị để biểu diễn mối quan hệ quen biết Mỗi người nhóm người coi đỉnh Một cạnh vô hướng dùng để nối hai người hay hai nhóm người quen biết 4.2.3 Đồ thị ảnh hưởng Khi nghiên cứu tính cách nhóm nguời, ta thấy số người có ảnh hưởng đến suy nghĩ người khác Nếu người A có ảnh hưởng đến người B đỉnh a(biểu diễn người A) đỉnh b(biểu diễn người B) nối cạnh có hướng 4.2.4 Đồ thị Hollywood Là đồ thị vô hướng biểu diễn diễn viên đỉnh có cạnh nối hai đỉnh hai diễn viên đóng phim 4.2.5 Đồ thị đấu vịng trịn Một thi đấu thể thao đội cá nhân phải thi đấu vòng trịn lượt Cuộc thi đấu mơ hình đồ thị có hướng đội cá nhân đỉnh Một cung từ đỉnh a đến đỉnh b A thắng B 66 Đ th Nguy n Th Vinh-ĐHKH 4.2.6 Đồ thị WEB Mạng máy tính mơ đồ thị có hướng trang WEB đỉnh cung xuất phát từ a đến b có liên kết từ trang WEB A đến trang WEB B kết thúc B 4.2.7 Đồ thị cộng tác Mơ hình hóa quan hệ đồng tác giả báo, đề tài v.v…Các đỉnh biểu diễn tác giả cạnh nối hai đỉnh hai người viết chung báo hay đề tài 4.2.6 Đồ thị gọi điện thoại Mơ hình hóa gọi điện thoại mạng Là đồ thị có hướng số máy biểu diễn đỉnh đồ thị cung nối từ máy gọi đến máy nhận 4.2.6 Đồ thị ưu tiên xử lí cạnh tranh Các chương trình máy tính thi hành nhanh cách thi hành đồng thời số câu lệnh Điều quan trọng khơng thực câu lệnh địi hỏi kết câu lệnh khác chưa thực Sự phụ thuộc câu lệnh vào câu lệnh trước biểu diễn đồ thị có hướng Mỗi câu lệnh biểu diễn đỉnh có cung từ đỉnh tới đỉnh khác câu lệnh biểu diễn đỉnh thứ hai thực trước câu lệnh biểu diễn đỉnh thứ thực Đồ thị gọi đồ thị ưu tiên 4.3 CÁC KHÁI NIỆM CƠ BẢN 4.3.1 Bậc đỉnh Định nghĩa 1: Hai đỉnh u v đồ thị (vô hướng) G=(V,E) gọi liền kề (u,v)∈E Nếu e = (u,v) e gọi cạnh liên thuộc với đỉnh u v Cạnh e gọi cạnh nối đỉnh u v Các đỉnh u v gọi điểm đầu mút cạnh e Định nghĩa 2: Bậc đỉnh v đồ thị G=(V,E), ký hiệu deg(v), số cạnh liên thuộc với nó, riêng khuyên đỉnh tính hai lần cho bậc Đỉnh v gọi đỉnh treo deg(v)=1 gọi đỉnh cô lập deg(v)=0 67 Đ th Nguy n Th Vinh-ĐHKH Ví dụ: v2 v1 v3 v4 v6 v5 v7 Ta có deg(v1)=7, deg(v2)=5, deg(v3)=3, deg(v4)=0, deg(v5)=4, deg(v6)=1, deg(v7)=2 Đỉnh v4 đỉnh cô lập đỉnh v6 đỉnh treo Trong đồ thị có hướng bậc- vào đỉnh v kí hiệu deg-(v) số cạnh có đỉnh cuối v Bậc-ra đỉnh v kí hiệu deg+(v) số cạnh có đỉnh đầu v Định lí 1: Một đồ thị vơ hướng G=(V,E) có n cạnh tổng bậc đỉnh 2n ∑ deg(v) = 2n v∈V Định lí 2: Một đồ thị vơ hướng có số chẵn đỉnh bậc lẻ Chứng minh: Gọi V1 tập đỉnh bậc lẻ, V2 tập đỉnh bậc chẵn đồ thi G=(V,E) với số cạnh n theo định lí ta có 2n = ∑ deg(v) + ∑ deg(v) v∈V v∈V Như tổng số chẵn V2 tập đỉnh bậc chẵn nên tổng ∑ deg(v) số chẵn, suy tổng ∑ deg(v) số v∈V v∈V chẵn Mặt khác theo giả thiết V1 số đỉnh bậc lẻ chúng phải tồn chẵn số số hạng, hay số đỉnh bậc lẻ số chẵn (đpcm) 4.3.2 Đường chu trình: Đường độ dài n từ đỉnh u tới đỉnh v, với n số nguyên không âm đồ thị vô hướng dãy cạnh {x0,x1},{x1,x2},…,{xn-1,xn}, với u=x0 xn=v Đường gọi chu trình bắt đầu kết thúc đỉnh 4.3.3.Tính liên thông: Một đồ thị vô hướng G=(V,E) gọi liên thơng có đường cặp đỉnh phân biệt đồ thị 68 Đ th Nguy n Th Vinh-ĐHKH Một đồ thị có hướng gọi liên thơng mạnh có đường từ a tới b từ b tới a với đỉnh a b đồ thị Một đồ thị có hướng gọi liên thông yếu tồn đường hai đỉnh ta không quan tâm tới hướng cạnh 4.3.4 Thành phần liên thông: Một đồ thị G=(V,E) không liên thông hợp hai hay nhiều đồ thị liên thông Mỗi cặp đồ thị khơng có đỉnh chung Các đồ thị liên thông rời gọi thành phần liên thông đồ thị G=(V,E) 4.3.5 Điểm khớp: Một đỉnh v gọi điểm khớp đồ thị G=(V,E) loại bỏ v cạnh liên thuộc với khỏi đồ thị làm tăng số thành phần liên thông đồ thị 4.3.6 Cầu đồ thị: Một cạnh đồ thị G=(V,E) gọi cầu, loại bỏ cạnh khỏi đồ thị làm tăng số thành phần liên thông đồ thị 4.4 NHỮNG ĐƠN ĐỒ THỊ ĐẶC BIỆT 4.4.1 Đồ thị đầy đủ: Đồ thị đầy đủ n đỉnh, ký hiệu Kn, đơn đồ thị mà hai đỉnh phân biệt ln liền kề Như vậy, Kn có n(n-1)/2 cạnh đỉnh Kn có bậc n−1 v1 Ví dụ: v1 v1 v2 v1 v2 v1 v5 v3 v4 v2 v2 v3 V4 v3 4.4.2 Đồ thị vòng: Đơn đồ thị n đỉnh v1, v2, , (n≥3) n cạnh (v1,v2), (v2,v3), , (vn-1,vn), (vn,v1) gọi đồ thị vòng, ký hiệu Cn Như vậy, đỉnh Cn có bậc Ví dụ: v1 v1 v3 v2 C3 v1 v1 v2 v4 v5 v2 v4 v3 C4 v3 C5 69 v6 v2 v5 v3 v4 C6 Đ th Nguy n Th Vinh-ĐHKH 4.4.3 Đồ thị bánh xe:Từ đồ thị vòng Cn, thêm vào đỉnh vn+1 cạnh (vn+1,v1), (vn+1,v2), , (vn+1,vn), ta nhận đơn đồ thị gọi đồ thị bánh xe, ký hiệu Wn Như vậy, đồ thị Wn có n+1 đỉnh, 2n cạnh, đỉnh bậc n n đỉnh bậc Ví dụ: v1 v1 v1 v2 v5 v4 v2 v4 v4 v3 v6 v2 v6 v5 v3 v1 v7 v5 v3 v2 v3 v4 4.4.4 Đồ thị lập phương: Đơn đồ thị 2n đỉnh, tương ứng với 2n xâu nhị phân độ dài n hai đỉnh kề xâu nhị phân tương ứng với hai đỉnh khác bit gọi đồ thị lập phương, ký hiệu Qn Như vậy, đỉnh Qn có bậc n số cạnh Qn n.2n-1 Ví dụ: 110 100 10 111 101 11 010 00 01 000 011 001 4.4.5 Đồ thị phân đôi (đồ thị hai phe): Đơn đồ thị G=(V,E) cho V=V1∪V2, V1∩V2=∅, V1≠∅, V2≠∅ cạnh G nối đỉnh V1 đỉnh V2 gọi đồ thị phân đôi Nếu đồ thị phân đôi G=(V1∪V2,E) cho với v1∈V1, v2∈V2, (v1,v2)∈E G gọi đồ thị phân đôi đầy đủ Nếu |V1|=m, |V2|=n đồ thị phân đơi đầy đủ G ký hiệu Km,n Như Km,n có m.n cạnh, đỉnh V1 có bậc n đỉnh V2 có bậc m 70 Đ th Nguy n Th Vinh-ĐHKH Ví dụ: v1 v3 v2 v4 v1 v5 v3 v4 v6 v2 v5 v6 K3,3 K2,4 4.5 BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH 4.5.1 Ma trận kề ma trận trọng số Giả sử G=(V,E) đơn đồ thị với n đỉnh Ma trận kề không- cấp n x n A=[aij] đó: aij= khơng có cạnh nối đỉnh i với đỉnh j aij=1 có cạnh nối đỉnh i với đỉnh j v1 v1 v2 v3 v4 v5 v1 1 v2 0 v3 0 1 v4 1 v5 1 v2 v3 v5 v4 Chú ý: Ma trận kề đơn đồ thị ma trận đối xứng Ma trận kề ma trận thưa đồ thị tương đối cạnh Trong trường hợp cạnh {i,j} gắn với trọng số k Ta thay ma trận khơng-một ma trận trọng số A=[aij] đó: aij=∞ khơng có cạnh nối đỉnh i với đỉnh j aij=k có cạnh nối đỉnh i với đỉnh j có trọng số k 71 Đ th Nguy n Th Vinh-ĐHKH 4.5.2 Ma trận liên thuộc Một cách thường dùng để biểu diễn đồ thị dùng ma trận liên thuộc Giả sử G=(V,E) đồ thị vô hướng với đỉnh v1, v2, cạnh e1, e2, em Khi ma trận liên thuộc M=[mij] kích thước n x m đó: mij=0 cạnh ej không nối với đỉnh vi mij=l cạnh ej nối với đỉnh vi Ví dụ: Giả sử e1={v1,v2}; e2={v1,v3}; e3={v1,v5}; e4{v2,v4}; e5={v3,v4}; e6{v3,v5}; e7={v4,v5}; v1 v2 v3 v5 v4 Khi ma trận liên thuộc tương ứng e1 e2 e3 e4 e5 e6 e7 v1 1 0 0 v2 0 0 v3 0 1 v4 0 1 v5 0 0 1 4.5.3 Danh sách kề Biểu diễn đồ thị danh sách kề cách liệt kê tất cạnh đồ thị {(v1,v2); (v1,v3); (v1,v5); (v2,v4); (v3,v4}); (v3,v5}); (v4,v5)}; Hoặc danh sách rõ đỉnh nối với đỉnh đồ thị 72 Đ th Nguy n Th Vinh-ĐHKH Ví dụ: Danh sách đỉnh kề Đỉnh Đỉnh nối v1 v2, v3 ,v5 v2 v1 ,v4 v3 v1, v4 ,v5 v4 v2 ,v3 ,v5 v5 v1 ,v3 ,v4 Người ta dùng danh sách liên kết đơn thuận nghịch để biểu diễn chúng dạng đỉnh kề cạnh kề 4.6 THUẬT TỐN TÌM KIẾM TRÊN ĐỒ THỊ Một vấn đề quan trọng lí thuyết đồ thị tốn duyệt tất đỉnh đến từ đỉnh xuất phát S đồ thị Vấn đề đưa toán liệt kê mà u cầu khơng bỏ sót hay lặp lại đỉnh Chính phải xây dựng thuật toán cho phép duyệt cách có hệ thống đỉnh, thuật tốn gọi thuật tốn tìm kiếm đồ thị Dưới trình bày hai thuật tốn tìm kiếm theo chiều sâu tìm kiếm theo chiều rộng 4.6.1 Tìm kiếm theo chiều sâu DFS (Depth First Search) Tư tưởng thuật toán dựa nhận xét sau đây: Trước hết xét đỉnh u kề với S tất nhiên tới S, với đỉnh v kề với u tới từ S tiếp tục v lại đóng vai trị u… Điều gợi ý cho xây dựng thủ tục duyệt đệ quy xuất phát từ đỉnh u ta tới đỉnh v chưa thăm kề với u Ta sử dụng kĩ thuật đánh dấu đỉnh thăm Free[u] tương ứng với TRUE FALSE để lưu lại đường ta sử dụng kĩ thuật lưu vết T[v]=u có nghĩa đỉnh u liền trước đỉnh v Quá trình tìm kiếm kết thúc tới đỉnh đích F 73 Đ th Nguy n Th Vinh-ĐHKH Có thể xem đồ thị G đồ thị có trọng số mà cạnh có chiều dài Khi đó, khoảng cách d(u,v) hai đỉnh u v chiều dài đường từ u đến v ngắn nhất, tức đường qua cạnh 4.9.2 Bài tốn tìm đường ngắn Cho đơn đồ thị liên thông, có trọng số G=(V,E) Tìm khoảng cách d(s,f) từ đỉnh s cho trước đến đỉnh f G tìm đường ngắn từ s đến f Nếu đồ thị có chu trình âm (chu trình với độ dài âm) khoảng cách số cặp đỉnh khơng xác định Trong trường hợp tìm đường ngắn Đây vấn đề tương đối phức tạp không đề cập tới tài liệu Nếu đồ thị khơng có chu trình âm ta chứng minh đường ngắn đường Việc tìm đường ngắn đỉnh s f áp dụng thuật tốn sau: Gọi a[u,v] trọng số cạnh (u,v) Qui ước a[v,v]=0 với ∀v ∈ V Đặt d[s,v] khoảng cánh từ s tới v Để tìm đường từ s tới f ta nhận thấy tồn f1≠ f cho d[s,f]=d[s,f1]+a[f1,f] Đỉnh f1 đỉnh liền trước đường từ s tới f Nếu f1≡ s kết thúc trái lại ta tìm đỉnh f2 cho d[s,f1]=d[s,f2]+a[f2,f] Cứ tiếp tục sau hữu hạn bước ta xác đinh đường ngắn từ s tới f 4.9.2.1 Thuật toán Ford- Bellman Bước 1: Khởi tao Xuất phát từ đỉnh s Gọi d[v] khoảng cánh từ s tới v khởi tạo d[s]=0; d[v]:=a[s,v] Bước 2: Lặp 2.1 Tối ưu hóa dần d[v] sau: Xét cặp đỉnh (u,v) đồ thị d[v]>d[u]+a[u,v] đặt d[v]=d[u]+a[u,v] t[v]=u.(mảng t lưu vết đường đi) 2.2 Bước lặp kết thúc tối ưu thêm nhãn d[v] nữa, dùng biến stop để kiểm sốt q trình 89 Đ th Nguy n Th Vinh-ĐHKH Procedure Ford_Bellman; Begin for (∀v ∈ V) begin d[v]:=a[s,v]; t[v]:=s; end; d[s]:=0; repeat stop:=true; for (∀u ∈ V) for (∀v ∈ V) and (u,v) ∈ E if d[v]>d[u]+ a[u,v] then begin d[v]>d[u]+ a[u,v] stop:=false; t[v]:=u; end; until stop; End; Ví dụ: Cho đồ thi G=(V,E) Tìm đường ngắn từ đỉnh A đến F A E 2 C B D F Ta kí hiệu t[v] đỉnh trước v đường từ A tới F Minh họa kết tính tốn thuật toán Ford-bellman qua bảng sau: Bước d[a], t[a] d[b], [b] d[c], t[c] d[d], t[d] d[e],t[e] d[f], t[f] 0,a 2,a 7,a ∞,a ∞,a ∞,a 0,a 2,a 6,b ∞,a ∞,a ∞,a 0,a 2,a 6,b 7,c 10,c ∞,a 0,a 2,a 6,b 7,c 9,d ∞,a 0,a 2,a 6,b 7,c 9,d 12,e 90 Đ th Nguy n Th Vinh-ĐHKH 4.9.2.2 Thuật tốn Dijsktra Có số thuật tốn tìm đường ngắn nhất; đây, ta có thuật toán E Dijkstra, nhà toán học người Hà Lan, đề xuất năm 1959 Trong phiên mà ta trình bày, người ta giả sử đồ thị vơ hướng, trọng số dương Chỉ cần thay đổi đơi chút giải tốn tìm đường ngắn đồ thị có hướng Bước 1: Khởi tạo Xuất phát từ đỉnh s Gọi d[v] khoảng cánh từ s tới v khởi tạo d[s]=0; Free[s]=false(cố định nhãn); d[v]:=a[s,v] Free[v]=true (đỉnh tự do) ; Bước 2:Lặp 2.1 Cố định nhãn: Tìm đỉnh u đỉnh có nhãn tự có d[u] nhỏ Cố định nhãn cho đỉnh u 2.2 Sửa nhãn: dùng đỉnh u xét tất đỉnh tự v sửa lại nhãn d[v] theo công thức: d[v]=min (d[v],d[u]+a[u,v]), t[v]=u 2.3 Bước lặp kết thúc đỉnh f cố định nhãn procedure Dijsktra; Begin for (∀v ∈ V) begin d[v]:=a[s,v]; free[v]:=true; t[v]:=s; end; d[s]:=0; free[s]:=false; repeat u:=min(d[v], (∀v ∈ V) free[u]:=false; if (u=f) or (d[u]= ∞) then break; for (∀v ∈ V) and (free[v]) begin d[v]:= min(d[v], d[u]+ a[u,v]); t[v]:=u; end; until false; End; 91 Đ th Nguy n Th Vinh-ĐHKH Ví dụ: Cho đồ thi G=(V,E) Tìm đường ngắn nhát từ đỉnh A đến F A E 2 C B D F Ta kí hiệu t[v] đỉnh trước v đường từ A tới F Minh họa kết tính tốn thuật toán Dijsktra qua bảng sau: Bước d[a], t[a] d[b], t[b] d[c], t[c] d[d], t[d] d[e],t[e] d[f],t[f] 0,a 2,a* 7,a ∞,a ∞,a ∞,a - - 6,b* ∞,a ∞,a ∞,a - - - 7,c* 10,c ∞,a - - - - 9,d* ∞,a - - - - - 12,e* Thuật tốn Dijkstra tìm đường ngắn từ đỉnh cho trước đến đỉnh tuỳ ý đơn đồ thị vơ hướng liên thơng có trọng số có độ phức tạp O(n2) 4.9.2.3 Thuật tốn Floyd Cho G=(V,E) đồ thị có hướng, có trọng số Để tìm đường ngắn cặp đỉnh G, ta áp dụng thuật toán Dijkstra nhiều lần áp dụng thuật toán Floyd trình bày Từ ma trận trọng số a Thuật tốn Floyd tính lại a[u,v] sau Với đỉnh K đồ thị xét thứ tự từ đến n, cực tiểu hóa a[u,v] theo cơng thức a[u,v]= min(a[u,v], a[u,k]+a[k,v]) Thuật toán Floyd xây dựng dãy ma trận vuông cấp n Ak (0 ≤ k ≤ n) sau: 92 Đ th Nguy n Th Vinh-ĐHKH procedure Floyd; Begin for k := to n for i := to n for j := to n if a[i,k] +a[k,j] < a[i,j] then a[i,j] := a[i,k] +a[k,j] End; 4.10 ĐỒ THỊ PHẲNG VÀ BÀI TỐN TƠ MÀU ĐỒ THỊ Từ xa xưa lưu truyền toán cổ “Ba nhà, ba giếng”: Có ba nhà gần ba giếng, khơng có đường nối thẳng nhà với khơng có đường nối thẳng giếng với N1 N2 N3 Có lần bất hồ với nhau, họ tìm cách làm đường khác đến giếng cho đường G1 G2 G3 đôi không giao Họ có thực ý định khơng? Bài tốn mơ hình đồ thị phân đôi đầy đủ K3,3 Câu hỏi ban đầu diễn đạt sau: Có thể vẽ K3,3 mặt phẳng cho khơng có hai cạnh cắt nhau? Trong chương nghiên cứu tốn: vẽ đồ thị mặt phẳng khơng có cạnh cắt không Đặc biệt trả lời tốn ba nhà ba giếng Thường có nhiều cách biểu diễn đồ thị Khi tìm cách biểu diễn đồ thị khơng có cạnh cắt nhau? 4.10.1 Định nghĩa: Một đồ thị gọi phẳng vẽ mặt phẳng mà khơng có cạnh cắt (ở điểm điểm mút cạnh) Hình vẽ gọi biểu diễn phẳng đồ thị Một đồ thị phẳng thường vẽ với cạnh cắt nhau, vẽ cách khác khơng có cạnh cắt Ví dụ 1: 1) Một cây, chu trình đơn đồ thị phẳng 93 Đ th Nguy n Th Vinh-ĐHKH 2) K4 đồ thị phẳng vẽ lại hình bên khơng có đường cắt a b a b c d c d Đồ thị K4 K4 vẽ khơng có đường cắt 3) Xét đồ thị G hình a Có thể biểu diễn G cách khác hình b, hai cạnh khơng cắt d b e b a a e d c c 4) Đồ thị đầy đủ K5 thí dụ đồ thị không phẳng 4.10.2 Định nghĩa: Cho G đồ thị phẳng Mỗi phần mặt phẳng giới hạn chu trình đơn khơng chứa bên chu trình đơn khác, gọi miền (hữu hạn) đồ thị G Chu trình giới hạn miền biên miền Mỗi đồ thị phẳng liên thơng có miền vơ hạn (là phần mặt phẳng bên tất miền hữu hạn) Số cạnh tạo thành biên gọi đai G; trường hợp G khơng có chu trình đai số cạnh G Ví dụ 2: 1) Một có miền, miền vô hạn c 2) Đồ thị phẳng hình bên có miền, M5 b miền vơ hạn, miền M1 có biên abgfa, d M2 a miền M2 có biên bcdhgb, … Chu M1 g M5 trình đơn abcdhgfa khơng giới hạn h M4 M3 miền chứa bên chu trình đơn f khác abgfa e 94 Đ th Nguy n Th Vinh-ĐHKH 4.10.3 Định lý Euler Nếu đồ thị phẳng liên thơng có n đỉnh, p cạnh d miền ta có hệ thức: n − p + d = Hệ thức n − p + d = thường gọi “hệ thức Euler cho hình đa diện”, Euler chứng minh cho hình đa diện có n đỉnh, p cạnh d mặt Mỗi hình đa diện coi đồ thị phẳng Chẳng hạn hình tứ diện ABCD hình hộp ABCDA’B’C’D’ biểu diễn đồ thị A B C A D A’ D’ D B C B’ C’ 4.10.4 Hệ quả: Trong đồ thị phẳng liên thơng tuỳ ý, ln tồn đỉnh có bậc khơng vượt q 4.10.5 Tơ màu đồ Mỗi đồ coi đồ thị phẳng Trong đồ, ta coi hai miền có chung đường biên hai miền kề (hai miền có chung điểm biên không coi kề nhau) Một đồ thường tô màu, cho hai miền kề tô hai màu khác Ta gọi cách tô màu đồ cách tô màu Để đảm bảo chắn hai miền kề khơng có màu trùng nhau, tô miền màu khác Tuy nhiên việc làm nói chung khơng hợp lý Nếu đồ có nhiều miền khó phân biệt màu gần giống Do người ta dùng số màu cần thiết để tơ đồ Một tốn đặt là: xác định số màu tối thiểu cần có để tơ màu đồ 95 Đ th Nguy n Th Vinh-ĐHKH Ví dụ 3: Bản đồ hình bên có miền, cần có màu (vàng, đỏ, xanh) để tô đồ Chẳng hạn, màu vàng tô cho M1 M4, màu đỏ tô cho M2 M6, màu xanh tô cho M3 M5 M3 M1 M4 M2 M6 M5 4.10.6 Tô màu đồ thị: Mỗi đồ mặt phẳng biểu diễn đồ thị, miền đồ biểu diễn đỉnh; cạnh nối hai đỉnh, miền biểu diễn hai đỉnh kề Đồ thị nhận cách gọi đồ thị đối ngẫu đồ xét Rõ ràng đồ mặt phẳng có đồ thị đối ngẫu phẳng Bài tốn tơ màu miền đồ tương đương với tốn tơ màu đỉnh đồ thị đối ngẫu cho hai đỉnh liền kề có màu, mà ta gọi tô màu đỉnh đồ thị Số màu cần dùng để tơ màu đồ thị G gọi sắc số đồ thị G ký hiệu χ(G) Ví dụ 4: a b e d f c g h 4 Ta thấy đỉnh b, d, g, e đôi kề nên phải tô màu khác Do χ(G) ≥ Ngồi ra, dùng màu đánh số 1, 2, 3, để tô màu G hình vẽ Như χ(G) = 96 Đ th Nguy n Th Vinh-ĐHKH 4.10.7 Định lý màu Kempe-Heawood Mọi đồ thị phẳng tô màu Chứng minh: Cho G đồ thị phẳng Khơng tính chất tổng qt xem G liên thơng có số đỉnh n ≥ Ta chứng minh G tô màu quy nạp theo n Trường hợp n=5 hiển nhiên Giả sử định lý cho tất đồ thị phẳng có số đỉnh n-1 Xét G đồ thị phẳng liên thông có n đỉnh Vì G ln tồn đỉnh a với deg(a) ≤ Xoá đỉnh a cạnh liên thuộc với nó, ta nhận đồ thị phẳng G’ có n−1 đỉnh Theo giả thiết quy nạp tơ đỉnh G’ màu Sau tơ G’ rồi, ta tìm cách tô đỉnh a màu khác với màu đỉnh kề nó, màu dùng Điều thực deg(a) < deg(a)=5 đỉnh kề a tô màu trở xuống Chỉ phải xét trường hợp deg(a)=5 mà đỉnh kề a b, c, d, e ,f tô màu Khi đỉnh b, c, d, e ,f phải có đỉnh khơng kề nhau, đỉnh đơi kề b c d e f đồ thị đầy đủ K5 đồ thị không phẳng, G khơng phẳng, trái với giả thiết Giả sử b d khơng kề (Hình 1) f (5) (1) a f (5) f a a e (2) e (2) e b (1) c m d n Hình b c (2) (3) m c (2) n (4) Hình m d (1) n Hình Xố đỉnh b d cho kề a đỉnh trước kề b kề d mà khơng kề a (Hình 2), ta đồ thị G’’ có n−2 đỉnh Theo giả thiết quy nạp, ta tô G’’ màu Sau đỉnh G’’ tô 97 Đ th Nguy n Th Vinh-ĐHKH (Hình 2), ta dựng lại đỉnh b d, tô b d màu tơ cho a (màu 1, Hình 3), cịn a tơ lại màu khác với màu b, c, d, e, f Vì b d khơng kề tô màu 1, nên với đỉnh dùng hết nhiều màu Do G tơ màu 4.10.8 Định lý màu Appel-Haken Mọi đồ thị phẳng tơ màu Định lý Bốn màu đưa đoán vào năm 1850 sinh viên người Anh tên F Guthrie cuối hai nhà toán học Mỹ Kenneth Appel Wolfgang Haken chứng minh vào năm 1976 Trước năm 1976 có nhiều chứng minh sai, mà thơng thường khó tìm thấy chỗ sai, cơng bố Hơn có nhiều cố gắng cách vơ ích để tìm phản thí dụ cách cố vẽ đồ cần bốn màu để tơ Có lẽ chứng minh sai tiếng toán học chứng minh sai “bài toán bốn màu” công bố năm 1879 luật sư, nhà tốn học nghiệp dư Ln Đơn tên Alfred Kempe Nhờ cơng bố lời giải “bài tốn bốn màu”, Kempe công nhận hội viên Hội Khoa học Hồng gia Anh Các nhà tốn học chấp nhận cách chứng minh ông ta 1890, Percy Heawood phát sai lầm chứng minh Kempe Mặt khác, dùng phương pháp Kempe, Heawood chứng minh “bài toán năm màu” (tức đồ tơ màu) Như vậy, Heawood giải “bài toán năm màu”, cịn “bài tốn bốn màu” cịn thách đố nhà toán học suốt gần kỷ Việc tìm lời giải “bài toán bốn màu” ảnh hưởng đến phát triển theo chiều hướng khác lý thuyết đồ thị Mãi đến năm 1976, khai thác phương pháp Kempe nhờ cơng cụ máy tính điện tử, Appel Haken tìm lời giải “bài tốn bốn màu” Chứng minh họ dựa phân tích trường hợp cách cẩn thận nhờ máy tính Họ “bài tốn bốn màu” sai có phản thí dụ thuộc gần 2000 loại khác khơng có loại dẫn tới phản thí dụ Trong chứng minh họ dùng 98 Đ th Nguy n Th Vinh-ĐHKH 1000 máy Cách chứng minh gây nhiều tranh cãi máy tính đóng vai trị quan trọng Chẳng hạn, liệu có sai lầm chương trình điều dẫn tới kết sai khơng? Lý luận họ có thực chứng minh hay khơng, phụ thuộc vào thơng tin từ máy tính khơng đáng tin cậy? 4.10.9 Những ứng dụng tốn tơ màu đồ thị 1) Lập lịch thi: Hãy lập lịch thi trường đại học cho khơng có sinh viên có hai mơn thi lúc Có thể giải tốn lập lịch thi mơ hình đồ thị, với đỉnh mơn thi, có cạnh nối hai đỉnh có sinh viên phải thi hai môn biểu diễn hai đỉnh Thời gian thi môn biểu thị màu khác Như việc lập lịch thi tương ứng với việc tô màu đồ thị Chẳng hạn, có mơn thi cần xếp lịch Giả sử môn học đuợc đánh số từ tới cặp mơn thi sau có chung sinh viên: 2, 3, 4, 7, 3, 4, 5, 7, 4, 6, 7, 5, 6, 6, 7, Hình biểu diễn đồ thị tương ứng Việc lập lịch thi việc tơ màu đồ thị Vì số màu đồ thị nên cần có đợt thi Đỏ Nâu Đỏ Vàng Xanh Vàng Nâu 2) Phân chia tần số: Các kênh truyền hình từ số tới số 12 phân chia cho đài truyền hình cho khơng có đài phát cách không 99 Đ th Nguy n Th Vinh-ĐHKH 240 km lại dùng kênh Có thể chia kênh truyền mơ hình tô màu đồ thị Ta xây dựng đồ thị cách coi đài phát đỉnh Hai đỉnh nối với cạnh chúng cách không 240 km Việc phân chia kênh tương ứng với việc tơ màu đồ thị, màu biểu thị kênh 3) Các ghi số: Trong dịch hiệu cao việc thực vòng lặp tăng tốc biến dùng thường xuyên lưu tạm thời ghi số xử lý trung tâm (CPU) mà nhớ thông thường Với vòng lặp cho trước cần ghi số? Bài tốn giải mơ hình tơ màu đồ thị Để xây dựng mơ hình ta coi đỉnh đồ thị biến vịng lặp Giữa hai đỉnh có cạnh biến biểu thị đỉnh phải lưu ghi số thời điểm thực vòng lặp Như số màu đồ thị số ghi cần có ghi khác phân cho biến đỉnh biểu thị biến liền kề đồ thị 100 Đ th Nguy n Th Vinh-ĐHKH BÀI TẬP CHƯƠNG IV Bài tâp tính tốn 4.1.1 Dùng thuật tốn Ford Bellmam tìm đường ngắn từ đỉnh a đến đỉnh khác đồ thị sau: c b d o 12 k e h 11 a g 4.1.2 Dùng thuật toán Dijkstra tìm đường ngắn từ đỉnh a đến đỉnh khác đồ thị b f 1 10 c g 10 k a h d i e 4.1.3 Cho đồ thị có trọng số hình Hãy tìm đường ngắn từ đỉnh A đến đỉnh N 3 A B C D E 2 F K L 101 I 2 4 H J G M N Đ th Nguy n Th Vinh-ĐHKH 4.1.4 Áp dụng thuật toán Floyd vào đồ thị sau: B 20 A 13 F D C E 4.1.5 Cho G đơn đồ thị phẳng liên thơng có 10 mặt, tất đỉnh có bậc Tìm số đỉnh đồ thị G 4.1.6 Đa diện lồi có d mặt (d ≥ 5), mà từ đỉnh có cạnh Hai người chơi trị chơi sau: người tô đỏ mặt mặt cịn lại Người thắng người tơ mặt có chung đỉnh Chứng minh tồn cách chơi mà người tô trước luôn thắng 4.1.7 Chứng minh rằng: a) Một đồ thị phẳng tơ đỉnh hai màu đồ thị phân đơi b) Một đồ thị phẳng tơ miền hai màu đồ thị Euler 4.1.8 Khoa Tốn có hội đồng họp tháng lần Cần có thời điểm họp khác để đảm bảo không bị xếp lịch họp hai hội đồng lúc, hội đồng là: H1 = {H, L, P}, H2 = {L, M, T}, H3 = {H, T, P} 4.1.9 Đồ thị cho hình sau gọi đồ thị Peterson P a e a) Tìm đường Hamilton P b g h f k d b) Chứng minh P \ {v}, với v đỉnh P, đồ thị Hamilton i c 102 Đ th Nguy n Th Vinh-ĐHKH 4.1.10 Một ông vua xây dựng lâu đài để cất báu vật Người ta tìm thấy sơ đồ lâu đài (hình sau) với lời dặn: muốn tìm báu vật, cần từ phịng bên ngồi (số 1, 2, 6, 10, ), qua tất cửa phòng, cửa lần; báu vật giấu sau cửa cuối Hãy tìm nơi giấu báu vật 10 11 13 12 14 15 16 20 17 18 21 19 Bài tập máy tính 4.2.1 Cho cặp đỉnh ứng với cạnh đồ thị vô hướng Hãy xác định bậc đỉnh 4.2.2 Cho danh sách cạnh đơn đồ thị Hãy xác định xem đồ thị có liên thơng hay khơng tìm số thành phần liên thơng khơng liên thơng 4.2.3 Cho danh sách cạnh đơn đồ thị Hãy xác định đường Hamilton khảng định khơng có đường 4.2.4 Cho danh sách cạnh trọng số chúng Hãy tìm độ dài đường ngắn hai đỉnh s f đồ thị 4.2.5 Cho danh sách sinh viên môn mà họ theo học Hãy lập lịch thi Viết tiểu luận 4.3.1 Mô tả nguồn gốc phát triển lí thuyết đồ thị trước năm 1990 4.3.2 Thảo luận ứng dụng đồ thị xã hội học tâm lí học 4.3.3 Hãy nói sơ qua lịch sử toán màu 4.3.4 Nêu vài điều kiện để đồ thị có chu trình Hamilton 4.3.5 Hãy mô tả cách dùng đường Euler để trợ giúp xác định chuỗi DNA 103 ... Như v? ??y, Kn có n(n-1)/2 cạnh đỉnh Kn có bậc n−1 v1 V? ? dụ: v1 v1 v2 v1 v2 v1 v5 v3 v4 v2 v2 v3 V4 v3 4.4.2 Đồ thị v? ?ng: Đơn đồ thị n đỉnh v1 , v2 , , (n≥3) n cạnh (v1 ,v2 ), (v2 ,v3 ), , (vn-1,vn), (vn ,v1 )... (vn ,v1 ) gọi đồ thị v? ?ng, ký hiệu Cn Như v? ??y, đỉnh Cn có bậc V? ? dụ: v1 v1 v3 v2 C3 v1 v1 v2 v4 v5 v2 v4 v3 C4 v3 C5 69 v6 v2 v5 v3 v4 C6 Đ th Nguy n Th Vinh-ĐHKH 4.4.3 Đồ thị bánh xe:Từ đồ thị v? ?ng... sử e1= {v1 ,v2 }; e2= {v1 ,v3 }; e3= {v1 ,v5 }; e4 {v2 ,v4 }; e5= {v3 ,v4 }; e6 {v3 ,v5 }; e7= {v4 ,v5 }; v1 v2 v3 v5 v4 Khi ma trận liên thuộc tương ứng e1 e2 e3 e4 e5 e6 e7 v1 1 0 0 v2 0 0 v3 0 1 v4 0 1 v5 0 0 1

Ngày đăng: 12/09/2012, 22:09

Hình ảnh liên quan

của Konigsberg làm ột đa đồ thị G như hình trên. - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

c.

ủa Konigsberg làm ột đa đồ thị G như hình trên Xem tại trang 13 của tài liệu.
Ví dụ: Đồ thị G1 trong hình là đồ thị Euler vì nó có chu trình Euler a, e, c, d, e, b, a - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

d.

ụ: Đồ thị G1 trong hình là đồ thị Euler vì nó có chu trình Euler a, e, c, d, e, b, a Xem tại trang 14 của tài liệu.
3) Xét đồ thị G như trong hình ad ưới đây. Có thể biểu diễ nG một cách khác như trong hình b, trong đó bất kỳ hai cạnh nào cũng không cắ t nhau - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

3.

Xét đồ thị G như trong hình ad ưới đây. Có thể biểu diễ nG một cách khác như trong hình b, trong đó bất kỳ hai cạnh nào cũng không cắ t nhau Xem tại trang 31 của tài liệu.
2) K4 là đồ thị phẳng bởi vì có thể vẽ lại như hình bên không có đường cắt nhau  - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

2.

K4 là đồ thị phẳng bởi vì có thể vẽ lại như hình bên không có đường cắt nhau Xem tại trang 31 của tài liệu.
b và d không kề nhau (Hình 1).    - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

b.

và d không kề nhau (Hình 1). Xem tại trang 34 của tài liệu.
Có thể giải bài toán lập lịch thi bằng mô hình đồ thị, với các đỉnh là các môn thi, có một cạnh nối hai đỉnh nếu có sinh viên phải thi cả  hai môn  đượ c  biểu diễn bằng hai đỉnh này - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

th.

ể giải bài toán lập lịch thi bằng mô hình đồ thị, với các đỉnh là các môn thi, có một cạnh nối hai đỉnh nếu có sinh viên phải thi cả hai môn đượ c biểu diễn bằng hai đỉnh này Xem tại trang 36 của tài liệu.
4.1.3. Cho đồ thị có trọng số như hình dưới đây. Hãy tìm đường đi ngắn nhất từ đỉnh A đến đỉnh N - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

4.1.3..

Cho đồ thị có trọng số như hình dưới đây. Hãy tìm đường đi ngắn nhất từ đỉnh A đến đỉnh N Xem tại trang 38 của tài liệu.
BÀI TẬP CHƯƠNG IV Bài tâp tính toán  - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

i.

tâp tính toán Xem tại trang 38 của tài liệu.
4.1.9. Đồ thị cho trong hình sau gọi là đồ thị Peterson P. a a  - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

4.1.9..

Đồ thị cho trong hình sau gọi là đồ thị Peterson P. a a Xem tại trang 39 của tài liệu.
4.1.4. Áp dụng thuật toán Floyd vào đồ thị sau: - Giáo trình: Toán rời rạc - Đại học Thái Nguyên - chương V

4.1.4..

Áp dụng thuật toán Floyd vào đồ thị sau: Xem tại trang 39 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan