スーパーストリングを正確に解く


18

最短スーパーストリング問題の正確な複雑さについて何が知られていますか?よりも速く解けるO∗(2n)か?TSPに減らすことなく最短スーパーストリングを解決する既知のアルゴリズムはありますか?

UPD: O∗(⋅)は、多項式因子を抑制します。

最短スーパーストリング問題は、その答えが、ストリングの特定のセットからの各ストリングを含む最短ストリングである問題です。問題は、有名なNP困難問題Shortest Superstringの最適化拡張についてです(Garey and Johnson、p.228)。


5
「スーパーストリングの問題」とは何ですか?
— ジェフ

最短スーパーストリング問題を意味し、修正しました。ありがとうございました!
— アレックスゴロフネフ

10
それでは、「最短スーパーストリング問題」とは何ですか?その名前に値するいくつかの問題と、「最短スーパーシーケンス問題」と呼ばれるべきだが、実際にはおそらくそうではない問題をいくつか考えることができます。コンテキストを教えてください!
— ジェフ

1
あなたの問題領域は何ですか?たとえば、ゲノムフラグメンテーションにより境界のあるツリー幅グラフが作成されるため、ゲノムフラグメンテーションで最短のスーパーストリングを探している場合は、高速アルゴリズムを使用できますが、使用可能なアルゴリズムよりも高速に関心がある場合は、高速アルゴリズムを使用できる場合を除き、答えはありません(理由は、単純な削減の)TSPでもあるローカルに制限されたツリー幅グラフのアルゴリズム。O∗(2n)
— サイード

1
@AlexGolovnevは、はい、あなたは正しい、これはATSPでいるが、有界木幅のために私が見て良いと思いcs.bme.hu/~dmarx/papers/marx-warsaw-fpt2またはあなたがそれらについて知っているより多くしたい場合は良いですが、あまりにも参照して、アルゴリズムをメタ定理
— サイード

回答:


5

文字列が長さ多項式ていると仮定すると、[はい、少なくともある2 N - Ω (√n時間ソリューション。理由は、最短の一般的なスーパーストリング問題から多項式サイズの整数の重みを持つATSPへの既知の削減です。これは、有向マルチグラフでハミルトニアンサイクルをカウントできる場合は、多項式補間によって解決できます。後者の問題には2n−Ω(n/log⁡n)時間ソリューション。 ビョークランド20122n−Ω(n/log⁡n)

重みw u vによるATSPからの削減wuv頂点各ペアのを使用からハミルトニアンサイクルカウントへは、次のようになります。u,v

ため、wの和上部の全ての和で結合しているN ATSPインスタンスにおける重み、ビルド1つのグラフGのRは、各重みを交換wはUがVとR wはuがVからアークをUにV。r=1,2,⋯,wsumwsumnGrwuvrwuvuv

各ハミルトニアンサイクルカウント解くことにより、使用すると、多項式補間構築多項式を介して、できΣ wの和 L = 0リットルのR LとL量の元のグラフにおけるTSPツアーの数に等しいL。したがって、a lがゼロ以外になるように最小のlを見つけると、問題が解決します。Gr∑l=0wsumalrlalllal


どうもありがとう!私は、ハミルトニアンサイクルカウントとのこの関係を知りませんでした。
— アレックスゴロフネフ

@AlexGolovnev:しかし、削減は、例えば、あなたがあなた自身の答えで引用したKohn、Gottlieb、Kohnの結果とほぼ同じですか?これは、整数の最小和半環の単純な埋め込みです。とにかく、私の論文の次のバージョンではこれを明示的に述べるべきだと気づかせてくれてありがとう。
— アンドレアスビョークランド

8

私は問題を研究し、いくつかの結果を見つけました。最短共通スーパーストリング(SCS)は、多項式空間のみで時間で解くことができます(2n、 Kohn、Gottlieb、Kohn ; Karp ; Bax、Franklin)。

最もよく知られている近似は21130(パルチ)。

圧縮の最もよく知られている近似は 34(パルチ)。

SCSがバイナリアルファベット上の係数で近似できる場合、任意のアルファベット上の係数αで近似できます(Vassilevska-Williams)。αα

P = NP(Karpinski、Schmied)でない限り、SCSはよりも良い比率で近似できません。1.0029

P = NP(Karpinski、Schmied)でない限り、最大圧縮はよりも良い比率で近似できません。1.0048

追加や提案に感謝します。


5

最短スーパーストリングの問題は次のとおりです文字列s 1、… 、s nがアルファベットΣにわたって与えられ、各s iを連続文字のサブシーケンス、つまり部分文字列として含むΣ上の最短ストリングを検索します。ns1,…,snΣΣsi

私たちは、問題のための正確なアルゴリズムについて語るとき、長さの発見最短超弦のは、最大圧縮見つけることと等価であるC最終超弦内のすべての連続した文字列の重複の和である、すなわちC = Σ I | s i | − LLCC=∑i|si|−L。

私の知る限り、最短スーパーストリングの最速の正確なアルゴリズムは(2 n)で実行されます。ここで、nはストリングの数です。これは、最長パス(およびその他の問題)の動的プログラミングアルゴリズムに類似した単純な動的プログラミングアルゴリズムです。O∗2nn

ストリングの各サブセットについてと文字列VにおけるS我々は上のすべての超弦にわたる最大圧縮計算S Vが C((としてこれを記憶する超弦に現れる最初の文字列であり、V 、Sを))。我々は最初の唯一の要素を持つすべてのサブセットを処理し、次いでCを構築することによってこれを行う((Vは、S))のサブセットの値はS上のk上のものからの文字列のk - 1つのストリング。具体的には:SvSSvv,Sv,SSkk−1

各文字列の場合は、我々はすべてのサブセットを見てS "上のk - 1つの含まれていない文字列のu(および値設定U 、U ∪ Sを「文字列を最大限に)VでS "最大の和のをuとvの C((v 、S ′))とのオーバーラップ。uS′k−1uu,u∪S′vS′uvv,S′

最終的なランタイムはO()以下です。ここで、lは最大文字列長です。n22n+n2ll

が小さい、またはペアワイズのオーバーラップが小さい、アルファベットサイズが小さいなどと仮定した場合、より良いアルゴリズムがありますが、2 nより速いアルゴリズムは知りません。l2n


5
OPはアルゴリズムを知っているため、より高速な解決策を求めました。O∗(2n)
— サイード

2
私が言ったように、私はより速い解決策が知られているとは思わない。
— virgi

1
O∗(2n)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.