Risolvere esattamente la Superstring


18

Che cosa si sa dell'esatta complessità del più breve problema delle superstringhe? Può essere risolto più velocemente di ? Esistono algoritmi noti che risolvono le superstringhe più brevi senza ridurre a TSP?O(2n)

UPD: sopprime i fattori polinomiali.O()

Il problema più breve delle superstringhe è un problema la cui risposta è la stringa più breve che contiene ciascuna stringa di un determinato set di stringhe. La domanda riguarda l'estensione di ottimizzazione di un famoso problema NP-difficile Shortest Superstring (Garey e Johnson, p. 288).


5
Qual è il "problema delle superstringhe"?
Jeffε

Intendevo il problema della Superstring più corto, l'ho risolto. Grazie!
Alex Golovnev,

10
Va bene allora, qual è il "problema superstringo più corto"? Posso pensare a diversi problemi che meritano quel nome, e alcuni altri che dovrebbero essere chiamati "il più breve problema di supersequenza " ma probabilmente non sono in pratica. Dacci un po 'di contesto, per favore!
Jeffε

1
Qual è la tua area problematica? ad es. se stai cercando la super stringa più corta nella frammentazione del genoma, poiché la frammentazione del genoma crea grafici della larghezza dell'albero limitati, puoi avere un algoritmo veloce, ma se ti interessa solo gli algoritmi più veloci rispetto a quelli disponibili, la tua risposta è no, tranne che puoi avere un algoritmo più veloce in TSP (a causa della semplice riduzione), c'è anche algoritmo in grafici di larghezza dell'albero limitati localmente. O(2n)
Saeed,

1
@AlexGolovnev, Sì, hai ragione, questo è ATSP, ma per la larghezza degli alberi limitata penso che sia bello vedere cs.bme.hu/~dmarx/papers/marx-warsaw-fpt2 o se vuoi saperne di più su di loro è bello vedere algoritmico meta teorema
Saeed

Risposte:


5

Supponendo che le stringhe abbiano una lunghezza polinomiale in , quindi sì, esiste almeno un 2 n - Ω ( nsoluzione temporale. Il motivo è la ben nota riduzione dal più breve problema comune delle superstringhe all'ATSP con pesi interi di dimensioni polinomiali, che a sua volta è possibile risolvere mediante interpolazione polinomiale se si possono contare i cicli hamiltoniani in una multigrafia diretta. Quest'ultimo problema ha un2n-Ω(2nΩ(n/logn)soluzione temporale. Björklund 20122nΩ(n/logn)

La riduzione da ATSP con pesi per ogni coppia di vertici u , v per hamiltoniana conteggio di ciclo è la seguente:wuvu,v

Per , dove w sum è un limite superiore di tutte le somme di n pesi nell'istanza ATSP, crea un grafico G rr=1,2,,wsumwsumnGr dove si sostituisce ogni peso con r w u v archi da da u a v .wuvrwuvuv

Risolvendo il conteggio del ciclo hamiltoniano per ogni , tramite l'interpolazione polinomiale è possibile costruire un polinomio w sum l = 0 a lGr con una l uguale al numero di tour TSP nel grafico originale del peso l . Quindi individuare la più piccola l in modo che una l sia diversa da zero risolve il problema.l=0wsumalrlalllal


Molte grazie! Non conoscevo questa connessione con il conteggio del ciclo hamiltoniano.
Alex Golovnev,

@AlexGolovnev: Ma la riduzione è più o meno la stessa di quella del risultato Kohn, Gottlieb, Kohn che hai citato nella tua risposta? È un semplice incorporamento del semiring di somma minima sugli interi. Ad ogni modo, grazie per avermi fatto capire che la prossima versione del mio documento dovrebbe dichiararlo esplicitamente.
Andreas Björklund,

8

Ho studiato il problema e ho trovato alcuni risultati. Shortest Common Superstring (SCS) può essere risolto nel tempo con solo spazio polinomiale ( Kohn, Gottlieb, Kohn ; Karp ; Bax, Franklin ).2n

L'approssimazione più nota è (Paluch).21130

L'approssimazione più nota della compressione è (Paluch).34

Se SCS può essere approssimato di un fattore sull'alfabeto binario, allora può essere approssimato di un fattore α su qualsiasi alfabeto ( Vassilevska-Williams ).αα

SCS non può essere approssimato con un rapporto migliore di meno che P = NP ( Karpinski, Schmied ).1.0029

La compressione massima non può essere approssimata con un rapporto migliore di meno che P = NP ( Karpinski, Schmied ).1.0048

Sarei grato per eventuali aggiunte e suggerimenti.


5

Ecco il problema più corto delle superstringhe: ti vengono date stringhe s 1 , ... , s n sopra un po 'di alfabeto Σ e vuoi trovare la stringa più corta su Σ che contiene ciascuna s i come una sequenza di caratteri consecutivi, cioè una sottostringa.ns1,,snΣΣsi

Quando parliamo di algoritmi esatti per il problema, trovare la lunghezza della superstring più corta equivale a trovare la massima compressione C che è la somma di tutte le sovrapposizioni di stringhe consecutive nella superstring finale, ovvero C = i | s i |LC .C=i|si|L

Per quanto ne so, l'algoritmo esatto più veloce per le superstringhe più corte viene eseguito in ( 2 n ) doveO2n è il numero di stringhe. Questo è un semplice algoritmo di programmazione dinamica simile all'algoritmo di programmazione dinamica per il percorso più lungo (e altri problemi):n

Per ogni sottoinsieme di stringhe e stringa v in S calcoliamo la massima compressione su tutte le superstringhe su S dove v è la prima stringa che appare nella superstringa, memorizzandola come C (( v , S )). Lo facciamo elaborando prima tutti i sottoinsiemi con un solo elemento, quindi costruendo i valori C (( v , S )) per i sottoinsiemi S su k stringhe da quelli su kSvSSvv,Sv,SSk stringhe. In particolare:k1

Per ogni stringa osserviamo tutti i sottoinsiemi S su k - 1 stringhe che non includono u e impostiamo il valore per ( u , uS ) sul massimo sopra le stringhe v in S della somma del massimo sovrapposizione di u con v con C (( v , S )).uSk1uu,uSvSuvv,S

Il runtime finale non è superiore a O ( ) dove l è la lunghezza massima della stringa.n22n+n2ll

Esistono algoritmi migliori se si presume che sia piccola o che le sovrapposizioni a coppie siano piccole, la dimensione dell'alfabeto sia piccola ecc., Ma non sono a conoscenza di alcun algoritmo che sia più veloce di 2 n .l2n


5
OP conosce l' algoritmo , ha chiesto una soluzione più rapida. O(2n)
Saeed,

2
come ho detto, non credo che sia nota una soluzione più rapida.
Virgi,

1
@virgi, grazie mille! Il tuo algoritmo è molto carino. Ma penso che il principio di inclusione-esclusione ci dia persino un algoritmo con spazio polinomiale per il problema delle superstringhe. Sono davvero interessante negli algoritmi più veloci, potrebbe essere con alcuni vincoli (alfabeto piccolo, risposta breve ecc.). Grazie mille! O(2n)
Alex Golovnev il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.