(Rất cám ơn Gilad Barkan (ב ž) vì đã khiến tôi biết về cuộc thảo luận này.)
Hãy để tôi chia sẻ suy nghĩ của tôi về vấn đề này từ quan điểm lý thuyết thuần túy (lưu ý rằng tôi cũng sử dụng "yếu tố" thay vì "từ khóa").
Tôi nghĩ rằng một định nghĩa đủ chính thức về vấn đề (hoặc vấn đề) được xem xét ở đây là như sau:
Cho một từ w, tìm các từ u_1, u_2, ..., u_k sao cho
- u_i! = u_j với mọi i, j với 1 <= i <j <= k và
- u_1 u_2 ... u_k = w
Biến thể tối đa hóa (chúng tôi muốn nhiều u_i): tối đa hóa k
Biến thể tối thiểu hóa (chúng tôi muốn u_i ngắn): tối thiểu hóa tối đa {| u_i | : 1 <= i <= k}
Những vấn đề này trở thành vấn đề quyết định bằng cách đưa ra B ràng buộc, tùy theo việc chúng ta đang nói về "nhiều yếu tố" -variant hay "các yếu tố ngắn" -variant, là giới hạn thấp hơn của k (chúng ta muốn ít nhất là B các yếu tố) hoặc giới hạn trên của max {| u_i | : 1 <= i <= k} (chúng tôi muốn các yếu tố có độ dài tối đa B), tương ứng. Để nói về độ cứng NP, chúng ta cần nói về các vấn đề quyết định.
Chúng ta hãy sử dụng thuật ngữ SF cho "các yếu tố ngắn" -variant và MF cho "nhiều yếu tố" -variant. Đặc biệt, và đây là một điểm rất quan trọng, các vấn đề được xác định theo cách chúng ta có được một từ trên một số bảng chữ cái không bị hạn chế theo bất kỳ cách nào. Phiên bản vấn đề là chúng tôi biết một tiên nghiệm mà chúng tôi chỉ nhận được các từ đầu vào, giả sử, bảng chữ cái {a, b, c, d} là một vấn đề khác! Độ cứng NP không tự động chuyển từ biến thể "không giới hạn" sang biến thể "bảng chữ cái cố định" (cái sau có thể đơn giản hơn).
Cả SF và MF đều là các bài toán NP-đầy đủ. Điều này đã được thể hiện trong [1, 1b] và [2], tương ứng (như Gilad đã chỉ ra). Nếu tôi hiểu định nghĩa vấn đề không chính thức (có thể quá) ở đây khi bắt đầu cuộc thảo luận này một cách chính xác, thì vấn đề của cuộc thảo luận này chính xác là vấn đề MF. Ban đầu người ta không đề cập rằng các từ bị hạn chế xuất phát từ một số bảng chữ cái cố định, sau đó người ta nói rằng chúng ta có thể giả sử rằng chỉ các chữ cái viết thường được sử dụng. Nếu điều này có nghĩa là chúng ta chỉ xem xét các từ trên bảng chữ cái cố định {a, b, c, ..., z}, thì điều này thực sự sẽ thay đổi rất nhiều về độ cứng NP.
Nhìn kỹ hơn cho thấy một số khác biệt về độ phức tạp của SF và MF:
- giấy [1, 1b] cho thấy SF vẫn hoàn thành NP nếu chúng ta sửa bảng chữ cái thành nhị phân (chính xác hơn: lấy một từ w qua các chữ cái a và b và B bị ràng buộc, chúng ta có thể tính nó theo các yếu tố độ dài khác nhau tại nhất B?).
- giấy [1, 1b] cho thấy SF vẫn hoàn thành NP nếu chúng ta sửa B = 2 bị ràng buộc (chính xác hơn: nhận được một từ w, chúng ta có thể tính nó theo các yếu tố khác nhau về độ dài nhiều nhất là 2 không?).
- giấy [3] cho thấy rằng nếu cả bảng chữ cái và B bị ràng buộc đều cố định, thì SF có thể được giải trong thời gian đa thức.
- giấy [2] cho thấy rằng MF là NP hoàn chỉnh, nhưng chỉ khi bảng chữ cái không bị hạn chế hoặc cố định một tiên nghiệm! Cụ thể, nó không trả lời câu hỏi nếu vấn đề là NP-đầy đủ nếu chúng ta chỉ xem xét các từ đầu vào trên một số bảng chữ cái cố định (như thường lệ trong các cài đặt thực tế).
- giấy [3] cho thấy rằng MF có thể được giải quyết trong thời gian đa thức nếu giới hạn đầu vào B lại bị giới hạn trên bởi một số hằng số, nghĩa là, đầu vào vấn đề là một từ và B bị ràng buộc từ {1, 2, ..., K} , trong đó K là một số hằng số cố định.
Một số nhận xét về các kết quả này: Wrt (1) và (2), rõ ràng bằng trực giác rằng nếu bảng chữ cái là nhị phân, thì để làm cho vấn đề SF trở nên khó khăn, B cũng bị ràng buộc. Ngược lại, sửa B = 2 có nghĩa là kích thước bảng chữ cái phải khá lớn để tạo ra các trường hợp khó. Kết quả là, (3) khá tầm thường (trên thực tế, [3] nói nhiều hơn một chút: sau đó chúng ta có thể giải quyết nó trong thời gian chạy không chỉ đa thức, mà còn | w | ^ 2 lần một yếu tố chỉ phụ thuộc vào kích thước bảng chữ cái và ràng buộc B). (5) cũng không khó: Nếu từ của chúng ta dài so với B, thì chúng ta có thể có được hệ số mong muốn bằng cách đơn giản là rạch vào các yếu tố có độ dài khác nhau. Nếu không, thì chúng ta có thể vũ phu tất cả các khả năng, chỉ theo cấp số nhân trong B, trong trường hợp này được coi là một hằng số.
Vì vậy, hình ảnh chúng ta có như sau: SF có vẻ khó khăn hơn, bởi vì chúng ta có độ cứng ngay cả đối với bảng chữ cái cố định hoặc đối với ràng buộc cố định B. Mặt khác, vấn đề MF, có thể giải quyết được nhiều thời gian nếu ràng buộc được cố định (trong về vấn đề này thì dễ hơn SF), trong khi câu hỏi tương ứng thì kích thước bảng chữ cái được mở. Vì vậy, MF hơi phức tạp hơn một chút so với SF, ngay cả khi hóa ra rằng MF cho bảng chữ cái cố định cũng hoàn thành NP. Tuy nhiên, nếu có thể chứng minh rằng MF có thể được giải quyết cho các bảng chữ cái cố định trong nhiều thời gian, thì MF được hiển thị là dễ dàng hơn nhiều so với SF ... bởi vì một trường hợp khó có thể là nhân tạo (bảng chữ cái không bị ràng buộc!) .
Tôi đã nỗ lực để cố gắng giải quyết trường hợp của MF với bảng chữ cái giới hạn, nhưng tôi đã không thể giải quyết nó và ngừng làm việc với nó kể từ đó. Tôi không tin rằng các nhà nghiên cứu khác đã rất cố gắng để giải quyết nó (vì vậy đây không phải là một trong những vấn đề rất khó mở này, nhiều người đã thử và thất bại; tôi coi đó là cách có thể làm được). Tôi đoán rằng đó cũng là NP-hard cho các bảng chữ cái cố định, nhưng có lẽ việc giảm quá phức tạp đến nỗi bạn sẽ nhận được một cái gì đó như "MF rất khó cho các bảng chữ cái có kích thước 35 hoặc lớn hơn" hoặc một cái gì đó, cũng không phải là siêu đẹp .
Về tài liệu tiếp theo, tôi biết bài báo [4], xem xét vấn đề tách một từ w thành các yếu tố riêng biệt u_1, u_2, ..., u_k, tất cả đều là palindromes, cũng hoàn thành NP.
Tôi đã có một cái nhìn nhanh chóng trên giấy [5], được chỉ ra bởi Gilad. Nó dường như xem xét một thiết lập khác nhau, mặc dù. Trong bài báo này, các tác giả quan tâm đến câu hỏi kết hợp về việc có bao nhiêu chuỗi con hoặc từ khóa riêng biệt có thể được chứa trong một từ nhất định, nhưng chúng có thể trùng nhau. Ví dụ: aaabaab chứa 20 từ khóa khác nhau miscounted, nhưng bạn có được ý tưởng). Một số trong số họ chỉ có một lần xuất hiện, như baa, một số trong số họ, như aa. Trong mọi trường hợp, câu hỏi không phải là làm thế nào chúng ta có thể chia từ để bằng cách nào đó có được nhiều yếu tố riêng biệt, vì điều này có nghĩa là mỗi biểu tượng riêng lẻ đóng góp vào chính xác một yếu tố.
Về các giải pháp thực tế cho các loại vấn đề này (hãy nhớ rằng tôi là một nhà lý luận, vì vậy hãy dùng nó với hạt muối):
Theo hiểu biết của tôi, không có giới hạn lý thuyết nào thấp hơn (như độ cứng NP) sẽ loại trừ nó để giải quyết MF trong thời gian đa thức nếu chúng ta chỉ xem xét các từ đầu vào trên một bảng chữ cái cố định. Tuy nhiên, có một cảnh báo: Nếu bạn nhận được thuật toán đa thời gian, thì thuật toán này sẽ chạy theo cấp số nhân theo số lượng ký hiệu từ bảng chữ cái cố định (hoặc hàm mũ theo một số hàm của hàm đó)! Nếu không, nó cũng sẽ là một thuật toán thời gian đa thức cho trường hợp bảng chữ cái không giới hạn. Vì vậy, là một nhà lý thuyết, tôi sẽ tìm kiếm các nhiệm vụ thuật toán có thể được tính theo cấp số mũ theo thời gian nếu số lượng ký hiệu và bằng cách nào đó giúp đưa ra thuật toán cho MF. Mặt khác, có khả năng thuật toán như vậy không tồn tại và MF cũng là NP-hard trong trường hợp bảng chữ cái cố định.
Nếu bạn quan tâm đến các giải pháp pratical, có thể hữu ích để ước chừng giải pháp. Vì vậy, hệ số nhận được đảm bảo chỉ lớn bằng một nửa so với mức tối ưu trong trường hợp xấu nhất sẽ không quá tệ.
Heuristic không đưa ra một tỷ lệ gần đúng có thể chứng minh được, nhưng hoạt động tốt trong một môi trường thực tế cũng sẽ rất thú vị, tôi đoán vậy.
Việc chuyển đổi các trường hợp vấn đề thành các trường hợp SAT hoặc ILP không quá khó và sau đó bạn có thể chạy SAT hoặc ILP-Solver để có được các giải pháp tối ưu.
Ý kiến cá nhân của tôi là mặc dù không biết liệu trường hợp bảng chữ cái cố định của MF có phải là NP-hard hay không, nhưng có đủ những hiểu biết lý thuyết cho thấy vấn đề này đủ khó để có thể tìm ra giải pháp heuristic, v.v. làm việc tốt trong một môi trường thực tế
Thư mục:
[1] Anne Condon, Ján Manuch, Chris Thạchuk: Sự phức tạp của phân vùng chuỗi. J. Thuật toán rời rạc 32: 24-43 (2015)
[1b] Anne Condon, Ján Manuch, Chris Thạchuk: Sự phức tạp của vấn đề phân vùng chuỗi va chạm-nhận thức và mối liên quan của nó với thiết kế Oligo cho tổng hợp gen. COCOON 2008: 265-275
[2] Henning Fernau, Florin Manea, Robert Mercas, Markus L. Schmid: Kết hợp mô hình với các biến: Thuật toán nhanh và kết quả độ cứng mới. STACS 2015: 302-315
[3] Markus L. Schmid: Tính toán các yếu tố chuỗi không bình đẳng và lặp đi lặp lại. Lý thuyết. Tính toán. Khoa học. 618: 42-51 (2016)
[4] Hideo Bannai, Travis Gagie, Shunsuke Inenaga, Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski, Shiho Sugimoto: Yếu tố Palindromic đa dạng là NP-Complete. Nội bộ J. Tìm thấy. Tính toán. Khoa học. 29 (2): 143-164 (2018)
[5] Abraham Flaxman, Aram Wettroth Harrow, Gregory B. Sorkin: Chuỗi với tối đa nhiều hậu quả và chất nền khác biệt. Điện tử J. Lược. 11 (1) (2004)
aab|a|b|aa
vẫn còn 4