Hoán vị với các lệnh cấm


15

Đặt biểu thị tập hợp và C (n, k) biểu thị tập hợp tất cả các phần tử của các phần tử từ mà không lặp lại. Đặt là một -tuple trong . Chúng tôi nói rằng một hoán vị của tập tránh nếu không có k-tuple số nguyên sao cho { 1 , . . . , n } k [ n ] p = p 1 p 2 . . . p k k C ( n , k ) π : [ n ] [ n ] [ n ] p i 1 < i 2 < . . . < i k π ([n]{1,...,n}k[n]p=p1p2...pkkC(n,k)π:[n][n][n]pi1<i2<...<ik

π(i1)=p1,π(i2)=p2,...,π(ik)=pk.

Chẳng hạn, nếu thì hoán vị sẽ tránh được như là một chuỗi con, trong khi hoán vị thì không.12453 134 1 2 3 5 4n=51245313412354

Câu hỏi: Gọi là hằng số. Cho một tập của -tuples, hãy tìm một hoán vị mà tránh mỗi -tuple trong . S C ( n , k ) k π : [ n ] [ n ] k SkSC(n,k)kπ:[n][n]kS

  1. Có một thuật toán cho vấn đề này là đa thức trongvà ? Ở đây được đưa ra trong unary. Một thuật toán chạy trong thời gian sẽ ổn.|P|nnnf(k)|P|g(k)
  2. Hay là vấn đề này NP-hoàn thành?

Bất kỳ tài liệu tham khảo cho vấn đề này, hoặc đề xuất các thuật toán đều được chào đón. Lưu ý rằng khái niệm tránh hoán vị được xác định ở trên không giống với khái niệm mô hình tránh hoán vị trong đó chỉ có thứ tự tương đối của các yếu tố là quan trọng, và dường như được nghiên cứu kỹ trong tổ hợp.


Bạn có nghĩa là lấy một hoán vị ngẫu nhiên và xác minh xem nó không vi phạm bất kỳ ràng buộc nào trong S? Một thuật toán thời gian đa thức ngẫu nhiên sẽ tốt hơn không có gì. k được coi là một hằng số, do đó, theo định nghĩa là nhỏ. Nhưng tôi không thấy nó hoạt động hiệu quả như thế nào nếu S có nhiều ràng buộc. Vì câu trả lời của David, vấn đề là NPC cho k = 3, tôi hơi nghi ngờ rằng một thuật toán ngẫu nhiên sẽ hiệu quả. Bạn có thể vui lòng giải thích một chút ý tưởng của bạn?
Mateus de Oliveira Oliveira

Xin lỗi, tôi bỏ qua rằng bạn có một bộ các bộ dữ liệu bị cấm. Không có gì đảm bảo rằng việc lấy mẫu từ chối sẽ hiệu quả.
DW

Câu trả lời:


13

Đó là NP-hoàn thành cho bằng cách giảm từ giữa . Trong bài toán giữa, một người được cung cấp mục hoàn toàn và các ràng buộc đối với một số bộ ba mục buộc một mục của bộ ba phải nằm giữa hai mục khác. Trong vấn đề của bạn, cùng một ràng buộc có thể bị ép buộc bằng cách cấm tất cả các chuỗi con trên ba phần tử không đặt phần tử ở giữa vào giữa. Nhưng giữa chừng được biết là NP-đầy đủ: xem J. Opatrny, Tổng vấn đề đặt hàng, SIAM J. Comput. , 8 (1979), tr 111 111114.k=3n

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.