คำอธิบาย ของ ขั้นตอนวิธีของเฮิร์ชเบิร์ก

สำหรับสายอักขระ 2 สายคือ s1, s2 ซึ่งเป็นสายอักขระย่อยของสายอักขระที่ประกอบด้วยตัวอักษรเท่านั้น โดยสายอักขระย่อยไม่จำเป็นต้องติดกัน เช่น ee ese และ es เป็นสายอักขระย่อยของ “predecessor” และ “descendant” (ee สามารถเป็นสายอักขระย่อยได้ “predecessor”)

การเชื่อมต่อระหว่างลำดับย่อยร่วมยาวสุด (Longest common subsequence (lcs)) และระยะทางที่ถูกแก้ไข (edit distance) สามารถแสดงในรูปสมการได้ดังนี้ d(s1,s2)=|s1|+|s2|-2lcs(s1,s2) ซึ่ง d(s1,s2) คือระยะทางที่ถูกแก้ไขของราเวนสตีน (Levenshtein edit distance) ที่จะหาต้นทุนที่น้อยที่สุดในการแปลงสายอักขระหนึ่งไปเป็นอีกสายอักขระหนึ่ง โดยมีทั้งการแทรก การแทนที่ การลบ หรือ การกระทำที่ไม่มีผล เป็นต้น

ขั้นตอนวิธีของเฮิร์ชเบิร์กสามารถอธิบายการทำงานได้หลายวิธี เช่น ใช้ขั้นตอนวิธีแวงเกอร์ – ฟิชเชอร์ (Wanger – Fisher algorithm)[1] ในการมาใช้สร้างขั้นตอนวิธีของเฮิร์ชเบิร์กแต่ในที่นี้เราจะอธิบายขั้นตอนวิธีของเฮิร์ชเบิร์ก โดยใช้การแบ่งแยกและเอาชนะ (divide and conquer) ของขั้นตอนวิธีของนีดเดิ้ลแมน – วันช์ (Needleman – Wunsch algorithm)[2] โดยปกติแล้วขั้นตอนวิธีของเฮิร์ชเบิร์กนิยมใช้ในทางการคำนวณชีววิทยาเพื่อเปรียบเทียบของเหมือนของการเรียงตัวของ DNA และ โปรตีน

ใกล้เคียง