(Gilad Barkan'a (גלעד ברקן) bu tartışmadan haberdar olduğum için çok teşekkürler.)
Bu sorun hakkındaki düşüncelerimi tamamen teorik bir bakış açısıyla paylaşayım ("alt kelime" yerine "faktör" kullandığımı da unutmayın).
Bence burada ele alınan problemin (veya problemlerin) yeterince resmi bir tanımı aşağıdaki gibidir:
W kelimesi verildiğinde u_1, u_2, ..., u_k kelimelerini bulun.
- u_i! = her i için u_j, j 1 <= i <j <= k ve
- u_1 u_2 ... u_k = w
Maksimizasyon varyantı (birçok u_i istiyoruz): maks. K
Minimizasyon varyantı (kısa u_i istiyoruz): maksimize et {| u_i | : 1 <= i <= k}
Bu problemler, ek olarak "çok faktörlü" -varyanttan mı yoksa "kısa faktörler" -varyanttan mı bahsettiğimize göre, k üzerinde daha düşük bir sınır olan (en azından B'yi istiyoruz) faktörler) veya maks. {| u_i | : 1 <= i <= k} (sırasıyla en fazla B uzunluk faktörü istiyoruz). NP sertliği hakkında konuşmak için karar problemleri hakkında konuşmamız gerekir.
"Kısa faktörler" -varyant için SF terimlerini ve "birçok faktör" -varyant için MF terimlerini kullanalım. Özellikle, ve bu gerçekten çok önemli bir nokta, problemler, hiçbir şekilde kısıtlanmamış bazı alfabe üzerinde bir kelime alacak şekilde tanımlanıyor . Sorun versiyonu, sadece girdi kelimelerini devralmamızın bir öncül olduğunu bilmemizdi, örneğin, alfabe {a, b, c, d} farklı bir sorundur! NP-sertlik yok değil otomatik olarak "sabit alfabe" varyant (ikincisi basit olabilir) için "sınırsız" üzerinde taşıyacaktır.
Hem SF hem de MF NP-tam problemlerdir. Bu sırasıyla [1, 1b] ve [2] 'de gösterilmiştir (Gilad'ın daha önce işaret ettiği gibi). Bu tartışmanın başında (belki de) gayrı resmi sorun tanımını doğru anlarsam, bu tartışmanın sorunu tam olarak sorunlu MF'dir. Başlangıçta kelimelerin bazı sabit alfabe ile sınırlı olduğu söylenmez, daha sonra sadece küçük harflerin kullanıldığını varsayabiliriz. Bu, yalnızca sabit alfabe {a, b, c, ..., z} üzerindeki kelimeleri düşündüğümüz anlamına gelirse, bu aslında NP sertliği açısından çok değişecektir.
Daha yakından bakıldığında, SF ve MF'nin karmaşıklığındaki bazı farklılıklar ortaya çıkıyor:
- kâğıt [1, 1b], alfabeyi ikili bir alfabeye sabitlersek SF'nin NP-tam kaldığını gösterir (daha kesin olarak: a ve b harfleri ve bir B harfi üzerine w kelimesi almak, farklı uzunluk faktörlerinde çarpanlara ayırabilir miyiz? çoğu B?).
- bildiri [1, 1b], bağlı B = 2'yi sabitlersek SF'nin NP-tam kaldığını gösterir (daha kesin olarak: w kelimesi almak, onu en fazla 2 farklı faktörde çarpanlarına ayırabilir miyiz?).
- makale [3] hem alfabe hem de bağlı B sabitse, SF'nin polinom zamanda çözülebileceğini gösterir.
- bildiri [2] MF'nin NP-tamamlanmış olduğunu, ancak sadece alfabe kısıtlanmış veya önceden belirlenmiş değilse ! Özellikle, giriş kelimelerini sadece bazı sabit alfabe üzerinde (pratik ayarlarda olduğu gibi) dikkate alırsak, sorunun NP-tamamlanmış olup olmadığı sorusuna cevap vermez .
- kağıt [3], giriş sınırları B tekrar bir sabit tarafından üst sınırda ise MF'nin polinom zamanda çözülebileceğini gösterir, yani, problem girdisi bir kelime ve {1, 2, ..., K} 'dan bağlı bir B ise burada K sabit bir sabittir.
Bu sonuç hakkında bazı yorumlar: Wrt (1) ve (2), sezgisel olarak açıktır, eğer alfabe ikili ise, SF'yi problemi zorlaştırmak için, bağlı B'nin de düzeltilemeyeceği açıktır. Tersine, B = 2'yi sabitlemek, zor örnekler üretmek için alfabe boyutunun oldukça büyük olması gerektiği anlamına gelir. Sonuç olarak, (3) oldukça önemsizdir (aslında, [3] biraz daha fazlasını söyler: daha sonra sadece polinom değil, aynı zamanda | w | ^ sadece alfabe boyutuna bağlı bir faktörün 2 katı kadar çözebiliriz ve bağlı B). (5) de zor değildir: Sözümüz B'ye kıyasla uzunsa, o zaman sadece farklı uzunluklardaki faktörlere dilimleyerek istenen faktörleştirmeyi elde edebiliriz. Değilse, sadece B'de üstel olan, bu durumda sabit olduğu varsayılan tüm olasılıkları kaba kuvvet uygulayabiliriz.
Yani elimizdeki resim şudur: SF daha zor görünüyor, çünkü sabit alfabe veya sabit bir B için bile sertliğe sahibiz. Öte yandan, MF sorunu, eğer sabit ise ( bu açıdan SF'den daha kolaydır), karşılık gelen soru ise alfabe boyutu açıktır. Bu nedenle MF, sabit alfabe MF'nin NP-tamamlanmış olduğu ortaya çıksa bile SF'den biraz daha az karmaşıktır. Bununla birlikte, MF'nin sabit alfabe için poli zamanda çözülebileceği gösterilebiliyorsa, MF'nin SF'den çok daha kolay olduğu gösterilmektedir ... çünkü zor olduğu bir durum biraz yapaydır (sınırsız alfabe!) .
Sınırlı alfabe ile MF davasını çözmeye çalışmak için biraz çaba harcadım, ancak o zamandan beri yerleşemedim ve üzerinde çalışmayı bıraktım. Diğer araştırmacıların bunu çözmek için çok uğraştığına inanmıyorum (bu yüzden bu çok zor açık problemlerden biri değil, birçok insan zaten denedi ve başarısız oldu; Bir şekilde yapılabilir olduğunu düşünüyorum). Benim tahminim de sabit alfabe için NP-sert olurdu, ama belki de azalma o kadar karmaşık ki "MF 35 veya daha büyük boyutlu alfabe için zor" veya süper hoş olmayan bir şey elde edersiniz. .
Daha fazla literatürle ilgili olarak, bir kelimeyi w'yi NP-tamamlanmış olan tüm palindromlar olan u_1, u_2, ..., u_k gibi farklı faktörlere bölme problemini dikkate alan makaleyi biliyorum [4].
Gilad'ın işaret ettiği makaleye [5] hızlıca baktım. Yine de farklı bir ortam düşünüyor gibi görünüyor. Bu makalede, yazarlar belirli bir kelimede kaç farklı alt dizinin veya alt sözcüğün bulunabileceği ile ilgili birleştirici soru ile ilgilenmektedir, ancak bunlar üst üste gelebilir. Örneğin, aaabaab 20 farklı alt kelime içerir a, b, aa, ab, ba, bb, aaa, aab, aba, baa, aaab, aaba, abaa, baab, aaaba, aabaa, abaab, aabaab, aaabaa, aaabaab (belki ben yanlış sayılır, ancak fikri anlayabilirsiniz). Bazılarının sadece bir olayı var, baa gibi, bazıları birkaç, aa gibi. Her durumda, soru, birçok farklı faktörü elde etmek için bir şekilde kelimeyi nasıl bölebileceğimiz değildir, çünkü bu, her bir sembolün tam olarak bir faktöre katkıda bulunduğu anlamına gelir.
Bu tür sorunlara pratik çözümler konusunda (bir teorisyen olduğumu unutmayın, bu yüzden bunu tuz tanesi ile alın):
Bildiğim kadarıyla, yalnızca sabit bir alfabe üzerinde giriş sözcükleri düşünürsek, polinom zamanında MF'yi çözmesini engelleyecek teorik alt sınırlar (NP sertliği gibi) yoktur. Ancak bir uyarı var: Bir poli-zaman algoritması alırsanız, o zaman bu sabit alfabedeki sembollerin sayısında üstel olarak çalışmalıdır (veya bunun bazı işlevlerinde üstel olmalıdır)! Aksi takdirde, sınırsız alfabeler için bir polinom zaman algoritması da olacaktır. Yani, bir teorisyen olarak, sadece sembol sayısı ve bir şekilde MF için bir algoritma geliştirmeye yardımcı olursa, zaman içinde üstel olarak hesaplanabilen algoritmik görevleri arıyordum. Öte yandan, böyle bir algoritmanın mevcut olmaması ve MF'nin sabit alfabe durumunda NP-zor olması muhtemeldir.
Pratik çözümlerle ilgileniyorsanız, çözümü yaklaşık olarak bulmak faydalı olabilir. Bu nedenle, en kötü durumdaki optimumun sadece yarısı kadar büyük olması garanti edilen faktorizasyonun elde edilmesi çok kötü olmaz.
Kanıtlanabilir bir tahmin oranı vermeyen, ancak pratik bir ortamda iyi çalışan sezgisel yöntemler de ilginç olurdu.
Sorunlu örnekleri SAT veya ILP örneklerine dönüştürmek çok zor olmamalı ve daha sonra en uygun çözümleri elde etmek için bir SAT veya ILP Çözücü çalıştırabilirsiniz.
Kişisel düşüncem, MF'nin sabit alfabe vakasının NP-zor olup olmadığı bilinmese de, sorunun sezgisel çözümlere bakmanın haklı olması için yeterince zor olduğunu gösteren yeterli teorik içgörü var. pratik bir ortamda iyi çalışır.
Kaynakça:
[1] Anne Condon, Ján Manuch, Chris Thachuk: Yaylı bölümlemenin karmaşıklığı. J. Ayrık Algoritmalar 32: 24-43 (2015)
[1b] Anne Condon, Ján Manuch, Chris Thachuk: Bir Çarpışmaya Duyarlı Dize Bölme Sorununun Karmaşıklığı ve Gen Sentezi için Oligo Tasarımı ile İlişkisi. KOKON 2008: 265-275
[2] Henning Fernau, Florin Manea, Robert Mercas, Markus L. Schmid: Değişkenlerle Desen Eşleştirme: Hızlı Algoritmalar ve Yeni Sertlik Sonuçları. STACS 2015: 302-315
[3] Markus L. Schmid: Eşitsiz ve tekrarlayan dizi çarpanlarına hesaplama. Theor. Comput. Sci. 618: 42-51 (2016)
[4] Hideo Bannai, Travis Gagie, Shunsuke Inenaga, Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski, Shiho Sugimoto: Farklı Palindromik Çarpanlara Ayırma NP-Tamamlandı. Int. J. Bulundu. Comput. Sci. 29 (2): 143-164 (2018)
[5] Abraham Flaxman, Aram Wettroth Harrow, Gregory B. Sorkin: Maksimal Olarak Çok Farklı Alt Özeti ve Alt Dizesi Olan Dizeler. Elektrikli. J. Comb. 11 (1) (2004)
aab|a|b|aahala 4 olduğu için bölünebilir