Tóm tắt bài giảng môn lý thuyết đồ thị

34 894 2
Tóm tắt bài giảng môn lý thuyết đồ 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

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM KHOA TOÁN – TIN HỌC TĨM TẮT BÀI GIẢNG Mơn LÝ THUYẾT ĐỒ THỊ Giảng viên biên soạn: Nguyễn Ngọc Trung TP.HCM 9.2006 MỤC LỤC Chương Đại cương đồ thị .3 1.1 Giới thiệu 1.2 Định nghĩa đồ thị .3 1.3 Một số thuật ngữ 1.4 Đường đi, chu trình đồ thị liên thơng 1.5 Biểu diễn đồ thị máy tính 11 1.5.1 Biểu diễn đồ thị ma trận kề 11 1.5.2 Ma trận liên thuộc đỉnh – cạnh 13 Chương Đồ thị Euler đồ thị Hamilton 15 2.1 Đồ thị Euler 15 2.2 Đồ thị Hamilton .17 Chương Đồ thị có trọng số toán đường ngắn .20 3.1 Đồ thị có trọng số 20 3.2 Bài toán đường ngắn 21 3.2.1 Đường ngắn xuất phát từ đỉnh 22 3.2.2 Thuật toán Dijkstra – Trường hợp đồ thị khơng có cạnh/cung âm 25 Chương Cây .27 4.1 Định nghĩa tính chất .27 4.2 Cây khung toán khung nhỏ 29 4.2.1 Thuật toán Kruskal: 30 4.2.2 Thuật toán Prim 31 TÀI LIỆU THAM KHẢO 34 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Chương Đại cương đồ thị 1.1 Giới thiệu Lý thuyết đồ thị lĩnh vực nghiên cứu có từ lâu có nhiều ứng dụng ngành cơng nghệ thơng tin Những tư tưởng lý thuyết đồ thị đề xuất vào năm đầu kỷ 18 nhà toán học lỗi lạc người Thụy Sỹ: Leonhard Euler Chính ơng người sử dụng đồ thị để giải toán tiếng cầu thành phố Konigberg Những ứng dụng đồ thị như: - Xác định tính liên thơng mạng máy tính: hai máy tính truyền liệu cho khơng - Tìm đường ngắn mạng giao thơng - Giải toán tối ưu: lập lịch, phân bố tần số cho trạm phát thanh, truyền hình - Giải tốn tơ màu đồ: tìm số màu để tơ quốc gia cho hai quốc gia kề phải tô khác màu - … 1.2 Định nghĩa đồ thị Một cách trực quan, ta hình dung đồ thị cấu trúc rời rạc gồm tập hợp đỉnh tập hợp cạnh nối đỉnh Có nhiều loại đồ thị khác biểu diễn cho đối tượng khác ứng dụng khác Người ta phân loại đồ thị dựa đặc điểm cạnh nối Cụ thể ta xét tốn cụ thể có sử dụng đồ thị để mơ hình hóa tốn: “Mơ hình hệ thống giao thông thành phố xây dựng ứng dụng tìm đường đi, tìm kiếm địa chỉ, …” Để mơ hình hệ thống giao thơng trên, ta biểu diễn địa điểm (giao lộ, trung tâm, …) điểm đường nối giao lộ cạnh hình đây: Trang Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Trong cách biểu diễn này, ta thấy nhiều có đường nối hai địa điểm trực tiếp với nhau, đường hai chiều khơng có đường nối địa điểm với Và đồ thị biểu diễn mơ hình phải thỏa mãn tính chất Dạng đồ thị gọi là: đơn đồ thị vô hướng Định nghĩa 1.1 Một đơn đồ thị vô hướng G=, đó: - V  tập hợp hữu hạn gồm đỉnh đồ thị - E tập hợp cặp khơng có thứ tự gồm hai phần tử khác V gọi cạnh Như vậy, theo định nghĩa trên, đơn đồ thị khơng thể có cặp cạnh nối cặp đỉnh (do E tập hợp nên có cặp trùng nhau), cạnh khơng phân biệt thứ tự nên cạnh [u,v] cạnh [v,u] coi cạnh nhất, điều phù hợp với việc biểu diễn đường chiều, hiển nhiên khơng có cặp [u,u] E Ví dụ 1.1 a Đơn đồ thị vơ hướng b Không phải đơn đồ thị vô hướng có cặp cạnh nối cặp đỉnh c Khơng phải đơn đồ thị vơ hướng có cạnh nối đỉnh với Tuy nhiên, thực tế, hệ thống giao thơng tồn nhiều đường nối hai địa điểm, có đường để từ địa điểm lại quay (đây đường nội trung tâm mua sắm, …) Khi đó, tính chất đơn đồ thị vơ hướng định nghĩa khơng cho phép biểu diễn hệ thống giao thông trường hợp Muốn vậy, ta phải dùng loại đồ thị tổng quát chút: đa đồ thị vô hướng Định nghĩa 1.2 Đa đồ thị vô hướng G=, - V  tập hợp hữu hạn gồm đỉnh đồ thị - E họ cặp khơng có thứ tự V gọi cạnh Lưu ý: - Khi ta nói E họ nghĩa có cặp trùng (khác với khái niệm tập hợp) - Các cạnh nối cặp đỉnh gọi cạnh song song Trang Tóm tắt giảng – Lý thuyết đồ thị - Trường ĐHSP TP.HCM Các cạnh nối từ đỉnh với gọi khuyên Ví dụ 1.2 e2 e1 e a Đa đồ thị vô hướng e1 e2 cạnh song song b Đa đồ thị vô hướng e khuyên Điểm chung hai loại đồ thị định nghĩa tính chất vơ hướng (hai chiều) cạnh Trong thực tế, có ta phải trọng đến tính có hướng cạnh nối (chẳng hạn biểu diễn đường chiều) Từ đó, ta có thêm loại đồ thị: Đơn đồ thị có hướng đa đồ thị có hướng Về bản, hai loại tương tự hai loại mà ta định nghĩa trên, thêm khác biệt tính chất có thứ tự cạnh Định nghĩa 1.3 Đơn đồ thị có hướng G=, đó: - V  tập hợp hữu hạn gồm đỉnh đồ thị - E tập hợp cặp có thứ tự gồm hai phần tử khác V gọi cung Ví dụ 1.3 Định nghĩa 1.4 Đa đồ thị có hướng G=, - V  tập hợp hữu hạn gồm đỉnh đồ thị - E họ cặp có thứ tự V gọi cung Các cung nối cặp đỉnh gọi cung song song Trang Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Ví dụ 1.4 e2 e1 e a Đa đồ thị có hướng e1 e2 cung song song b Đa đồ thị có hướng e khuyên Chú ý: - Đồ thị sau coi đơn đồ thị có hướng e1 e2, e3 e4 cung song song (do khác hướng) e e3 - - - e2 e1 Một số tài liệu tách đa đồ thị thành loại: đa đồ thị (chỉ có cạnh/cung song song mà khơng có khuyên) giả đồ thị (có cạnh/cung song song có khuyên) Tuy nhiên, để bớt phức tạp, gộp hai loại thành gọi tên chung đa đồ thị Đa đồ thị dạng tổng quát đơn đồ thị, nghĩa đơn đồ thị coi đa đồ thị, ngược lại khơng Mặc dù tổng quát đa đồ thị lại khó biểu diễn xử lý máy tính Chính phần lớn ứng dụng người ta tìm cách biến đa đồ thị cách thêm số đỉnh vào cạnh/cung song song hay khuyên Khi đó, đa đồ thị trở thành đơn đồ thị Cũng lý trên, nội dung giới thiệu học phần chủ yếu đơn đồ thị Để đơn giản, gọi “đồ thị” thay cho “đơn đồ thị” Phần sau giới thiệu cho số thuật ngữ thường dùng đồ thị 1.3 Một số thuật ngữ Định nghĩa 1.5 Cho đồ thị vô hướng G= - Hai đỉnh u v đồ thị gọi kề (u,v) cạnh đồ thị - Nếu e=(u,v) cạnh đồ thị ta nói cạnh liên thuộc với hai đỉnh u v Cạnh nói nối đỉnh u v Đỉnh u v gọi đỉnh đầu cạnh e Trang Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Định nghĩa 1.6 Cho đồ thị vô hướng G= Bậc đỉnh v đồ thị, ký hiệu deg(v), số cạnh liên thuộc với Đỉnh có bậc gọi đỉnh lập, đỉnh có bậc gọi đỉnh treo Ví dụ 1.5 Cho đồ thị vơ hướng G = sau:        V = {1, 2, 3, 4, 5, 6} E = {(1,2), (2,3), (1,4), (1,5), (2,5), (4,5), (2,4)} Bậc đỉnh: deg(1) = deg(2) = deg(3) = deg(4) = deg(5) = deg(6) = Đỉnh đỉnh treo Đỉnh đỉnh cô lập Định lý sau đề cập đến tính chất bậc đỉnh Định lý 1.1 Cho G = đồ thị vô hướng Khi ta có tổng số bậc đỉnh đồ thị hai lần số cạnh Nói cách khác, ta có:  deg(v)  | E | vV Việc chứng minh định lý khơng khó Ý tưởng trình xác định bậc đỉnh cạnh đếm lần Hệ 1.1 Trong đồ thị vô hướng, số đỉnh bậc lẻ số chẵn Chứng minh Theo định lý trên, tổng bậc tất đỉnh số chẵn (2|E|), tổng bậc đỉnh bậc lẻ số chẵn Và vây, số đỉnh bậc lẻ phải số chẵn  Định nghĩa 1.7 Cho đồ thị có hướng G= - Hai đỉnh u v đồ thị gọi kề (u,v) cung đồ thị - Nếu e=(u,v) cung đồ thị ta nói cung khỏi đỉnh u vào vào đỉnh v Đỉnh u gọi đỉnh đầu cung e đỉnh v gọi đỉnh cuối cung e Trang Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Định nghĩa 1.8 Cho đồ thị có hướng G= - Bán bậc đỉnh v đồ thị, ký hiệu deg+(v), số cạnh khỏi v - Bán bậc vào đỉnh v đồ thị, ký hiệu deg-(v), số cạnh vào v Ví dụ 1.6 Xét đồ thị có hướng G = sau:  V = {1, 2, 3, 4, 5, 6}  E = {(1,2), (2,3), (1,4), (5,1), (5,2), (2,6), (6,3), (4,5), (6,5), (3,4)}  Bậc đỉnh:  Bán bậc ra: deg+(1)=2 deg+(2)=2 deg+(3)=1 deg+(5)=2 deg+(6)=2 deg+(4)=1  Bán bậc vào: deg (1)=1 deg (2)=2 deg-(3)=2 deg-(1)=2 deg-(1)=1 deg-(4)=2 Tương tự đồ thị vô hướng, đồ thị có hướng ta có kết gần tương tự bậc đỉnh đồ thị Định lý 1.2 Cho G = đồ thị có hướng Tổng bán bậc đỉnh tổng bán bậc vào đỉnh số cạnh đồ thị  deg vV  (v)   deg  (v) | E | vV Cách chứng minh ý nghĩa định lý tương tự định lý đồ thị vô hướng Trong ứng dụng đồ thị, toán đường đi, tính liên thơng chiếm vị trí lớn Phần đề cập đến số khái niệm mở đầu nội dung 1.4 Đường đi, chu trình đồ thị liên thơng Định nghĩa 1.9 Cho đồ thị * G = Đường độ dài n từ đỉnh u đến đỉnh v (n số nguyên dương) dãy: x0, x1, …, xn-1, xn u = x0, v = xn, (xixi+1)E, i = 0, 1, …, n-1 * Ta dùng thuật ngữ đồ thị để chung cho đồ thị vơ hướng đồ thị có hướng Trang Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Đường nói cịn biểu diễn dãy cạnh/cung: (x0, x1), (x1, x2), …, (xn-1, xn) Đỉnh u gọi đỉnh đầu đường đi, đỉnh v gọi đỉnh cuối đường Đường có đỉnh đầu đỉnh cuối trùng (u=v) gọi chu trình Ví dụ 1.7 Cho đồ thị vô hướng sau: Một số đường từ đỉnh đến đỉnh 7: - Đường d1: (đường độ dài 3) - Đường d2: (đường độ dài 6) - Đường d3: 4 (đường độ dài 6) Một số chu trình đồ thị trên: - Chu trình C1: (chu trình có độ dài 3) - Chu trình C2: (chu trình có độ dài 7) - Chu trình C3: (chu trình có độ dài 6) Định nghĩa 1.10.Cho đồ thị G = - Đường hay chu trình G gọi đơn khơng có cạnh bị lặp lại đường - Đường hay chu trình G gọi sơ cấp khơng có đỉnh bị lặp lại đường Ví dụ 1.8 - Xét đường chu trình ví dụ trên, ta thấy: Đường d1 đường sơ cấp (cũng đường đơn) Đường d2 đường đơn (chỉ bị lặp đỉnh 3, không lặp cạnh) Đường d3 không đường đơn (cũng không đường sơ cấp) có lặp lại cạnh (3,4) - Chu trình C1 chu trình sơ cấp (cũng chu trình đơn) - Chu trình C2 chu trình đơn (chỉ bị lặp lại đỉnh 3, không lặp cạnh) - Chu trình C3 khơng chu trình đơn (cũng khơng chu trình sơ cấp) có lặp lại cạnh (3,4) Trang Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Khi dùng đồ thị để biểu diễn hệ thống đó, chẳng hạn hệ thống máy tính kết nối với nhau, điều ta quan tâm liệu hai máy tính nối với hay khơng? Đây tính chất liên thơng mạng, tính liên thơng khơng đảm bảo mạng máy tính khơng thể hoạt động Định nghĩa 1.11.Đồ thị vô hướng G = gọi liên thơng ln tìm đường hai đỉnh Ví dụ 1.9 Xét đồ thị vô hướng sau: Đồ thị G1 Đồ thị G2 Trong đồ thị G1 đồ thị liên thơng, cịn G2 khơng phải đồ thị liên thơng hai đỉnh không tồn đường Định nghĩa 1.12 Cho đồ thị G = (V,E) Đồ thị H = gọi đồ thị G W  V F  E Trong trường hợp đồ thị vô hướng G khơng liên thơng, phân thành đồ thị độc lập chúng liên thông Mỗi đồ thị gọi thành phần liên thơng G Ví dụ 1.10 Đồ thị G2 ví dụ đồ thị có thành phần liên thông Thành phần liên thông thứ gồm đỉnh: 1, 4, Thành phần liên thông thứ hai gồm hai đỉnh: Định nghĩa 1.13.Cho đồ thị vô hướng G = Đỉnh v đồ thị gọi đỉnh rẽ nhánh việc 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ị Cạnh e đồ thị gọi cầu việc loại bỏ khỏi đồ thị làm tăng số thành phần liên thơng đồ thị Ví dụ 1.11 Xét đồ thị sau: Trang 10 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Chương Đồ thị có trọng số toán đường ngắn 3.1 Đồ thị có trọng số Trong phần vừa qua, khảo sát khái niệm đồ thị Cho đến thời điểm này, nói đến đồ thị gồm có tập đỉnh tập cạnh nối đỉnh với Trên thực tế số ứng dụng, việc sử dụng đồ thị với đỉnh cạnh để biểu diễn chưa đủ Chẳng hạn tốn giao thơng, người ta khơng quan tâm địa điểm có nối với địa điểm khác hay không mà người ta quan tâm đến đường nối xa hay gần, khoảng cách Rõ ràng, hệ thống giao thông, việc đưa thêm yếu tố khoảng cách vào đồ thị có ý nghĩa lớn, làm tăng thêm khả ứng dụng lý thuyết đồ thị Trong phần này, tìm hiểu loại đồ thị có khả đáp ứng yêu cầu trên: đồ thị có trọng số Định nghĩa 3.1 Đồ thị có trọng số đồ thị mà cạnh (hay cung) gán thêm số thực, gọi trọng số cạnh (cung), thể chi phí phải tốn (khoảng cách, thời gian, tiền bạc, ) qua cạnh (cung) Ví dụ 3.1 Xét mơ hình kết nối điện thoại mơ đồ thị có trọng số đây: đỉnh tương ứng với trạm điện thoại, cạnh tương ứng với đường dây kết nối trạm trọng số cạnh thể chi phí phải tốn thực kết nối liên lạc hai trạm Để biểu diễn đồ thị có trọng số máy tính, ta dùng ma trận kề trọng số Về bản, ma trận kề trọng số đồ thị gần giống với ma trận kề, có điều, ma trận kề gồm số hay ma trận kề trọng số bao gồm trọng số đỉnh, giá trị vơ cực, Trang 20 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Định nghĩa 3.2 Ma trận kề trọng số đồ thị có trọng số G =, V = {v1, v2, , vn}, ma trận kích thước nxn, xác định sau: Trọng số cạnh (vi, vj), (vi, vj)  E  (vi, vj)  E Aij = Ví dụ 3.2 Ma trận kề trọng số đồ thị ví dụ 3.1 sau:      5  6         A                      Chú ý: Ta thường dùng ký hiệu a[vi, vj] để trọng số cạnh (vi, vj) Trong trường hợp (vi, vj) không cạnh đồ thị a[vi, vj]=  Điều hồn tồn tự nhiên hai đỉnh khơng nối với chi phí để từ đỉnh đến đỉnh vô lớn (lớn đến mức, khơng thể được) 3.2 Bài tốn đường ngắn Trong ứng dụng thực tế, toán tìm đường ngắn hai đỉnh đồ thị liên thơng có ý nghĩa to lớn Có thể dẫn tốn nhiều tốn thực tế quan trọng Ví dụ, tốn chọn hành trình tiết kiệm (theo tiêu chuẩn khoảng cách thời gian chi phí) mạng giao thông đường bộ, đường thủy đường không; toán chọn phương pháp tiết kiệm để đưa hệ thống động lực từ trạng thái xuất phát đến trạng trạng thái đích, tốn lập lịch thi công công công đoạn cơng trình thi cơng lớn, tốn lựa chọn đường truyền tin với chi phí nhỏ mạng thơng tin, v.v… Hiện có nhiều phương pháp để giải tốn Thế nhưng, thơng thường, thuật toán xây dựng dựa sở lý thuyết đồ thị tỏ thuật tốn có hiệu cao Trong phần xét toán đường ngắn số thuật toán để giải toán Định nghĩa 3.3 Cho G đồ thị có trọng số (P) G Ta định nghĩa độ dài đường (P) tổng trọng số tất cạnh (P) Ví dụ 3.3 Xét đồ thị có trọng số đây: Trang 21 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Độ dài đường (P1): là: + + + + = 24 Độ dài đường (P2): là: + + = Bài toán tìm đường ngắn đồ thị dạng tổng qt phát biểu sau: tìm đường có độ dài nhỏ từ đỉnh xuất phát s  V đến đỉnh cuối (đích) t  V Đường ta gọi đường ngắn từ s đến t độ dài ta ký hiệu d(s,t) cịn gọi khoảng cách từ s đến t (khoảng cách định nghĩa số âm) Nếu không tồn đường từ s đến t ta đặt d(s,t)=  Rõ ràng, chu trình đồ thị có độ dài dương, đường ngắn khơng có đỉnh bị lặp lại (đường sơ cấp) Mặt khác đồ thị có chu trình với độ dài âm (chu trình để gọi ngắn gọn ta gọi chu trình âm) khoảng cách số cặp đỉnh đồ thị khơng xác định, vì, cách vịng theo chu trình số đủ lớn lần, ta đường đỉnh có độ dài nhỏ số thực cho trước Chính thế, để tốn tìm đường ngắn có lời giải, ta phải giả thiết: đồ thị khơng chứa chu trình có độ dài âm 3.2.1 Đường ngắn xuất phát từ đỉnh Trong phần này, xét thuật toán để tìm đường ngắn từ đỉnh sV cho trước đến tất đỉnh lại đồ thị Để biểu diễn lời giải toán này, ta sử dụng hai mảng: - Mảng d để lưu khoảng cách ngắn từ s đến đỉnh, chẳng hạn d[v] độ dài đường ngắn từ s đến v - Mảng Truoc để lưu đỉnh trước đỉnh đường ngắn trên, ví dụ, Truoc[v] đỉnh nằm trước v đường ngắn từ s đến v Mảng dùng để lần lại kết kết thúc thuật toán (giống khái niệm bảng lưu vết quy hoạch động) Phần lớn thuật tốn tìm khoảng cách hai đỉnh s t xây dựng nhờ kỹ thuật tính tốn mà ta mơ tả đại thể sau: từ ma trận trọng số a[u,v], u,v  Trang 22 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM V, ta tính cận d[v] khoảng cách từ s đến tất đỉnh v  V Mỗi phát d[u] + a[u,v] < d[v] (1) cận d[v] làm tốt lên: d[v] + a[u,v] Q trình kết thúc không làm tốt thêm cận Khi đó, rõ ràng giá trị d[v] cho khoảng cách từ đỉnh s đến đỉnh v Khi thể kỹ thuật tính tốn máy tính, cận d[v] gọi nhãn đỉnh v, việc tính lại cận gọi thủ tục gán Nhận thấy để tính khoảng cách từ s đến t, đây, ta phải tính khoảng cách từ s đến tất đỉnh lại đồ thị Hiện chưa biết thuật toán cho phép tìm đường ngắn hai đỉnh làm việc thực hiệu thuật toán tìm đường ngắn từ đỉnh đến tất đỉnh cịn lại Sơ đồ tính tốn mà ta vừa mơ tả cịn chưa xác định, phải thứ tự đỉnh u v để kiểm tra điều kiện (1) Thứ tự chọn có ảnh hưởng lớn đến hiệu thuật tốn Bây ta mơ tả tht tốn Ford-Bellman tìm đường ngắn từ đỉnh s đến tất đỉnh lại đồ thị Thuật toán làm việc trường hợp trọng số cung tuỳ ý, giả thiết đồ thị khơng có chu trình âm Thuật tốn Ford-Bellman: Begin (* Khởi tạo *) for v  V Begin d[v]:=a[s,v]; Truoc[v]:=s; End; (* Bắt đầu *) d[s]:=0; for k:=1 to n-2 for v  V\{ s} for u  V if d[v] > d[u] +a[u,v] then Begin d[v]:=d[u]+a[u,v]; Truoc[v]:=u; End; End; Trang 23 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Tính đắn thuật tốn chứng minh sở nguyên lý tối ưu quy hoạch động Rõ ràng độ phức tạp tính tốn thuật tốn O(n3) Lưu ý chấm dứt vòng lặp theo k phát q trình thực hai vịng lặp khơng có biến d[v] bị đổi giá trị Việc xảy kd[u]+a[u,v] then Begin d[v]:=d[u]+a[u,v]; Truoc[v]:=u; End; End; End; Trang 25 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Ví dụ 3.5 Tìm đường ngắn từ đến đỉnh lại đồ thị hình ình Minh họa thuật tốn Dijkstra Kết tính tốn theo thuật tốn trình bày theo bảng Qui ước viết hai thành phần nhãn theo thứ tự: d[v] Đỉnh đánh dấu * đỉnh chọn để cố định nhãn bước lặp xét, nhãn khơng biến đổi bước tiếp theo, ta đánh dấu - Bước lặp Đỉnh Đỉnh Đỉnh Đỉnh Đỉnh Đỉnh Khởi tạo 0,1 1,1*  ,1  ,1  ,1  ,1 - - 6,2 3,2*  ,1 8,2 - - 4,4* - 7,4 8,2 - - - 7,4 5,3* - - - 6,6* - Lưu ý:  Nếu cần tìm đường ngắn từ s đến đỉnh t kết thúc thuật tốn đỉnh t trở thành có nhãn cố định  Tương tự mục 2, dễ dàng mơ tả thuật tốn trường hợp đồ thị cho danh sách kề Để giảm bớt khối lượng tính tốn việc xác định đỉnh u bước lặp, sử dụng thuật tốn Heapsort Khi thu thuật tốn với độ phức tạp tính tốn O(m log n) Trang 26 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Chương Cây Đồ thị vơ hướng liên thơng khơng có chu trình gọi Khái niệm lần Cayley đưa vào năm 1857, ông sử dụng chúng để đếm dạng cấu trúc phân tử hợp chất hoá học hoá học hữu Cây sử dụng rộng rãi nhiều lĩnh vực khác nhau, đặc biệt tin học, sử dụng để xây dựng thuật toán tổ chức thư mục, thuật toán cất giữ, truyền liệu tìm kiếm… 4.1 Định nghĩa tính chất Định nghĩa 4.1 Ta gọi đồ thị vơ hướng liên thơng khơng có chu trình Đồ thị khơng có chu trình gọi rừng Như vậy, rừng đồ thị mà thành phần liên thơng Ví dụ 4.1 Trong hình rừng gồm T1, T2, T3 Hình 4.1 Rừng gồm T1, T2, T3 Có thể nói đồ thị vơ hướng đơn giản Định lý sau cho ta số tính chất Định lý 4.1 Giả sử G=(V,E) đồ thị vơ hướng n đỉnh Khi mệnh đề sau tương đương: (1) T cây; (2) T khơng chứa chu trình có n-1 cạnh; (3) T liên thơng có n-1 cạnh; (4) T liên thơng cạnh điều cầu; (5) Hai đỉnh T nối với đường đơn; (6) T khơng chứa chu trình thêm vào cạnh ta thu chu trình Chứng minh Ta chứng minh định lý theo sơ đồ sau: Trang 27 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM (1) (2)  (3)  (4)  (5)  (6)  (1)  (1)  (2) Theo định nghĩa T khơng chứa chu trình Ta chứng minh qui nạp theo số đỉnh n cho khẳng định: Số cạnh với n đỉnh n-1 Rõ ràng khẳng định với n=1 Giả sử n>1 Trước hết nhận T có n đỉnh tìm đỉnh đỉnh treo (tức đỉnh có bậc 1) Thực vậy, gọi v1, v2 , ,vk đường dài (theo số cạnh) T Khi rõ ràng v1 vk đỉnh treo, từ v1 (vk) khơng có cạnh nối với đỉnh số đỉnh v2, v3 , ,vk (do đồ thị khơng chứa chu trình), với đỉnh khác đồ thị (do đường xét dài nhất) Loại bỏ v1 cạnh (v1 , v2) khỏi T ta thu T1 với n-1 đỉnh, mà theo giả thiết qui nạp có n-2 cạnh Vậy T có n-2+1 = n-1 cạnh  (2)  (3) Ta chứng minh phản chứng Giả sử T không liên thông Khi T phân rã thành k≥2 phần liên thơng T1, T2, Tk Do T khơng chứa chu trình nên Ti (i=1,2, .,k) không chứa chu trình, Ti Do gọi n(Ti) e(Ti) theo thứ tự số đỉnh cạnh Ti, ta có: e(Ti) = n(Ti) – 1, i= 1, 2, , k, Suy n-1 = e(T) = e(T1) + + e(Tk) = n(T1) + n(Tk) – k = n(T) –k < n-1 Mâu thuẫn thu chứng tỏ T liên thông  (3)  (4) Việc loại bỏ cạnh khỏi T dẫn đến đồ thị với n đỉnh n-2 cạnh rõ ràng đồ thị không liên thông Vậy cạnh T cầu  (4)  (5) Do T liên thơng nên hai đỉnh nối với đường đơn Nếu có cặp đỉnh T có hai đường đơn khác nối chúng, từ suy đồ thị chứa chu trình, cạnh chu trình khơng phải cầu  (5)  (6) T khơng chứa chu trình, có chu trình hố tìm cặp đỉnh T nối với hai đường đơn Bây giờ, thêm vào T cạnh e nối hai đỉnh u v T Khi cạnh với đường đơn nối u với v tạo thành chu trình T Chu trình thu nhất, thu nhiều chu trình suy T trước phải có sẵn chu trình  (6)  (1) Giả sử T không liên thông Khi gồm thành phần liên thơng Vì vậy, thêm vào T cạnh nối hai đỉnh thuộc hai thành phần liên thông khác ta khơng thu thêm chu trình Điều mâu thuẫn với giả thiết (6) Định lý chứng minh  Trang 28 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM 4.2 Cây khung toán khung nhỏ Định nghĩa 4.2 Cho G= đồ thị vô hướng liên thông Cây T= với FE gọi khung (spanning tree) đồ thị G Ví dụ 4.2 Đồ thị G khung cho hình 4.2 Hình 4.2 Đồ thị khung Một đồ thị có nhiều khung khác Chúng ta dùng thuật tốn tìm kiếm theo chiều sâu hay tìm tìm kiếm theo chiều rộng để tìm khung đồ thị Trong số khung đồ thị, ta quan tâm tới dạng khung đặc biệt: khung có tổng trọng số cạnh nhỏ Bài toán khung nhỏ nhất: Đây toán tối ưu đồ thị Bài toán ứng dụng nhiều lĩnh vực khác đời sống Trước hết, ta phát biểu nội dung tốn: Cho G = đồ thị vơ hướng liên thơng có trọng số, với tập đỉnh V = {1,2,3,4,…n} tập E gồm m cạnh Giả sử H= khung đồ thị, ta gọi c(H), độ dài khung, tổng trọng số cạnh Bài tốn đặt số khung G, tìm khung có độ dài nhỏ Cây khung tìm gọi khung nhỏ đồ thị Ví dụ 4.3 Hình vẽ sau cho ta ví dụ đồ thị vơ hướng liên thơng có trọng số khung nhỏ (các cạnh khung in đậm) với tổng độ dài là: + + + 12 + = 26 10 18 12 14 30 26 Trang 29 16 Tóm tắt giảng – Lý thuyết đồ thị Trường ĐHSP TP.HCM Để giải tốn khung nhỏ nhất, ta liệt kê tất khung đồ thị chọn số chung khung nhỏ Tuy nhiên cách có thời gian tính tốn lâu Chúng ta khảo sát hai thuật toán hiệu nhiều: Thuật toán Kruskal thuật toán Prim 4.2.1 Thuật toán Kruskal: Thuật toán xây dựng tập cạnh khung nhỏ H= theo bước Để ý rằng, cạnh có trọng số nhỏ thường nằm khung nhỏ Theo ý tưởng này, khảo sát cạnh có trọng số từ nhỏ tới lớn thử việc đưa chúng vào khung, không (tạo với cạnh chọn thành chu trình) lại chọn cạnh có trọng số lớn hơn, … q trình tiếp tục tìm đủ cạnh cho khung nhỏ Cụ thể, thuật tốn mơ tả sau: Thuật toán Kruskal: Begin T := ; While |T|

Ngày đăng: 20/05/2014, 21:34

Từ khóa liên quan

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

Tài liệu liên quan