Solving General Lattice Puzzles

  • Gill Barequet
  • Shahar Tal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6213)

Abstract

In this paper we describe implementations of two general methods for solving puzzles on any structured lattice. We define the puzzle as a graph induced by (finite portion of) the lattice, and apply a back-tracking method for iteratively find all solutions by identifying parts of the puzzle (or transformed versions of them) with subgraphs of the puzzle, such that the entire puzzle graph is covered without overlaps by the graphs of the parts. Alternatively, we reduce the puzzle problem to a submatrix-selection problem, and solve the latter problem by using the “dancing-links” trick of Knuth. A few expediting heuristics are discussed, and experimental results on various lattice puzzles are presented.

Keywords

Polyominoes polycubes 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Br71]
    De Bruijn, N.G.: Programmeren van de pentomino puzzle. Euclides 47, 90–104 (1971–1972)Google Scholar
  2. [DD07]
    Demaine, E.D., Demaine, M.L.: Jigsaw puzzles, edge matching, and polyomino packing: Connections and complexity. Graphs and Combinatorics 23(suppl.), 195–208 (2007)MATHCrossRefMathSciNetGoogle Scholar
  3. [Du08]
    Dudeney, H.E.: 74.—The broken chessboard. In: The Canterbury Puzzles, 90–92 (1908)Google Scholar
  4. [Fl65]
    Fletcher, J.G.: A program to solve the pentomino problem by the recursive use of macros. Comm. of the ACM 8, 621–623 (1965)CrossRefMathSciNetGoogle Scholar
  5. [Ga57]
    Gardner, M.: Mathematical games: More about complex dominoes, plus the answers to last month;s puzzles. Scientific American 197, 126–140 (1957)CrossRefGoogle Scholar
  6. [GJ79]
    Garey, M., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-completeness. Freeman, San Francisco (1979)MATHGoogle Scholar
  7. [Go54]
    Golomb, S.W.: Checkerboards and polyominoes. American Mathematical Monthly 61, 675–682 (1954)MATHCrossRefMathSciNetGoogle Scholar
  8. [Go65]
    Golomb, S.W.: Polyominoes, Scribners, New York (1965); 2nd edn. Princeton University Press, Princeton (1994)Google Scholar
  9. [GB65]
    Golomb, S.W., Baumart, L.D.: Backtrack programming, J. J. of the ACM 12, 516–524 (1965)MATHCrossRefGoogle Scholar
  10. [HH60]
    Haselgrove, C.B., Haselgrove, J.: A computer program for pentominoes. Eureka 23, 16–18 (1960)Google Scholar
  11. [Ha74]
    Haselgrove, J.: Packing a square with Y-pentominoes. J. of Recreational Mathematics 7, 229 (1974)Google Scholar
  12. [Kn00]
    Knuth, D.E.: Dancing links. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Millennial Perspectives in Computer Science, pp. 187–214. Palgrave Macmillan, England (2000), http://arxiv.org/abs/cs/0011047 Google Scholar
  13. [Le78]
    Lewis, H.R.: Complexity of solvable cases of the decision problem for the predicate calculus. In: 19th Ann. Symp. on Foundations of Computer Science, Ann Arbor, MI, pp. 35–47 (1978)Google Scholar
  14. [Me73]
    Meeus, J.: Some polyomino and polyamond problems. J. of Recreational Mathematics 6, 215–220 (1973)MATHMathSciNetGoogle Scholar
  15. [Sc58]
    Scott, D.S.: Programming a combinatorial puzzle, Technical Report 1, Dept. of Electrical Engineering, Princeton University (June 1958)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Gill Barequet
    • 1
  • Shahar Tal
    • 2
  1. 1.Center for Graphics and Geometric Computing, Dept. of Computer Science, TechnionIsrael Institute of TechnologyHaifaIsrael
  2. 2.Dept. of Computer ScienceThe Open UniversityRaananaIsrael

Personalised recommendations