1. Trang chủ
  2. » Công Nghệ Thông Tin

chương 10 single-source shortest paths

45 224 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 313 KB

Nội dung

Single-Source Shortest Paths 20.11.2004 2 Các đường đi ngắn nhất từ một đỉnh nguồn ª Bài toán các đường đi ngắn nhất: một số thuật ngữ. Cho một đồ thò có trọng số, có hướng G = (V, E), với một hàm trọng số w : E → ℜ – Trọng số của một đường đi p = 〈v 0 , v 1 ,…, v k 〉 • w(p) = ∑ i = 1…k w(v i − 1 , v i ) – Trọng số của đường đi ngắn nhất (shortest path weight) từ u đến v min{w(p) : u v } nếu có đường đi từ u đến v ∞ các trường hợp khác – Đường đi ngắn nhất từ u đến v là bất kỳ đường đi p nào từ u đến v sao cho w(p) = δ(u, v). δ(u , v) = p 3 6 724 3 6 2 5 1 t v x y u 20.11.2004 Ch. 10: Single-Source Shortest Paths 3 Các đường đi ngắn nhất từ một đỉnh nguồn (tiếp) ª Bài toán các đường đi ngắn nhất từ một nguồn duy nhất (Single- source shortest-paths problem): – Cho đồ thò G = (V, E) và một đỉnh nguồn s ∈ V. – Tìm đường đi ngắn nhất từ s đến mọi đỉnh v ∈ V. 3 6 724 3 6 2 5 1 s 20.11.2004 Ch. 10: Single-Source Shortest Paths 4 Cạnh có trọng số âm ª Giả thiết: Trọng số của cạnh có thể âm – Chu trình có thể có trọng số âm – Nếu tồn tại một chu trình có trọng số âm đến được (reachable) từ s thì trọng số của đường đi ngắn nhất không được đònh nghóa: không đường đi nào từ s đến một đỉnh nằm trên chu trình có thể là đường đi ngắn nhất. 3 −1 −4 a b 5 11 6c d −∞ −∞ 3 e f 0 −∞ −3 −6 4 8 7 3 5 2 s g ∞ ∞ ∞ 2 −8 3 i h j số trong mỗi đỉnh là trọng số đường đi ngắn nhất từ đỉnh nguồn s. 20.11.2004 Ch. 10: Single-Source Shortest Paths 5 Cạnh có trọng số âm (tiếp) – Nếu tồn tại một chu trình có trọng số âm trên một đường đi từ s đến v, ta đònh nghóa δ(s, v) = −∞ . – Trong ví dụ sau, các đỉnh h, i, j không đến được từ s nên có trọng số đường đi ngắn nhất là ∞ (chứ không là −∞ mặc dù chúng nằm trên một chu trình có trọng số âm). 3 −1 −4 a b 5 11 6c d −∞ −∞ 3 e f 0 −∞ −3 −6 4 8 7 3 5 2 s g ∞ ∞ ∞ 2 −8 3 i h j 20.11.2004 Ch. 10: Single-Source Shortest Paths 6 Biểu diễn các đường đi ngắn nhất ª Đồ thò G = (V, E ) – Với mọi đỉnh v, đỉnh cha (predecessor) của v là một đỉnh khác hay là NIL. Duy trì π[v], con trỏ đến đỉnh cha. Dùng π để suy ra đường đi ngắn nhất từ s đến v. – Đồ thò con G π = (V π , E π ) (predecessor subgraph) • V π = {v ∈ V : π[v] ≠ NIL} ∪ {s} • E π = {(π[v], v) ∈ E : v ∈ V π − {s}} π[v] v 20.11.2004 Ch. 10: Single-Source Shortest Paths 7 Biểu diễn các đường đi ngắn nhất (tiếp) ª Cho G = (V, E) là một đồ thò có hướng, có trọng số; G không chứa chu trình trọng số âm đến được từ đỉnh nguồn s ∈ V. Cây các đường đi ngắn nhất với gốc tại s là đồ thò có hướng G’ = (V’, E’), với V’ ⊆ V và E’ ⊆ E sao cho 1. V’ là tập các đỉnh đến được (reachable) từ s trong G 2. G’ là cây có gốc với gốc là s 3. Với mọi v ∈ V’, đường đi đơn duy nhất từ s đến v là đường đi ngắn nhất từ s đến v trong G . 20.11.2004 Ch. 10: Single-Source Shortest Paths 8 Cây các đường đi ngắn nhất có gốc tại đỉnh nguồn s 3 9 115 0 3 6 724 3 6 2 5 1 u v x y s (a) 3 9 115 0 3 6 724 3 6 2 5 1 u v x y s (b) 3 9 115 0 3 6 724 3 6 2 5 1 u v x y s (c) Ví dụ: trong (b) và (c) là hai cây các đường đi ngắn nhất có gốc tại đỉnh nguồn s của đồ thò trong (a) 20.11.2004 Ch. 10: Single-Source Shortest Paths 9 Cấu trúc của đường đi ngắn nhất ª Lemma 25.1 (Đường đi con của đường đi ngắn nhất cũng là đường đi ngắn nhất) Cho – Đồ thò có trọng số, có hướng G = (V, E) với hàm trọng số w : E → ℜ – p = 〈v 1 , v 2 ,…, v k 〉 đường đi ngắn nhất từ v 1 đến v k – Với mọi i, j mà 1 ≤ i ≤ j ≤ k, gọi p ij = 〈v i , v i + 1 ,…, v j 〉 là đường đi con (subpath) của p từ v i đến v j . ⇒ p ij là một đường đi ngắn nhất từ v i đến v j . v 1 v i v j v k p ij p 1i p jk 20.11.2004 Ch. 10: Single-Source Shortest Paths 10 Cấu trúc của đường đi ngắn nhất (tiếp) Chứng minh Phản chứng. v 1 v i v j v k p’ ij p ij p 1i p jk [...]... gian ° Dòng 2: O(n lg n) thời gian ° Vòng lặp for: O(n lg n) thời gian Vậy thời gian chạy tổng cộng của giải thuật là O(n lg n) 13.11.2004 Chương 35: Hình 17 35.4 Tìm bao lồi ª Tự đọc 13.11.2004 Chương 35: Hình 18 35.4 Tìm cặp điểm gần nhau nhất ª Tự đọc 13.11.2004 Chương 35: Hình 19 ... phần p a b z Có 2 trường hợp: A) giải thuật xử lý q và B) giải thuật không xử lý q 13.11.2004 Chương 35: Hình 14 Tính đúng đắn (tiếp) A) Trường hợp 1: đoạn thẳng a hay b được chèn vào T, và đoạn thẳng kia ở trên hay dưới nó Các dòng 4-7 tìm thấy trường hợp này q q p q p p z z z p p q p q z q z z 13.11.2004 Chương 35: Hình 15 Tính đúng đắn (tiếp) Trường hợp 2: các đoạn thẳng a và b đang trong T, và một... c b d c b e d c b e d b Chương 35: Hình thời gian 11 Breaking ties ª Nếu khi sắp xếp các điểm đầu mút của các đoạn thẳng trong S từ trái sang phải mà có nhiều điểm có cùng tọa độ x thì breaking ties như sau – Các điểm đầu mút bên trái được xếp trước các điểm đầu mút bên phải a q b p p được xếp trước q khi sắp xếp các điểm đầu mút ở dòng 2 của ANY-SEGMENTS-INTERSECT 13.11.2004 Chương 35: Hình 12 Tính... trả về TRUE B) Nếu q không được giải thuật xử lý, thì có nghóa là giải thuật đã quay về trước khi xử lý xong tất cả các event points Vậy giải thuật đã tìm thấy một giao điểm và trả về TRUE 13.11.2004 Chương 35: Hình 16 Phân tích ANY-SEGMENTS-INTERSECT ª Thời gian chạy – Giả sử tập đoạn thẳng S gồm có n đoạn thẳng Dùng cấu trúc dữ liệu thích hợp (ví dụ: dựa trên cây nhò phân cân bằng) để hiện thực T... ta thấy ANY-SEGMENTS-INTERSECT trả về TRUE chỉ khi nào nó tìm thấy hai đoạn thẳng cắt nhau “⇐”: Sẽ chứng minh rằng nếu tồn tại hai đoạn thẳng cắt nhau thì ANY-SEGMENTS-INTERSECT trả về TRUE 13.11.2004 Chương 35: Hình 13 Tính đúng đắn (tiếp) Giả sử tồn tại một giao điểm Gọi p là giao điểm bên trái nhất, gọi a và b là các đoạn thẳng cắt nhau tại p Tồn tại đường quét z mà tại đó a và b trở nên liên tiếp . Ch. 10: Single-Source Shortest Paths 10 Cấu trúc của đường đi ngắn nhất (tiếp) Chứng minh Phản chứng. v 1 v i v j v k p’ ij p ij p 1i p jk 20.11.2004 Ch. 10: Single-Source Shortest Paths 11 Cấu. v). s u v p’ p’ 20.11.2004 Ch. 10: Single-Source Shortest Paths 12 Cấu trúc của đường đi ngắn nhất (tiếp) Chứng minh s u v p’ 20.11.2004 Ch. 10: Single-Source Shortest Paths 13 Cấu trúc của đường. y u 20.11.2004 Ch. 10: Single-Source Shortest Paths 3 Các đường đi ngắn nhất từ một đỉnh nguồn (tiếp) ª Bài toán các đường đi ngắn nhất từ một nguồn duy nhất (Single- source shortest- paths problem): – Cho

Ngày đăng: 19/10/2014, 00:42

TỪ KHÓA LIÊN QUAN

w