入力のサイズが線形でない作業スペースを使用して、同じ長さの2つの文字列間の正確な編集距離を計算するための最もよく知られている複雑さは何ですか?入力は何らかの読み取り専用形式で保存されていると思います。これは以前に研究された問題ですか?
質問をもう少し具体的にするために、スペース。nは各入力文字列の長さです。
編集。David Eppsteinの答えに続いて、編集時間を多項式時間とスペース。下限も興味深いでしょう。
1
編集について:あなたは何かを誤解していると思います。デイビット・エップスタインの答えは、問題はPに、したがってまた、NLで解決可能であることを示している
—
エミールJeřábekはモニカサポート
...実際、元のワーグナー・フィッシャーアルゴリズムはすでにそれを行っています。
—
エミールイェジャベクはモニカをサポートします14
編集したバージョンは、準線形空間と多項式時間の両方であるアルゴリズムを要求することを意図していると思います。
—
デビッドエップシュタイン14
@DavidEppsteinはい、正確に。明確にするために再度編集しました。
—
フェリックス14
ところで、標準の価格設定モデルをミッドマッチ/削除/挿入ごとに1と仮定し、編集距離がlの場合、編集距離マトリックスの最短パスを実現するパスは、主対角線から最大でlの距離になります。編集距離は、O(l)空間を使用して計算されます。したがって、sqrt(n)スペースを使用すると、編集距離が小さい(つまり、sqrt(n)よりも小さい)場合に編集距離を計算できます。これが難しいように思えるのは、大きい場合のみです。もちろん、この場合、ほぼ間違いなく、あまり気にする必要はありません。
—
サリエルハーペレド14