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.
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:
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