Publication:
Algoritmos de búsqueda de subcadenas para encontrar semejanzas en cadenas numéricas

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2018-09
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
El objetivo de este TFG es implementar distintos algoritmos de búsqueda de subcadenas en ciertas cadenas numéricas dadas. Los algoritmos se aplican a medidas de las variaciones que experimentan los diámetros de los troncos de los árboles a lo largo del día. Se implementan dos tipos de algoritmos: algoritmos generales de cadenas que buscan distintas características que se producen en el tronco a lo largo del tiempo, como por ejemplo el intervalo de tiempo más largo en el que el tronco se ha expandido sin comprimirse, o que comparan los intervalos en los que se producen estas características en varios árboles y algoritmos de búsqueda de subcadenas que buscan un cierto patrón en las cadenas que tenemos. Como los datos son muy variables buscamos la tendencia a crecer o decrecer de las medidas, permitiendo ciertas discrepancias. Los algoritmos implementados, por lo tanto, son en su mayor parte aproximados, permitiendo que algunos valores no se ajusten exactamente en las secuencias que se buscan. Se implementan ambos tipos de algoritmos en una aplicación gráfica, en donde el usuario puede elegir qué tipo de algoritmo usar y las características con las que lo usa. Al final se realiza un estudio de los tiempos de los algoritmos de búsqueda de subcadenas y se comentan los resultados más importantes que se obtienen. Primero se estudian los tiempos de los algoritmos aplicados a ejemplos de árboles reales y luego se crean varios árboles ficticios para estudiar ciertas características del algoritmo de Boyer Moore. Se estudia la mejora de los tiempos del algoritmo exacto de Boyer Moore frente al aproximado con patrones cíclicos y la igualdad cuando el tamaño del patrón es muy grande. Además se comprueba que el algoritmo Shift Add mantiene unos tiempos constantes respecto al tamaño del patrón y el número de discrepancias que se admiten.
The goal of this FDP (Final Degree Project) is to implement different string-searching algorithms in given numerical strings. The algorithms are applied as the diameter of the trunks of the trees changes along the day. Two types of algorithms are implemented: general algorithms of string that search different characteristics produced in the trunk as the time goes by, for example the largest interval of time in which the trunk has expanded without compressing, or compare the intervals in which this characteristics appear in some trees and string-searching algorithms which look for a certain pattern in the strings. Since the data changes a lot we search the tendency of growth or shrinking of the measurements letting some mismatches. Due to this the implemented algorithms are in the most part approximated, allowing that some values are not exactly adjusted in the strings. Both algorithm are implemented in a graphical application where the user can choose the desirable algorithm and its characteristics. At the end it is done a study of the execution time of the string-searching algorithms and the most relevant results are commented. Firstly it is studied the execution time of the algorithms applied to real trees and then virtual trees are created to study certain characteristics of the Boyer Moore algorithm. The improvement of the exact Boyer Moore algorithm times is compared to the approximated Boyer Moore algorithm with cyclic patterns and equality when there is a larger size of the pattern. Additionally it is checked that the Shift Add algorithm maintains constant execution times with respect to the size of the pattern and the number of mismatches admitted.
Description
Universidad Complutense, Facultad de Informática. Departamento de Sistemas Informáticos y Computación, curso 2017/2018
Unesco subjects
Keywords
Citation