Warning: Level 5 cognitohazard ahead. Mathematicians especially susceptible. Proceed at your own risk:
(More seriously, if you like puzzles/math, haven’t heard of the Collatz before, and have a big exam in the next couple of days, maybe skip this post?)
I’ve previously played around with unusual ways to evaluate the Collatz sequence, but I wanted something more tangible to play with.
The prompt for this is that last week in Robots and Dinosaurs we had a few people seized by the Collatz bug, and working it out on butcher’s paper. Even with a huge canvas it’s surprisingly hard to not run out of space.
If you haven’t tried sketching out the sequence before, such as on a whiteboard or paper, it’s not that easy to do. Because of the branching nature of the sequence, knowing where to ‘budget’ your remaining empty space is difficult. I’d frequently find myself having to erase & redraw large areas, in order to insert some new branch.
I wanted something much more tangible and flexible to play with. I considered making simple tiles (like scrabble), but I thought they’d be very frustrating to move long chains of, while trying to hold them in place.
I considered using M3 bolts as pivots, and kind of hanging the tree, but I though that might be a bit unwieldy. I also thought about using string to join tiles together, but that had a bit too much of ‘A Beautiful Mind‘ vibe…
After a while I had the idea to make a captive swivel, using a two dimensional version of a ball-and-socket joint. The left hand socket is the N/2 side, and the right hand side is the 3N+1 side. After some prototyping, I came up with this geometry, which works well:
And scales up to large chains:
I also made a snazzy case to hold everything. There’s a stack of trays which hold the numbers:
And each tray has spaces for the tiles, with room for a finger to reach in and remove them easily. The places are labelled to make it easy to pack away:
Some 8mm wooden dowels glued to the base locate the trays securely, and the lid is held down with a cord, which self-centres on indentations on each side:
(Note to self – that title font is called ‘Cooper standard’ and behaves really nicely for lasercutting. Remember that for future projects)
There’s many ways to assemble the tree, but here’s the method I’ve been using. First I arranged the odd numbers in columns, and then make chains by connecting all the even numbers.
Now we can take each odd chain, and figure out where it joins up to the rest of the sequence. The tree is starting to take shape:
The first tray of the kit contains the numbers 1-50, whereas the second tray contains all the extra numbers needed to make the first set reach 1. (However I’ve left out the extras needed for numbers 27, 31, 41 and 47, since these four “Bastard” numbers have a chain length around three times the others, and would require having an extra two trays just to connect them up). Once the extra numbers are added, we can see the whole structure:
I’m very happy with it so far. It’s quite fun to play with, with none of the “whitespace irritation” that comes with pen and paper methods.
If I had to do it again, I’d stain or colour the odd numbers differently, just to make it obvious which method of branching happens at each step. I might still do that if I have time.
Files here for anyone that wants to make their own: