Memoization for Unary Logic Programming: Characterizing PTIME
Caractérisation du temps polynomial par la mémoïzation de programmes logiques unaires
Résumé
We give a characterization of deterministic polynomial time computation based on an algebraic structure called the resolution semiring, whose elements can be understood as logic programs or sets of rewriting rules over first-order terms. More precisely, we study the restriction of this framework to terms (and logic programs, rewriting rules) using only unary symbols. We prove it is complete for polynomial time computation, using an encoding of pushdown automata. We then introduce an algebraic counterpart of the memoization technique in order to show its PTIME soundness. We finally relate our approach and complexity results to complexity of logic programming. As an application of our techniques, we show a PTIME-completeness result for a class of logic programming queries which use only unary function symbols.
Une caractérisation abstraite du temps polynomial est donnée par une structure algébrique nommée le semi-anneau de résolution, dont les éléments peuvent être vus comme des programmes logiques ou des ensembles de règles de ré-écriture sur des termes du premier ordre.
Plus précisément, nous étudions la restriction de cette structure à des termes (et aux programmes logiques ou règles de ré-écriture correspondantes) employant uniquement des symboles unaires. Nous démontrons la complétude de ce système pour le temps polynomial grâce à un codage des automates à pile. Nous introduisons ensuite la contre-partie algébrique de la mémoïzation pour démontrer la correction pour le temps polynomial. Cette approche et ces résultats en termes de complexité sont ensuite appliqués aux programmes logiques. Une conséquence de notre approche est la complétude par rapport au temps polynomial d’une classe de requêtes en programmation logique n’employant que des symboles unaires.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...