Computando subcadenas líndon maximales de una cadena
Autores: Franek, Frantisek; Liut, Michael
Idioma: Inglés
Editor: MDPI
Año: 2020
Acceso abierto
Artículo científico
2020
Computando subcadenas líndon maximales de una cadena
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Algoritmo eficiente para identificar subcadenas de Lyndon derechomaximales
Algoritmo lineal para ordenar sufijos
Arreglo de Lyndon
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 26
Citaciones: Sin citaciones
Hay dos razones para tener un algoritmo eficiente para identificar todas las subcadenas de Lyndon derechas maximales de una cadena: en primer lugar, Bannai et al. introdujeron en 2015 un algoritmo lineal para calcular todas las ejecuciones de una cadena que se basa en conocer todas las subcadenas de Lyndon derechas maximales de la cadena de entrada, y en segundo lugar, Franek et al. mostraron en 2017 una equivalencia lineal de ordenar sufijos y ordenar subcadenas de Lyndon derechas maximales de una cadena, inspirados por un novedoso algoritmo de ordenación de sufijos de Baier. En 2016, Franek et al. presentaron una breve descripción general de algoritmos para calcular el arreglo de Lyndon que codifica el conocimiento de las subcadenas de Lyndon derechas maximales de la cadena de entrada. Entre los presentados estaban dos algoritmos conocidos para calcular el arreglo de Lyndon: un algoritmo cuadrático in-place basado en el algoritmo iterado de Duval para la factorización de Lyndon y un esquema algorítmico lineal basado en la ordenación lineal de sufijos, calculando el arreglo de sufijos inverso y aplicando a él el algoritmo. El algoritmo de Duval funciona para cadenas sobre cualquier alfabeto ordenado, mientras que para la ordenación lineal de sufijos, se requiere un alfabeto constante o entero. En ese momento, los autores no estaban al tanto del algoritmo de Baier. En 2017, nuestro grupo de investigación propuso un algoritmo novedoso para el arreglo de Lyndon. Aunque el algoritmo propuesto es lineal en el caso promedio y tiene complejidad en el peor de los casos, es interesante ya que emula el enfoque recursivo del algoritmo rápido de Fourier e introduce la -reducción, que podría ser de interés independiente. En 2018, presentamos un algoritmo lineal para calcular el arreglo de Lyndon de una cadena inspirado en la Fase I del algoritmo de Baier para la ordenación de sufijos. Este documento presenta el análisis teórico de estos dos algoritmos y proporciona comparaciones empíricas de ambas implementaciones con respecto al algoritmo iterado de Duval.
Descripción
Hay dos razones para tener un algoritmo eficiente para identificar todas las subcadenas de Lyndon derechas maximales de una cadena: en primer lugar, Bannai et al. introdujeron en 2015 un algoritmo lineal para calcular todas las ejecuciones de una cadena que se basa en conocer todas las subcadenas de Lyndon derechas maximales de la cadena de entrada, y en segundo lugar, Franek et al. mostraron en 2017 una equivalencia lineal de ordenar sufijos y ordenar subcadenas de Lyndon derechas maximales de una cadena, inspirados por un novedoso algoritmo de ordenación de sufijos de Baier. En 2016, Franek et al. presentaron una breve descripción general de algoritmos para calcular el arreglo de Lyndon que codifica el conocimiento de las subcadenas de Lyndon derechas maximales de la cadena de entrada. Entre los presentados estaban dos algoritmos conocidos para calcular el arreglo de Lyndon: un algoritmo cuadrático in-place basado en el algoritmo iterado de Duval para la factorización de Lyndon y un esquema algorítmico lineal basado en la ordenación lineal de sufijos, calculando el arreglo de sufijos inverso y aplicando a él el algoritmo. El algoritmo de Duval funciona para cadenas sobre cualquier alfabeto ordenado, mientras que para la ordenación lineal de sufijos, se requiere un alfabeto constante o entero. En ese momento, los autores no estaban al tanto del algoritmo de Baier. En 2017, nuestro grupo de investigación propuso un algoritmo novedoso para el arreglo de Lyndon. Aunque el algoritmo propuesto es lineal en el caso promedio y tiene complejidad en el peor de los casos, es interesante ya que emula el enfoque recursivo del algoritmo rápido de Fourier e introduce la -reducción, que podría ser de interés independiente. En 2018, presentamos un algoritmo lineal para calcular el arreglo de Lyndon de una cadena inspirado en la Fase I del algoritmo de Baier para la ordenación de sufijos. Este documento presenta el análisis teórico de estos dos algoritmos y proporciona comparaciones empíricas de ambas implementaciones con respecto al algoritmo iterado de Duval.