Weighted Edit Distance Computation: Strings, Trees and Dyck

02/08/2023
by   Debarati Das, et al.
0

Given two strings of length n over alphabet Σ, and an upper bound k on their edit distance, the algorithm of Myers (Algorithmica'86) and Landau and Vishkin (JCSS'88) computes the unweighted string edit distance in 𝒪(n+k^2) time. Till date, it remains the fastest algorithm for exact edit distance computation, and it is optimal under the Strong Exponential Hypothesis (STOC'15). Over the years, this result has inspired many developments, including fast approximation algorithms for string edit distance as well as similar 𝒪̃(n+poly(k))-time algorithms for generalizations to tree and Dyck edit distances. Surprisingly, all these results hold only for unweighted instances. While unweighted edit distance is theoretically fundamental, almost all real-world applications require weighted edit distance, where different weights are assigned to different edit operations and may vary with the characters being edited. Given a weight function w: Σ∪{ε}×Σ∪{ε}→ℝ_≥ 0 (such that w(a,a)=0 and w(a,b)≥ 1 for all a,b∈Σ∪{ε} with a b), the goal is to find an alignment that minimizes the total weight of edits. Except for the vanilla 𝒪(n^2)-time dynamic-programming algorithm and its almost trivial 𝒪(nk)-time implementation, none of the aforementioned developments on the unweighted edit distance apply to the weighted variant. In this paper, we propose the first 𝒪(n+poly(k))-time algorithm that computes weighted string edit distance exactly, thus bridging a fundamental gap between our understanding of unweighted and weighted edit distance. We then generalize this result to weighted tree and Dyck edit distances, which lead to a deterministic algorithm that improves upon the previous work for unweighted tree edit distance.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset