TL; DR : 개별 문자 만 삽입하고 삭제할 수있는 약간 더 제한적인 편집 거리는 두 문자열 (또는 하나만)에 고유 한 문자가있는 경우 선형 시간으로 계산 될 수 있습니다. 이것은 레 벤슈 테인 편집 거리에서 유용한 상한과 하한을 제공합니다.
편집 거리 및 가장 긴 공통 하위 시퀀스 삽입 / 삭제
Levenshtein 편집 거리는 단일 문자 삽입, 삭제 및 대체를 허용하며 각각에 1의 비용을 할당합니다. 우리가 삽입 및 삭제로만 제한하면 비슷한 대체 거리 측정 값을 얻습니다. 삽입 및 삭제를 사용하여 모방). 이보다 제한적인 편집 거리의 표준 이름을 모르므로 "편집 거리 삽입 / 삭제"라고합니다. 그것은 가장 긴 공통 서브 시퀀스 (LCS) 문제에 밀접하게 대응합니다. 여기서 우리는 각각 길이가 과 인 두 개의 문자열이 주어지며, 둘 모두에 나타나는 가장 긴 서브 시퀀스의 길이를 알고 싶습니다. 두 문자열에 LCSn L n + m - 2 L미디엄엔엘그런 다음 편집 거리 삽입 삭제n + m - 2 개 L .이를 보는 가장 쉬운 방법은 문자열을 정렬하여 LCS의 문자가 서로 쌓인 것처럼 보이고 LCS에없는 문자가 -
간격의 반대쪽에 나타나도록하는 것입니다 캐릭터. 그러면 -
맨 위 행에 삽입 -
하고 맨 아래 행에 삭제하면 첫 번째 문자열을 두 번째 문자열로 편집 할 수 있습니다 . 예를 들면 다음과 같습니다.
-C-IRC-LE
T-RI-CKLE
여기서의 LCS CIRCLE
와 TRICKLE
, ICLE
길이 (4)를 가지며, 편집 거리 참 .6 +7 − 2 ∗ 4 = 5
가장 긴 서브 시퀀스 증가
이 우회의 이유는 시퀀스 중 하나 이상에 고유 한 문자 만 포함 된 경우 LCS (및 삽입 / 삭제 편집 거리)를 계산하는 매우 효율적인 방법이 있기 때문입니다.이 경우 LCS 문제는 다음과 같이 변환 될 수 있습니다. 시간 에서 해결 될 수 있는 가장 긴 증가 하는 서브 시퀀스 를 찾는 문제 . 두 개의 문자열 와 가 주어 지고 문자열 에 고유 한 문자가 있다고 가정하십시오 . 의 첫 번째 문자 이름 을 1로, 두 번째에서 2 등으로 이름을 바꾸면 테이블의 각 문자에 할당 한 숫자를 추적 할 수 있습니다. 그런 다음A B A A B O ( n + m log m ) A B n mO ( n 로그n )ㅏ비AAB이 표를 사용하여 문자의 이름을 바꿉니다 (즉, 첫 문자가 발생한 모든 항목이 A
1 등으로 변경됨). 마지막으로, 우리는에서 가장 긴 하위 시퀀스를 찾습니다 B
. 사이 LCS이 대응 A
하고 B
,과에서 우리는 바로 삽입 / 삭제 편집 거리가 계산할 수 있습니다. 와 길이가 각각 과 인 경우 필요한 총 시간은 입니다.O(n+mlogm)ABnm
레 벤슈 테인 경계 편집 거리
삽입 / 삭제 거리는 Levenshtein 거리의 상한을 명확하게 제공합니다 (삽입 / 삭제 거리 아래의 유효한 편집 작업 순서도 Levenshtein 편집 작업의 올바른 순서이므로). 삽입 / 삭제 편집 거리를 2로 나누면 최악의 경우 Levenshtein 편집 작업을 2 개의 삽입 / 삭제 편집 작업으로 변경할 수 있기 때문에 하한값을 얻게됩니다.
일반화
1977 년에 Hunt와 Szymanski는 가장 오래 걸리는 서브 시퀀스 알고리즘의 일반화로 볼 수있는 알고리즘을 개발했습니다. 두 문자열 사이에서 일치하는 문자 위치 쌍이 적을 때마다 효율적입니다. 이러한 쌍이 이면 알고리즘은 시간이 걸립니다. ( 한 문자열의 모든 문자가 다른 경우 유의하십시오 .)이 알고리즘은 전체 텍스트 행을 개별 문자로 처리 한 원래 프로그램 의 기초였습니다 . 나중에 Myers의 -시간 알고리즘 을 사용하도록 전환했습니다 . 여기서O ( ( r + n ) log n ) r ≤ n O ( n d ) drO((r+n)logn)r≤ndiff
diff
O(nd)d 삽입 / 삭제 편집 거리입니다. 전체 차이가 작지만 일부 "문자"(텍스트 행)가 자주 나타날 때 (예 : C 프로그램 코드에서 여는 중괄호 만 포함하는 행).
헌트, J .; Szymanski, T. (1977), "가장 긴 공통 하위 시퀀스를 계산하는 빠른 알고리즘", ACM의 통신, 20 (5) : 350–353, doi : 10.1145 / 359581.359603