Résolution exacte de la super chaîne


18

Que sait-on de la complexité exacte du problème de chaîne la plus courte? Peut-il être résolu plus rapidement que ? Existe-t-il des algorithmes connus qui résolvent la super chaîne la plus courte sans réduire au TSP?O(2n)

UPD: supprime les facteurs polynomiaux.O()

Le problème de superstring le plus court est un problème dont la réponse est la chaîne la plus courte qui contient chaque chaîne d'un ensemble donné de chaînes. La question porte sur l'optimisation de l'extension d'un célèbre problème NP-Shortest Superstring (Garey et Johnson, p.228).


5
Qu'est-ce que "le problème des supercordes"?
Jeffε

Je voulais dire le problème de chaîne la plus courte, je l'ai résolu. Je vous remercie!
Alex Golovnev

10
Bon alors, quel est "le problème de supercord le plus court"? Je peux penser à plusieurs problèmes qui méritent ce nom, et quelques autres qui devraient être appelés "le problème de super-séquence le plus court " mais qui ne sont probablement pas en pratique. Donnez-nous un peu de contexte, s'il vous plaît!
Jeffε

1
Quel est votre problème? Par exemple, si vous recherchez la super chaîne la plus courte dans la fragmentation du génome, parce que la fragmentation du génome crée des graphiques de largeur d'arbre bornés, vous pouvez avoir un algorithme rapide, mais si vous êtes juste intéressé par des algorithmes plus rapides que les algorithmes disponibles, votre réponse est non, sauf que vous pouvez avoir un algorithme plus rapide dans TSP (en raison de la réduction simple), il y a aussi algorithme dans les graphiques de largeur d'arbre délimités localement. O(2n)
Saeed

1
@AlexGolovnev, Oui, vous avez raison, c'est ATSP, mais pour la largeur d'arbre bornée, je pense qu'il est bon de voir cs.bme.hu/~dmarx/papers/marx-warsaw-fpt2 ou si vous voulez en savoir plus à leur sujet, c'est bien aussi voir algorithmique méta-théorème
Saeed

Réponses:


5

En supposant que les chaînes ont un polynôme de longueur en , alors oui, il y a au moins 2 n - Ω ( nsolution de temps. La raison en est la réduction bien connue du problème de superstring commun le plus court à ATSP avec des poids entiers de taille polynomiale, que vous pouvez à votre tour résoudre par interpolation polynomiale si vous pouvez compter les cycles hamiltoniens dans un multigraphe dirigé. Ce dernier problème a un2n-Ω(2nΩ(n/logn)solution de temps. Björklund 20122nΩ(n/logn)

La réduction de l'ATSP avec les poids pour chaque paire de sommets u , v au comptage de cycle hamiltonien se déroule comme suit:wuvu,v

Pour , où w sum est une borne supérieure sur toutes les sommes de n poids dans l'instance ATSP, construisez un graphique G r où vous remplacez chaque poids w u v par r w u v arcs à partir de u à v .r=1,2,,wsumwsumnGrwuvrwuvuv

En résolvant le comptage du cycle hamiltonien pour chaque , vous pouvez, par interpolation polynomiale, construire un polynôme w somme l = 0 a l r l avec un l égal au nombre de tours TSP dans le graphique d'origine du poids l . Ainsi, la localisation du plus petit l tel que a l est non nul résout le problème.Grl=0wsumalrlalllal


Merci beaucoup! Je ne connaissais pas ce lien avec le comptage du cycle hamiltonien.
Alex Golovnev

@AlexGolovnev: Mais la réduction est plus ou moins la même que dans par exemple le résultat Kohn, Gottlieb, Kohn que vous avez cité dans votre propre réponse? Il s'agit d'une simple intégration de la semi-somme minimale sur les entiers. Quoi qu'il en soit, merci de m'avoir fait réaliser que la prochaine version de mon article devrait le dire explicitement.
Andreas Björklund

8

J'ai étudié le problème et j'ai trouvé des résultats. La chaîne commune la plus courte (SCS) peut être résolue dans le temps avec seulement un espace polynomial ( Kohn, Gottlieb, Kohn ; Karp ; Bax, Franklin ).2n

L'approximation la plus connue est (Paluch).21130

La meilleure approximation connue de la compression est (Paluch).34

Si SCS peut être approximé par un facteur sur l'alphabet binaire, alors il peut être approximé par un facteur α sur n'importe quel alphabet ( Vassilevska-Williams ).αα

SCS ne peut être approché avec un rapport meilleur que moins que P = NP ( Karpinski, Schmied ).1.0029

La compression maximale ne peut être approchée avec un rapport meilleur que moins que P = NP ( Karpinski, Schmied ).1.0048

Je serais reconnaissant pour tout ajout et suggestion.


5

Voici le problème de super chaîne le plus court: on vous donne chaînes s 1 , , s n sur un alphabet Σ et vous voulez trouver la chaîne la plus courte sur Σ qui contient chaque s i comme sous-séquence de caractères consécutifs, c'est-à-dire une sous-chaîne.ns1,,snΣΣsi

Lorsque nous parlons d'algorithmes exacts pour le problème, trouver la longueur de la chaîne la plus courte équivaut à trouver la compression maximale C qui est la somme de tous les chevauchements de chaînes consécutifs dans la chaîne supérieure, c'est-à-dire C = i | s i | - L .LCC=i|si|L

Autant que je sache, l'algorithme exact le plus rapide pour les supercordes les plus courtes s'exécute dans ( 2 n ) où n est le nombre de chaînes. Il s'agit d'un algorithme de programmation dynamique simple similaire à l'algorithme de programmation dynamique pour le chemin le plus long (et d'autres problèmes):O2nn

Pour chaque sous-ensemble de chaînes et chaîne v dans S, nous calculons la compression maximale sur toutes les super- chaînes sur Sv est la première chaîne apparaissant dans la super-chaîne, la stockant sous la forme C (( v , S )). Pour ce faire, nous traitons d'abord tous les sous-ensembles avec un seul élément, puis nous construisons les valeurs C (( v , S )) pour les sous-ensembles S sur k chaînes à partir de celles sur k - 1 chaînes. Plus précisément:SvSSvv,Sv,SSkk1

Pour chaque chaîne nous examinons tous les sous-ensembles S sur k - 1 chaînes qui n'incluent pas u et fixons la valeur pour ( u , uS ) au maximum sur les chaînes v dans S de la somme du maximum chevauchement de u avec v avec C (( v , S )).uSk1uu,uSvSuvv,S

L'exécution finale n'est pas supérieure à O ( ) où l est la longueur de chaîne maximale.n22n+n2ll

Il y a de meilleurs algorithmes si vous supposez que est petit, ou que les chevauchements par paire sont petits, la taille de l'alphabet est petite, etc., mais je ne connais aucun algorithme plus rapide que 2 n .l2n


5
OP connaît l' algorithme , il a demandé une solution plus rapide. O(2n)
Saeed

2
comme je l'ai dit, je ne crois pas qu'une solution plus rapide soit connue.
virgi

1
@virgi, merci beaucoup! Votre algorithme est très sympa. Mais je pense que le principe d'inclusion-exclusion nous donne même un algorithme avec un espace polynomial pour le problème de Superstring. Je suis vraiment intéressant dans les algorithmes plus rapides, peut-être avec quelques contraintes (petit alphabet, réponse courte, etc.). Merci beaucoup! O(2n)
Alex Golovnev
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.