Vigny, Alexandre, Value from Data (VALDA ), Département d'informatique - ENS Paris (DI-ENS), Centre National de la Recherche Scientifique (CNRS)-Institut National de Recherche en Informatique et en Automatique (Inria)-École normale supérieure - Paris (ENS Paris), Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL)-Centre National de la Recherche Scientifique (CNRS)-Institut National de Recherche en Informatique et en Automatique (Inria)-École normale supérieure - Paris (ENS Paris), Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL)-Inria de Paris, Institut National de Recherche en Informatique et en Automatique (Inria), Institut de Mathématiques de Jussieu - Paris Rive Gauche (IMJ-PRG (UMR_7586)), Université Paris Diderot - Paris 7 (UPD7)-Sorbonne Université (SU)-Centre National de la Recherche Scientifique (CNRS), Université Paris-Diderot, Arnaud Durand, Luc Segoufin, École normale supérieure - Paris (ENS-PSL), Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-École normale supérieure - Paris (ENS-PSL), Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-Inria de Paris, Département d'informatique de l'École normale supérieure (DI-ENS), École normale supérieure - Paris (ENS Paris)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-École normale supérieure - Paris (ENS Paris)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-Inria de Paris, Senellart, Pierre, École normale supérieure - Paris (ENS Paris), and Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-École normale supérieure - Paris (ENS Paris)
Query evaluation is one of the most central tasks of a database system, and a vast amountof literature is devoted to the complexity of this problem. Given a database D and a queryq, the goal is to compute the set q(D) of all solutions for q over D. Unfortunately, theset q(D) might be much bigger than the database itself, as the number of solutions maybe exponential in the arity of the query. It can therefore be insufficient to measure thecomplexity of answering q on D only in terms of the total time needed to compute thecomplete result set q(D). One can imagine many scenarios to overcome this situation.We could for instance only want to compute the number of solutions or just computethe k most relevant solutions relative to some ranking function.In this thesis we mainly consider the complexity of enumerating the set q(D), i.e.,generating one by one all the solutions for q on D. In this context two parameters playan important role. The first one is the preprocessing time, i.e. the time it takes to producethe first solution. The second one is the delay, i.e. the maximum time between the outputof any two consecutive solutions. An enumeration algorithm is then said to be efficient ifthese two parameters are small. For the delay, the best we can hope for is constant time:depending only on the query and independent from the size of the database. For thepreprocessing time an ideal goal would be linear time: linear in the size of the databasewith a constant factor depending on the query. When both are achieved we say that thequery can be enumerated with constant delay after linear preprocessing.A special case of enumeration is when the query is boolean. In this case the prepro-cessing computes the answer to the query (yes or no). In order to be able to enumeratequeries of a given language efficiently, it is therefore necessary to be able to solve theboolean case efficiently.It has been shown recently that boolean first-order (FO) queries can be evaluated inpseudo-linear time over nowhere dense classes of databases [43]. The notion of nowheredense classes was introduced in [60] as a formalization of classes of “sparse” graphs andgeneralizes many well known classes of databases. Among classes of databases thatare closed under subdatabases, the nowhere dense classes are the largest possible classesenjoying efficient evaluation of FO queries [55] (modulo an assumption in parameterizedcomplexity theory). It has also been shown that over nowhere dense classes of databases,counting the number of solutions to a given FO query can be achieved in pseudo-lineartime [45].In this thesis, we show that enumerating FO queries on nowhere dense classes ofdatabases can be done with constant delay after pseudo-linear preprocessing. This com-pletes the picture of the complexity of FO query evaluation on nowhere dense classesand, due to the above mentioned result of [55], on all classes that are closed under sub-databases. We also show that for any nowhere dense class of databases, given a FO queryq and a database D in the class, after a pseudo-linear time preprocessing we can test inconstant time whether an arbitrary input tuple belongs to the result set q(D)., L’évaluation des requêtes est l’une des tâches les plus importantes en base de données etbeaucoup de recherche a été consacrée à l’étude de la complexité de ce problème. Étantdonné une base de données D et une requête q, le but est de calculer l’ensemble q(D) dessolutions de q sur D. Malheureusement, l’ensemble q(D) peut être beaucoup plus grandque la base de données elle-même, car le nombre de solutions peut être exponentiel enl’arité de la requête. Il n’est donc pas judicieux de mesurer la complexité de l’évaluationde q sur D uniquement en termes de temps nécessaire pour calculer l’ensemble q(D).On peut imaginer de nombreux scénarios pour contourner cette difficulté. On peut parexemple seulement vouloir calculer le nombre de solutions ou juste les k solutions lesplus pertinentes selon un certain ordre.Dans cette thèse, nous considérons principalement la complexité de l’énumération del’ensemble q(D), c’est-à-dire de générer une par une toutes les solutions de q sur D. Dansce contexte deux paramètres jouent un rôle important. Le premier est le pré-calcul, c’est-à-dire le temps qu’il faut pour produire la première solution. Le deuxième est le délai,c’est-à-dire le temps maximum entre la production de deux solutions consécutives. Ondit qu’un algorithme d’énumération est efficace si ces deux paramètres sont petits. Pourle délai, on ne peut pas espérer mieux qu’un temps constant: dépendant uniquement de larequête et indépendant de la taille de la base de données. Pour le pré-calcul, on souhaiteune exécution en temps linéaire: linéaire dans la taille de la base de données avec unfacteur constant dépendant de la requête. Lorsque les deux objectifs sont atteints, on ditque la requête peut être énumérée à délai constant après un pré-calcul linéaire.Un cas particulier d’énumération est lorsque la requête est booléenne. Dans ce cas,le pré-calcul calcule simplement la réponse à la requête (oui ou non). Afin de pouvoirénumérer efficacement les requêtes d’un langage donné, il est donc nécessaire d’êtrecapable de résoudre le cas booléen efficacement.Il a été montré récemment que les requêtes booléennes du premier ordre (FO) peu-vent être évaluées en temps pseudo-linéaire sur les classes de base de données nulle-partdenses [43]. La notion de classe nulle-part dense a été introduite dans [60] comme uneformalisation des classes de graphes “éparses” et généralise de nombreuse classes debase de données. Parmi les classes de bases de données qui sont closes par sous basesde données, les classes nulle-part dense sont les plus grandes bénéficiant d’une éval-uation efficace des requêtes FO [55] (modulo une hypothèse en théorie de complexitéparamétrée). Il a également été montré que sur les bases de données nulle-part dense,compter le nombre de solutions d’une requête FO peut être réalisée en temps pseudo-linéaire [45].Dans cette thèse, nous montrons que l’énumération des questions FO sur les classesde bases de données nulle-part denses peut se faire à délai constant après un pré-calculpseudo-linéaire. Cela complète l’étude de la complexité de l’évaluation des requêtes FOsur les classes nulle-part denses et, grâce au résultat de [55], sur toutes les classes closepar sous bases de données. Nous montrons également que pour toute classe de bases dedonnées nulle-part dense, étant donné une requête FO q et une base de données D decette classe, après un pré-calcul pseudo-linéaire, nous pouvons tester en temps constantsi un tuple donné appartient à l’ensemble des solutions q(D).