Žymos archyvas: php

Programuotojo penktadienis: Nuo galėčiau iki galiu yra trys raidės – įrodymas

(foto pasiskolinta iš blogas.lt/verslauk)

Šiandien visiškai atsitiktinai sužinojau, kad skirtumą nuo „Galėčiau“ iki „Galiu“ galima apskaičiuoti pasinaudojant Levenšteino funkcija, matuojančia minimalų simbolių skaičių, reikalingą įterpti, pakeisti, arba pašalinti, kad iš vienos simbolių sekos gautume kitą.
Aišku įdomiausia teoriją iliustruoti pavyzdžiais. Šį kartą renkuosi PHP kalbą. Naudoju funkciją levenshtein:

Pirmas bandymas (šveplas tekstas):

echo levenshtein(‘Galiu’, ‘Galeciau’);

Rezultatas: 3.

Antras bandymas:

echo levenshtein(‘Galiu’, ‘Galėčiau’);

Rezultatas: 5. Taip yra todėl, kad naudoju UTF-8 kodavimą, tam, kad ištaisyti padėtį tenka perkoduoti pradines eilutes:

echo levenshtein(mb_convert_encoding(‘Galiu’,’ISO-8859-13′, ‘UTF-8’) , mb_convert_encoding(‘Galėčiau’, ‘ISO-8859-13’, ‘UTF-8’));

Rezultatas: 3.

Tą ir reikėjo gauti :) Programavimas yra smagus!