BÀI TOÁN GHÉP cặp (lý THUYẾT đồ THỊ SLIDE)

43 51 0
BÀI TOÁN GHÉP cặp (lý THUYẾT đồ THỊ SLIDE)

Đ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

BÀI TOÁN GHÉP CẶP Graph Matching Graph Matching Bài toỏn ghộp cp trờn th Giả sử G=(V,E) đồ thị vô hớng, cạnh (v,w) đợc gán với số thực c(v,w) gọi trọng số Định nghĩa Cặp ghép M đồ thị G tập cạnh đồ thị hai cạnh có đỉnh chung    Sè c¹nh M - kÝch thíc, Tổng trọng số cạnh M - trọng lợng cặp ghép Cặp ghép với kích thớc lớn đợc gọi cặp ghép cực đại Cặp ghép với trọng lợng lớn đợc gọi cặp ghép lớn Cặp ghép đợc gọi đầy đủ (hoàn hảo) đỉnh đồ thị đầu mút cạnh cặp ghép Graph Matching Hai bi toỏn Bài toán cặp ghép cực đại: Tìm cặp ghép với kích thớc lớn đồ thị G Bài toán cặp ghép lớn nhất: Tìm cặp ghép với trọng lợng lớn đồ thị G Ta hạn chế xét toán đặt ®å thÞ hai phÝa G = (X  Y, E) Graph Matching Ví dụ Cặp ghép cực đại cặp ghép Cặp ghép Graph Matching Cặp ghép không Cặp ghép hồn hảo Ví dụ 12 x1 y1 x2 y2 x3 y3 x4 y4 Cặp ghép lớn nhất: M = {(x1, y1), (x2, y3), (x3, y2), (x4, y4)} Có trọng lượng 29 Graph Matching Bài toán cặp ghép cực đại ®å thÞ hai phÝa XÐt ®å thÞ hai phÝa G = (X Y, E) Cặp ghép tập cạnh mà hai cạnh có chung đỉnh Bài toán: Tìm cặp ghép kích thớc lớn 10 Graph Matching Qui Bài toán luồng cực đại s 10 Mỗi cung (s, i) có kntq Mỗi cung (j, t) có kntq Graph Matching t Mỗi cạnh thay cung có kntq Tìm luồng cực đại s 10 t Luồng cực đại từ s->t có giá trị Cặp ghép cực đại có kích thước Graph Matching Bài toán cặp ghép cực đại đồ thị hai phía Giả sử M cặp ghép G Nếu cạnh e = (x, y) M, ta nói e cạnh cặp ghép (hay cạnh đậm) đỉnh x, y đỉnh đậm (hay không tự do) Nếu cạnh e = (x, y) M, ta nói e cạnh nhạt đỉnh x, y đỉnh nhạt (hay tù do) Graph Matching Đường tăng cặp ghép Mét đờng đồ thị G mà hai cạnh liên tiếp không đậm hay nhạt đợc gọi đờng luân phiên đậm/nhạt (hay gọi ngắn gọn đờng luân phiên) Đờng luân phiên đỉnh tự thuộc tập X kết thúc đỉnh tự thuộc tập Y đợc gọi đờng tăng cặp ghép Graph Matching 10 Thut toỏn Bớc 0: Tìm phép gán nhÃn chấp nhận đợc f Bớc 1: Xây dựng đồ thị cân Gf Bớc 2: Tìm cặp ghép cực đại M Gf Bớc 3: Nếu M cặp ghép đầy đủ cặp ghép lớn cần tìm Thuật toán kết thúc Bớc 4: Gọi S tập đỉnh tự X Thực tìm kiếm từ đỉnh S Gọi T tập đỉnh Y đợc thăm trình tìm kiếm Bổ sung đỉnh X đợc thăm trình tìm kiếm vào S Bớc 5: Tiến hành điều chỉnh nhÃn f ta bổ sung đ ợc cạnh vào Gf tìm đợc đờng tăng, bổ sung đỉnh đợc thăm vào S T tơng ứng nh đà mô tả Tăng cặp ghép M quay lại bớc Graph Matching 29 Tng hiu qu Để có đợc thuật toán với đánh giá thời gian tính tốt hơn, vấn đề đặt làm tính đợc giá trị lần sửa nhÃn pha điều chỉnh cách nhanh chóng Ta xác định độ lệch cạnh theo công thức slack(x, y) = f(x) + f(y) – c(x, y) Graph Matching 30 Tăng hiệu Khi ®ã   * slack(x, y) x�S,y�T Râ rµng viƯc tÝnh trùc tiÕp  theo công thức đòi hỏi thời gian O(n2) Bây giờ, với đỉnh T* ta ghi nhận lại cạnh víi ®é lƯch nhá nhÊt slack(yj )  minslack(xi , yj ) xi �S Graph Matching 31 Tăng hiệu Việc tính giá trị độ lệch slack(yj) đòi hỏi thời gian O(n2) đầu pha điều chỉnh Khi tiến hành pha điều chỉnh ta sửa lại tất độ lệch thời gian O(n) chúng bị thay đổi giá trị (do nhÃn đỉnh S giảm đồng loạt giá trị ) Khi đỉnh x đ ợc chuyển từ S* sang S ta cần tính lại độ lệch đỉnh T*, việc đòi hỏi thời gian O(n) Tuy nhiên kiện đỉnh đợc chuyển tõ S* sang S chØ x¶y nhiỊu nhÊt n lần Nh vậy, pha điều chỉnh cài đặt với thời gian O(n2) Do có không n pha điều chỉnh thuật toán, nên cách cài đặt cho ta thuật toán với thời gian tính O(n3) Graph Matching 32 Ví dụ Xét tốn với ma trận hiệu Graph Matching 33 Ví dụ Bắt đầu từ phép gán nhãn Đồ thị cân Gf CỈp ghép cực đại tìm đợc M = {(x1,y2), (x2,y1), (x4, y4) } Tìm kiếm theo chiều rộng ®Ønh tù x3 ta cã 34 S Graph = { Matching x2 , x3 }, T = {y1} Ví dụ TÝnh  = {f(x)+f(y)-w(x,y): x{x2, x3}, y  {y2, y3, y4} } = TiÕn hµnh sưa nh·n, ta đến phép gán nhÃn Graph Matching 35 Vớ d Theo đờng tăng cặp ghép x , y , x 4, y ta tăng cặp ghép M thành cặp ghép đầy đủ M ={(x1,y2), (x3,y1), (x2,y3), (x4,y4)}, đồng thời cặp ghép tối u với träng l ỵng w(M) = + + + = 13 Graph Matching 36 Cài đặt Pascal const maxn = 170; type var data1=array [1 maxn,1 maxn] of integer; data2=array [1 2*maxn] of integer; data3=array [1 2*maxn] of longint; c: data1; px, py, q, queue: data2; a, b, f: data3; n, n2, k, u, z: integer; Graph Matching 37 Khởi tạo procedure init; var i, j: integer; begin n2:= n+n; fillchar(f,sizeof(f),0); for i:=1 to n for j:=1 to n if f[i]0 then dec(f[i],d); for j:=n+1 to n2 if q[j]>0 then inc(f[j],d); end; Graph Matching 41 Main Procedure procedure Solve; begin init; while FreeNodeFound begin while not FoundIncPath suanhan; Tangcapghep; end; end; Graph Matching 42 Graph Matching 43 ... Matching Hai bi toỏn Bài toán cặp ghép cực đại: Tìm cặp ghép với kích thớc lớn đồ thị G Bài toán cặp ghép lớn nhất: Tìm cặp ghép với trọng lợng lớn đồ thị G Ta hạn chế xét toán đặt đồ thị hai phía G... trọng lợng cặp ghép Cặp ghép với kích thớc lớn đợc gọi cặp ghép cực đại Cặp ghép với trọng lợng lớn đợc gọi cặp ghép lớn Cặp ghép đợc gọi đầy đủ (hoàn hảo) đỉnh đồ thị đầu mút cạnh cặp ghép Graph... Matching Bài toán cặp ghép cực đại đồ thị hai phía Xét đồ thị hai phía G = (X Y, E) Cặp ghép tập cạnh mà hai cạnh có chung đỉnh Bài toán: Tìm cặp ghép kích thớc lớn 10 Graph Matching Qui Bài toán

Ngày đăng: 30/03/2021, 16:27

Từ khóa liên quan

Mục lục

  • PowerPoint Presentation

  • Bi toỏn ghộp cp trờn th

  • Hai bi toỏn

  • Vớ d

  • Slide 5

  • Bài toán cặp ghép cực đại trên đồ thị hai phía

  • Qui về Bài toán luồng cực đại

  • Tỡm lung cc i

  • Slide 9

  • ng tng cp ghộp

  • nh lý Berge

  • Slide 12

  • Thuật toán tìm cặp ghép cực đại

  • Tỡm ng tng

  • Thut toỏn

  • Ci t

  • Slide 17

  • Th tc MaxMatching

  • Bài toán phân công

  • Qui v bi toỏn cp ghộp ln nht

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

Tài liệu liên quan