Saya mencari algoritma pencocokan string k-mismatch yang cepat. Diberikan string pola P dengan panjang m, dan string teks T dengan panjang n, saya memerlukan algoritma cepat (waktu linear) untuk menemukan semua posisi di mana P cocok dengan substring T dengan paling banyak k ketidakcocokan. Ini berbeda dari masalah k-perbedaan (jarak edit). Ketidakcocokan menyiratkan substring dan pola memiliki huruf yang berbeda di sebagian besar posisi k. Saya benar-benar hanya memerlukan k = 1 (paling banyak 1 mismatch), jadi algoritma cepat untuk kasus spesifik k = 1 juga sudah cukup. Ukuran alfabet adalah 26 (teks bahasa Inggris case-insensitive), jadi kebutuhan ruang tidak boleh tumbuh terlalu cepat dengan ukuran alfabet (mis., Algoritma FAAST, saya percaya, membutuhkan ruang eksponensial dalam ukuran alfabet, dan sebagainya hanya cocok untuk sekuens protein dan gen).
Pendekatan berbasis pemrograman dinamis akan cenderung menjadi O (mn) dalam kasus terburuk, yang akan terlalu lambat. Saya percaya ada modifikasi dari algoritma Boyer-Moore untuk ini, tetapi saya tidak bisa mendapatkan kertas-kertas tersebut. Saya tidak memiliki langganan untuk mengakses jurnal atau publikasi akademis, jadi referensi apa pun harus ada dalam domain publik.
Saya akan sangat menghargai setiap petunjuk, atau referensi ke dokumen yang tersedia secara bebas, atau algoritma itu sendiri untuk masalah ini.