¿Cuáles son los algoritmos de coincidencia de patrones más comunes?

Utilizo el algoritmo de coincidencia de patrones de Levenshtein es mi tecnología bot para determinar qué palabras tienen la distancia más cercana a aquellas palabras no reconocidas en la entrada del usuario. Si estaba utilizando un algoritmo de entrada puramente determinista -> Tipo de respuesta para responder a un usuario y no obtuvo una coincidencia exacta en la entrada del usuario, en teoría podría usar la distancia de Levenshtein para determinar la entrada más cercana a la que escribió el usuario, pero sería ser muy intensivo en CPU y posiblemente requiera una gran cantidad de CPU para que coincidan en tiempo real.

En teoría de la información y ciencias de la computación, la distancia de Levenshtein es una medida para medir la cantidad de diferencia entre dos secuencias (es decir, una distancia de edición). El término distancia de edición se usa a menudo para referirse específicamente a la distancia de Levenshtein. La distancia de Levenshtein entre dos cadenas se define como el número mínimo de ediciones necesarias para transformar una cadena en la otra, siendo las operaciones de edición permitidas la inserción, eliminación o sustitución de un solo carácter. Lleva el nombre de Vladimir Levenshtein, quien consideró esta distancia en 1965.

http://en.wikipedia.org/wiki/Lev…

Algunos de los algoritmos de búsqueda de patrones que puede observar:

  1. Búsqueda de patrones ingenua
  2. Algoritmo KMP
  3. Algoritmo Rabin-Karp
  4. Una pregunta ingenua de búsqueda de patrones
  5. Autómatas finitos
  6. Construcción eficiente de autómatas finitos
  7. Algoritmo de Boyer Moore: heurística de mal carácter
  8. Matriz de sufijo
  9. Búsqueda de subcadena de anagrama (o búsqueda de todas las permutaciones)
  10. Búsqueda de patrones usando un Trie de todos los sufijos
  11. Algoritmo Aho-Corasick para la búsqueda de patrones
  12. Algoritmo de kasai para la construcción de la matriz LCP a partir de Suffix Array
  13. Algoritmo Z (Algoritmo de búsqueda de patrón de tiempo lineal)

Más artículos sobre búsqueda de patrones