Potrivirea optimă este un algoritm folosit în multe programe pentru a ajuta oamenii să găsească cea mai apropiată potrivire. Cu potrivirea optimă, căutarea va descoperi mai întâi lucruri care se potrivesc oarecum cu termenul de căutare; apoi va verifica din nou elementele găsite pentru potriviri optime. Spre deosebire de aceasta este potrivirea lacomă, care nu reconsideră potrivirile găsite. Acesta este folosit în multe programe și poate ajuta oamenii să găsească documente, site-uri web, funcții ale programului și multe alte lucruri. Există mulți algoritmi de potrivire optimă și fiecare este creat pentru a satisface un anumit scop.
Un algoritm de potrivire optimă durează adesea mai mult să funcționeze decât alți algoritmi de potrivire, deoarece face mult mai mult atunci când este utilizat. Mai întâi se uită la termenul de căutare introdus și găsește toate potrivirile care seamănă mult cu acel termen. Algoritmul va analiza apoi aceste potriviri și le va analiza cu atenție pentru a vedea dacă vreuna dintre ele se potrivește cu adevărat. Orice articole care supraviețuiesc acestei a doua tăieturi sunt apoi arătate utilizatorului.
Opusul potrivirii optime este potrivirea lacomă. Cu această schemă de potrivire, utilizatorul este încă capabil să introducă un termen de căutare, după care algoritmul de potrivire începe să lucreze privind toate fișierele și documentele similare. Diferența este că algoritmul greedy nu trece printr-o fază de reconsiderare, astfel încât toate documentele găsite sunt afișate imediat utilizatorului. Acest algoritm funcționează de obicei mai rapid și tinde să fie mai bun pe sistemele mai mici în care s-ar putea să nu fie necesară reconsiderarea sau când utilizatorul dorește un rezultat care să afișeze fiecare element potrivit.
Există multe utilizări pentru potrivirea optimă și, ca rezultat, algoritmul este adăugat la multe tipuri diferite de programe. Acest lucru este observat în mod obișnuit cu multe motoare de căutare, în baze de date și programe de bază și în sisteme de operare întregi. De asemenea, poate fi programat în software personalizat dacă programatorul dorește să utilizeze schema optimă de potrivire.
În timp ce algoritmul de potrivire optimă urmează întotdeauna aceeași cale de găsire a elementelor înainte de a le reduce la elementele cele mai relevante, există mulți algoritmi separati disponibili pentru programatori. Fiecare algoritm îi spune caracteristicii de potrivire ce să caute atunci când se reconsideră elementele găsite. Prin realizarea și personalizarea corectă a algoritmului de potrivire, programatorii sunt capabili să obțină cele mai precise rezultate. De exemplu, un motor de căutare este în general optimizat pentru a găsi expresii sau cuvinte cheie, în timp ce o bază de date poate fi optimizată pentru a găsi înregistrări și tabele.