Imprimer |
Sketch-based approaches to process massive string data (Approches basé sur les sketches pour le traitement massif de chaînes de caractères) Gourdel, Garance - (2023-10-26) / Université de Rennes Sketch-based approaches to process massive string data
| |||
Langue : Anglais Directeur(s) de thèse: Peterlongo, Pierre; Starikovskaya, Tatiana Discipline : Informatique Laboratoire : IRISA Ecole Doctorale : MATISSE Classification : Informatique Mots-clés : Chaîne de Caractères, Algorithmes, Structures de données, Flots, Recherche Approchée
| |||
Résumé : La simplicité des chaînes de caractères rendent leur traitement crucial pour de nombreuses applications, telles que la bio-informatique, la recherche d’informations et la cybersécurité. Le problème de la recherche exacte d’un motif a naturellement été largement étudié, cependant, de nombreuses applications nécessitent également des requêtes plus complexes. De plus, dans ces domaines applicatifs, la quantité de données à traiter augmente à une vitesse stupéfiante, et les complexités des requêtes ne permettent pas toujours de passer à l’échelle. Dans cette thèse, nous proposons plusieurs algorithmes efficaces en temps et en espace pour divers problèmes sur les chaînes de caractères, en nous appuyant sur des « sketchs » : des compressions (avec ou sans perte) qui ne conservent que les caractéristiques essentielles de l’entrée pour répondre à une requête précise. Dans la première partie de cette thèse, nous étudions des requêtes complexes telles que la recherche par expressions régulières, la recherche de motifs consécutifs avec espacement et la détection de carrés. Pour la recherche d’expressions régulières, nous présentons un algorithme utilisant peu d’espace dans le modèle de flot de données (« streaming ») : les caractères du texte arrivent un par un, et nous ne pouvons accéder aux anciens que si nous les avons stockés explicitement. Ensuite, nous étudions la recherche de motifs consécutifs avec espacement, un type de requête plus simple, où étant donnés deux motifs P1, P2 et un intervalle [a, b], il faut renvoyer toutes les occurrences consécutives (sans autres occurrences des motifs entre les deux) de P1 suivies de P2 espacées d’une distance comprise entre a et b. Nous étudions ce problème sous plusieurs angles : l’indexation compressée et la recherche de motifs dans un texte compressé. Motivés par l’importance de la périodicité, nous étudions ensuite la détection de carrés pour alphabets sans ordres (le cadre le plus abstrait dans lequel les carrés peuvent être définis). Nous fournissons un algorithme optimal et répondons à une question ouverte posée par Main et Lorentz en 1984. La seconde partie de cette thèse propose quelques utilisations d’approximations pour aider à passer à l’échelle sur des grandes quantités de données, en particulier avec application à la bio-informatique. Nous étudions tout d’abord la recherche approximative de motifs, où nous devons rapporter toutes les occurrences à une distance au plus égale à k pour une mesure de similarité donnée. Nous fournissons des algorithmes paramétrés efficaces pour calculer la longueur de la plus longue sous-chaîne commune avec environ k différences, puis pour permettre la recherche de motifs apparaissant avec une distance de « dynamic time warping » au plus k. Enfin, nous proposons un index compressé pour des collections de lectures de séquençage. Cet index tire parti d’alignements sur un génome assemblé pour améliorer la compression, mais l’index est approximatif car il peut renvoyer des faux positifs lors de ses requêtes. Abstract : The simplicity of strings and their impactful usage puts their processing at the heart of many applications, including Bioinformatics, Information Retrieval, and Cybersecurity. Exact pattern matching has been extensively studied as the most natural problem, however, many applications also need more complex queries. Additionally, in all those application fields, the quantity of information to process has been increasing at such a staggering rate, that obtaining scalable algorithms is difficult. In this thesis, we contribute multiple space- and time-efficient algorithms for various string problems, by relying on sketches: compressions (lossless or lossy) that only keep the essential characteristic of the input needed to answer a given query. In the first part of this thesis, we study complex queries such as regular expressions search, gapped consecutive matching, and square detection. For regular expression search, we provide a space-efficient algorithm in the streaming model: characters of the text arrive one at a time, and we can only access past characters if we explicitly store them. Next, gapped consecutive matching is a simpler type of query where, given two patterns P1, P2 and a range [a, b], one must report all consecutive occurrences of P1 followed by P2 separated by a distance in [a, b]. We study this problem in two settings: compressed indexing and pattern matching on a compressed text. Motivated by the importance of periodicity detection, next, we investigate square detection for general alphabets (the most abstract setting where squares can be defined). We give an optimal algorithm which answers an open question asked by Main and Lorentz in 1984. The second part of this thesis proposes several ways to use approximation toward scaling up to large amounts of data in diverse applications including Bioinformatics. We first study approximate matching, where we must report all occurrences at distance at most k for a given similarity measure. We provide efficient parametrized algorithms for computing the length of the longest common substring with approximately k mismatches and to compute all positions of a text where a pattern occurs with dynamic time warping distance at most k. Finally, we propose a compressed index for redundant collections of next-generation sequencing reads, which takes advantage of alignments to an assembled genome to improve the overall compression but can incur false positive occurrences. |