Levenşteyn məsafəsi

testwiki saytından
imported>InternetArchiveBot (1 mənbə arxivləşdirildi və 0 keçid ölü olaraq işarələndi.) #IABot (v2.0.9.5) tərəfindən edilmiş 18:13, 6 dekabr 2023 tarixli redaktə
(fərq) ← Əvvəlki versiya | Son versiya (fərq) | Sonrakı versiya → (fərq)
Naviqasiyaya keç Axtarışa keç

Levenşteyn məsafəsi — informasiya nəzəriyyəsi, dilçilik və kompüter elmində iki ardıcıllıq arasındakı fərqi ölçmək üçün sətir ölçüsü. Qeyri-rəsmi olaraq iki söz arasındakı Levenşteyn məsafəsi bir sözü digərinə dəyişdirmək üçün tələb olunan tək simvollu redaktələrin (daxiletmə, silmə və ya əvəzetmə) minimum sayıdır. O, 1965-ci ildə bu məsafəni hesablayan sovet riyaziyyatçısı Vladimir Levenşteynin şərəfinə adlandırılıb.[1]

Levenşteyn məsafəsi "redaktə" məsafəsi də adlandırıla bilər, baxmayaraq ki, bu termin həm də ümumi olaraq redaktə məsafəsi kimi tanınan daha böyük məsafə ölçüləri ailəsini ifadə edə bilər.[2]Şablon:Rp Bu, sətir düzülüşləri ilə sıx bağlıdır.

Tərifi

İki a,b sətri arasındakı Levenşteyn məsafəsi (müvafiq olaraq |a||b| uzunluğu) lev(a,b) ilə verilir.

lev(a,b)={|a| if |b|=0,|b| if |a|=0,lev(tail(a),tail(b)) if head(a)=head(b),1+min{lev(tail(a),b)lev(a,tail(b))lev(tail(a),tail(b)) otherwise

Nümunə

Əvəzetmə dəyərini 1, silinmə və ya daxiletmə dəyərini 0,5 olaraq istifadə edərək iki söz üçün məsafə matrisi redaktəsi

Məsələn, "anket" və "aptek" sözləri arasındakı Levenşteyn məsafəsi 3-dür, çünki aşağıdakı 3 redaktə bir hərfi digərinə dəyişir və bunu 3-dən az redaktə ilə etmək mümkün deyil:

  1. anket → apket ("n" hərfini "p" ilə dəyişdirmək),
  2. apket → aptet ("k" hərfini "t" ilə dəyişdirmək),
  3. aptet → aptek ("t" hərfini "k" ilə dəyişdirmək).

Məsafəsi 1 olan sözlərə "qaş" və "daş"ı nümunə göstərmək olar:

  1. qaş → daş ("q" hərfini "d" ilə dəyişdirmək).

İstinadlar

Şablon:İstinad siyahısı

Xarici keçidlər

Şablon:Xarici keçidlər