Hành vi giống như XOR trong các mạng lưu lượng


8

XOR không phải là tên chính xác, nhưng tôi đang tìm kiếm một loại hành vi độc quyền.

Tôi hiện đang giải quyết một tập hợp các vấn đề (chuyển nhượng) khác nhau bằng cách mô hình hóa các mạng lưu lượng và chạy thuật toán lưu lượng tối đa chi phí tối thiểu. Mạng lưu lượng khá tiện dụng vì rất nhiều vấn đề có thể được giảm bớt theo cách dễ hiểu và dễ hiểu. Trong trường hợp của tôi đây là những trận đấu với một số ràng buộc bổ sung. Khi các ràng buộc này ngày càng phức tạp hơn, tôi đã tự hỏi liệu có một số cấu trúc hiện có để mô hình hóa các hành vi cụ thể.

Trong trường hợp này tôi muốn hạn chế luồng đi của một nút thành một cạnh duy nhất.

Cho đồ thị , tích phân c ( u , v ) và chi phí k ( u , v ) . Một nút tùy ý được gọi là Một . Hàng xóm trực tiếp của nó được gọi là B 1 , . . B n . Chúng ta có thể thay thế các cạnh A B 1 , . . . A B n (màu đỏ) với một số cấu trúc để chỉ một cạnh có thể nhận được luồngG=(V,E)c(u,v)k(u,v)AB1,..BnAB1,...ABn? Có nghĩa là nếu được một số dòng chảy (ví dụ 5 / 10 ) không có khác (màu đỏ) cạnh có thể nhận được dòng chảy.AB15/10

Chúng ta có thể thêm các nút / cạnh trung gian và chơi với chi phí và năng lực. Tổng công suất xây dựng mới của chúng tôi phải giữ nguyên và chi phí của các phương án khác nhau phải theo tỷ lệ nào đó.

Vì vậy, câu hỏi của tôi là:

  1. Có những công trình như thế này nói chung? (Bất kỳ từ khóa, liên kết, giấy tờ)
  2. Bạn có thể đề xuất một giải pháp cho vấn đề cụ thể của tôi?

Rõ ràng, đó là một vấn đề dòng chảy tối thiểu chi phí tối thiểu , hay vấn đề dòng chảy chi phí tối thiểu , trong đó một lượng lưu lượng nhất định cần phải được gửi theo cách rẻ nhất có thể?
Paresh

Đó là một vấn đề dòng chảy tối thiểu chi phí tối thiểu. Cập nhật câu hỏi của tôi.
Patrick Schmidt

1
Tôi có thể hỏi vấn đề ban đầu mà bạn đã ánh xạ vào mạng lưu lượng với những hạn chế này là gì không? Tôi hỏi bởi vì có một giải pháp thay thế đơn giản và tôi chỉ muốn chắc chắn rằng đó không phải là thuật toán ban đầu mà bạn đang cố gắng ánh xạ tới luồng tối đa.
Paresh

1
Điều đó có nghĩa là chỉ có một đỉnh trong đó điều kiện này chỉ có 1 luồng tiếp nhận cạnh cần phải được thực thi? Hoặc là giới hạn này cho tất cả các đỉnh (trong trường hợp đó câu trả lời của tôi sẽ cung cấp cho bạn giải pháp đơn giản nhất)? Ngoài ra, tôi hoàn toàn không hiểu làm thế nào bạn mô hình hóa vấn đề của bạn vào việc xây dựng ở trên.
Paresh

1
Các vấn đề về dòng chảy hạn chế dòng chảy thành đường dẫn thường được gọi là "dòng chảy không thể thay thế". Lưu lượng không thể chi phí tối thiểu là NP-Hard nói chung. Tuy nhiên, phiên bản đó có nhu cầu về các cạnh, phiên bản của bạn thiếu.
Nicholas Mancuso

Câu trả lời:


6

Nói chung, câu trả lời là không. Nếu chúng ta đặt các hạn chế giống như XOR trên các cạnh ngoài của một đỉnh, chúng ta có thể chứng minh rằng việc tìm một luồng cực đại cắt tối thiểu là NP-Hard. Kỹ thuật là giảm 3-SAT cho nó.

nx1,x2,...,xnmc1,c2,...,cmG(V,E)xivisui,wivixi

cioiGoi1ci=(x3x4¬x5)u3,u4,w5oi

xi¬xi(vi,ui)(vi,wi)i=1,2,3,...,nmNP và mức giảm là đa thức, chúng tôi kết luận phiên bản quyết định của luồng mạng hạn chế XOR là NP-Complete.


3

Đối với câu hỏi đầu tiên của bạn, tôi không biết bất kỳ kỹ thuật hoặc quy tắc chung nào mà bạn có thể sử dụng để mô hình các hạn chế tùy ý trong các mạng lưu lượng. Hầu hết các ví dụ tôi đã thấy thường dựa trên một số trực giác về bản chất của các hạn chế, và ban đầu thường có vẻ độc đoán.

s

stst

  • s
  • Khi bạn đi xuống DFS, hãy theo dõi dung lượng tối thiểu hiện tại của tất cả các cạnh gặp phải cho đến nay.
  • Cũng theo dõi tổng chi phí hiện tại (độ dài đường dẫn) gặp phải cho đến nay.
  • t
  • t

stO(|E|)


Cảm ơn, nhưng vì tôi muốn áp dụng quy tắc cho một tập hợp các đỉnh, giải pháp sẽ không đơn giản như vậy.
Patrick Schmidt

2

Để xây dựng câu trả lời của Paresh, nếu tất cả các công suất tối đa là một (và mọi thứ khác là số nguyên), bạn cũng có thể chia mỗi nút thành hai để nút (n-) có tất cả các cạnh, nút (n +) có tất cả các cạnh các cạnh và (n-) và (n +) được kết nối với một cạnh có dung lượng tối đa 1. Giải quyết mạng chi phí tối thiểu mới này và bạn đã hoàn thành.

Nếu công suất tối đa không phải là tất cả, thì vấn đề sẽ khó hơn. Bạn có thể hình thành vấn đề dưới dạng MIP (Chương trình số nguyên hỗn hợp). Các ràng buộc số nguyên duy nhất là các ràng buộc XOR.

May mắn thay, những thứ này có thể được mô hình hóa thành Bộ theo thứ tự đặc biệt - loại SOS1 (xem http://en.wikipedia.org/wiki/ecial_ordered_set ). Hầu hết các bộ giải MIP đặc biệt đại diện cho các ràng buộc SOS1 và sẽ xử lý chúng hiệu quả hơn nhiều (đôi khi bạn cần nói với nó, đôi khi nó sẽ tìm ra nó - kiểm tra tài liệu của bộ giải của bạn).

Mặc dù MIP cuối cùng sẽ hội tụ đến câu trả lời tối ưu, nhưng đối với các mô hình thực sự lớn, bạn có thể không có thời gian để chờ đợi nó kết thúc. Bắt các MIP lớn để hội tụ thường là nghệ thuật hơn kỹ thuật.

Gợi ý tiếp theo là nhiều công việc hơn. Bạn có thể sử dụng bộ giải mạng chi phí tối thiểu làm chương trình con và bạn có sở hữu phân nhánh trên các cạnh XOR bằng kỹ thuật SOS1. Ví dụ, trên mỗi nhánh, tắt 1/2 cạnh được sử dụng ít nhất, giải quyết mạng chi phí tối thiểu (rất nhanh), lặp lại cho đến khi tất cả các ràng buộc XOR được thỏa mãn.

Bạn có thể ưu tiên trình tự phân nhánh theo tiêu chí của riêng bạn (khối lượng dòng chảy, chi phí khối lượng X, công suất dành riêng, số cạnh có thể, v.v.). Bằng cách tự mình tìm kiếm, bạn có thể tìm hiểu về các phần của giải pháp quan trọng nhất đối với bạn.

Bạn không cho biết liệu bạn luôn biết liệu vấn đề của mình có khả thi hay không. Nếu nó luôn khả thi, bạn có thể thoát khỏi một chiến lược phân nhánh là "quay lại miễn phí", nghĩa là, bạn tuân theo nó như một heuristic.

Nếu vấn đề không được đảm bảo là khả thi, một MIP có thể biến mất vĩnh viễn. Một heuristic dựa trên những điều trên có thể vẫn có giá trị để tìm ra giải pháp nhanh chóng với số lượng vi phạm tương đối thấp.


-2

Nói chung, câu trả lời là không biết, không phải là không thể!

chúng tôi kết luận phiên bản quyết định của luồng mạng hạn chế XOR là NP-Complete. do đó (có thể, chúng ta có thể làm điều đó) nếu và chỉ khi P = NP.


3
Vui lòng hoàn thành câu trả lời của bạn với các tài liệu tham khảo và biết thêm chi tiết.
vonbrand

Không cần tham khảo, câu trả lời này chỉ nêu ra rằng nếu P = NP, nó vẫn có thể. tức là vấn đề là NP-Complete, nhưng nếu P = NP chúng ta có thể giải quyết nó.
Albert Hendriks
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.