Soundex algoritmas
Taškai: 12
Soundex algoritmas sukurtas vardams atpažinti, nepaisant nedidelių skirtingų pateikimų. Iš esmės jis skirtas anglų kalba tariamiems vardams indeksuoti. Kiekvienam vardui generuojamas 4 skaitmenų kodas pagal šias taisykles:
1. Palikti pirmąją žodžio raidę.
2. Pašalinti visas šias raides: A, E, I, O, U, H, W, Y.
3. Likusias raides pakeisti skaitmenimis iš lentelės:
Raidės |
Skaitmenys |
B, F, P, V | 1 |
C, G, J, K, Q, S, X, Z | 2 |
D,T | 3 |
L | 4 |
M, N | 5 |
R | 6 |
4. Du ar daugiau iš eilės einančius tuos pačius skaitmenis pakeisti vienu tuo pačiu skaitmeniu.
5. Imti tik pirmuosius keturis žodžio simbolius; jei žodis trumpesnis, pabaigoje pridėti nulių
Pavyzdys:
Žodis | Kodas |
BEBRAS | B162 |
VAIDOTAS | V320 |
LINA | L500 |
VALENTINA | V453 |
Koks kodas būtų sugeneruotas vardui ZIGMANTAS?
A) Z255
B) Z250
C) Z253
D) Z252
Algoritmas žinomas Soundex vardu.
Soundex algoritmas naudojamas vardų paieškai pritaikant tarimą anglų kalba. Algoritmas daug dėmesio skiria fonetinių klaidų korekcijai: klaidoms, atsirandančioms rašant vardų sekas, ypač kai yra panašiai tariamų žodžių. Algoritmą naudoja įvairios tarptautinės institucijos (pavyzdžiui, Interpolas), tačiau kai kurių šalių vardams netinka.
https://en.wikipedia.org/wiki/Soundex
Algoritmas išpopuliarėjo, kai jį aprašė Donaldas Knuthas savo knygoje "The Art Of Computer Programming, vol. 3: Sorting And Searching".
Teisingas atsakymas: C.
1. Paliekama pirmoji žodžio raidė (S).
2. Skomantas → Z25532 (pritaikius pirmąsias tris taisykles).
3. Z2532 (iš eilės einantys skaitmenys pakeičiami į vieną)
4. Z253 (paliekami tik pirmieji keturi simboliai).