Monday, February 10, 2025

Enneominoes, revisited

First off some unusual news in the world of big tilings with big sets of polyominoes. It turns out that Sumio Baba of (presumably) Japan had been putting together shapes using sets of 10- 11 and 12-ominoes in the mid-2000's unknown to the rest of the world. Part of the reason for this is that he'd shared them with the world via a little Kindle eBook on Amazon, which is the last place you'd look really. Sadly, (and I think this is a fault of Amazon rather than the author; cheers Bezos ya berk) when you buy these there's no way of zooming in or doing anything with the pictures - the 11-omino and 12-omino squares are just big fuzzy unreadable grey lumps.

The smaller ones (if you can call heptomino and octomino sets smaller that is) are legit though, from what I can see snooping through the free preview samples so I'll take his word for it with the bigger ones. (Oh, and there's loads of big polyiamond and polyhex sets there too, the larger ones probably just as unreadable due to the file format too...)

So needless to say after this big tease and subsequent disappointment I was left fiending for some big tilings with unwieldy polyform sets. And with no other choice, my only option was to dig out the biggest set I had, the enneominoes, and have another crack at making something with them myself.

Phase 1: The Design

The main constraint I had on my choice of shape to fill was the size of the table in my room. Its dimensions are 68x120cm, which corresponds to a maximum rectangle size of 102x180 units, with my enneomino set being made at 6.666mm/edge. This sort of forced something rectangular, just because the bounding box of a diamond or parallelogram or something is way bigger than that of a rectangle of the same area. So I knocked together a python script that listed the various rectangles with an area slightly above 11565 square units (along with the corresponding hole count), and I picked one that

a.) I hadn't already done last time, and

b.) was odd x odd, which makes it slightly easier to achieve high symmetry placing the holes.

I settled on 93x125 with 60 holes - two domino holes and 56 monomino ones. Using MS Paint zoomed right in so you can see the grid and the individual pixels is a godsend for fleshing out things like this, finding a nice configuration, checking it's symmetrical and counting how far from the borders the holes all are for ease of construction. the end result was this:

and with that I could sweep everything off my table onto the floor and begin building.

Phase 2: The Construction

First off I tried something a little different. Something I don't really bother with with heptominoes or octominoes, but felt necessary this time. I painstakingly sorted all the enneominoes into a half dozen boxes by 'category'. First, all the holey pieces came out - fairly easy, they're white plastic so stand out a mile in the box. Then anything with a 2x2 sub-rectangle in the piece got put in a separate box (2x3 sub-rectangles got their own tiny box for the very end) and I also split out any 'snakes', i.e. pieces with no branches that are just a chain of squares.

Fig. 1: This kind of thing.

These pieces have no special significance when it comes to packing them, it just makes looking for an individual piece a little easier (and it was easy to pick them out by eye). You know which of the smaller boxes a piece is in so that's looking through ~400 pieces rather than a thousand. I kind of wish I'd filtered down further, maybe taking out all the pieces that fit in a 2xn or 3xn box. But I was running out of tupperware by this point so that categories I had would have to do.

Add caption

The grille I'd picked for the holey pieces was tougher than I'd anticipated - the pieces just needed to be too close together and that sort of forced specific pieces to go between them. And looking for those specific pieces was a tedious affair. I then realised that with like 56 holes and only 37 or whatever holey pieces, I didn't need to pack them so closely, but I'd already done like 20 by that point (it was late and I was tired, okay) so they were staying like that. Then a case of counting and checking like 5 times to make sure the number of units between the end of the domino-shaped hole and the edge of the rectangle was the same as that in the blueprint. I wasn't about to have a repeat of last time.

A Random Aside

All this time I was wondering another thing - how exactly Sumio Baba was constructiong his creations. As in, by hand or by computer search. There certainly seems to be a look of hand-solved-ness to them, the David Bird-esque clumping together of the big chunky pieces in one corner. And some mention in the accompanying text about the difficulty of solving (I think - but my command of the Japanese language is pretty dire considering how long I've been studying it).

Which then begs the question, what kind of technique was used for keeping track of which pieces were already in the construction vs. were still free to use? That is essentially what all my physical sets of pieces are, a way of ensuring I don't re-use a piece or miss one out. For smaller sets like hexominoes where you quickly commit to memory all the pieces they're not needed - I've sketched out solutions freehand or solved via drawing using the table border tools in Excel on particularly slow days at work. But for a set like the 12-ominoes...

Actually I can sort of think of something that could be manageable - I'd need to throw together something that could convert between a graphical representation of a polyomino and a simple textual form, something like APGcode for storing objects in Conway's Game of Life. Then it'd be possible to have a searchable list of the pieces and a flag for each as to whether it'd been used or not. (Provided you had a nice means of generating all the pieces, that's another headache in itself!) And as for creating the actual solution, honestly I'd probably do it in Microsoft Paint, the old classic. Worked last time...

The Construction (again)

The remainder of the solve was knocked out in practically one go - a single day (07/02/25) from about half 9 in the morning to just before 4, with breaks here and there to have lunch and learn the keys to '5 Minutes' by The Stranglers for a rehearsal that evening. But whenever there was a gap I was drawn back to the table with the 'ominoes on it, intending to do 'just one more' or to fill one little tantalising gap. And each time it would turn into another 30 minute sesh where I'd put like a hundred pieces in and have to tear myself away to do normal person things.

These are markedly trickier than octominoes. I probably mentioned it last time but that one extra square in each piece, you really feel it. Everything's a bit wigglier and weirder, and I notice I have to take much more care finding a piece that not only fits the hole I want to plug but that doesn't also wriggle around and interfere with another area somewhere else. The first 75% of a heptomino construction I can generally sleep through pretty much, unless it's something with weird diagonal edges or a really thin rectangle, or multiple congruent shapes. But these it's tougher. Not something I can do so well while tired either.

Another issue I ran into was due to sorting the pieces into boxes before hand. I prioritised the 'normal regular pieces' box, only to near the end find I had an abundance of snakes. And snakes don't tend to tile well with other snakes, unless you've got a lucky situation where two of them bend in perfect unison and can just be stacked together. The top-left of the solution has a bit of a gathering of these pieces, as I furiously used them up before getting to the 2x2-sub-square pieces. Which are (marginally...) nicer to tile.

Again I got really lucky with the very endgame - I could I suppose say I made my own luck by being careful with the order I used the pieces, but there was still a big degree of trial and error involved too. I only had to spend about half an hour or 45 minutes max on the repeated backtracking phase getting the last 15 or 20 pieces to play nicely.

I wondered a little bit if it's not any particular property of the 2x2 or 2x3 sub-boxes that make those end game pieces fit together nicely as much as it's due to the lower perimeter that results from a more compact shape. Less units of edge that need to be matched perfectly?

Fig. 2: The completed 93x125 rectangle. I'm scared there might be mistakes in this drawing, because I caught one of them while finishing it and now I'm thinking could there be any more in there?

Total solve time, somewhere between 10 and 12 hours, probably closer to the 12 side but once you hit that flow state it's really hard to keep track of how long you've been sat there for. And bonus points for not building to the wrong dimensions, or with off-centered holes and having to tear out and redo any huge chunks. That's a first for enneominoes, and a rarity in general for me.