นิยาม ของ ระยะทางจาโร-วิงเคลอร์

ให้ d j {\displaystyle d_{j}} คือระยะทางจาโร ของสายอักขระสองสาย จะได้

d j = 1 3 ( c m + c n + c − t m ) {\displaystyle d_{j}={\frac {1}{3}}\left({\frac {c}{m}}+{\frac {c}{n}}+{\frac {c-t}{m}}\right)}
  • m {\displaystyle m} คือความยาวของสายอักขระสายแรก
  • n {\displaystyle n} คือความยาวของสายอักขระสายที่สอง
  • c {\displaystyle c} คือจำนวนคู่ของตัวอักษรที่ตรงกัน
  • t {\displaystyle t} คือจำนวนเต็มครึ่งหนึ่ง ของคู่อักษรที่ตรงกันที่ต้องเปลี่ยนลำดับ

หากสายอักขระสองสาย มีตัวอักษรที่เหมือนกันแต่ตำแหน่งไม่ตรงกัน จะถือว่าอักษรนั้นตรงกัน ถ้าระยะห่างระหว่างอักษรที่เหมือนกันของอักขระสองสาย มีค่าไม่เกิน r โดยที่ r = ⌊ max ( m , n ) 2 ⌋ − 1 {\displaystyle r=\left\lfloor {\frac {\max(m,n)}{2}}\right\rfloor -1}

ตัวอย่างเช่น การเทียบ CRATE กับ TRACE ระยะห่างระหว่างตัวอักษรสูงสุดที่ยังถือว่าตรงกันคือ (5/2)-1 = 1.5 จะเห็นว่ามีเพียงตัวอักษร ‘R’ ‘A’ ‘E’ เท่านั้นที่อักษรตรงกัน ถึงแม้ว่า ‘C’ และ ‘T’ จะปรากฏที่สายอักขระทั้งสอง แต่ระยะห่างของ ‘C’ ระหว่างสายอักขระสองสายมีค่าเกิน 1 (สายอักขระแรก C อยู่ตำแหน่งที่ 1 สายอักขระที่สอง C อยู่ที่ตำแหน่งที่ 4 ดังนั้นห่างกัน 4 – 1 = 3 ซึ่งเกิน r) จึงไม่ถือว่าตรงกัน สำหรับอักษร ‘T’ ก็เช่นเดียวกัน ดังนั้น c จึงมีค่าเท่ากับ 3 และ t = 0 (จำนวนอักษรที่ตรงกันคือ 3 ซึ่งอักษรที่ตรงกันทั้งสามนี้ ไม่มีการสลับตำแหน่งกัน) กรณี DwAyNE เทียบกับ DuANE จะเห็นว่าคู่ของอักษรที่ตรงกันมีตำแหน่งเรียงกันตามลำดับเหมือนกันทั้งสองสายคือ D-A-N-E ดังนั้นจึงไม่มีตำแหน่งที่ต้องต้องเปลี่ยนลำดับ t จึงเท่ากับ 0

ให้ d w {\displaystyle d_{w}} คือระยะทางจาโร-วิงเคลอร์

d w = d j + ( ℓ 10 ( 1 − d j ) ) {\displaystyle d_{w}=d_{j}+({\frac {\ell }{10}}(1-d_{j}))}
  • d j {\displaystyle d_{j}} คือระยะทางจาโร สำหรับสายอักขระสองสาย
  • ℓ {\displaystyle \ell } คือความยาวของอักขระด้านหน้าที่ตรงกัน เริ่มจากตำแหน่งแรกจนถึงตำแหน่งสุดท้ายที่ตรงกัน โดยค่าที่ได้จะต้องไม่เกิน 4


ใกล้เคียง

ระยะทางแฮมมิง ระยะทาง ระยะทางเลเวนชเตย์น ระยะทางจาโร-วิงเคลอร์ ระยะทางพิสูจน์รัก (ภาพยนตร์) ระยะทางพิสูจน์รัก (นวนิยาย) ระยะทางแบบยุคลิด ระยะทดลองทางคลินิก ระยะทางโคจร ระยะฟัก