การคำนวณระยะทางที่ถูกแก้ไขของราเวนสตีนด้วยปริภูมิเชิงเส้น ของ ขั้นตอนวิธีของเฮิร์ชเบิร์ก

ระยะทางที่ถูกแก้ไข (Edit distance Edit(x,y)) คือ ต้นทุนที่น้อยที่สุดของการเปลี่ยนแปลงรูปจากสายอักขระหนึ่งเปลี่ยนเป็นอีกสายอักขระหนึ่ง ซึ่งโดยทั่วไปการเปลี่ยนแปลงสายอักขระจะมีดังนี้ การแทรก การแทนที่ การลบ และ การสลับตำแหน่ง เป็นต้น

โดยนิยามสัญลักษณ์ต่างๆดังนี้ Ins(a) คือ ต้นทุนในการแทรกสัญลักษณ์ a ลงสายอักขระ Sub(a,b) ต้นทุนครั้งของการแทนที่สัญลักษณ์ a ด้วยสัญลักษณ์ b ในสายอักขระ และ Del(a) ต้นทุนของการลบสัญลักษณ์ a ในสายอักขระซึ่งโดยทั่วไปแล้วต้นทุนของการเปลี่ยนแปลงต่างๆจะเป็นดังนี้ Ins(a) และ Del(a) ต้นทุนเท่ากับ 1 สำหรับทุกๆสัญลักษณ์ a ใดๆ รวมทั้ง Sub(a,a) เท่ากับ 0 และ Sub(a,b) เท่ากับ 1 ในกรณีที่สัญลักษณ์ a ไม่เท่ากับ b

ขั้นตอนวิธีของนีดเดิ้ลแมน – วันช์ (Needleman – Wunsch algorithm) จะคำนวณ Edit(Prefix[x,i],Prefix[y,j]) สำหรับทุกๆ i และ j ที่ซึ่ง Prefix[x,i] หมายถึง คำนำหน้า(prefix) ของสายอักขระ x ที่ความยาว i ขั้นตอนวิธีนี้ต้องใช้เวลา O(nm) และใช้เนื้อที่ O(nm) โดย n เท่ากับความยาวของสายอักขระ x และ m เท่ากับความยาวของสายอักขระ y

ใกล้เคียง