Кіріспе

Жолдарды салыстырудың математикалық моделі
Компьютер ғылымында, w жолы және n саны үшін Левенштейн автоматы – бұл w-ға қатысты Левенштейн қашықтығы n-нен аспайтын барлық жолдар жиынын танитын шекті күйдегі автомат. Яғни, x жолы Левенштейн автоматы танитын формальді тілге кіреді, егер және тек қана егер x жолын ең көп дегенде n бір символдық қосылу, жою және алмастыру арқылы w жолына түрлендіруге болады.

Қолданбалар

Левенштейн автоматтары дұрыс жазылмаған сөзге жақын сөздерді табу арқылы орфографиялық түзету үшін қолданылуы мүмкін. Осы қолданбада сөздің дұрыс жазылмағаны анықталғанда, оның Левенштейн автоматы құрастырылып, сөздіктегі барлық сөздерге қолданылады, осылайша қайсысының дұрыс жазылмаған сөзге жақын екені анықталады. Егер сөздік три түрінде сығымдалған күйде сақталса, автомат құрылғаннан кейін бұл алгоритмнің жұмыс істеу уақыты тридегі түйіндер санына пропорционалды болады, бұл әрбір сөздік сөзі үшін Левенштейн қашықтығын жеке есептеу үшін динамикалық бағдарламалауды қолданудан әлдеқайда жылдам.

Құрылыс

Кез келген тұрақты n үшін, w және n үшін Левенштейн автоматы O(|w|) уақытында құрастырылуы мүмкін. Тюзе осы автоматты құруға арналған тиімді алгоритм ұсынды. Левенштейн (немесе Дамерау–Левенштейн) қашықтығының үшінші автомат құрастыру әдісі – Хассан және авторлардың Левенштейн түрлендіргіштері. Олар өңдеу қашықтығын 1-ге тең ететін шекті күйдегі түрлендіргіштерді көрсетеді, содан кейін оларды белгілі бір тұрақтыға дейінгі өңдеу қашықтығын іске асыру үшін біріктіреді.