The Hat Polydrafter solves the Einstein problem. Craig Kaplan has provided an Hat Tile App. The paper An aperiodic monotile is available on arXiv, written by David Smith, Joseph Samuel Myers, Craig S. Kaplan and Chaim Goodman-Strauss.
Here’s a picture of one tile.
In[]:=
monotile=Polygon[{{0,0},{0,Sqrt[3]},{1,Sqrt[3]},{3/2,(3Sqrt[3])/2},{3,Sqrt[3]},{3,0},{4,0},{9/2,-(Sqrt[3]/2)},{3,-Sqrt[3]},{3/2,-(Sqrt[3]/2)},{1,-Sqrt[3]},{-1,-Sqrt[3]},{-(3/2),-(Sqrt[3]/2)},{0,0}}];Graphics[monotile]
Out[]=
All this comes out from an exploration into Heesch Tilings, some of it in the paper “Heesch Numbers of Unmarked Polyforms”. Below is one the tilings of a polyhex that doesn’t tile the plane, but it can surround itself 4 times. One might suppose that Craig moved on from polyominoes, poliamonds and polyhexes to the polydrafters, then found something odd.
The actual story was that Dave Smith basically stumbled upon the hat by playing around. Craig and Joseph used their Heesch software to compute large patches in order to figure out what was going on, and then later ruled out non-tiling and periodicity.
Let’s see if we can get a clean WL version of a bunch of these tiles. In recreational math, a third of a hexagon is sometimes called a gem.
Here’s the hat tile again. I’m designating the center as the red dot, the meeting spot of three gems. The green dot is the center of gravity. The smaller points are points of a triangular grid.
In[]:=
pp=-7,-
3
,{-4,0},-4,23
,-2,23
,-1,33
,2,23
,{2,0},{4,0},5,-3
,2,-23
,-1,-3
,-2,-23
,-6,-23
;oo={0,0};rr=Mean[pp];monotile=Polygon[pp];Graphics[{EdgeForm[Black],White,monotile,Black,Table[Text[k,pp[[k]]],{k,1,Length[pp]}],Green,Line[{pp[[11]],oo,pp[[7]]}],Line[{oo,pp[[4]]}],Line[{pp[[2]],pp[[11]]}],Disk[rr,.1],Red,Disk[oo,.1],Point[Flatten[Table[{2a+Mod[b,2],bSqrt[3]},{a,-4,3},{b,-2,4}],1]]}]Out[]=
The mean is closer to {0,0} than to {-2,0}
In[]:=
Mean[pp]
Out[]=
-,0
12
13
The 12 hats are basically these:
In[]:=
hat1=#-Table[First[#],{13}]&/@Table[ResourceFunction["CanonicalListRotation"][RotationMatrix[kPi/3].#&/@pp,False],{k,0,5}]
In[]:=
hat2=Reverse[#]-Table[First[#],{13}]&/@Table[ResourceFunction["CanonicalListRotation"][RotationMatrix[kPi/3].(#{1,-1})&/@pp,False],{k,0,5}]
But I cleaned it up a bit more, to get the 12 hats, each with a {0,0} for the canonical first point.
In[]:=
hat={0,0},3,
3
,3,33
,5,33
,6,43
,9,33
,9,3
,11,3
,{12,0},9,-3
,{6,0},5,-3
,1,-3
,{0,0},1,3
,0,23
,3,33
,6,23
,7,33
,9,33
,9,3
,{6,0},7,-3
,5,-33
,3,-33
,3,-3
,{0,0},0,23
,3,33
,2,43
,3,53
,6,43
,6,23
,8,23
,{10,0},9,-3
,{6,0},3,-3
,{2,0},{0,0},3,3
,{6,0},7,3
,11,3
,{12,0},9,-3
,9,-33
,7,-33
,6,-43
,3,-33
,3,-3
,1,-3
,{0,0},0,23
,3,33
,2,43
,4,63
,6,63
,6,43
,9,33
,8,23
,9,3
,{6,0},3,3
,{2,0},{0,0},1,3
,{4,0},7,3
,{8,0},{10,0},10,-23
,7,-33
,8,-43
,7,-53
,4,-43
,4,-23
,2,-23
,{0,0},1,3
,5,3
,{6,0},9,3
,{12,0},11,-3
,9,-3
,9,-33
,6,-43
,5,-33
,3,-33
,3,-3
,{0,0},2,23
,4,23
,4,43
,7,53
,8,43
,7,33
,10,23
,{10,0},{8,0},7,-3
,{4,0},1,-3
,{0,0},0,23
,2,23
,3,3
,6,23
,9,3
,{8,0},9,-3
,6,-23
,6,-43
,4,-43
,2,-23
,3,-3
,{0,0},1,3
,3,3
,3,33
,6,43
,7,33
,9,33
,9,3
,{12,0},11,-3
,7,-3
,{6,0},3,-3
,{0,0},0,23
,2,23
,3,33
,6,23
,9,33
,10,23
,{8,0},{6,0},6,-23
,3,-33
,2,-23
,3,-3
,{0,0},1,3
,0,23
,3,33
,3,53
,5,53
,7,33
,6,23
,9,3
,9,-3
,7,-3
,{6,0},3,-3
;The shirts have {0,0} as the center.
In[]:=
shirt=-7,-
3
,{-4,0},-4,23
,-2,23
,-1,33
,2,23
,{2,0},{4,0},5,-3
,2,-23
,-1,-3
,-2,-23
,-6,-23
,-5,-3
,{-4,0},-5,3
,-2,23
,1,3
,2,23
,4,23
,{4,0},1,-3
,2,-23
,0,-43
,-2,-43
,-2,-23
,-4,-23
,{-4,0},-1,3
,-2,23
,-1,33
,2,23
,{2,0},{4,0},6,-23
,5,-33
,2,-23
,-1,-33
,-2,-23
,-5,3
,-2,23
,1,3
,2,23
,6,23
,7,3
,{4,0},4,-23
,2,-23
,1,-33
,-2,-23
,{-2,0},{-4,0},-4,-23
,{-4,0},-1,3
,-2,23
,0,43
,2,43
,2,23
,5,3
,{4,0},5,-3
,2,-23
,-1,-3
,-2,-23
,-6,23
,-5,33
,-2,23
,1,33
,2,23
,4,23
,{4,0},1,-3
,2,-23
,1,-33
,-2,-23
,{-2,0},{-4,0},-7,3
,-6,23
,-2,23
,-1,3
,2,23
,5,3
,{4,0},{2,0},2,-23
,-1,-33
,-2,-23
,-4,-23
,{-4,0},-6,-23
,{-4,0},{-2,0},-2,23
,1,33
,2,23
,1,3
,{4,0},4,-23
,2,-23
,1,-33
,-2,-23
,-5,-33
,{-4,0},-4,23
,-2,23
,-1,3
,2,23
,5,3
,{4,0},5,-3
,2,-23
,2,-43
,0,-43
,-2,-23
,-1,-3
,-5,-3
,{-4,0},{-2,0},-2,23
,1,33
,2,23
,4,23
,{4,0},7,-3
,6,-23
,2,-23
,1,-3
,-2,-23
,{-4,0},-4,23
,-2,23
,-1,33
,2,23
,5,33
,6,23
,{4,0},{2,0},2,-23
,-1,-33
,-2,-23
,-1,-3
,-5,-3
,{-4,0},-5,3
,-2,23
,-2,43
,0,43
,2,23
,1,3
,{4,0},4,-23
,2,-23
,1,-3
,-2,-23
;The hat and shirt tiles look the same.
In[]:=
Partition[Graphics[{EdgeForm[Black],White,Polygon[#],Blue,Disk[#[[1]],.2],Green,Disk[#[[2]],.2]},ImageSize->{100,100}]&/@hat,6]
Out[]=
,
,
,
,
,
,
,
,
,
,
,
Now we’re ready for processing some data. For an initial test, I went to the Hat Tile App, and turned OFF Draw Supertiles. Then I clicked on Build Supertiles twice before Save SVG.
To run the code below, you’ll need to have that SVG file someplace, and then put the file path on the first line. The following code scales everything, then clicks the vertices onto a triangular grid. NOTE: For those just wanting the polygons, you can move on to the version where the tiles are colored, all the polygons are given there.
To run the code below, you’ll need to have that SVG file someplace, and then put the file path on the first line. The following code scales everything, then clicks the vertices onto a triangular grid. NOTE: For those just wanting the polygons, you can move on to the version where the tiles are colored, all the polygons are given there.
That’s a bunch of polygons. Next, we can classify them by which of the 12 hat tiles each one matches with.
We can also get the list of centers, the extra point which is the meeting spot of three gems.
From that, we can move to a cleaner representation, based on on the shirt type.
But we can go further, with just the center and type, since the type is a mix of rotation and mirror.
Use a red dot for the centers of flipped tiles.
This expands the notebook size considerably.
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Einstein problem solved (aperiodic monotile discovery)
by Ed Pegg
Wolfram Community, STAFF PICKS, March 21, 2023
https://community.wolfram.com/groups/-/m/t/2856178
by Ed Pegg
Wolfram Community, STAFF PICKS, March 21, 2023
https://community.wolfram.com/groups/-/m/t/2856178