8 research outputs found

    On the Resolution Semiring

    Get PDF
    In this thesis, we study a semiring structure with a product based on theresolution rule of logic programming. This mathematical object was introducedinitially in the setting of the geometry of interaction program in order to modelthe cut-elimination procedure of linear logic. It provides us with an algebraicand abstract setting, while being presented in a syntactic and concrete way, inwhich a theoretical study of computation can be carried on.We will review first the interactive interpretation of proof theory withinthis semiring via the categorical axiomatization of the geometry of interactionapproach. This interpretation establishes a way to translate functional programsinto a very simple form of logic programs.Secondly, complexity theory problematics will be considered: while thenilpotency problem in the semiring we study is undecidable in general, it willappear that certain restrictions allow for characterizations of (deterministicand non-deterministic) logarithmic space and (deterministic) polynomial timecomputation

    Résolution d'équations en algèbre de Kleene : applications à l'analyse de programmes

    Get PDF
    Au fil des ans, l'algèbre de Kleene s'est avérée être un outil formel très pratique et flexible quant vient le temps de raisonner sur les programmes informatiques. Cependant, actuellement, la plupart des applications à l'analyse de programmes de l'algèbre de Kleene se font en sélectionnant un problème précis et en voyant comment l'algèbre de Kleene permet de le résoudre, ce qui limite les applications possibles. L'objectif visé par ce mémoire est de déterminer dans quelle mesure la résolution d'équations, en algèbre de Kleene, peut être utilisée en analyse de programmes. Une grande partie de ce mémoire est donc consacrée à la résolution de différents types d'équations dans différentes variantes de l'algèbre de Kleene. Puis nous montrons comment la vérification de programmes ainsi que la synthèse de contrôleurs peuvent tirer profit de la résolution d'équations en algèbre de Kleene

    Weighted programming: A programming paradigm for specifying mathematical models

    Get PDF
    We study weighted programming, a programming paradigm for specifying mathematical models. More specifically, the weighted programs we investigate are like usual imperative programs with two additional features: (1) nondeterministic branching and (2) weighting execution traces. Weights can be numbers but also other objects like words from an alphabet, polynomials, formal power series, or cardinal numbers. We argue that weighted programming as a paradigm can be used to specify mathematical models beyond probability distributions (as is done in probabilistic programming). We develop weakest-precondition- and weakest-liberal-precondition-style calculi Ă  la Dijkstra for reasoning about mathematical models specified by weighted programs. We present several case studies. For instance, we use weighted programming to model the ski rental problem - an optimization problem. We model not only the optimization problem itself, but also the best deterministic online algorithm for solving this problem as weighted programs. By means of weakest-precondition-style reasoning, we can determine the competitive ratio of the online algorithm on source code level

    Planification de coût optimal basée sur les CSP pondérés

    Get PDF
    For planning to come of age, plans must be judged by a measure of quality, such as the total cost of actions. This thesis describes an optimal-cost planner in the classical planning framework except that each action has a cost.We code the extraction of an optimal plan, from a planning graph with a fixed number k of levels, as a weighted constraint satisfaction problem (WCSP). The specific structure of the resulting WCSP means that a state-of-the-art exhaustive solver was able to find an optimal plan in planning graphs containing several thousand nodes.We present several methods for determining a tight bound on the number of planning-graph levels required to ensure finding a globally optimal plan. These include universal notions such as indispensable sets S of actions: every valid plan contains at least one action in S. Different types of indispensable sets can be rapidly detected by solving relaxed planning problems related to the original problem. On extensive trials on benchmark problems, the bound on the number of planning-graph levels was reduced by an average of 60% allowing us to solve many instances to optimality.Thorough experimental investigations demonstrated that using the planning graph in optimal planning is a practical possibility, although not competitive, in terms of computation time, with a recent state-of-the-art optimal planner.Un des challenges actuels de la planification est la résolution de problèmes pour lesquels on cherche à optimiser la qualité d'une solution telle que le coût d'un plan-solution. Dans cette thèse, nous développons une méthode originale pour la planification de coût optimal dans un cadre classique non temporel et avec des actions valuées.Pour cela, nous utilisons une structure de longueur fixée appelée graphe de planification. L'extraction d'une solution optimale, à partir de ce graphe, est codée comme un problème de satisfaction de contraintes pondérées (WCSP). La structure spécifique des WCSP obtenus permet aux solveurs actuels de trouver, pour une longueur donnée, une solution optimale dans un graphe de planification contenant plusieurs centaines de nœuds. Nous présentons ensuite plusieurs méthodes pour déterminer la longueur maximale des graphes de planification nécessaire pour garantir l'obtention d'une solution de coût optimal. Ces méthodes incluent plusieurs notions universelles comme par exemple la notion d'ensembles d'actions indispensables pour lesquels toutes les solutions contiennent au moins une action de l'ensemble. Les résultats expérimentaux effectués montrent que l'utilisation de ces méthodes permet une diminution de 60% en moyenne de la longueur requise pour garantir l'obtention d'une solution de coût optimal. La comparaison expérimentale avec d'autres planificateurs montre que l'utilisation du graphe de planification et des CSP pondérés pour la planification optimale est possible en pratique même si elle n'est pas compétitive, en terme de temps de calcul, avec les planificateurs optimaux récents

    Caractérisation du temps polynomial par la mémoïzation de programmes logiques unaires

    Get PDF
    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
    corecore