Vấn đề kết nối lật tối thiểu


25

Tôi đã hình thành vấn đề sau đây trong khi chơi với GPS của mình. Đây là:

Đặt là đồ thị có hướng sao cho nếu thì , nghĩa là, là một hướng của đồ thị vô hướng nằm bên dưới. Hãy xem xét các hoạt động sau:e = ( u , v ) E ( v , u ) E GG(V,E)e=(u,v)E(v,u)EG

  • ( u , v ) ( v , u )Flip(u,v) : Thay thế một cạnh bằng một cạnh(u,v)(v,u)
  • ( u , v )undirect(u,v) : Tạo cạnh không bị chặn(u,v)

Đặt là hai đỉnh đặc biệt. Xem xét các vấn đề tối ưu hóa sau:s,tV

  • Kết nối tối thiểu lật: Cho và hai đỉnh tìm số cạnh tối thiểu cần được lật để tạo đường dẫn từ đến .s , t s tGs,tst
  • Kết nối mạnh Min-Flip: Cho tìm số cạnh tối thiểu cần được lật để làm cho được kết nối mạnh. Nếu không thể làm cho được kết nối mạnh bằng cách lật các cạnh thì xuất ra NO.G GGGG
  • Kết nối mạnh mẽ không gián tiếp: Cho tìm số cạnh tối thiểu cần được vô hướng để làm cho được kết nối mạnh.GGG

Lưu ý rằng bạn không được phép thêm các cạnh "mới". Bạn chỉ sửa đổi các cạnh hiện có bằng các thao tác trên. Là vấn đề này được biết đến trong các tài liệu. Nếu vậy kết quả được biết đến là gì?


Bạn muốn nói số lượng tối thiểu của các cạnh cần phải được lật phải không?
Gaurav Kanade

@Gaurav: Vâng. Tôi sửa nó rồi.
Shiva Kintali

Đối với vấn đề thứ ba, bạn có nghĩa là một cạnh không được định hướng có thể được theo dõi theo cả hai hướng?
Yoshio Okamoto

@Yoshio: Vâng. Các cạnh vô hướng có thể được sử dụng theo cả hai hướng để xác định đường dẫn.
Shiva Kintali

Câu trả lời:


19

Tóm tắt: Các vấn đề có thể được giải quyết trong thời gian đa thức bằng cách tìm một định hướng kết nối mạnh mẽ với chi phí tối thiểu.

Chi tiết hơn: Một định lý của Robbins nói rằng các cạnh của đồ thị không có hướng có thể được định hướng sao cho đồ thị có hướng được kết nối mạnh mẽ khi và chỉ khi đồ thị không có hướng được kết nối 2 cạnh. Có một số phần mở rộng và một trong số chúng cho biết sử dụng thuật toán dòng chảy dưới thời gian đa thức, chúng ta có thể giải quyết vấn đề sau trong thời gian đa thức: Đưa ra một biểu đồ vô hướng với chi phí cạnh (cho cả hai hướng), tìm hướng chi phí tối thiểu tạo ra đồ thị kết nối mạnh mẽ. Ví dụ, xem bài viết của Frank . Một thuật toán gần đây hơn được cung cấp bởi Iwata và Kobayashi .

Kết quả này sẽ hữu ích cho việc giải quyết các vấn đề đặt ra. Vấn đề đầu tiên có thể được giải quyết bằng phương pháp Tomek đề xuất . Vì vậy, chúng tôi sẽ tập trung vào các vấn đề khác.

Đối với vấn đề thứ hai, chúng tôi sử dụng cùng một cấu trúc của đồ thị có trọng số cạnh như Tomek và tìm một hướng kết nối mạnh mẽ với chi phí tối thiểu trong thời gian đa thức.

Đối với vấn đề thứ ba, để cho phép cả hai hướng cho mỗi cạnh, chúng tôi nhân đôi từng cạnh và sau đó áp dụng cùng một cấu trúc và cùng một thuật toán. Đây là mức giảm hợp lệ vì sử dụng cùng một hướng cho các cạnh trùng lặp không ảnh hưởng đến kết nối mạnh.


20

Đây là câu trả lời cho vấn đề đầu tiên:
Hãy xem xét một đồ thị có trọng số mới , trong đó (trọng số của tất cả các cạnh trong là 0 và trọng số của các cạnh 'đảo ngược' là 1). Bây giờ bạn chỉ cần tìm con đường ngắn nhất từ đến .E ' = { ( u , v , 0 ) | ( U , v ) E } { ( v , u , 1 ) | ( u , v ) E } G s tG=(V,E)E={(u,v,0)|(u,v)E}{(v,u,1)|(u,v)E}Gst


3

Kết nối tối thiểu là hoàn thành NL nếu bạn diễn đạt vấn đề quyết định là "Có đường dẫn nào yêu cầu lật ở hầu hết các cạnh không?". Đó là NL-hard vì nó chứa kết nối st như một trường hợp đặc biệt cho và nó ở NL vì bạn có thể đoán một đường dẫn từ đến sử dụng một số cạnh bị lật và đi qua một cạnh tại một thời điểm, giữ một bộ đếm đảm bảo rằng không quá cạnh được di chuyển ngược.k = 0 s t kkk=0stk


2

Trong cuốn sách gần đây của tôi, Kết nối trong Tối ưu hóa kết hợp (Oxford University Press, 2011) một chủ đề chính là các vấn đề định hướng đồ thị, bao gồm các biến thể được thảo luận ở trên. Được biết, đồ thị được kết nối cạnh 2k có hướng kết nối cạnh k (đây là một định lý của Nash-Williams). Nếu đồ thị không được kết nối cạnh 2k, người ta có thể quan tâm đến việc quyết định xem một tập hợp con F cho các cạnh có tốt không (theo nghĩa là F có hướng để đồ thị hỗn hợp được kết nối là k-edge). Trong cuốn sách tôi đã mô tả làm thế nào vấn đề này có thể được giải quyết trong thời gian đa thức. Nhưng tôi không biết làm thế nào để tìm một tập hợp tốt tối thiểu.

Andras Frank


0

Cơ sở kết nối tối thiểu lật: tính toán tất cả các đỉnh có thể tiếp cận từ s (T). nếu t ở T dừng lại. Quy nạp: xem xét tất cả các đỉnh không nằm trong T liền kề với T với một lần lật và gọi đây là U. Tính các đỉnh có thể tiếp cận từ U gọi đây là V. Nếu t là V dừng, nếu không hãy thêm V vào T và tiếp tục.

Kết nối mạnh mẽ Min-Flip Bạn phải có nghĩa là không gián tiếp vì bạn sẽ gặp vấn đề với: A -> B

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.