Optimal eşleştirme, insanların en yakın eşleşmeyi bulmalarına yardımcı olmak için birçok programda kullanılan bir algoritmadır. En uygun eşleştirmeyle, arama önce arama terimiyle bir şekilde eşleşen şeyleri keşfedecektir; daha sonra en uygun eşleşmeler için bulunan öğeleri yeniden kontrol eder. Bunun aksine, bulunan eşleşmeleri yeniden gözden geçirmeyen açgözlü eşleşmelerdir. Bu, pek çok programda kullanılır ve kişilerin belge, web sitesi, program işlevi ve diğer pek çok şeyi bulmalarına yardımcı olabilir. Pek çok optimal eşleştirme algoritması vardır ve her biri belirli bir amacı yerine getirmek için yapılmıştır.
En uygun eşleştirme algoritması, diğer eşleştirme algoritmalarına göre çalışmak için daha uzun sürer, çünkü kullanıldığında çok daha fazlasını yapar. İlk önce girilen arama terimine bakar ve bu terime çok benzeyen tüm eşleşmeleri bulur. Algoritma daha sonra bu eşleşmeleri inceleyecek ve her birinin gerçekten eşleşip eşleşmediğini görmek için her birini dikkatlice analiz edecektir. Bu ikinci kesimden kurtulan herhangi bir ürün daha sonra kullanıcıya gösterilir.
Optimum eşleşmenin karşısında açgözlü eşleşme var. Bu eşleme şemasıyla, kullanıcı yine de bir arama terimi girebilir, bundan sonra eşleştirme algoritması tüm benzer dosya ve belgelere bakarak işe gider. Aradaki fark, açgözlü algoritmanın yeniden değerlendirme aşamasından geçmemesidir, bu nedenle bulunan tüm dokümanlar hemen kullanıcıya gösterilir. Bu algoritma tipik olarak daha hızlı çalışır ve yeniden düşünmenin gerekmeyebileceği veya kullanıcı her bir eşleşen öğeyi görüntüleyen bir sonuç istediğinde daha küçük sistemlerde daha iyi olma eğilimindedir.
Optimum eşleme için pek çok kullanım vardır ve sonuç olarak algoritma birçok farklı program tipine eklenir. Bu yaygın olarak birçok arama motorunda, veritabanlarında ve temel programlarda ve tüm işletim sistemlerinde görülür. Programcı optimum eşleştirme şemasını kullanmak istiyorsa, özel bir yazılıma da programlanabilir.
En uygun eşleştirme algoritması, öğeleri en alakalı öğelere ayırmadan önce her zaman aynı bulma yolunu takip etse de, programcılar için birçok ayrı algoritma vardır. Her algoritma, eşleme özelliğine, bulunan öğeleri yeniden gözden geçirirken ne aranacağını söyler. Eşleştirme algoritmasını düzgün bir şekilde yaparak ve özelleştirerek, programcılar en doğru sonuçları elde etmeyi en iyi şekilde başarabilirler. Örneğin, bir arama motoru genellikle ifadeleri veya anahtar kelimeleri bulmak için optimize edilirken, bir veritabanı kayıtları ve tabloları bulmak için optimize edilebilir.


