Corralling Chaos

All the best people brood incessantly on the fact that a point inside a square jumping half-way towards a randomly chosen vertex will not create a fractal. Inside a triangle, yes: a fractal appears. Inside a pentagon too. But not inside a square:

Point jumping half-way towards a randomly chosen vertex


Instead, the interior of the square fills with random points: it chokes with chaos, you might say. However, fractals appear inside a square if the point is restricted in some way: banned from jumping towards a vertex twice in a row; banned from jumping towards the second-nearest vertex; and so on. Those restrictions are what might be called soft, because they take place in software (or in the brain of someone following the rule as a game or piece of performance art). Here’s what might be called a hard restriction that creates a fractal: the point cannot jump towards a randomly vertex if its jump passes over any part of the red upright cross:

Point cannot pass over red lines


I call this a barrier fractal. It’s obvious that the point cannot jump from one corner of the square towards the opposite corner, which creates bare space stretching from each vertex towards the tips of the upright cross. Less obvious is the way in which this bare space “cascades” into other parts of the square, creating a repeatedly branching and shrinking pattern.



When the barrier is a circle, a similar fractal appears:


If the point can also jump towards the center of the circle, this is what happens:

“Down through the aether I saw the accursed earth turning, ever turning, with angry and tempestuous seas gnawing at wild desolate shores and dashing foam against the tottering towers of deserted cities.” — “The Crawling Chaos” (1921), Winifred Jackson and H. P. Lovecraft.


Now here’s an upright cross with a gap in the middle:


Here’s an upright cross when the point can also jump towards the center of the cross:


A slanted cross with a central attractor:


And a single horizontal stroke:


A slanted stroke — note pentagons:


Even if the barrier is small and set on an edge of the square, it affects the rest of the square:


A more attractive example of edge-affects-whole:


Circles away from the edges


Detail of previous image






Here the point can also jump towards the center of the square’s edges:


A more subtle barrier fractal uses the previous jumps of the point to restrict its next jump. For example, if the point cannot jump across the line created by its previous-but-one jump, it moves like this:

Jump can’t cross track of last-but-one jump (animated gif)


The fractal itself looks like this:


Rule: on jump #3, cannot jump across the line created by jump #1; on jump #4, cannot cross the line created by jump #2; and so on.



And this is the fractal if the point cannot jump across the line created by its previous-but-two jump:

Rule: on jump #4, cannot jump across the line created by jump #2; on jump #5, cannot cross the line created by jump #3; and so on



Jumper to Jumper

Previously I’ve looked at fractals created by a point moving half-way towards the random chosen vertex of a polygon. But you can also choose an initial vertex, then choose a new vertex by adding a random number to that initial vertex. Then repeat. For example, if the polygon is a square and the initial vertex is v = 1, then choose v + 3 = 4 or v – 1 = 3, and so on.

You can then ban or un-ban the choice of vertex-jump as you can ban or un-ban direct choices of vertex. These two methods of random choice are effectively the same, but one can be simpler to program than the other. That’s why I’ve come across some new fractals by using vertex-jumps. Here they are:

vertices = 4, vertex-jump = (1,2,3,4), ban on same choice twice in a row


vertices = 4, vertex-jump = (1,2,3,4), ban on 2 in row (black-and-white version)


v = 4, vj = (1,2,3,4), ban on choice c + 2 from previous choice c


v = 4, vj = (1,2,3,4), ban c + 2 (animated gif)


vj = (1,2,3,4), ban c + 2 (black-and-white)


vj = (1,2,3,4), ban c + 0 at time t+1 unless c + 0 at time t-1


vj = (1,2,3,4), ban c + 0 at t+1, unless c + 0 at t-1 (black-and-white)


vj = (1,2,3,4,5), ban c + 0


vj = (0,1,2,3,4), ban c + 0


vj = (0,1,2,3,4), ban c + 0 (black-and-white)


vj = (1,2,3,4), ban c + 2 at t+1 unless c + 2 at t-1 (animated gif)


vj = (1,2,3,4), ban c + various at t+1 unless c + various at t-1 (animated gif)


vj = (1,2,3,4,5), ban c + 0 at t+1 unless c + 0 at t-1


vj = (-2,-1,0,1,2), ban c + 0


vj = (-2,-1,0,1,2), ban c + 0 (black-and-white)


vj = (0,1,2,3,4), ban c + va unless c + va


v = 5, vj = (1,2,3,4), ban c + 0


v = 5, vj = (1,2,3,4), ban c + 2


v = 5, vj = (0,1,2,3), ban c + 3


v = 6, vj = (0,1,2,3), ban c + 2


v = 5, vj = va, ban c + va (animated gif)


Appointment with Distality

distal, adj. Anat. Situated away from the centre of the body, or from the point of origin (said of the extremity or distant part of a limb or organ); terminal. Opp. to proximal. [← stem of dist- (in distant adj.) + -al, after dorsal, ventral, etc.] — Oxford English Dictionary

When a point jumps inside a triangle, moving halfway towards a randomly chosen vertex each time, a fractal known as the Sierpiński triangle appears:
chaos_triangle

Point jumping halfway towards random vertex of a triangle


chaos_triangle_bw

Point jumping inside triangle (black-and-white version)


But when a point moves at random in the same way inside a square, no fractal appears. Instead, the interior of the square gradually fills with a haze of pixels:
random_fill

Point jumping halfway towards random vertex of a square


Now trying imposing restrictions on the point jumping inside a square. If it can’t jump towards a vertex twice in a row, this fractal appears:
select_1_0

Ban consecutive jumps towards same vertex


select_1_0_bw

Ban consecutive jumps towards same vertex (black-and-white version)


Suppose the vertices are numbered from 1 to 4 and the point can’t jump towards the vertex one lower than the previously chosen vertex. That is, if it jumps towards vertex 3, it can’t jump next towards vertex 2, but it can jump towards vertices 1, 3, or 4 (if the vertex is 1, it’s banned from moving towards vertex 4, i.e. 1-1 = 0 = 4). Now this fractal appears:
select_1_1

Ban jump towards vertex v-1


select_1_1_bw


This is the fractal when the point can’t jump towards the vertex two places lower than the one it has just jumped towards:
select_1_2

Ban jump towards vertex v-2


select_1_2_bw


But if you can ban, you can also un-ban. Suppose the point jumps towards vertex v at time t and is then banned from jumping towards vertex v-2 at time t+1 unless it had jumped towards vertex v-1 at time t-1. This interesting fractal appears:
select_2_1_1_2

Ban jump v-2 at t+1 unless jump v-1 at t-1


Here are some more fractals using the ban / un-ban technique:
select_2_1_various

Ban / un-ban various


select_2_1_0_1

Ban jump v+0 at t+1 unless jump v+1 at t-1


select_2_1_1_3

Ban jump v+1 at t+1 unless jump v+3 at t-1


select_2_1_2_0

Ban jump v+0 at t+1 unless jump v+2 at t-1


select_2_1_2_2

Ban jump v+2 at t+1 unless jump v+2 at t-1


select_1_2_various

Ban / un-ban various


You can also impose or lift bans based not on the vertex the point jumps towards, but on the distance the point jumps. For example, take the radius r of the circle circumscribing the square and divide it into four segments, 0 to ¼r, ¼r to ½r, ½r to ¾r, and ¾r to r. When the point is going to jump towards vertex v, test whether its jump will land in the same segment, measured from the center of the circle, as it currently occupies. If it does, ban the jump and choose another vertex. Or unban the vertex if the point occupied segment s + x at time t-1. Here are some of the fractals produced using this technique:
dist_2_1_various

Ban / un-ban based on distance jumped


dist_center_1_0

Ban jump into segment s+0 of 4


dist_center_1_1

Ban jump into segment s+1 from center


dist_center_1_2

Ban jump into segment s+2


dist_center_-2_1_2_2

Ban jump into s+2 at t+1 unless jump into s+2 at at t-1


dist_xy_1_0

Ban jump into s+0 from present point


dist_xy_1_2

Ban jump into s+2 from present point


dist_xy_1_3

Ban jump into s+3 from present point


dist_xy_2_1_1_0

Ban jump into s+0 at t+1 unless jump into s+1 at at t-1


It’s easy to think of variants on all these themes, but I’ll leave them as an exercise for the interested reader.

The Swing’s the Thing

Order emerges from chaos with a triangle or pentagon, but not with a square. That is, if you take a triangle or a pentagon, chose a point inside it, then move the point repeatedly halfway towards a vertex chosen at random, a fractal will appear:

triangle

Sierpiński triangle from point jumping halfway to randomly chosen vertex


pentagon

Sierpiński pentagon from point jumping halfway to randomly chosen vertex


But it doesn’t work with a square. Instead, the interior of the square slowly fills with random points:

square

Square filling with point jumping halfway to randomly chosen vertex


As I showed in Polymorphous Perverticity, you can create fractals from squares and randomly moving points if you ban the point from choosing the same vertex twice in a row, and so on. But there are other ways. You can take the point, move it towards a vertex at random, then swing it around the center of the square through some angle before you mark its position, like this:

square_sw90

Point moves at random, then swings by 90° around center


square_sw180

Point moves at random, then swings by 180° around center


You can also adjust the distance of the point from the center of the square using a formula like dist = r * rmdist, where dist is the distance, r is the radius of the circle in which the circle is drawn, and rm takes values like 0.1, 0.25, 0.5, 0.75 and so on:

square_dist_rm0_05

Point moves at random, dist = r * 0.05 – dist


square_dist_rm0_1

Point moves at random, dist = r * 0.1 – dist


square_dist_rm0_2

Point moves at random, dist = r * 0.2 – dist


But you can swing the point while applying a vertex-ban, like banning the previously chosen vertex, or the vertex 90° or 180° away. In fact, swinging the points converts one kind of vertex ban into the others.

square_ban0

Point moves at random towards vertex not chosen previously


square_ban0_sw405

Point moves at random, then swings by 45°


square_ban0_sw360

Point moves at random, then swings by 360°


square_ban0_sw697

Point moves at random, then swings by 697.5°


square_ban0_sw720

Point moves at random, then swings by 720°


square_ban0_sw652

Point moves at random, then swings by 652.5°


square_ban0_swing_va_animated

Animated angle swing


You can also reverse the swing at every second move, swing the point around a vertex instead of the center or around a point on the circle that encloses the square. Here are some of the fractals you get applying these techniques.
square_ban0_sw45_rock

Point moves at random, then swings alternately by 45°, -45°


square_ban0_sw90_rock

Point moves at random, then swings alternately by 90°, -90°


square_ban0_sw135_rock

Point moves at random, then swings alternately by 135°, -135°


square_ban0_sw180_rock

Point moves at random, then swings alternately by 180°, -180°


square_ban0_sw225

Point moves at random, then swings alternately by 225°, -225°


square_ban0_sw315

Point moves at random, then swings alternately by 315°, -315°


square_ban0_sw360_rock

Point moves at random, then swings alternately by 360°, -360°


square_swing_vx0_va_animated

Animated alternate swing


square_circle_sw45

Point moves at random, then swings around point on circle by 45°


square_circle_sw67

Point moves at random, then swings around point on circle by 67.5°


square_circle_sw90

Point moves at random, then swings around point on circle by 90°


square_circle_sw112

Point moves at random, then swings around point on circle by 112.5°


square_circle_sw135

Point moves at random, then swings around point on circle by 135°


square_circle_sw180

Point moves at random, then swings around point on circle by 180°


square_circle_sw_animated

Animated circle swing


Tri Again (Again)

I didn’t expect to find the hourglass fractal playing with squares. I even less expected it playing with triangles. Isosceles right triangles, to be precise. Then again, I found it first playing with the L-triomino, which is composed of three squares. And an isosceles triangle is half of a square. So it all fits. This is an isosceles right triangle:
isosceles_right_triangle

Isosceles right triangle


It’s mirror-symmetrical, so it looks the same in a mirror unless you label one of the acute-angled corners in some way, like this:

right_triangle_chiral_1

Right triangle with labelled corner


right_triangle_chiral_2

Right triangle reflected


Reflection is how you find the hourglass fractal. First, divide a right triangle into four smaller right triangles.

right_triangle_div4

Right triangle rep-tiled


Then discard one of the smaller triangles and repeat. If the acute corners of the smaller triangles have different orientations, one of the permutations creates the hourglass fractal, like this:

right_triangle_div4_1

Hourglass #1


right_triangle_div4_2

Hourglass #2


right_triangle_div4_3

Hourglass #3


right_triangle_div4_4

Hourglass #4


right_triangle_div4_5

Hourglass #5


right_triangle_div4_6

Hourglass #6


right_triangle_div4_7

Hourglass #7


right_triangle_div4_8

Hourglass #8


right_triangle_div4_9

Hourglass #9


right_triangle_div4_123_010

Hourglass animated


Another permutation of corners creates what I’ve decided to call the crane fractal, like this:
right_triangle_div4_123_001

Crane fractal animated


right_triangle_div4_123_001_static

Crane fractal (static)


The crane fractal is something else that I first found playing with the L-triomino:

l-triomino_234

Crane fractal from L-triomino


Previously pre-posted:

Square Routes
Tri Again

Square Routes

One of the pleasures of exploring an ancient city like York or Chester is that of learning new routes to the same destination. There are byways and alleys, short-cuts and diversions. You set off intending to go to one place and end up in another.

Maths is like that, even at its simplest. There are many routes to the same destination. I first found the fractal below by playing with the L-triomino, or the shape created by putting three squares in the shape of an L. You can divide it into four copies of the same shape and discard one copy, then do the same to each of the sub-copies, then repeat. I’ve decided to call it the hourglass fractal:

l-triomino_124

Hourglass fractal (animated)


l-triomino_124_upright_static1

Hourglass fractal (static)


Then I unexpectedly came across the fractal again when playing with what I call a proximity fractal:
v4_ban15_sw3_anim

Hourglass animated (proximity fractal)


v4_ban15_sw3_col

(Static image)


Now I’ve unexpectedly come across it for a third time, playing with a very simple fractal based on a 2×2 square. At first glance, the 2×2 square yields only one interesting fractal. If you divide the square into four smaller squares and discard one square, then do the same to each of the three sub-copies, then repeat, you get a form of the Sierpiński triangle, like this:

sq2x2_123_1

Sierpiński triangle stage 1


sq2x2_123_2

Sierpiński triangle #2


sq2x2_123_3

Sierpiński triangle #3


sq2x2_123_4

Sierpiński triangle #4


sq2x2_123

Sierpiński triangle animated


sq2x2_123_static

(Static image)


The 2×2 square seems too simple for anything more, but there’s a simple way to enrich it: label the corners of the sub-squares so that you can, as it were, individually rotate them 0°, 90°, 180°, or 270°. One set of rotations produces the hourglass fractal, like this:

sq2x2_123_013_1

Hourglass stage 1


sq2x2_123_013_2

Hourglass #2


sq2x2_123_013_3

Fractal #3


sq2x2_123_013_4

Hourglass #4


sq2x2_123_013_5

Hourglass #5


sq2x2_123_013_6

Hourglass #6


sq2x2_123_013

Hourglass animated


sq2x2_123_013_static

(Static image)


Here are some more fractals from the 2×2 square created using this technique (I’ve found some of them previously by other routes):

sq2x2_123_022


sq2x2_123_022_static

(Static image)


sq2x2_123_031


sq2x2_123_031_static

(Static image)


sq2x2_123_102


sq2x2_123_102_static

(Static image)


sq2x2_123_2011


sq2x2_123_201_static

(Static image)


sq2x2_123_211


sq2x2_123_211_static

(Static image)


sq2x2_123_213


sq2x2_123_213_static

(Static image)


sq2x2_123_033_-111


sq2x2_123_033_-111_static

(Static image)


sq2x2_123_201_1-11_static

(Static image)


sq2x2_200_1-11_static

(Static image)


sq2x2_123_132

(Static image)


T4K1NG S3LF13S

It’s like watching a seed grow. You take a number and count how many 0s it contains, then how many 1s, how many 2s, 3s, 4s and so on. Then you create a new number by writing the count of each digit followed by the digit itself. Then you repeat the process with the new number.

Here’s how it works if you start with the number 1:

1

The count of digits is one 1, so the new number is this:

→ 11

The count of digits for 11 is two 1s, so the next number is:

→ 21

The count of digits for 21 is one 1, one 2, so the next number is:

→ 1112

The count of digits for 1112 is three 1s, one 2, so the next number is:

→ 3112

The count of digits for 3112 is two 1s, one 2, one 3, so the next number is:

→ 211213

What happens after that? Here are the numbers as a sequence:

1 → 11 → 21 → 1112 → 3112 → 211213 → 312213 → 212223 → 114213 → 31121314 → 41122314 → 31221324 → 21322314

That’s all you need, because something interesting happens with 21322314. The digit count is two 1s, three 2s, two 3s, one 4, so the next number is:

→ 21322314

In other words, 21322314 is what might be called a self-descriptive number: it describes the count of its own digits. That’s why I think this procedure is like watching a seed grow. You start with the tiny seed of 1 and end in the giant oak of 21322314, whose factorization is 2 * 3^2 * 13 * 91121. But there are many more self-descriptive numbers in base ten and some of them are much bigger than 21322314. A047841 at the Online Encyclopedia of Integer Sequences lists all 109 of them (and calls them “autobiographical numbers”). Here are a few, starting with the simplest possible:

22 → two 2s → 22
10213223 → one 0, two 1s, three 2s, two 3s → 10213223
10311233 → one 0, three 1s, one 2, three 3s → 10311233
21322314 → two 1s, three 2s, two 3s, one 4 → 21322314
21322315 → two 1s, three 2s, two 3s, one 5 → 21322315
21322316 → two 1s, three 2s, two 3s, one 6 → 21322316*
1031223314 → one 0, three 1s, two 2s, three 3s, one 4 → 10
31223314
3122331415 → three 1s, two 2s, three 3s, one 4, one 5
→ 3122331415
3122331416 → three 1s, two 2s, three 3s, one 4, one 6
→ 3122331416*

*And for 21322317, 21322318, 21322319; 3122331417, 3122331418, 3122331419.


And here’s what happens when you seed a sequence with a number containing all possible digits in base ten:

1234567890 → 10111213141516171819 → 101111213141516171819 → 101211213141516171819 → 101112213141516171819

That final number is self-descriptive:

101112213141516171819 → one 0, eleven 1s, two 2s, one 3, one 4, one 5, one 6, one 7, one 8, one 9 → 101112213141516171819

So some numbers are self-descriptive and some start a sequence that ends in a self-descriptive number. But that doesn’t exhaust the possibilities. Some numbers are part of a loop:

103142132415 → 104122232415 → 103142132415
104122232415 → 103142132415 → 104122232415
1051421314152619 → 1061221324251619 → 1051421314152619…
5142131415261819 → 6122132425161819 → 5142131415261819
106142131416271819 → 107122132426171819 → 106142131416271819


10512223142518 → 10414213142518 → 10512213341518 → 10512223142518
51222314251718 → 41421314251718 → 51221334151718 →
51222314251718

But all that is base ten. What about other bases? In fact, nearly all self-descriptive numbers in base ten are also self-descriptive in other bases. An infinite number of other bases, in fact. 22 is a self-descriptive number for all b > 2. The sequence seeded with 1 is identical in all b > 4:

1 → 11 → 21 → 1112 → 3112 → 211213 → 312213 → 212223 → 114213 → 31121314 → 41122314 → 31221324 → 2132231421322314

In bases 2, 3 and 4, the sequence seeded with 1 looks like this:

1 → 11 → 101 → 10101 → 100111 → 1001001 → 1000111 → 11010011101001… (b=2) (1101001[2] = 105 in base 10)
1 → 11 → 21 → 1112 → 10112 → 1010112 → 2011112 → 10111221011122… (b=3) (1011122[3] = 854 in base 10)
1 → 11 → 21 → 1112 → 3112 → 211213 → 312213 → 212223 → 1110213 → 101011213 → 201111213 → 101112213101112213… (b=4) (101112213[4] = 71079 in base 10)

In base 2 there are only two self-descriptive numbers (and no loops):

111 → three 1s → 111… (b=2) (111 = 7 in base 10)
1101001 → three 0s, four 1s → 1101001… (b=2) (1101001 = 105 in base 10)

So if you apply the “count digits” procedure in base 2, all numbers, except 111, begin a sequence that ends in 1101001. Base 3 has a few more self-descriptive numbers and also some loops:

2222… (b >= 3)
10111 → one 0, four 1s → 10111… (b=3)
11112 → four 1s, one 2 → 11112
100101 → three 0s, three 1s → 100101… (b=3)
1011122 → one 0, four 1s, two 2s → 1011122… (b=3)
2021102 → two 0s, two 1s, three 2s → 2021102… (b=3)
10010122 → three 0s, three 1s, two 2s → 10010122


2012112 → 10101102 → 10011112 → 2012112
10011112 → 2012112 → 10101102 → 10011112
10101102 → 10011112 → 2012112 → 10101102

A question I haven’t been able to answer: Is there a base in which loops can be longer than these?

103142132415 → 104122232415 → 103142132415
10512223142518 → 10414213142518 → 10512213341518 → 10512223142518

A question I have been able to answer: What is the sequence when it’s seeded with the title of this blog-post? T4K1NGS3LF13S is a number in all bases >= 30 and its base-30 form equals 15,494,492,743,722,316,018 in base 10 (with the factorization 2 * 72704927 * 106557377767). If T4K1NGS3LF13S seeds a sequence in any b >= 30, the result looks like this:

T4K1NGS3LF13S → 2123141F1G1K1L1N2S1T → 813213141F1G1K1L1N1S1T → A1122314181F1G1K1L1N1S1T → B1221314181A1F1G1K1L1N1S1T → C1221314181A1B1F1G1K1L1N1S1T → D1221314181A1B1C1F1G1K1L1N1S1T → E1221314181A1B1C1D1F1G1K1L1N1S1T → F1221314181A1B1C1D1E1F1G1K1L1N1S1T → G1221314181A1B1C1D1E2F1G1K1L1N1S1T → F1321314181A1B1C1D1E1F2G1K1L1N1S1T → F1222314181A1B1C1D1E2F1G1K1L1N1S1T → E1421314181A1B1C1D1E2F1G1K1L1N1S1T → F1221324181A1B1C1D2E1F1G1K1L1N1S1T → E1421314181A1B1C1D1E2F1G1K1L1N1S1T

Tri-Way to L

The name is more complicated than the shape: L-triomino. The shape is simply three squares forming an L. And it’s a rep-tile — it can be divided into four smaller copies of itself.

l-triomino

An L-triomino — three squares forming an L


l-triomino_anim

L-triomino as rep-tile


That means it can also be turned into a fractal, as I’ve shown in Rep-Tiles Revisited and Get Your Prox Off #2. First you divide an L-triomino into four sub-copies, then discard one sub-copy, then repeat. Here are the standard L-triomino fractals produced by this technique:

l-triomino_123_134

Fractal from L-triomino — divide and discard


l-triomino_234


l-triomino_124


l-triomino_124_upright


l-triomino_124_upright_static1

(Static image)


l-triomino_124_upright_static2

(Static image)


But those fractals don’t exhaust the possibilities of this very simple shape. The standard L-triomino doesn’t have true chirality. That is, it doesn’t come in left- and right-handed forms related by mirror-reflection. But if you number its corners for the purposes of sub-division, you can treat it as though it comes in two distinct orientations. And when the orientations are different in the different sub-copies, new fractals appear. You can also delay the stage at which you discard the first sub-copy. For example, you can divide the L-triomino into four sub-copies, then divide each sub-copy into four more sub-copies, and only then begin discarding.

Here are the new fractals that appear when you apply these techniques:

l-triomino_124_exp

Delay before discarding


l-triomino_124_exp_static

(Static image)


l-triomino_124_tst2_static1

(Static image)


l-triomino_124_tst2_static2

(Static image)


l-triomino_124_tst1


l-triomino_124_tst1_static1

(Static image)


l-triomino_124_tst1_static2

(Static image)


l-triomino_134_adj1

Adjust orientation


l-triomino_134_adj2


l-triomino_134_adj3


l-triomino_134_adj3_tst3

(Static image)


l-triomino_134_adj4


l-triomino_134_exp_static

(Static image)


l-triomino_234_exp

Can You Dij It? #2

It’s very simple, but I’m fascinated by it. I’m talking about something I call the digit-line, or the stream of digits you get when you split numbers in a particular base into individual digits. For example, here are the numbers one to ten in bases 2 and 3:

Base = 2: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010…
Base = 3: 1, 2, 10, 11, 12, 20, 21, 22, 100, 101…


If you turn them into digit-lines, they look like this:

Base = 2: 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0… (A030190 in the Online Encyclopedia of Integer Sequences)
Base = 3: 1, 2, 1, 0, 1, 1, 1, 2, 2, 0, 2, 1, 2, 2, 1, 0, 0, 1, 0, 1… (A003137 in the OEIS)


At the tenth digit of the two digit-lines, both digits equal zero for the first time:

Base = 2: 1, 1, 0, 1, 1, 1, 0, 0, 1, 0
Base = 3: 1, 2, 1, 0, 1, 1, 1, 2, 2, 0


When the binary and ternary digits are represented together, the digit-lines look like this:

(1,1), (1,2), (0,1), (1,0), (1,1), (1,1), (0,1), (0,2), (1,2), (0,0)


But in base 4, the tenth digit of the digit-line is 1. So when do all the digits of the digit-line first equal zero for bases 2 to 4? Here the early integers in those bases:

Base 2: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011, 10100, 10101…

Base 3: 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, 102, 110, 111, 112, 120, 121, 122, 200, 201, 202, 210, 211, 212, 220, 221, 222, 1000, 1001, 1002…

Base 4: 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33, 100, 101, 102, 103, 110, 111, 112, 113, 120, 121, 122, 123, 130, 131, 132, 133, 200…


And here are the digits of the digit-line in bases 2 to 4 represented together:

(1,1,1), (1,2,2), (0,1,3), (1,0,1), (1,1,0), (1,1,1), (0,1,1), (0,2,1), (1,2,2), (0,0,1), (1,2,3), (1,1,2), (1,2,0), (0,2,2), (1,1,1), (1,0,2), (1,0,2), (1,1,2), (0,0,3), (0,1,3), (0,1,0), (1,0,3), (0,2,1), (0,1,3), (1,1,2), (1,0,3), (0,1,3), (1,1,1), (0,1,0), (1,1,0), (0,1,1), (1,2,0), (1,1,1), (1,2,1), (1,0,0), (0,1,2), (0,2,1), (1,1,0), (1,1,3), (0,2,1), (1,2,1), (1,2,0), (1,0,1), (1,0,1), (0,2,1), (1,0,1), (1,1,1), (1,2,2), (1,0,1), (1,2,1), (0,2,3), (0,1,1), (0,0,2), (0,2,0), (1,1,1), (0,1,2), (0,2,1), (0,1,1), (1,2,2), (1,2,2), (0,2,1), (0,0,2), (1,2,3), (0,2,1), (1,1,3), (0,2,0), (0,2,1), (1,2,3), (1,1,1), (1,0,1), (0,0,3), (1,0,2), (0,1,1), (0,0,3), (1,0,3), (0,1,2), (1,1,0), (0,0,0)

At the 78th digit, all three digits equal zero. But the 78th digit of the digit-line in base 5 is 1. So when are the digits first equal to zero in bases 2 to 5? It’s not difficult to find out, but the difficulty of the search increases fast as the bases get bigger. Here are the results up to base 13 (note that bases 11 and 12 both have zeroes at digit 103721663):

dig=0 in bases 2 to 3 at the 10th digit of the digit-line
dig=0 in bases 2 to 4 at the 78th digit of the digit-line
dig=0 in bases 2 to 5 at the 182nd digit of the digit-line
dig=0 in bases 2 to 6 at the 302nd digit of the digit-line
dig=0 in bases 2 to 7 at the 12149th digit of the digit-line
dig=0 in bases 2 to 8 at the 45243rd digit of the digit-line
dig=0 in bases 2 to 9 at the 255261st digit of the digit-line
dig=0 in bases 2 to 10 at the 8850623rd digit of the digit-line
dig=0 in bases 2 to 12 at the 103721663rd digit of the digit-line
dig=0 in bases 2 to 13 at the 807778264th digit of the digit-line


I assume that, for any base b > 2, you can find some point in the digit-line at which d = 0 for all bases 2 to b. Indeed, I assume that this happens infinitely often. But I don’t know any short-cut for finding the first digit at which this occurs.


Previously pre-posted:

Can You Dij It? #1

Dice in the Witch House

“Who could associate mathematics with horror?”

John Buchan answered that question in “Space” (1911), long before H.P. Lovecraft wrote masterpieces like “The Call of Cthulhu” (1926) and “Dreams in the Witchhouse” (1933). But Lovecraft’s use of mathematics is central to his genius. So is his recognition of both the importance and the strangeness of mathematics. Weird fiction and maths go together very well.

But weird fiction is about the intrusion or eruption of the Other into the everyday. Maths can teach you that the everyday is already Other. In short, reality is weird — the World is a Witch House. Let’s start with a situation that isn’t obviously weird. Suppose you had three six-sided dice, A, B and C, each with different set of numbers, like this:

Die A = (1, 2, 3, 6, 6, 6)
Die B = (1, 2, 3, 4, 6, 6)
Die C = (1, 2, 3, 4, 5, 6)

If the dice are fair, i.e. each face has an equal chance of appearing, then it’s clear that, on average, die A will beat both die B and die C, while die B will beat die C. The reasoning is simple: if die A beats die B and die B beats die C, then surely die A will beat die C. It’s a transitive relationship: If Jack is taller than Jim and Jim is taller than John, then Jack is taller than John.

Now try another set of dice with different arrangements of digits:

Die A = (1, 2, 2, 5, 6, 6)
Die B = (1, 1, 4, 5, 5, 5)
Die C = (3, 3, 3, 3, 4, 6)

If you roll the dice, on average die A beats die B and die B beats die C. Clearly, then, die A will also beat die C. Or will it? In fact, it doesn’t: the dice are what is called non-transitive. Die A beats die B and die B beats die C, but die C beats die A.

But how does that work? To see a simpler example of non-transitivity, try a simpler set of random-number generators. Suppose you have a triangle with a short rod passing through its centre at right angles to the plane of the triangle. Now imagine numbering the edges of the triangles (1, 2, 3) and throwing it repeatedly so that it spins in the air before landing on a flat surface. It should be obvious that it will come to rest with one edge facing downward and that each edge has a 1/3 chance of landing like that.

In other words, you could use such a spiked triangle as a random-number generator — you could call it a “trie”, plural “trice”. Examine the set of three trice below. You’ll find that they have the same paradoxical property as the second set of six-sided dice above. Trie A beats trie B, trie B beats trie C, but trie C beats trie A:

Trie A = (1, 5, 8)
Trie B = (3, 4, 7)
Trie C = (2, 3, 9)

When you throw two of the trice, there are nine possible outcomes, because each of three edges on one trie can be matched with three possible edges on the other. The results look like this:

Trie A beats Trie B 5/9ths of the time.
Trie B beats Trie C 5/9ths of the time.
Trie C beats Trie A 5/9ths of the time.

To see how this works, here are the results throw-by-throw:

Trie A = (1, 5, 8)
Trie B = (3, 4, 7)

When Trie A rolls 1…

…and Trie B rolls 3, Trie B wins (Trie A has won 0 out of 1)
…and Trie B rolls 4, Trie B wins (0 out of 2)
…and Trie B rolls 7, Trie B wins (0 out of 3)

When Trie A rolls 5…

…and Trie B rolls 3, Trie A wins (1/4)
…and Trie B rolls 4, Trie A wins (2/5)
…and Trie B rolls 7, Trie B wins (2/6)

When Trie A rolls 8…

…and Trie B rolls 3, Trie A wins (3/7)
…and Trie B rolls 4, Trie A wins (4/8)
…and Trie B rolls 7, Trie A wins (5/9)


Trie B = (3, 4, 7)
Trie C = (2, 3, 9)

When Trie B rolls 3…

…and Trie C rolls 2, Trie B wins (Trie B has won 1 out of 1)
…and Trie C rolls 3, it’s a draw (1 out of 2)
…and Trie C rolls 9, Trie C wins (1 out of 3)

When Trie B rolls 4…

…and Trie C rolls 2, Trie B wins (2/4)
…and Trie C rolls 3, Trie B wins (3/5)
…and Trie C rolls 9, Trie C wins (3/6)

When Trie B rolls 7…

…and Trie C rolls 2, Trie B wins (4/7)
…and Trie C rolls 3, Trie B wins (5/8)
…and Trie C rolls 9, Trie C wins (5/9)


Trie C = (2, 3, 9)
Trie A = (1, 5, 8)

When Trie C rolls 2…

…and Trie A rolls 1, Trie C wins (Trie C has won 1 out of 1)
…and Trie A rolls 5, Trie A wins (1 out of 2)
…and Trie A rolls 8, Trie A wins (1 out of 3)

When Trie C rolls 3…

…and Trie A rolls 1, Trie C wins (2/4)
…and Trie A rolls 5, Trie A wins (2/5)
…and Trie A rolls 8, Trie A wins (2/6)

When Trie C rolls 9…

…and Trie A rolls 1, Trie C wins (3/7)
…and Trie A rolls 5, Trie C wins (4/8)
…and Trie A rolls 8, Trie C wins (5/9)


The same reasoning can be applied to the six-sided non-transitive dice, but there are 36 possible outcomes when two of the dice are thrown against each other, so I won’t list them.

Die A = (1, 2, 2, 5, 6, 6)
Die B = (1, 1, 4, 5, 5, 5)
Die C = (3, 3, 3, 3, 4, 6)


Elsewhere other-posted:

At the Mountains of Mathness
Simpson’s Paradox — a simple situation with a very weird outcome