Enrichir et résoudre des programmes linéaires avec des requêtes conjonctives
Auteur / Autrice : | Nicolas Crosetti |
Direction : | Sophie Tison, Joachim Niehren |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et applications |
Date : | Soutenance le 27/02/2023 |
Etablissement(s) : | Université de Lille (2022-....) |
Ecole(s) doctorale(s) : | Ecole doctorale Mathématiques, sciences du numérique et de leurs interactions (Lille ; 2021-....) |
Partenaire(s) de recherche : | Laboratoire : Centre de Recherche en Informatique, Signal et Automatique de Lille |
Jury : | Président / Présidente : Pierre Marquis |
Examinateurs / Examinatrices : Luce Brotcorne, Florent Capelli, Jan Ramon | |
Rapporteurs / Rapporteuses : Pierre Senellart, Bruno Zanuttini |
Résumé
L'optimisation mathématique et la gestion des données sont deux domaines majeurs de l'informatique qui sont largement étudiés par des communautés essentiellement distinctes.Cependant, les problèmes d'optimisation complexes dépendent souvent de grands jeux de données qui peuvent être difficiles à gérer,alors que la gestion de grandes quantités de données n'est utile que dans la mesure où l'on analyse ces données pour en extraire des connaissancesafin de résoudre un problème pratique, de sorte que ces domaines sont souvent entremêlés en pratique.Cette thèse se place à la croisée de ces deux domaines en étudiant les programmes linéaires qui raisonnent sur les réponses de requêtes de bases de données.La première contribution de cette thèse est la définition de ce que nous appelons le langage des programmes linéaires avec requêtes conjonctives (que nous noterons LP(CQ)).Il s'agit d'un langage de modélisation de programmes linéaires avec des constructions permettant d'exprimer des contraintes et sommes linéairesqui raisonnent sur les ensembles de réponses de requêtes de bases de données sous forme conjonctive.Nous décrivons ensuite la sémantique naturelle du langage en montrant comment de tels modèles peuvent être interprétés,en conjonction avec une base de données, en de vrais programmes linéairesqui peuvent ensuite être résolus par tout solveur de programmes linéaires standard et nous discutons de la difficulté de résoudre les modèles LP(CQ).Motivés par la difficulté de résoudre les modèles LP(CQ) en général, nous introduisons ensuiteun processus basé sur ce que nous appelons l'interprétation T-factorisée pour résoudre de tels modèles plus efficacement.Cette approche est basée sur des techniques classiques en théorie des bases de donnéespour exploiter la structure des requêtes en utilisant des décompositions arborescentes de petite largeur.L'interprétation T-factorisée produit un programme linéaire qui a la même valeur optimale que la sémantique naturelle du modèle mais moins de variableset qui peut donc être utilisé pour résoudre le modèle plus efficacement.La troisième contribution est une généralisation du résultat précédent au cadre des bases de données factorisées.Nous introduisons une structure de données spécifique pour coder succinctement les relations sous forme de circuit.Nous définissons ensuite l'interprétation dite C-factorisée qui exploite le caractère succinct de ces circuitspour produire un programme linéaire qui a la même valeur optimale que la sémantique naturelle du modèle mais avec moins de variablesde manière similaire à l'interprétation T-factorisée.Enfin, nous montrons que nous pouvons explicitement compiler les ensembles de réponses de requêtes conjonctives admettant une décomposition de petite largeuren circuits succincts, ce qui nous permet de récapturer l'interprétation T-factorisée.