Dokładne rozwiązywanie superstrun


18

Co wiadomo o dokładnej złożoności najkrótszego problemu superstrun? Czy można to rozwiązać szybciej niż O∗(2n) ? Czy znane są algorytmy, które rozwiązują najkrótszy superstrun bez redukcji do TSP?

UPD: O∗(⋅) tłumi czynniki wielomianowe.

Najkrótszy problem superstrun to problem, którego odpowiedzią jest najkrótszy ciąg, który zawiera każdy ciąg z danego zestawu ciągów. Pytanie dotyczy rozszerzenia optymalizacji znanego problemu NP-Short Shortest Superstring (Garey i Johnson, str. 228).


5
Co to jest „problem superstrun”?
— Jeffε

Miałem na myśli najkrótszy problem superstrun, naprawiłem go. Dziękuję Ci!
— Alex Golovnev

10
No dobra, jaki jest „najkrótszy problem superstrun”? Mogę wymyślić kilka problemów, które zasługują na tę nazwę, i kilka innych, które należy nazwać „najkrótszym problemem supersekwencji ”, ale prawdopodobnie nie są w praktyce. Daj nam jakiś kontekst!
— Jeffε

1
Jaki jest twój problem? np. jeśli szukasz najkrótszego super ciągu w fragmentacji genomu, ponieważ fragmentacja genomu tworzy ograniczone wykresy szerokości drzewa, możesz mieć szybki algorytm, ale jeśli interesują Cię szybsze niż dostępne algorytmy, twoja odpowiedź jest przecząca, z wyjątkiem tego, że możesz mieć szybszy algorytm w TSP (z powodu prostego zmniejszenia), a także jest algorytm w lokalnie powiązanych wykresach szerokości drzewa. O∗(2n)
— Saeed,

1
@AlexGolovnev, Tak, masz rację, to jest ATSP, ale jeśli chodzi o ograniczoną szerokość drogi, myślę, że dobrze jest zobaczyć cs.bme.hu/~dmarx/papers/marx-warsaw-fpt2 lub jeśli chcesz wiedzieć więcej na ich temat, dobrze też zobacz algorytm twierdzenie o meta
— Saeed,

Odpowiedzi:


5

Zakładając, że łańcuchy mają długość wielomianową w , wtedy tak, jest co najmniej 2 n - Ω ( √nrozwiązanie czasowe. Powodem jest dobrze znana redukcja z najkrótszego najczęstszego problemu superstrunu do ATSP z wielomianowymi wagami liczb całkowitych, które z kolei można rozwiązać przez interpolację wielomianową, jeśli można policzyć cykle Hamiltona w ukierunkowanej multigrafii. Ten ostatni problem ma2n-Ω( √2n−Ω(n/log⁡n)rozwiązanie czasowe. Björklund 20122n−Ω(n/log⁡n)

Redukcję z ATSP z wagą dla każdej pary wierzchołków kształcie U , V do Hamiltona zliczania cykli jest następujący:wuvu,v

Dla , w którym w sumie stanowi górne ograniczenie wszystkich sumy n wag w przypadku ATSP, budować jeden wykres G r gdzie zastąpić każdą wagę w u , v w r W U v łuków z u do v .r=1,2,⋯,wsumwsumnGrwuvrwuvuv

Rozwiązując liczenie cykli hamiltonowskich dla każdego , można za pomocą interpolacji wielomianowej skonstruować wielomian ∑ w suma l = 0 a l r l o wartości l równej liczbie tras TSP na oryginalnym wykresie wagi l . Dlatego też umieszczenie najmniejszą l tak, że L nie jest równa zeru rozwiązuje problemu.Gr∑l=0wsumalrlalllal


Wielkie dzięki! Nie znałem tego związku z liczeniem cykli hamiltonowskich.
— Alex Golovnev

@AlexGolovnev: Ale redukcja jest mniej więcej taka sama jak np. Wynik Kohna, Gottlieba, Kohna, który zacytowałeś we własnej odpowiedzi? Jest to proste osadzenie semillingu sumy minimalnej na liczbach całkowitych. W każdym razie dziękuję za uświadomienie mi, że następna wersja mojego artykułu powinna to wyraźnie stwierdzać.
— Andreas Björklund,

8

Studiowałem problem i znalazłem kilka wyników. Najkrótszy wspólny superstrun (SCS) można rozwiązać w czasie tylko przestrzenią wielomianową ( Kohn, Gottlieb, Kohn ; Karp ; Bax, Franklin ).2n

Najbardziej znanym przybliżeniem jest (Paluch).21130

Najbardziej znanym przybliżeniem kompresji jest (Paluch).34

Jeśli SCS można aproksymować współczynnikiem stosunku do binarnego alfabetu, to można go aproksymować współczynnikiem α w stosunku do dowolnego alfabetu ( Vassilevska-Williams ).αα

SCS nie może być aproksymowany współczynnikiem lepszym niż chyba że P = NP ( Karpinski, Schmied ).1.0029

Maksymalnej kompresji nie można aproksymować współczynnikiem lepszym niż chyba że P = NP ( Karpinski, Schmied ).1.0048

Byłbym wdzięczny za wszelkie uzupełnienia i sugestie.


5

Oto najkrótsza problemem superstrun: dostaniesz ciągów s 1 , ... , y n nad jakimś alfabetu Ď i chcesz znaleźć najkrótszą ciąg nad Ď który zawiera każdy s I jako podciąg kolejnych znaków, czyli podciąg.ns1,…,snΣΣsi

LCC=∑i|si|−L

O∗2nn

SvSSvv,Sv,SSkk−1

Dla każdego ciągu u patrzymy na wszystkie podzbiory S.′ na k-1 ciągi, które nie obejmują u i ustaw wartość dla (u,u∪S′) to the maximum over strings v in S′ of the sum of the maximum overlap of u with v with C((v,S′)).

The final runtime is no more than O(n22n+n2l) where l is the maximum string length.

There are better algorithms if you assume that l is small, or the pairwise overlaps are small, the alphabet size is small etc, but I am not aware of any algorithm that's faster than 2n.


5
OP knows O∗(2n) algorithm, he asked for faster solution.
— Saeed

2
as I said, I don't believe a faster solution is known.
— virgi

1
@virgi, thank you very much! Your algorithm is very nice. But I think inclusion-exclusion principle gives us even O∗(2n)-algorithm with polynomial space for the Superstring problem. I'm really interesting in faster algorithms, may be with some constraints (small alphabet, short answer etc). Thank you very much!
— Alex Golovnev
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.