% !TeX spellcheck = cs_CZ
% !TeX root = ../BP_Prokopič_Martin_2021.tex

Nacházíme se ve století počítačů a~informací. Každým dnem přibývají desítky tisíc dokumentů, které je potřeba zpracovávat, ukládat a~později se k~nim vracet. Jejich přístupnost veřejnosti stojí na možnostech rychlého a~efektivního vyhledávání. Hledání jehly v~(textové) kupce sena je jedním z~nejstarších a~nejvíce zkoumaných problémů teoretické informatiky.

V~bakalářské práci, kterou právě čtete, se zabýváme popisem a~implementací Burrows-Wheelerovy transformace, jejíž objev znamenal průlom v~oboru komprese dat, a~na ní postavených vyhledávacích algoritmů. V~kombinaci s~dalšími algoritmy umožňuje snížit nároky archivace dat na diskový prostor a~současně zachovává možnost rychlého přístupu a~vyhledávání.

Díky praktické části práce umožníme akademické obci v~rámci prostředí \acrlong{alt} \cite{alt} pozorovat reakce implementovaných algoritmů na různé vstupy. Snadno najde uplatnění v~předmětech zabývajících se vyhledáváním v~textu, kde pomůže doplnit probíranou látku z~oblasti \acrshort{bwt} praktickými ukázkami.

\section{Struktura práce}

Obsah práce jsme rozdělili do šesti kapitol proložených názornými příklady. Nejprve v~kapitole \ref{ch:purpose} vytyčíme cíle, jimiž se budeme zabývat, poté v~kapitole \ref{ch:preliminaries} představíme důležité pojmy z~oblasti řetězců, které budeme používat ve zbytku práce. V~kapitole \ref{ch:bwt} čtenáře zasvětíme do problematiky Burrows-Wheelerovy transformace a~ukážeme, jak efektivně provádět oba její směry. Poté v~kapitole \ref{ch:searching} využijeme získané znalosti pro popis algoritmů, které pomocí \acrshort{bwt} vyhledávají vzorky v~textu. Poslední dvě kapitoly \ref{ch:implementation} a~\ref{ch:testing} tvoří praktickou část práce. Poukážeme v~nich na úskalí průběhu implementace a~popíšeme, jak jsme testovali její korektnost. Na závěr uvedeme výsledky několika provedených experimentů za účelem porovnání rychlosti a~paměťové složitosti algoritmů v~různých situacích.