8,237 research outputs found

    Effective problem solving using SAT solvers

    Full text link
    In this article we demonstrate how to solve a variety of problems and puzzles using the built-in SAT solver of the computer algebra system Maple. Once the problems have been encoded into Boolean logic, solutions can be found (or shown to not exist) automatically, without the need to implement any search algorithm. In particular, we describe how to solve the nn-queens problem, how to generate and solve Sudoku puzzles, how to solve logic puzzles like the Einstein riddle, how to solve the 15-puzzle, how to solve the maximum clique problem, and finding Graeco-Latin squares.Comment: To appear in Proceedings of the Maple Conference 201

    Recurrent Relational Networks

    Full text link
    This paper is concerned with learning to solve tasks that require a chain of interdependent steps of relational inference, like answering complex questions about the relationships between objects, or solving puzzles where the smaller elements of a solution mutually constrain each other. We introduce the recurrent relational network, a general purpose module that operates on a graph representation of objects. As a generalization of Santoro et al. [2017]'s relational network, it can augment any neural network model with the capacity to do many-step relational reasoning. We achieve state of the art results on the bAbI textual question-answering dataset with the recurrent relational network, consistently solving 20/20 tasks. As bAbI is not particularly challenging from a relational reasoning point of view, we introduce Pretty-CLEVR, a new diagnostic dataset for relational reasoning. In the Pretty-CLEVR set-up, we can vary the question to control for the number of relational reasoning steps that are required to obtain the answer. Using Pretty-CLEVR, we probe the limitations of multi-layer perceptrons, relational and recurrent relational networks. Finally, we show how recurrent relational networks can learn to solve Sudoku puzzles from supervised training data, a challenging task requiring upwards of 64 steps of relational reasoning. We achieve state-of-the-art results amongst comparable methods by solving 96.6% of the hardest Sudoku puzzles.Comment: Accepted at NIPS 201

    Who Wants to Play Sadisticube?

    Get PDF
    Logic puzzles and games are popular amongst many people for the purpose of entertainment. They also provide intriguing questions for mathematical research. One popular game that has inspired interesting research is Rubik’s Cube. Researchers at MIT have investigated the Rubik’s Cube to find the maximum number of moves, from any starting position, needed to win the game [6]. Another logic puzzle that has recently become very popular is Sudoku. Sudoku is a Japanese number game where a 9x9 grid is set up with a few numbers scattered on the grid. Mathematicians have been investigating Sudoku, exploring questions such as the number of possible Sudoku grids there are [7]. Sadisticube is a newer logic puzzle, created by a mathematician. A Sadisticube set is made up of eight separate blocks that form a 2x2x2 cube when placed together. The individual blocks can be rotated and swapped with each other to any position in the cube. The goal of the game is the same as in Rubik’s Cube where each face of the cube needs to be one color. However, because there are trillions of ways to arrange the blocks and we do not know what our solution will look like, Sadisticube is far more difficult than Rubik’s Cube to solve by hand. Fortunately, we can use mathematics to find solutions. Graphs can be used to model the cube so that a solution can be determined for any particular set of blocks. The methods used to create the matrices were adapted from a paper by Jean- Marie Magnier [5]. We will describe how to generate the matrices and their corresponding graphs and will then focus on the graphs in the second half of the paper. After describing how to generate graphs, we will discuss the analysis done on several graphs and the results we found while searching for characteristics common to all graphs
    corecore