Bài giảng Toán rời rạc - Chương 5: Lý thuyết đồ thị cung cấp cho người học các kiến thức: Khái niệm đồ thị, các loại đồ thị, bậc của đồ thị, biểu diễn đồ thị, tính liên thông trong đồ thị, chu trình Euler – Hamilton, tìm đường đi ngắn nhất. Mời các bạn cùng tham khảo.
TOÁN RỜI RẠC Chương 5: LÝ THUYẾT ĐỒ THỊ GV: NGUYỄN LÊ MINH Bộ môn Công nghệ thông tin Nội dung Khái niệm đồ thị Các loại đồ thị Bậc đồ thị Biểu diễn đồ thị Tính liên thơng đồ thị Chu trình Euler – Hamilton Tìm đường ngắn Khái niệm Đồ thị cấu trúc rời rạc gồm đỉnh cạnh (vô hướng có hướng) nối đỉnh Có loại đồ thị: Đồ thị có hướng – Đồ thị vơ hướng Đồ thị có hướng Đồ thị có hướng G = (V, E) đó: • Tập khác rỗng V tập hợp hữu hạn đỉnh đồ thị • E tập hợp cặp có thứ tự gồm hai phần tử khác V gọi cung • Mỗi cạnh e∈E liên kết với cặp đỉnh (i,j)∈ 𝑉 , quy định hướng từ i -> j Đồ thị vô hướng Đồ thị vơ hướng G = (V, E) đó: • Tập khác rỗng V tập hợp hữu hạn đỉ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 • Mỗi cạnh e∈E liên kết với cặp đỉnh (i,j)∈ 𝑉 , không quy định thứ tự Cạnh song song khun • Nếu đồ thị có cạnh nối từ đỉnh với nó, cạnh gọi khuyên • Nếu hai cạnh V V’ liên kết với cặp (i,j) V V’ gọi cặp cạnh song song với Các loại đồ thị Đồ thị rỗng Có tập cạnh tập rỗng Đồ thị đơn Đồ thị đủ Khơng có khun Là đồ thị vô hướng, cạnh song song đơn, đỉnh kề Các loại đồ thị Đồ thị hai phía (Đồ thị lưỡng phân) Là đồ thị tập đỉnh chia thành hai tập không giao thỏa mãn điều kiện khơng có cạnh nối hai điểm thuộc tập Đỉnh kề Trong đồ thị vơ hướng G=(V,E), e=(u,v) cạnh thì: • Đỉnh u, v hai đỉnh kề • Cạnh e cạnh liên thuộc với đỉnh u,v • Đỉnh u, v đỉnh đầu cạnh e u e v Đỉnh kề Trong đồ thị có hướng G=(V,E), e=(u,v) cung thì: • Đỉnh v đỉnh kề đỉnh u • Cung e cung đỉnh u cung vào đỉnh v • Đỉnh u đỉnh đầu u e cung e, đỉnh v đỉnh t v cuối cung e s x Cây khung đồ thị • Cịn gọi là: bao trùm, tối đại • Spanning tree • Cây khung đồ thị G đồ thị G, chứa tất đỉnh G, liên thơng khơng có chu trình Cây khung nhỏ • Cho G=(V,E) đồ thị vô hướng, liên thông Mỗi cạnh e∈E gắn trọng số (weight) hay chi phí (const) khơng âm gọi độ dài (length) cạnh • Giả sử T = (Vt,Et) khung đồ thị G Độ dài c(T) khung T tổng độ dài cạnh c(T) = 𝑒∈𝐸 𝑐(𝑒) • Một đồ thị mà cách cạnh gán trọng số gọi đồ thị có trọng số Cây khung nhỏ Thuật tốn tìm khung nhỏ • Thuật tốn Prim • Thuật tốn Kruskal Thuật tốn Prim • Cho G=(V,E) đồ thị liên thơng có trọng số gồm n đỉnh • Thuật toán xuất phát từ chứa đỉnh mở rộng bước một, bước thêm cạnh vào cây, bao trùm tất đỉnh đồ thị Thuật tốn Kruskal • Cho G=(V,E) đồ thị liên thơng có trọng số gồm n đỉnh • Để xây dựng tập n-1 cạnh khung nhỏ -, Kruskal đề nghị cách kết nạp cạnh vào tập theo nguyên tắc sau: Ưu tiên cạnh có trọng số nhỏ Kết nạp cạnh khơng tạo chu trình với tập cạnh kết nạp trước Thuật tốn tìm đường ngắn • Thuật tốn Dijkstra • Thuật tốn Bellman-Ford (Tự tìm hiểu) • Thuật tốn Johnson (Tự tìm hiểu) … Thuật tốn Dijkstra • Tìm đường ngắn từ đỉnh a đến đỉnh z đồ thị có trọng số Trọng số cạnh (i,j) w(i,j) > đỉnh x mang nhãn L(x) Khi kết thúc thuật giải L(z) chiều dài đường ngắn từ a đến z • Đầu vào: Đồ thị liên thơng G = (V, E) có trọng số w(i, j) > với cạnh (i, j), đỉnh a đỉnh z • Đầu ra: Chiều dài đường ngắn đường ngắn Thuật tốn Dijkstra • Phương pháp: Gán L(a) = Với đỉnh x ≠ a gán L(x) = ∞ Kí hiệu T = V Chọn v ∈T cho L(v) có giá trị nhỏ Đặt: T = T – {v} Nếu z ∄ T → Kết thúc L(z) đường ngắn từ a đến z Từ z lần ngược theo đỉnh ghi nhớ ta có đường ngắn Ngược lại sang bước 4 Với x ∈ T kề với v gán: L(x) = min{L(x), L(v) + w(v, x)} Nếu L(x) thay đổi ghi nhớ đỉnh v cạnh x để sau xây dựng đường ngắn (Quay bước 2) Thuật tốn Dijkstra • Ví dụ Thuật tốn Dijkstra • Ví dụ Thuật tốn Dijkstra • Ví dụ Thuật tốn Dijkstra • Ví dụ Thuật tốn Dijkstra • Tìm đường ngắn nhất: Bài tập • Tìm đường ngắn nhất: ... 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 Deg(v) = -> đỉnh treo Deg(v) = -> đỉnh cô lập VD: Deg(9) = ? Deg(0) = ? Bậc đỉnh Trong đồ thị có hướng G=(V,E), • Bán... từ u tới v, n số nguyên dương, đồ thị dãy: u = x0 x1 x2 … xn = v cho i{0,…,n-1}, (xi, xi+1)E VD: Các đường từ đến 5: Độ dài d1: d2: d3: 9 Độ dài Độ dài Chu trình Xét đồ thị G = Một chu... đồ thị vô hướng n đỉnh, mệnh đề tương đương sau: T T khơng chứa chu trình có n-1 cạnh T liên thơng có n-1 cạnh T liên thông cạnh Cây khung (Tiếp) • Đơn đồ thị T đồ thị vô hướng n đỉnh,