Cắt tối thiểu st trong đồ thị chu kỳ có hướng có trọng số với trọng số có thể âm


9

Tôi gặp vấn đề sau:

Cho một đồ thị chu kỳ có hướng với trọng số cạnh có giá trị thực, và hai đỉnh s và t, tính toán đường cắt tối thiểu.

Đối với các biểu đồ chung, đây là NP-hard, vì người ta có thể giảm tối đa mức cắt tối đa cho nó bằng cách đơn giản đảo ngược các trọng số cạnh (sửa tôi nếu tôi sai).

Tình hình với DAG là gì? Cắt tối thiểu (hoặc cắt tối đa) có thể được giải quyết trong thời gian đa thức? Có phải NP-hard và, nếu vậy, có bất kỳ thuật toán xấp xỉ đã biết nào không?

Tôi đã cố gắng tìm công việc này nhưng không thể (có thể tôi chỉ sử dụng từ khóa sai trong các tìm kiếm của mình), vì vậy tôi hy vọng ai đó có thể biết (hoặc tìm thấy) điều gì đó về điều này.


2
Trường hợp nào công thức lập trình tuyến tính của min-cut thất bại ở đây?
Peter Shor

(sử dụng ký hiệu từ en.wikipedia.org/wiki/, ): Đối với các cạnh có trọng số âm d_ {ij} có thể lớn tùy ý. Ngay cả khi một giới hạn d_ {ij} từ phía trên, nó sẽ luôn lấy giá trị tối đa có thể cho các cạnh có trọng số âm. Vì vậy, giải pháp cho một chương trình như vậy sẽ không luôn luôn mang lại một cắt giảm hợp lệ. Tôi có thể sai vì tôi không có nhiều kinh nghiệm với những vấn đề như vậy, nếu vậy hãy sửa cho tôi. Về cơ bản tôi muốn biết liệu cắt tối đa (với trọng số tùy ý) có thể được giải quyết hiệu quả cho DAG hay không.
George

1
Để thực hiện công việc này, bạn phải thay đổi bất đẳng thức đầu tiên thành một đẳng thức: . Tôi vẫn không thấy lý do tại sao nó thất bại, nhưng có lẽ tôi đang thiếu một cái gì đó. Tôi đã không nghĩ về nó nhiều. dTôij= =pj-pTôi
Peter Shor

Có lẽ tôi là người đang thiếu thứ gì đó ở đây. Điều này có đảm bảo rằng tất cả lấy giá trị tích phân không? Người ta có thể ràng buộc p i từ trên xuống với 1, nhưng tôi không chắc liệu điều này có hiệu quả hay không. Vấn đề dường như là nếu điều này có thể được giải quyết, người ta có thể giảm mức cắt tối đa bằng cách đảo ngược các trọng số cạnh, điều không thể xảy ra vì việc cắt tối đa là NP-hard. Tuy nhiên tôi có thể sai ở đây. pTôipTôi
George

1
Là NP-hard-cut NP-hard cho DAGs? Nếu biểu đồ không phải là DAG, bạn không thể thay đổi bất đẳng thức đó thành một đẳng thức, bởi vì bạn cần bất đẳng thức nếu có chu kỳ. Vì vậy, trong trường hợp chung, LP không hoạt động với trọng số âm.
Peter Shor

Câu trả lời:


10

Bạn đã tinh chỉnh vấn đề của bạn một số thêm trong các ý kiến. Để cụ thể hơn, bạn có một DAG với tất cả các cạnh chảy ra từ nguồn và về phía bồn rửa t (nghĩa là tất cả các cạnh đều nằm trên một đường dẫn từ s đến t ). Bạn muốn tìm vết cắt tối thiểu giữa hai phần của DAG, trong đó phần đầu tiên được kết nối với s và phần thứ hai được kết nối với t . Đối với vấn đề này, một biến thể của thuật toán lập trình tuyến tính tiêu chuẩn cho MIN-CUT hoạt động, ngay cả với các trọng số cạnh âm.StStSt

Chúng tôi sử dụng ký hiệu tương tự như trong Wikipedia . Chi phí của cạnh c i j . Chúng tôi đặt một hàm tiềm năng p i trên mỗi nút và cho d i j = p i - p j . LP là m i n i m i z e(Tôi,j)cTôijpTôidTôij= =pTôi-pj

mTôinTôimTôize Σ(Tôi,j)EcTôijdTôijSbạnbject to    dTôij= =pTôi-pj  (Tôi,j)E   dTôij0           (Tôi,j)E   pS= =1   pt= =0

Các phương trình này đảm bảo rằng , vì mọi đỉnh đều nằm trên một số đường s - t . Tương tự, vì d i j = p i - p j không âm, nên tiềm năng trên mọi đường dẫn từ s đến t đều giảm. Chúng ta vẫn cần chỉ ra rằng có một giải pháp tối ưu cho LP với tất cả p i0 hoặc 1 . Điều này xuất phát từ thực tế là giá trị cho một giải pháp của LP ở trên là giá trị mong đợi của phần cắt C w , trong đó0pTôi1StdTôij= =pTôi-pjStpTôi01Cw được chọn ngẫu nhiên trong [ 0 , 1 ] và trong đó cắtw[0,1] thu được bằng cách đặt tất cả các đỉnh i với p iw trong tập đỉnh đầu tiên và tất cả các đỉnh có p i < w trong tập thứ hai.CwTôipTôiwpTôi<w


Cảm ơn câu trả lời tuyệt vời của bạn Peter. Không rõ ràng ngay từ cái nhìn đầu tiên rằng 0pTôitôieq1

@George: đó là lập luận tương tự cho thấy LP Min-Cut thông thường có các giải pháp tích hợp. Cần có một lời giải thích dài hơn (và dễ hiểu hơn) ở đâu đó trực tuyến.
Peter Shor

Ok tôi sẽ tìm kiếm nó. Cảm ơn một lần nữa rất nhiều vì sự giúp đỡ của bạn!
George
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.