Notes from Puzzle Palace

Saturday, January 16, 2021

Heptagonal Star


This article was published in CFF #113.  We've attached it here with the Burr Tools files accessible to anyone.  Please enjoy the read.  


Solving Heptagonal Star Using BurrTools

by George Miller, Aug. 2020


Heptagonal Star was exchanged at IPP-18 in Tokyo by Yoshiyuki Kotani.  I was able to purchase a copy recently and it arrived as 7 flat pieces.  I wanted to display it as part of my IPP exchange puzzles collection, but did not know the exchange year, the designer or even the shape it was supposed to take.  By looking through the IPP-18 book I discovered the designer and the date of the exchange.  Sadly, Kotani san’s page neglected a solution or even a picture of the puzzle.  I was able to deduce the final structure of the assembled puzzle by its name, Heptagonal Star.

I quickly managed to piece together 6 of the 7 pieces, alas, the 7th piece stubbornly remained allows for man-insertable.  I decided to move on to the other puzzles that had come in the mail, but, decided to “cheat” by programming the solution using BurrTools.  After all, this is an interlocking combinatorial puzzle.


BurrTools allows for many different grids, but certainly not one with seven fold rotational symmetry.  I tried to simplify the programming effort by imagining this puzzle as a ring that has been cut vertically and spread out flat.  Each piece could be rendered rectangular by cutting the top and bottom of each hexagon.  Each piece had blockage at the top and/or the bottom in four places.  I chose a 5x3 rectangle to represent each piece. The first two blockages of each piece are represented by voxels in the first two columns.  The last two blockages are represented by voxels in columns 4 and 5.  The middle column is left empty as part of the weaving.


The resulting shape will be a flat 14x3 rectangle assuming I could connect the end of the rectangle with the beginning.  But, Burrtools has no such notion so I had to “fake” it by adding 3 variable voxels on both ends of the rectangle as such:






I know this will produce too many “solutions”, but I can go through the results by hand and pick out the real ones.  BurrTools gave 13 “solutions”.  I picked this one as the best one to try:



As you can envision,  the rectangle can be bent in a ring with the blue end fitting neatly under the yellow end.  Both the blue piece and the yellow piece have their blockages on just one side and thus could be dropped in as the last piece.  I started with the blue end and moved towards the yellow end by putting the blue into the red piece, the two green pieces together before putting the pair on top of the red and blue pair next the cyan and then the pink before dropping in the final yellow piece.


Realize that BurrTools is an advanced programming language which is “coded” in BurrGui, a graphical interface.  BurrTools solves the problem.  BurrGui describes the problem. The trick to coding this program lies in transforming the physical puzzle into the BurrGui language.  The language allows for disjoint pieces and variable voxels which used wisely can transform most any combinatorial problem into a BurrGui program which can be solved the companion BurrTools engine.


Below is the .xmpuzzle file.  This is a text file.  BurrTools can read both the text version or the binary version.  To get a text version, I opened the .xmpuzzle file in the BBedit application.  After loading it into BurrTools, go to the START tab and press the START button.  You should see 13 solutions.  Move to the 10th to see the above mentioned solution.


<?xml version="1.0"?>

<puzzle version="2"><gridType type="0"/><colors/><shapes>

  <voxel x="17" y="3" z="1" type="0">+++###########++++++###########++++++###########+++</voxel>

  <voxel x="5" y="3" z="1" type="0">#_____#__#_#_##</voxel>

  <voxel x="5" y="3" z="1" type="0">#__###__#__#___</voxel>

  <voxel x="5" y="3" z="1" type="0">_#_##___###____</voxel>

  <voxel x="5" y="3" z="1" type="0">##_###__#______</voxel>

  <voxel x="5" y="3" z="1" type="0">##_#_##_##____#</voxel>

  <voxel x="5" y="3" z="1" type="0">##_##_#________</voxel>

  <voxel x="5" y="3" z="1" type="0">_#_#_#____#___#</voxel>

 </shapes>

 <problems>

  <problem state="2" assemblies="13" solutions="13" time="0">

   <shapes><shape id="1" count="1"/><shape id="2" count="1"/><shape id="3" count="1"/>

    <shape id="4" count="1"/><shape id="5" count="1"/><shape id="6" count="1"/><shape id="7" count="1"/>

   </shapes>

   <result id="0"/><bitmap/>

     </problem>

 </problems>

</puzzle>


Since you are viewing this article online you can download the Heptagon Star.xmpuzzle file directly by clicking here or here.

No comments:

Post a Comment