38 research outputs found

    Effective encodings of constraint programming models to SMT

    Get PDF
    Funding: UK EPSRC grant EP/P015638/1.Satisfiability Modulo Theories (SMT) is a well-established methodology that generalises propositional satisfiability (SAT) by adding support for a variety of theories such as integer arithmetic and bit-vector operations. SMT solvers have made rapid progress in recent years. In part, the efficiency of modern SMT solvers derives from the use of specialised decision procedures for each theory. In this paper we explore how the Essence Prime constraint modelling language can be translated to the standard SMT-LIB language. We target four theories: bit-vectors (QF_BV), linear integer arithmetic (QF_LIA), non-linear integer arithmetic (QF_NIA), and integer difference logic (QF_IDL). The encodings are implemented in the constraint modelling tool Savile Row. In an extensive set of experiments, we compare our encodings for the four theories, showing some notable differences and complementary strengths. We also compare our new encodings to the existing work targeting SMT and SAT, and to a well-established learning CP solver. Our two proposed encodings targeting the theory of bit-vectors (QF_BV) both substantially outperform earlier work on encoding to QF_BV on a large and diverse set of problem classes.Postprin

    Using small MUSes to explain how to solve pen and paper puzzles

    Get PDF
    Pen and paper puzzles like Sudoku, Futoshiki and Skyscrapers are hugely popular. Solving such puzzles can be a trivial task for modern AI systems. However, most AI systems solve problems using a form of backtracking, while people try to avoid backtracking as much as possible. This means that existing AI systems do not output explanations about their reasoning that are meaningful to people. We present Demystify, a tool which allows puzzles to be expressed in a high-level constraint programming language and uses MUSes to allow us to produce descriptions of steps in the puzzle solving. We give several improvements to the existing techniques for solving puzzles with MUSes, which allow us to solve a range of significantly more complex puzzles and give higher quality explanations. We demonstrate the effectiveness and generality of Demystify by comparing its results to documented strategies for solving a range of pen and paper puzzles by hand, showing that our technique can find many of the same explanations.Publisher PD

    Towards generic explanations for pen and paper puzzles with MUSes

    Get PDF
    This research was supported by the Royal Society URF\R\180015 .Pen and paper puzzles like Sudoku, Futoshiki and Star Battle are hugely popular. Solving such puzzles can be a trivial task for modern AI systems. However, most AI systems solve problems using a form of backtracking, while people try to avoid backtracking as much as possible. This means that existing AI systems do not output explanations about their reasoning that are meaningful to people. We present Demystify, a tool which allows puzzles to be expressed in a high-level constraint programming language and uses MUSes to allow us to produce descriptions of steps in the puzzle solving. We give several improvements to the existing techniques for solving puzzles with MUSes, which allow us to solve a range of significantly more complex puzzles and give higher quality explanations. We demonstrate the effectiveness and generality of Demystify by comparing its results to documented strategies for solving a range of pen and paper puzzles by hand, showing that our technique can find many of the same explanations.Publisher PD

    SMT techniques for planning problems

    Get PDF
    Automated planning is a discipline in the field of Artificial Intelligence that can be described as the process of finding a course of action that achieves a specified task. In other words, it focuses on reasoning about causal structures and identifying the necessary actions for achieving a given goal. Although classical planning approaches have been widely successful, the needs of real-world applications go way beyond its potential. In the area of automated planning many formalisms exist in order to express all the needs these problems encompass. This huge variety of problems range from classical planning to reasoning about partially observable Markov decision processes, multi-agent planning, real-time perceiving and acting or temporal and numeric reasoning. There exist a wide range of techniques to confront each of the aforementioned formalisms, each one having its own advantages and weaknesses. In this thesis we restrict ourselves to the setting of hybrid planning. That is, the combination of the propositional planning with extensions to be able to reason about different theories, such as integer or real arithmetic. This thesis presents a set of techniques to efficiently encode planning problems that involve reasoning at propositional level as well as to deal with background theories. To address reasoning about the different theories, we use SAT Modulo Theories (SMT), an extension to SAT that allows the solver to, in a modular way, reason about non-propositional symbols belonging to background theories. This framework is interesting because it is expressive enough to translate many real-world planning problems. The main objective of the thesis is to push forward the state of the art of planning as SMT, by devising encodings of planning problems to SMT. The focus is especially on numeric planning, combining classical planning with the ability to reason about integer or floating point numbers. In this setting, many real-world resource-based problems can be encoded. Our implementation of the encodings resulted in a new planner called Rantanplan, which preprocesses and translates numeric planning problems into SMT formulas, to solve them using a SMT solver of choice. We also provide detailed experimental results on new and well-known domains, to show that our approach is competitive with the existing exact numeric plannersLa planificació automàtica és una disciplina dins de la intel·ligència artificial que pot ser descrita com el procés de trobar un seguit d’accions que assoleixen una tasca específica. En altres paraules, es focalitza en raonar sobre estructures causals i identificar les accions necessàries per assolir un objectiu donat. Encara que les aproximacions a la planificació automàtica clàssica han tingut un gran èxit, les necessitats que tenen moltes aplicacions al món real estan per sobre de les seves possibilitats. Existeixen molts formalismes a l’àrea de la planificació automàtica que poden expressar totes les necessitats que tenen aquest tipus de problemes. Aquesta enorme varietat de problemes van des de la planificació clàssica, passant per problemes expressats amb processos de decisió de Markov parcialment observables, problemes de percepció i decisió en temps real o problemes que incorporen raonament temporal i numèric. Existeixen un ampli ventall de tècniques per a afrontar cada un dels formalismes esmentats, cada una amb els seus avantatges i inconvenients. En aquesta tesi ens restringim en el marc de la planificació híbrida. Exactament, la combinació de la planificació proposicional amb extensions per a poder raonar sobre diferents teories, tals com l’aritmètica real o entera. Aquesta tesi presenta un conjunt de tècniques per a codificar de manera eficient problemes de planificació que involucren raonament a nivell proposicional així com raonament amb teories de fons. Per abordar el raonament sobre les diferents teories, farem anar SAT Modulo Teories (SMT), una extensió de SAT que permet al resoledor, de manera modular, raonar sobre símbols no proposicionals pertanyents a teories de fons. Aquest marc és interessant perquè és prou expressiu per a poder traduir molts problemes provinents del món real. L’objectiu principal és millorar l’estat de l’art de la planificació automàtica mitjançant SMT, a través de la codificació dels problemes de planificació a SMT. El focus de la tesi és especialment en la planificació numèrica, on es combina la planificació clàssica amb l’habilitat de raonar sobre nombres enters o reals. En aquest context es poden codificar molts problemes reals amb restriccions sobre recursos. La nostra implementació de les codificacions ha donat fruit a un planificador anomenat Rantanplan, el qual preprocessa i tradueix problemes de planificació numèrics cap a fòrmules SMT, finalment resolent-los amb el resoledor SMT que l’usuari triï. També s’inclouen resultats detallats d’alguns dominis ben coneguts i alguns de nous, per a demostrar que el nostre enfocament és competitiu amb els planificadors numèrics exactes existent

    Plotting : a planning problem with complex transitions

    Get PDF
    Funding: UK EPSRC EP/V027182/1 (IM); MCIU/AEI/FEDER, UE (RTI2018-095609-B-I00) (MV).We focus on a planning problem based on Plotting, a tile-matching puzzle video game published by Taito. The objective of the game is to remove at least a certain number of coloured blocks from a grid by sequentially shooting blocks into the same grid. The interest and difficulty of Plotting is due to the complex transitions after every shot: various blocks are affected directly, while others can be indirectly affected by gravity. We highlight the difficulties and inefficiencies of modelling and solving Plotting using PDDL, the de-facto standard language for AI planners. We also provide two constraint models that are able to capture the inherent complexities of the problem. In addition, we provide a set of benchmark instances, an instance generator and an extensive experimental comparison demonstrating solving performance with SAT, CP, MIP and a state-of-the-art AI planner.Publisher PD

    Plotting:a planning problem with complex transitions

    No full text
    We focus on a planning problem based on Plotting, a tile-matching puzzle video game published by Taito. The objective of the game is to remove at least a certain number of coloured blocks from a grid by sequentially shooting blocks into the same grid. The interest and difficulty of Plotting is due to the complex transitions after every shot: various blocks are affected directly, while others can be indirectly affected by gravity. We highlight the difficulties and inefficiencies of modelling and solving Plotting using PDDL, the de-facto standard language for AI planners. We also provide two constraint models that are able to capture the inherent complexities of the problem. In addition, we provide a set of benchmark instances, an instance generator and an extensive experimental comparison demonstrating solving performance with SAT, CP, MIP and a state-of-the-art AI planner

    Towards Automatic Design of Factorio Blueprints

    No full text
    Factorio is a 2D construction and management simulation video game about building automated factories to produce items of increasing complexity.A core feature of the game is its blueprint system, which allows players to easily save and replicate parts of their designs. Blueprints can reproduce any layout of objects in the game, but are typically used to encapsulate a complex behaviour, such as the production of a non-basic object. Once created, these blueprints are then used as basic building blocks, allowing the player to create a layer of abstraction. The usage of blueprints not only eases the expansion of the factory but also allows the sharing of designs with the game's community.The layout in a blueprint can be optimised using various criteria, such as the total space used or the final production throughput. The design of an optimal blueprint is a hard combinatorial problem, interleaving elements of many well-studied problems such as bin-packing, routing or network design.This work presents a new challenging problem and explores the feasibility of a constraint model to optimise Factorio blueprints, balancing correctness, optimality, and performance
    corecore