We consider the problem of determinizing and minimizing automata for nested words in practice. For this we compile the nested regular expressions () from the usual XPath benchmark to nested word automata (). The determinization of these , however, fails to produce reasonably small automata. In the best case, huge deterministic are produced after few hours, even for relatively small of the benchmark. We propose a different approach to the determinization of automata for nested words. For this, we introduce stepwise hedge automata (s) that generalize naturally on both (stepwise) tree automata and on finite word automata. We then show how to determinize s, yielding reasonably small deterministic automata for the from the XPath benchmark. The size of deterministic s automata can be reduced further by a novel minimization algorithm for a subclass of s. In order to understand why the new approach to determinization and minimization works so nicely, we investigate the relationship between and s further. Clearly, deterministic s can be compiled to deterministic in linear time, and conversely can be compiled to nondeterministic s in polynomial time. Therefore, we can use s as intermediates for determinizing , while avoiding the huge size increase with the usual determinization algorithm for . Notably, the obtained from the s perform bottom-up and left-to-right computations only, but no top-down computations. This behavior can be distinguished syntactically by the (weak) single-entry property, suggesting a close relationship between s and single-entry . In particular, it turns out that the usual determinization algorithm for behaves well for single-entry , while it quickly explodes without the single-entry property. Furthermore, it is known that the class of deterministic multi-module single-entry enjoys unique minimization. The subclass of deterministic s to which our novel minimization algorithm applies is different though, in that we do not impose multiple modules. As further optimizations for reducing the sizes of the constructed s, we propose schema-based cleaning and symbolic representations based on apply-else rules that can be maintained by determinization. We implemented the optimizations and report the experimental results for the automata constructed for the XPathMark benchmark.
Requêtes logiques sur les hyperflux: Les hyperflux sont des collections de flux de données avec références. Sachant qu’ils permettent la réception de données en parallèle plutôt que de manière purement séquentielle, l’on peut espérer que des données structurées transmises par leur biais puissent être traitées avec une latence moindre qu’avec un flux. Nous proposons ainsi de développer des algorithmes d’évaluation de requêtes logiques sur les hyperflux de données. Pour ce faire, nous nous intéressons à la faisabilité théorique et pratique d’un algorithme de décision du problème de certitude d’une réponse (CQA) sur les hyperflux. Nous étudions la complexité du CQA sur les hyperflux. Nous montrons d’abord que le CQA est intimement lié à des problèmes de correspondance de motifs dans les langages réguliers, et donc aux problèmes d’habitation des transitions d’automates de mots et d’arbres. Cela nous permet d’établir une classification de la complexité du CQA pour des classes d’automates et d’hyperflux variées. Nous obtenons des résultats en temps polynomial pour les hyperflux linéaires sans compression et les requêtes dé-finies par des automates déterministes pour forêts. Pour le cas général, la complexité atteint ExpTime. Nous développons ensuite un algo-rithme efficace pour l’approximation du CQA sur les hyperflux. Cet algorithme a une grande couverture, du fait qu’il s’applique à des hy-perflux et des classes d’automates arbitraires, et s’exécute en temps polynomial. Cependant, il ne détecte pas toujours les réponses certaines avec une latence minimale. La troisième contribution est un algorithme pour le CQA sur les flux, qui s’exécute en temps polynomial dans le cas de requêtes booléennes. Cet algorithme est aussi efficace en pratique pour le cas monadique, à l’inverse de toutes les précédentes propo-sitions. Nous le montrons expérimentalement en appliquant l’algorithme aux requêtes navigationnelles XPath habituellement prises pour référence, avec lesquelles toutes les approches précédentes de CQA sans approximation ont échoué. L’utilisation d’automates spéciaux pour les forêts a permis la mise en place dudit algorithme.