Příloha bakalářské práce na téma "Aproximace KNN problému".
Obsahem přílohy je nová implementace indexu HNSW ve složce src/index/chm, projekt srovnání s původní implementací hnswlib a dokumentace.
Návod jak spustit ukázku obsahuje soubor Uživatelská dokumentace.pdf
. Podrobný návod ke všem programům v této příloze obsahuje soubor Podrobná uživatelská dokumentace.pdf
. Uživatelské dokumentace můžete také zobrazit v Markdown formátu ze složky src/userDocs.
Programátorskou dokumentaci generovanou programem Doxygen naleznete v souboru docs/html/index.html.
Tato příloha obsahuje kód následujících nepůvodních knihoven.
- ann-benchmarks, Licence
- Tato knihovna je využívána ke srovnání implementací indexu HNSW.
- Kód knihovny byl upraven.
- hnswlib, Licence
- Převzata definice typů PORTABLE_ALIGN v souboru DistanceFunction.hpp.
- Převzaty metriky vzdáleností v souborech euclideanDistance.hpp a innerProduct.hpp. Seznam změn:
- Vlastní podmínky kompilace.
- Volba využitého SIMD rozšíření zohledňuje preference uživatele.
- Počet složek vektorů, které lze paralelně zpracovat, metrika nepočítá.
- Každé funkci je přiřazen objekt, který ji zastupuje a ukládá název funkce.
- nlohmann/json, Licence
- Tato knihovna je využívána ke čtení konfiguračních souborů typu JSON.