Hahmonsovitus (engl. pattern matching) voidaan määritellä seuraavasti:
Olkoon
merkkijono (teksti)
ja
toinen merkkijono
(hahmo) aakkostossa
. Hahmontunnistuksen tavoitteena
on selvittää, sisältääkö
osajononaan
:n eli onko
muotoa
jollain merkkijonoilla
.
Tekstihaun sovellutuksissa
on yleensä
varsin pieni (alle 256 merkkiä), kun taas
on
hyvin suuri (gigatavuja eli miljardeja merkkejä).
Käytännössä hahmonsovitusalgoritmien tehokkuuteen vaikuttaa
:n ja
:n lisäksi myös
aakkoston koko
(eli kaikkien mahdollisten
merkkien lukumäärä). Kansainvälisissä merkistöissä, kuten unicode
[uni96], on
kymmeniätuhansia symboleja. Ainoastaan Euroopassa ja Yhdysvalloissa
selvitään 8-bittisillä merkistökoodauksilla.
Tehtäessä tekstihakua hahmonsovitusalgoritmeja käyttäen ajatellaan avainsanojen olevan hahmoja ja dokumenttikokoelman olevan teksti.
Tässä luvussa on lähteenä käytetty kirjoja [CR94] ja [FBY92], sekä Jorma Tarhion merkkijonomenetelmien kurssin luentomonistetta syksyltä 1994.