一意の要素を持つリストの距離を編集


12

リスト間のレーベンシュタイン距離編集距離はよく研究された問題です。しかし、各リストで要素が複数回出現しないことがわかっている場合、可能な改善についてはあまり見つけることができません 。

また、要素が比較可能/ソート可能であると仮定します(ただし、比較するリストは最初からソートされていません)。

O(min(m,n)s)O(min(s,m,n)s)s

より正式には、

与えられた2つの文字列間の編集距離は 文字が繰り返されないという約束で、どの程度効率的に計算でき ますか?s,tΣ

Σは非常に大きなアルファベットです。


あなたの質問は何ですか?ペアワイズ編集距離を高速化する方法、または文字列のリストのすべてのペアワイズ距離の計算を高速化する方法は?
ラファエル

2
間の編集距離を計算する方法:私は質問がある疑いがS T Σ *いくつかの非常に大きなアルファベットを超える文字列でΣは、私たちは何の文字が二度表示されないことを保証しているかにトン( OPは、各文字列を文字のリスト、つまり要素のリストとして表します。しかし、これには確認が必要です。s,ts,tΣΣst
DW

はい、この場合、大きなアルファベットはデータベースインデックスで構成され、「文字列」sおよびtはこれらのインデックスを含むリストです。
user362178

複雑さについて疑問がある場合:nは入力文字列の長さで、sは実際の編集距離であるため、複雑さに含まれます。各編集のコストは1と見なされますが、この距離(編集s)の計算にはおそらく無関係です。mnss
アルバートヘンドリックス

回答:


3

TL; DR:文字列の両方(または1つだけ)が一意の文字を持っている場合、個々の文字のみを挿入および削除できるわずかに制限的な種類の編集距離を線形時間で計算できます。これにより、レーベンシュタイン編集距離の上限と下限がわかりやすくなります。

編集距離と最長共通サブシーケンスの挿入/削除

レーベンシュタインの編集距離は、1文字の挿入、削除、および置換を許可し、それぞれにコスト1を割り当てます。挿入と削除のみに制限すると、同様の距離測定が得られます。挿入と削除を使用して模倣する)。このより制限的な編集距離の標準的な名前は知らないので、「編集距離の挿入/削除」と呼びます。これは、長さmおよびnの 2つの文字列がそれぞれ与えられ、両方に現れる最長サブシーケンスの長さを知りたい、最長共通サブシーケンス(LCS)問題に密接に対応します。 2つの文字列にLCS Lがある場合mnL、次に挿入/削除編集距離n+m2Lます:これを確認する最も簡単な方法は、LCSの文字が互いの上に積み重なるように文字列を揃え、LCSにない文字がa -ギャップ文字。最初の文字列を編集して2 -行目にできることは明らかです。最初の行にある場合は挿入を-行い、下の行にある場合は削除を行います。例えば:

-C-IRC-LE
T-RI-CKLE

ここでのLCS CIRCLETRICKLEICLE長さ4を有し、編集距離は確かにある6+724=5

最長増加サブシーケンス

この迂回の理由は、少なくとも1つのシーケンスに個別の文字のみが含まれている場合、LCS(および挿入/削除編集距離)を計算する非常に効率的な方法があるためです:この場合、LCS問題は時間O n log n で解くことができる、最も長く増加するサブシーケンスを見つける問題。2つの文字列ABが与えられ、文字列Aには異なる文字が含まれているとします。Aの最初の文字の名前を1に、2番目の文字を2に、というように変更して、テーブル内の各文字に割り当てた番号を追跡できます。その後、BO(nlogn)ABAAB、このテーブルを使用して文字の名前を変更します(つまり、最初の文字が出現するたびAに1に変更されます)。最後に、で最も長く増加するサブシーケンスを探しますB。間のLCSこれは対応AしてB、そこから私たちはすぐに挿入/削除の編集距離を計算することができます。AおよびBの長さがそれぞれnおよびmである場合、必要な合計時間はです。O(n+mlogm)ABnm

レーベンシュタイン編集距離の境界

挿入/削除距離は、レーベンシュタイン距離の上限を明確に提供します(挿入/削除距離での編集操作の有効なシーケンスは、レーベンシュタイン編集操作の有効なシーケンスでもあるため)。挿入/削除編集距離を2で割ると、下限が得られます。最悪の場合、レーベンシュタインの編集操作を2つの挿入/削除編集操作に変更できるためです。

汎化

rO((r+n)logn)rndiffdiffO(nd)d

ハント、J .; Szymanski、T.(1977)、「最長共通部分列を計算するための高速アルゴリズム」、ACMの通信、20(5):350–353、doi:10.1145 / 359581.359603

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