Sự phức tạp của sắp xếp tôpô với các vị trí bị hạn chế


15

Tôi cho là đầu vào một DAG của n đỉnh trong đó mỗi đỉnh x được dán nhãn bổ sung với một số S ( x ) { 1 , ... , n } .GnxS(x){1,,n}

Một loại cấu trúc liên kết của là một mệnh đề f từ các đỉnh của G đến { 1 , Hoài , n } sao cho với mọi x , y , nếu có một đường dẫn từ x đến y trong G thì f ( x ) f ( y ) . Tôi muốn để quyết định xem có tồn tại một loại topo của G sao cho với mọi x , f ( x ) S ( xGfG{1,,n}xyxyGf(x)f(y)Gx .f(x)S(x)

Sự phức tạp của vấn đề quyết định này là gì?

[Ghi chú: Rõ ràng đây là trong NP. Nếu bạn nhìn vào biểu đồ của các cặp đỉnh / vị trí được phép, với các cạnh không được xác định giữa các cặp xung đột vì chúng vi phạm trật tự, bạn sẽ nhận được một biểu đồ phân biệt các cụm trong đó bạn muốn chọn nhiều nhất một cặp trên mỗi cụm, nhiều nhất là một cặp trên mỗi cụm vị trí và nhiều nhất là một cặp trên mỗi đỉnh - có vẻ như liên quan đến khớp 3 chiều nhưng tôi không thể biết liệu nó có còn khó với cấu trúc bổ sung của vấn đề cụ thể này không.]

Câu trả lời:


9

Tôi nghĩ vấn đề này là NP-hard. Tôi cố gắng phác thảo một giảm từ MinSAT. Trong bài toán MinSAT, chúng tôi được cung cấp một CNF và mục tiêu của chúng tôi là giảm thiểu số lượng các mệnh đề thỏa mãn. Vấn đề này là NP-hard, xem ví dụ: http://epub.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec

Chia các đỉnh thành hai nhóm - một số sẽ đại diện cho nghĩa đen, các mệnh đề khác, vì vậy trong đó v là số biến của CNF (thông thường được ký hiệu là n ) và c là số mệnh đề. Hướng một cạnh từ mỗi đỉnh chữ đến đỉnh mệnh đề nơi nó xảy ra. Xác định S cho một đỉnh bằng chữ đại diện cho x i{ i , i + v + k } (trong đó k là một tham số tùy ý), do đó f ( x i )n=2v+cvncSxi{i,i+v+k}k f ( ˉ x i ) = i + v + k hoặc f ( ˉ x i ) = i f ( x i ) = i + v + k . Đối với mỗi khoản-vertix, chúng ta hãy S = { v + 1 , ... , v + k , 2 v + k + 1 , ...f(xi)=if(x¯i)=i+v+kf(x¯i)=if(xi)=i+v+k , vì vậy k của các mệnh đề-đỉnh là `` small ''.S={v+1,,v+k,2v+k+1,,n}k

Bây giờ CNF có một bài tập trong đó ít nhất mệnh đề là sai khi và chỉ khi vấn đề của bạn có thể được giải quyết trong trường hợp trên. Vấn đề MinSAT là chính xác để kiểm tra xem một công thức CNF φ có một bài tập mà làm cho ít nhất k khoản sai, vì vậy chương trình này mà vấn đề của bạn là NP-hard.kφk

Để giúp bạn hiểu giảm này, đây là trực giác: nhãn nhỏ ( ) tương ứng với các sai giá trị thật và nhãn lớn ( v + k + 1 , ... , 2 v + k ) tương ứng với Thật. Các ràng buộc cho các đỉnh chữ nghĩa đảm bảo rằng mỗi x i là Đúng hoặc Sai và ¯ x i1,2,,v+kv+k+1,,2v+kxixi¯có giá trị thật ngược lại. Các cạnh đảm bảo rằng nếu bất kỳ nghĩa đen nào là True, thì tất cả các đỉnh mệnh đề chứa nó cũng được gán True. (Ngược lại, nếu tất cả các chữ trong mệnh đề được gán Sai, thì cấu trúc biểu đồ này cho phép đỉnh mệnh đề được gán là Sai hoặc Đúng.) Cuối cùng, lựa chọn đảm bảo rằng k của các đỉnh mệnh đề được gán Sai và c - k trong số chúng được gán True. Vì vậy, nếu có một loại topo hợp lệ của biểu đồ này, sau đó là một bài tập để các biến mà làm cho ít nhất k của khoản của φkkckkφfalse (tất cả các đỉnh mệnh đề được gán Sai, cộng với có thể một số đỉnh được gán True). Ngược lại, nếu có một phép gán cho các biến tạo ra ít nhất các mệnh đề φ sai, thì có một loại cấu trúc liên kết hợp lệ của biểu đồ này (chúng tôi điền vào các nhãn cho các đỉnh chữ theo cách rõ ràng; và cho mỗi khoản của φ đó là sự thật, chúng tôi cung cấp tương ứng quy định tại khoản-đỉnh của nó một nhãn tương ứng với true; mệnh đề-đỉnh khác có thể nhận nhãn tương ứng với một giá trị thật tùy ý).kφφ


Cảm ơn câu trả lời của bạn! Tôi đang cố gắng để hiểu bản phác thảo của bạn. Bạn có phiền giải thích là gì không? k
a3nm

1
@ a3nm: k là tham số được đưa ra cho đầu vào MinSAT.
domotorp

1
@Marzio: SAT không tương đương với MinSAT với , như trong bài toán sau, chúng ta sẽ yêu cầu tất cả các mệnh đề là sai. Bạn φ không có chuyển nhượng sai tất cả các điều khoản. Tất nhiên, điều này không chứng minh sự giảm bớt của tôi là chính xác ...k=|c|ϕ
domotorp

Đây là một giảm tuyệt đẹp! @ a3nm, tôi đã đề xuất một chỉnh sửa cho câu trả lời để giải thích sự giảm bớt thanh lịch của domotorp chi tiết hơn; nếu nó được chấp thuận, hy vọng nó sẽ giúp bạn hiểu các ý tưởng rõ ràng hơn.
DW

@domotorp: bạn nói đúng, tôi hoàn toàn bỏ lỡ MinSAT là gì. Giảm đẹp !!!
Marzio De Biasi

2

Lưu ý rằng nếu bạn thư giãn vấn đề bằng cách cho phép là tùy ý (không nhất thiết phải là tính từ), thì nó sẽ trở thành đa thức. Thuật toán tiến hành tương tự như sắp xếp theo cấu trúc liên kết: bạn đánh số các đỉnh từng cái một, duy trì tập hợp U của các đỉnh không bị đánh số mà các hàng xóm đã được đánh số. Bất cứ khi nào có thể, bạn chọn một đỉnh x U và đánh số nó với phần tử nhỏ nhất của S ( x ) lớn hơn số của các lân cận của nó. Không khó để thấy rằng một cá thể ( G , S ) có một giải pháp nếu thuật toán trước đó chạy trên ( G ,fUxUS(x)(G,S) kết thúc với tất cả các đỉnh được đánh số.(G,S)


Điểm công bằng, sự thư giãn này có nghĩa là một heuristic tham lam hoạt động, và đó là ngay cả trong trường hợp không phải là số đỉnh mà là một giá trị tùy ý. Chúng ta có đồng ý rằng trong trường hợp sau, khi tính tiêm truyền và tính tương đương không còn tương đương nữa, bạn sẽ cần thư giãn cả (và không chỉ một) để heuristic tham lam hoạt động? n
a3nm

2

Một quan sát tầm thường là nếu cho tất cả x , thì vấn đề này có thể giải quyết được trong thời gian đa thức, bằng cách giảm xuống 2SAT.|S(x)|2x

Đây là cách. Giới thiệu một biến cho mỗi đỉnh x và mỗi i sao cho i S ( x ) . Đối với mỗi cặp x , y của đỉnh, nếu có một đường đi từ x đến y , chúng tôi nhận được một số hạn chế: nếu i S ( x ) , j S ( y ) , và i > j , sau đó chúng tôi nhận được hạn chế ¬ v x , tôivx,ixiiS(x)x,yxyiS(x)jS(y)i>j . Bijectivity mang đến cho chúng ta một tập các ràng buộc: đối với mỗi cặp x , y của đỉnh với x y , nếu i S ( x ) i S ( y ) , chúng tôi thêm ¬ v x , i¬ v y , i . Cuối cùng, yêu cầu mỗi đỉnh phải được gán một nhãn cung cấp cho chúng ta một tập các ràng buộc khác: cho mỗi x , nếu S (¬vx,i¬vy,jx,yxyiS(x)iS(y)¬vx,i¬vy,ixS(x)={i,j}vx,ivx,j|S(x)|2x .)

Tôi nhận ra quan sát này sẽ không giúp bạn trong tình huống cụ thể của bạn. Xin lỗi vì điều đó.

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.