Analysis of Sudoku Solving Algorithms
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Donald Knuth Fletcher Jones Professor of Computer Science, Emeritus Curriculum Vitae Available Online
Donald Knuth Fletcher Jones Professor of Computer Science, Emeritus Curriculum Vitae available Online Bio BIO Donald Ervin Knuth is an American computer scientist, mathematician, and Professor Emeritus at Stanford University. He is the author of the multi-volume work The Art of Computer Programming and has been called the "father" of the analysis of algorithms. He contributed to the development of the rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it. In the process he also popularized the asymptotic notation. In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces. As a writer and scholar,[4] Knuth created the WEB and CWEB computer programming systems designed to encourage and facilitate literate programming, and designed the MIX/MMIX instruction set architectures. As a member of the academic and scientific community, Knuth is strongly opposed to the policy of granting software patents. He has expressed his disagreement directly to the patent offices of the United States and Europe. (via Wikipedia) ACADEMIC APPOINTMENTS • Professor Emeritus, Computer Science HONORS AND AWARDS • Grace Murray Hopper Award, ACM (1971) • Member, American Academy of Arts and Sciences (1973) • Turing Award, ACM (1974) • Lester R Ford Award, Mathematical Association of America (1975) • Member, National Academy of Sciences (1975) 5 OF 44 PROFESSIONAL EDUCATION • PhD, California Institute of Technology , Mathematics (1963) PATENTS • Donald Knuth, Stephen N Schiller. "United States Patent 5,305,118 Methods of controlling dot size in digital half toning with multi-cell threshold arrays", Adobe Systems, Apr 19, 1994 • Donald Knuth, LeRoy R Guck, Lawrence G Hanson. -
Solving Sudoku with Dancing Links
Solving Sudoku with Dancing Links Rob Beezer [email protected] Department of Mathematics and Computer Science University of Puget Sound Tacoma, Washington USA African Institute for Mathematical Sciences October 25, 2010 Available at http://buzzard.pugetsound.edu/talks.html Example: Combinatorial Enumeration Create all permutations of the set f0; 1; 2; 3g Simple example to demonstrate key ideas Creation, cardinality, existence? There are more efficient methods for this example Rob Beezer (U Puget Sound) Solving Sudoku with Dancing Links AIMS October 2010 2 / 37 Brute Force Backtracking BLACK = Forward BLUE = Solution RED = Backtrack root 0 1 2 0 1 3 3 0 2 1 0 2 3 3 0 3 1 0 3 1 0 2 0 0 1 2 2 0 1 3 0 2 1 3 0 2 3 0 3 1 3 0 3 3 1 0 2 1 0 0 0 1 2 0 1 0 2 1 0 2 0 3 1 0 3 1 0 2 0 0 1 2 3 0 0 2 0 0 3 0 1 0 2 2 0 1 0 1 2 0 2 0 2 2 0 3 0 3 2 root 1 0 2 0 1 0 0 1 0 2 0 0 2 0 3 0 0 3 2 0 1 1 0 2 3 0 1 0 1 3 0 2 0 2 3 0 3 0 3 2 1 0 1 0 2 . 0 1 1 0 1 3 0 0 2 1 0 2 3 0 0 3 1 0 3 2 1 1 0 0 . -
Representing Sudoku As an Exact Cover Problem and Using Algorithm X and Dancing Links to Solve the Represented Problem
Bhavana Yerraguntla Bhagya Dhome SUDOKU SOLVER Approach: Representing Sudoku as an exact cover problem and using Algorithm X and Dancing Links to solve the represented problem. Before we start, let us try to understand what Exact Cover is; Exact Cover: Given a set S and another set X where each element is a subset to S, select a set of subsets S* such that every element in X exist in exactly one of the selected sets. This selection of sets is said to be a cover of the set S. The exact cover problem is a decision problem to find an exact cover. E.g. Let S = {A, B, C, D, E, F} be a collection of subsets of a set X = {1, 2, 3, 4, 5, 6, 7} s t: A = {1, 4, 7} B = {1, 4} C = {4, 5, 7} D = {3, 5, 6} E = {2, 3, 6, 7} F = {2, 7} Then the set of subsets S* = {B, D, F} is an exact cover. Before we represent the Sudoku problem into an exact cover, let’s explore an example smaller. The basic approach towards solving an exact cover problem is simple 1) List the constraints that needs to be satisfied. (columns) 2) List the different ways to satisfy the constraints. (rows) Simple example: Imagine a game of Cricket (a batting innings), the batting order is almost filled with three batsmen A, B, C are yet to be placed and with three exact spots unfilled. One opener, one top order and one middle order. Each batsman must play in one order, and no two batsman must be in the same order. -
Leading the Way in Scientific Computing. Addison-Wesley. I When Looking for the Best in Scientific Computing, You've Come to Rely on Addison-Wesley
Leading the way in scientific computing. Addison-Wesley. I When looking for the best in scientific computing, you've come to rely on Addison-Wesley. I Take a moment to see how we've made our list even stronger. The LATEX Companion sional programming languages. This book is the definitive user's Michael Goossens, Frank Mittelbach, and Alexander Samarin guide and reference manual for the CWEB system. This book is packed with information needed to use LATEX even 1994 (0-201 -57569-8) approx. 240 pp. Softcover more productively. It is a true companion to Leslie Lamport's users guide as well as a valuable complement to any LATEX introduction. Concrete Mathematics. Second Edition Describes the new LATEX standard. Ronald L. Graham, Donald E. Knuth, and Oren Patashnick 1994 (0-201 -54 199-8) 400 pp. Softcover With improvements to almost every page, the second edition of this classic text and reference introduces the mathematics that LATEX: A Document Preparation System, Second Edition supports advanced computer programming. Leslie Lamport 1994 (0-201 -55802-5) 672 pp. Hardcover The authoritative user's guide and reference manual has been revised to document features now available in the new standard Applied Mathematics@: Getting Started, Getting It Done software release-LATEX~E.The new edition features additional styles William T. Shaw and Jason Tigg and functions, improved font handling, and much more. This book shows how Mathematics@ can be used to solve problems in 1994 (0-201-52983-1) 256 pp. Softcover the applied sciences. Provides a wealth of practical tips and techniques. 1 994 (0-201 -542 1 7-X) 320 pp. -
Solving Sudoku with Dancing Links
Solving Sudoku with Dancing Links Rob Beezer [email protected] Department of Mathematics and Computer Science University of Puget Sound Tacoma, Washington USA Stellenbosch University October 8, 2010 Available at http://buzzard.pugetsound.edu/talks.html Example: Combinatorial Enumeration Create all permutations of the set f0; 1; 2; 3g Simple example to demonstrate key ideas Creation, cardinality, existence? There are more efficient methods for this example Rob Beezer (U Puget Sound) Solving Sudoku with Dancing Links Stellenbosch U October 2010 2 / 37 Brute Force Backtracking BLACK = Forward BLUE = Solution RED = Backtrack root 0 1 2 0 1 3 3 0 2 1 0 2 3 3 0 3 1 0 3 1 0 2 0 0 1 2 2 0 1 3 0 2 1 3 0 2 3 0 3 1 3 0 3 3 1 0 2 1 0 0 0 1 2 0 1 0 2 1 0 2 0 3 1 0 3 1 0 2 0 0 1 2 3 0 0 2 0 0 3 0 1 0 2 2 0 1 0 1 2 0 2 0 2 2 0 3 0 3 2 root 1 0 2 0 1 0 0 1 0 2 0 0 2 0 3 0 0 3 2 0 1 1 0 2 3 0 1 0 1 3 0 2 0 2 3 0 3 0 3 2 1 0 1 0 2 . 0 1 1 0 1 3 0 0 2 1 0 2 3 0 0 3 1 0 3 2 1 1 0 0 . -
Bastian Michel, "Mathematics of NRC-Sudoku,"
Mathematics of NRC-Sudoku Bastian Michel December 5, 2007 Abstract In this article we give an overview of mathematical techniques used to count the number of validly completed 9 × 9 sudokus and the number of essentially different such, with respect to some symmetries. We answer the same questions for NRC-sudokus. Our main result is that there are 68239994 essentially different NRC-sudokus, a result that was unknown up to this day. In dit artikel geven we een overzicht van wiskundige technieken om het aantal geldig inge- vulde 9×9 sudokus en het aantal van essentieel verschillende zulke sudokus, onder een klasse van symmetrie¨en,te tellen. Wij geven antwoorden voor dezelfde vragen met betrekking tot NRC-sudoku's. Ons hoofdresultaat is dat er 68239994 essentieel verschillende NRC-sudoku's zijn, een resultaat dat tot op heden onbekend was. Dit artikel is ontstaan als Kleine Scriptie in het kader van de studie Wiskunde en Statistiek aan de Universiteit Utrecht. De begeleidende docent was dr. W. van der Kallen. Contents 1 Introduction 3 1.1 Mathematics of sudoku . .3 1.2 Aim of this paper . .4 1.3 Terminology . .4 1.4 Sudoku as a graph colouring problem . .5 1.5 Computerised solving by backtracking . .5 2 Ordinary sudoku 6 2.1 Symmetries . .6 2.2 How many different sudokus are there? . .7 2.3 Ad hoc counting by Felgenhauer and Jarvis . .7 2.4 Counting by band generators . .8 2.5 Essentially different sudokus . .9 3 NRC-sudokus 10 3.1 An initial observation concerning NRC-sudokus . 10 3.2 Valid transformations of NRC-sudokus . -
Posterboard Presentation
Dancing Links and Sudoku A Java Sudoku Solver By: Jonathan Chu Adviser: Mr. Feinberg Algorithm by: Dr. Donald Knuth Sudoku Sudoku is a logic puzzle. On a 9x9 grid with 3x3 regions, the digits 1-9 must be placed in each cell such that every row, column, and region contains only one instance of the digit. Placing the numbers is simply an exercise of logic and patience. Here is an example of a puzzle and its solution: Images from web Nikoli Sudoku is exactly a subset of a more general set of problems called Exact Cover, which is described on the left. Dr. Donald Knuth’s Dancing Links Algorithm solves an Exact Cover situation. The Exact Cover problem can be extended to a variety of applications that need to fill constraints. Sudoku is one such special case of the Exact Cover problem. I created a Java program that implements Dancing Links to solve Sudoku puzzles. Exact Cover Exact Cover describes problems in h A B C D E F G which a mtrix of 0’s and 1’s are given. Is there a set of rows that contain exactly one 1 in each column? The matrix below is an example given by Dr. Knuth in his paper. Rows 1, 4, and 5 are a solution set. 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 We can represent the matrix with toriodal doubly-linked lists as shown above. -
Combinatorialalgorithms for Packings, Coverings and Tilings Of
Departm en t of Com m u n ication s an d Networkin g Aa lto- A s hi k M a thew Ki zha k k ep a lla thu DD 112 Combinatorial Algorithms / 2015 for Packings, Coverings and Tilings of Hypercubes Combinatorial Algorithms for Packings, Coverings and Tilings of Hypercubes Hypercubes of Tilings and Coverings Packings, for Algorithms Combinatorial Ashik Mathew Kizhakkepallathu 9HSTFMG*agdcgd+ 9HSTFMG*agdcgd+ ISBN 978-952-60-6326-3 (printed) BUSINESS + ISBN 978-952-60-6327-0 (pdf) ECONOMY ISSN-L 1799-4934 ISSN 1799-4934 (printed) ART + ISSN 1799-4942 (pdf) DESIGN + ARCHITECTURE Aalto Un iversity Aalto University School of Electrical Engineering SCIENCE + Department of Communications and Networking TECHNOLOGY www.aalto.fi CROSSOVER DOCTORAL DOCTORAL DISSERTATIONS DISSERTATIONS Aalto University publication series DOCTORAL DISSERTATIONS 112/2015 Combinatorial Algorithms for Packings, Coverings and Tilings of Hypercubes Ashik Mathew Kizhakkepallathu A doctoral dissertation completed for the degree of Doctor of Science (Technology) to be defended, with the permission of the Aalto University School of Electrical Engineering, at a public examination held at the lecture hall S1 of the school on 18 September 2015 at 12. Aalto University School of Electrical Engineering Department of Communications and Networking Information Theory Supervising professor Prof. Patric R. J. Östergård Preliminary examiners Dr. Mathieu Dutour Sikirić, Ruđer Bošković Institute, Croatia Prof. Aleksander Vesel, University of Maribor, Slovenia Opponent Prof. Sándor Szabó, University of Pécs, Hungary Aalto University publication series DOCTORAL DISSERTATIONS 112/2015 © Ashik Mathew Kizhakkepallathu ISBN 978-952-60-6326-3 (printed) ISBN 978-952-60-6327-0 (pdf) ISSN-L 1799-4934 ISSN 1799-4934 (printed) ISSN 1799-4942 (pdf) http://urn.fi/URN:ISBN:978-952-60-6327-0 Unigrafia Oy Helsinki 2015 Finland Abstract Aalto University, P.O. -
Arxiv:0910.0460V3 [Cs.DS] 3 Feb 2010 Ypsu Ntertclapcso Optrsine21 ( 2010 Science Computer of Aspects Theoretical on Symposium Matching
Symposium on Theoretical Aspects of Computer Science 2010 (Nancy, France), pp. 95-106 www.stacs-conf.org EXACT COVERS VIA DETERMINANTS ANDREAS BJORKLUND¨ E-mail address: [email protected] Abstract. Given a k-uniform hypergraph on n vertices, partitioned in k equal parts such that every hyperedge includes one vertex from each part, the k-Dimensional Match- ing problem asks whether there is a disjoint collection of the hyperedges which covers all vertices. We show it can be solved by a randomized polynomial space algorithm in O∗(2n(k−2)/k) time. The O∗() notation hides factors polynomial in n and k. The general Exact Cover by k-Sets problem asks the same when the partition constraint is dropped and arbitrary hyperedges of cardinality k are permitted. We show it can be ∗ n solved by a randomized polynomial space algorithm in O (ck ) time, where c3 = 1.496, c4 = 1.642, c5 = 1.721, and provide a general bound for larger k. Both results substantially improve on the previous best algorithms for these problems, especially for small k. They follow from the new observation that Lov´asz’ perfect matching detection via determinants (Lov´asz, 1979) admits an embedding in the recently proposed inclusion–exclusion counting scheme for set covers, despite its inability to count the perfect matchings. 1. Introduction The Exact Cover by k-Sets problem (XkC) and its constrained variant k-Dimensional Matching (kDM) are two well-known NP-hard problems. They ask, given a k-uniform hy- pergraph, if there is a subset of the hyperedges which cover the vertices without overlapping each other. -
Covering Systems
Covering Systems by Paul Robert Emanuel Bachelor of Science (Hons.), Bachelor of Commerce Macquarie University 2006 FACULTY OF SCIENCE This thesis is presented for the degree of Doctor of Philosophy Department of Mathematics 2011 This thesis entitled: Covering Systems written by Paul Robert Emanuel has been approved for the Department of Mathematics Dr. Gerry Myerson Prof. Paul Smith Date The final copy of this thesis has been examined by the signatories, and we find that both the content and the form meet acceptable presentation standards of scholarly work in the above mentioned discipline. Thesis directed by Senior Lecturer Dr. Gerry Myerson and Prof. Paul Smith. Statement of Candidate I certify that the work in this thesis entitled \Covering Systems" has not previously been submitted for a degree nor has it been submitted as part of requirements for a degree to any other university or institution other than Macquarie University. I also certify that the thesis is an original piece of research and it has been written by me. Any help and assistance that I have received in my research work and the prepa- ration of the thesis itself have been appropriately acknowledged. In addition, I certify that all information sources and literature used are indicated in the thesis. Paul Emanuel (40091686) March 2011 Summary Covering systems were introduced by Paul Erd}os[8] in 1950. A covering system is a collection of congruences of the form x ≡ ai(mod mi) whose union is the integers. These can then be specialised to being incongruent (that is, having distinct moduli), or disjoint, in which each integer satisfies exactly one congruence. -
Visual Sudoku Solver
Visual Sudoku Solver Nikolas Pilavakis MInf Project (Part 1) Report Master of Informatics School of Informatics University of Edinburgh 2020 3 Abstract In this report, the design, implementation and testing of a visual Sudoku solver app for android written in Kotlin is discussed. The produced app is capable of recog- nising a Sudoku puzzle using the phone’s camera and finding its solution(s) using a backtracking algorithm. To recognise the puzzle, multiple vision and machine learn- ing techniques were employed, using the OpenCV library. Techniques used include grayscaling, adaptive thresholding, Gaussian blur, contour edge detection and tem- plate matching. Digits are recognised using AutoML, giving promising results. The chosen methods are explained and compared to possible alternatives. Each component of the app is then evaluated separately, with a variety of methods. A very brief user evaluation was also conducted. Finally, the limitations of the implemented app are discussed and future improvements are proposed. 4 Acknowledgements I would like to express my sincere gratitude towards my supervisor, professor Nigel Topham for his continuous guidance and support throughout the academic year. I would also like to thank my family and friends for the constant motivation. Table of Contents 1 Introduction 7 2 Background 9 2.1 Sudoku Background . 9 2.2 Solving the Sudoku . 10 2.3 Sudoku recognition . 12 2.4 Image processing . 13 2.4.1 Grayscale . 13 2.4.2 Thresholding . 13 2.4.3 Gaussian blur . 14 3 Design 17 3.1 Design decisions . 17 3.1.1 Development environment . 17 3.1.2 Programming language . 17 3.1.3 Solving algorithm . -
Types in Logic, Mathematics, and Programming from the Handbook of Proof Theory
CHAPTER X Types in Logic, Mathematics and Programming Robert L. Constable Computer Science Department, Cornell University Ithaca, New York 1~853, USA Contents 1. Introduction ..................................... 684 2. Typed logic ..................................... 692 3. Type theory ..................................... 726 4. Typed programming languages ........................... 754 5. Conclusion ...................................... 766 6. Appendix ...................................... 768 References ........................................ 773 HANDBOOK OF PROOF THEORY Edited by S. R. Buss 1998 Elsevier Science B.V. All rights reserved 684 R. Constable 1. Introduction Proof theory and computer science are jointly engaged in a remarkable enter- prise. Together they provide the practical means to formalize vast amounts of mathematical knowledge. They have created the subject of automated reasoning and a digital computer based proof technology; these enable a diverse community of mathematicians, computer scientists, and educators to build a new artifact a globally distributed digital library of formalized mathematics. I think that this artifact signals the emergence of a new branch of mathematics, perhaps to be called Formal Mathematics. The theorems of this mathematics are completely formal and are processed digitally. They can be displayed as beautifully and legibly as journal quality mathematical text. At the heart of this library are completely formal proofs created with computer assistance. Their correctness is based on the axioms and rules of various foundational theories; this formal accounting of correctness supports the highest known standards of rigor and truth. The need to formally relate results in different foundational theories opens a new topic in proof theory and foundations of mathematics. Formal proofs of interesting theorems in current foundational theories are very large rigid objects. Creating them requires the speed and memory capacities of modern computer hardware and the expressiveness of modern software.