Tăng khả năng tối đa hóa việc cắt giảm tối thiểu


9

Hãy xem xét một biểu đồ với tất cả các cạnh có dung lượng đơn vị. Người ta có thể tìm thấy cắt tối thiểu trong thời gian đa thức.

Giả sử tôi được phép tăng dung lượng của bất kỳ cạnh k nào lên vô cùng (tương đương với việc hợp nhất các nút ở hai bên của cạnh). Cách tối ưu để chọn một tập hợp các cạnh k tối ưu (công suất của chúng sẽ được tăng lên vô cùng) để tối đa hóa mức cắt tối thiểu là gì?kk


Tôi không chắc là tôi hiểu câu hỏi của bạn: bởi "Cách tối ưu để chọn k cạnh như vậy để tối đa hóa đường cắt tối thiểu là gì?", Ý bạn là cắt tối thiểu 1) một đồ thị có công suất đơn nhất hoặc 2) đồ thị có công suất chung ?
Jeremy

Câu trả lời:


3

Định lý. Vấn đề trong bài là NP-hard.

Theo "vấn đề trong bài", ý tôi là, đưa ra một biểu đồ G = ( V , E ) và số nguyên k , để chọn các cạnh k để nâng cao năng lực để tối đa hóa mức cắt tối thiểu trong biểu đồ đã sửa đổi.G=(V,E)kk

Ý tưởng là giảm từ Max Cut. Một cách thô sơ, một đồ thị đã cho G = ( V , E ) có kích thước cắt tối đa s khi và chỉ khi bạn có thể tăng công suất của n - 2 cạnh để đồ thị kết quả có kích thước cắt tối thiểu s . Ý tưởng là n - 2 cạnh là vừa đủ để buộc đồ thị kết quả chỉ có một lần cắt công suất hữu hạn và đó có thể là bất kỳ vết cắt nào bạn chọn.G=(V,E)sn2sn2

Ý tưởng này không hoàn toàn hiệu quả vì để có được một vết cắt nhất định ( C , V C ) , bạn cần các sơ đồ con do CV C tạo ra để được kết nối. Nhưng bạn có thể làm việc xung quanh điều này với một tiện ích thích hợp.(C,VC)CVC

Bằng chứng. Cho một đồ thị được kết nối G = ( V , E ) , xác định một vết cắt được kết nối là một vết cắt ( C , V C ) sao cho các đồ thị con được tạo bởi C và bởi V C được kết nối với nhau. Xác định Max Connected Cut là vấn đề tìm kiếm vết cắt được kết nối (trong biểu đồ được kết nối đã cho) tối đa hóa số cạnh vượt qua vết cắt.G = ( V, E)( C, VC)CVC

Chúng tôi cho thấy Max Connected Cut làm giảm vấn đề trong bài viết. Sau đó, chúng tôi cho thấy Max Cut không trọng số giảm xuống Max Connected Cut.

Bổ đề 1. Max Connected Cut giảm thời gian poly cho vấn đề được xác định trong bài.

Bằng chứng. Cho một thể hiện Max-Connected-Cut G = ( V , E ) , hãy k = | V | - 2 . Để chứng minh bổ đề, chúng tôi chứng minh như sau:G = ( V, E)k = | V| -2

Yêu cầu 1: Với mọi s > 0 , có một vết cắt được kết nối ( C , V C ) trong G có công suất ít nhất là s , IFF có thể nâng công suất cạnh k trong G lên vô cùng để đồ thị kết quả có mức cắt tối thiểu công suất ít nhất s .s > 0( C, VC)GSkGS

CHỈ NẾU: Giả sử có một vết cắt được kết nối ( C , V C ) công suất ít nhất là s . Đặt T 1T 2 lần lượt là các cây con, CV C , sau đó nâng cao khả năng của các cạnh trong T( C, VC)ST1T2CVC 1 T 2 . (Lưu ý rằng | T 1 | + | T 2 | = | C | - 1 + | V CT1T2| - 1 = | V | - 2 = k .) Việc cắt công suất hữu hạn duy nhất còn lại trong biểu đồ là ( C , V C ) , có công suất ít nhất là s , do đó biểu đồ kết quả có công suất cắt tối thiểu ít nhất là s .| T1| + | T2| = | C| -1+ | VC| -1= | V| -2=k( C, VC)SS

NẾU: Giả sử có thể tăng công suất cạnh k trong G để đồ thị kết quả có công suất cắt tối thiểu ít nhất là s . Hãy xem xét sơ đồ con được hình thành bởi các cạnh k nâng lên. Không mất tính tổng quát, giả sử sơ đồ con này là chu kỳ. (Nếu không, "unraise" một cạnh từ một chu kỳ của các cạnh lớn lên và thay vào đó nâng cao một số cạnh unraised rằng tham gia hai thành phần kết nối từ các đồ thị con này chỉ làm tăng việc cắt giảm tối thiểu trong đồ thị kết quả..) Bằng cách lựa chọn k = n - 2 , sơ đồ con của các cạnh được nâng lên có hai thành phần được kết nối, giả sử CV CkGSkk=n2CVC, do đó, mức cắt công suất hữu hạn duy nhất trong biểu đồ kết quả là ( C , V C ) . Và vết cắt này có dung lượng ít nhất là s , như đã làm trong biểu đồ gốc.(C,VC)s

Điều này chứng minh cho yêu sách (và bổ đề). (QED)

Để hoàn thiện, chúng tôi cho thấy Max Connected Cut là NP-perfect, bằng cách giảm từ Max Cut không có trọng số.

Bổ đề 2. Cắt tối đa không trọng số giảm thời gian poly thành Cắt kết nối tối đa .

Bằng chứng. Với bất kỳ số nguyên N 1 nào , hãy xác định đồ thị P ( N ) bao gồm hai đường dẫn AB , mỗi chiều dài N , với các cạnh từ mỗi đỉnh trong A đến mỗi đỉnh trong BN1P(N)ABNAB . Chúng tôi để nó như một bài tập cho người đọc để xác minh rằng phần cắt tối đa trong P ( N ) ( A ở một bên, B ở bên kia) có kích thước N 2 và không có phần cắt nào khác có kích thước lớn hơn, giả sử, N 2 - N / 100 .P(N)ABN2N2N/100

Đây là giảm. Đưa ra bất kỳ không trọng số Max Cut dụ G = ( V , E ) , xây dựng một đồ thị G ' = ( V ' , E ' ) như sau. Đặt n = | V | . Đặt N = 100 ( n 2 + 2 n ) . Thêm vào G đồ thị P ( N ) được xác định ở trên (với hai đường dẫn AB ). Từ mỗi đỉnhG=(V,E)G=(V,E)n=|V|N=100(n2+2n)GP(N)ABv V thêm một cạnh để một đỉnh trong Một và cạnh khác để một đỉnh trong B . Điều này xác định giảm. Để kết thúc, chúng tôi chứng minh nó là chính xác:vVAB

Điểm 2: Đối với bất kỳ s 0 , có một vết cắt ( C , V C ) trong G công suất ít nhất s , IFF có một vết cắt kết nối trong G ' của kích thước ít nhất s + N 2 + n .s0(C,VC)GsGs+N2+n

CHỈ NẾU: Với bất kỳ cắt ( C , V C ) trong G công suất ít nhất s , hãy xem xét việc cắt giảm kết nối ( A C , B V C ) trong G ' . Đường cắt được kết nối này trong G cắt ít nhất các cạnh từ C đến V C , cộng với N 2 cạnh từ A đến B , cộng với n của 2(C,VC)Gs(AC,BVC)GGsCVCN2ABnn cạnh từ V đến A B .2nVAB

NẾU: Giả sử có một vết cắt kết nối trong G ' của kích thước ít nhất s + N 2 + n . AB nằm ở hai phía đối diện của vết cắt. (Mặt khác, do vết cắt lớn thứ hai trong P ( N ) cắt tối đa N 2 - N / 100 cạnh trong P ( N ) , nên tổng số cạnh bị cắt nhiều nhất là N 2 - N / 100 + | E | + 2 | VGs+N2+nABP(N)N2N/100P(N)| N 2 - N / 100 + n 2 + 2 n = N 2 .) Hãy C biểu thị các đỉnh trong V ở mặt bên của việc cắt giảm với Một . Sau đó, có N 2 mép trong việc cắt giảm từ A đến B , và n từ V đến A B , vì vậy phải có ít nhất từ C đến V C .N2N/100+|E|+2|V|N2N/100+n2+2n=N2CVAN2ABnVABsCVC

Điều này chứng minh cho yêu sách và Bổ đề 2. (QED)

Theo Lemmas 1 và 2, vì Max Cut không có trọng số là NP-hard, vấn đề trong bài cũng là NP-hard.


Điều này cũng cho thấy vấn đề "tăng k cạnh để tối đa hóa st st" cho st đã cho là hoàn thành NP (chọn st để là các đỉnh trong AB tương ứng). ststAB
daniello
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.