Performativizing Papyrocentricity #53

Papyrocentric Performativity Presents:

Pocket to LaroussiaLarousse de Poche (Librarie Larousse 1954)

Translated to HeavenLes Hommes Volants, Valerie Moolman, trans. Madeleine Astorkia (Time-Life Books 1981)

The Eyes of the Infinite MindFicciones, Jorge Luis Borges

Caught by the FurzeFrancis Walker’s Aphids, John P. Doncaster (British Museum 1961)

Commit to CrunchMaverick Munch: Selecting a Sinisterly Savory Snack to Reinforce Your Rhizomatically Radical Reading, Will Self (TransVisceral Books 2016)


Or Read a Review at Random: RaRaR

Advertisements

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 crawls 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



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


Get Your Prox Off #2

Serendipity is the art of making happy discoveries by accident. I made a mistake writing a program to create fractals and made the happy discovery of an attractive new fractal. And also of a new version of an attractive fractal I had seen before.

As I described in Get Your Prox Off, you can create a fractal by 1) moving a point towards a randomly chosen vertex of a polygon, but 2) forbidding a move towards the nearest vertex or the second-nearest vertex or third-nearest, and so on. If the polygon is a square, the four possible basic fractals look like this (note that the first fractal is also produced by banning a move towards a vertex that was chosen in the previous move):

v4_ban1

v = 4, ban = prox(1)
(ban move towards nearest vertex)


v4_ban2

v = 4, ban = prox(2)
(ban move towards second-nearest vertex)


v4_ban3

v = 4, ban = prox(3)


v4_ban4

v = 4, ban = prox(4)


This program has to calculate what might be called the order of proximity: that is, it creates an array of distances to each vertex, then sorts the array by increasing distance. I was using a bubble-sort, but made a mistake so that the program ran through the array only once and didn’t complete the sort. If this happens, the fractals look like this (note that vertex 1 is on the right, with vertex 2, 3 and 4 clockwise from it):
v4_ban1_sw1

v = 4, ban = prox(1), sweep = 1


v4_ban2_sw1

v = 4, ban = prox(2), sweep = 1


v4_ban3_sw1

v = 4, ban = prox(3), sweep = 1


v4_ban3_sw1_anim

(Animated version of v4, ban(prox(3)), sw=1)


v4_ban4_sw1

v = 4, ban = prox(4), sweep = 1


Note that in the last case, where ban = prox(4), a bubble-sort needs only one sweep to identify the most distant vertex, so the fractal looks the same as it does with a complete bubble-sort.

These new fractals looked interesting, so I had the idea of adjusting the number of sweeps in the incomplete bubble-sort: one sweep or two or three and so on (with enough sweeps, the bubble-sort becomes complete, but more sweeps are needed to complete a sort as the number of vertices increases). If there are two sweeps, then ban(prox(1)) and ban(prox(2)) look like this:

v4_ban1_sw2

v = 4, ban = prox(1), sweep = 2


v4_ban2_sw1

v = 4, ban = prox(2), sweep = 2


But the fractals produced by sweep = 2 for ban(prox(3)) and ban(prox(4)) are identical to the fractals produced by a complete bubble sort. Now, suppose you add a central point to the polygon and treat that as an additional vertex. If the bubble-sort is incomplete, a ban(prox(1)) fractal with a central point looks like this:

v4c_ban1_sw1

v = 4+c, ban = prox(1), sw = 1


v4c_ban1_sw2

v = 4+c, ban = prox(1), sw = 2


When sweep = 3, an attractive new fractal appears:

v4c_ban1_sw3

v = 4+c, ban = prox(1), sw = 3


v4c_ban1_sw3_anim

v = 4+c, ban = prox(1), sw = 3 (animated)


If you ban two vertices, the nearest and second-nearest, i.e. ban(prox(1), prox(2)), a complete bubble-sort produces a familiar fractal:

v4_ban12

v = 4+c, ban = prox(1), prox(2)


And here is ban(prox(2), prox(4)), with a complete bubble-sort:

v4c_ban24

v = 4, ban = prox(2), prox(4)


If the bubble-sort is incomplete, sweep = 1 and sweep = 2 produce these fractals for ban(prox(1), prox(2)):

v4_ban12_sw1

v = 4, ban = prox(1), prox(2), sw = 1


v4_ban12_sw2

v = 4, ban = prox(1), prox(2), sw = 2*

*The second of those fractals is identical to v = 4, ban(prox(2), prox(3)) with a complete bubble-sort.


Here is ban(prox(1), prox(5)) with a complete bubble-sort:

4c_ban15

v = 4, ban = prox(1), prox(5)


Now try ban(prox(1), prox(5)) with an incomplete bubble-sort:

v4_ban15_sw1

v = 4, ban = prox(1), prox(5), sw = 1


v4_ban15_sw2

v = 4, ban = prox(1), prox(5), sw = 2


When sweep = 3, the fractal I had seen before appears:

v4_ban15_sw3

v = 4, ban = prox(1), prox(5), sw = 3


v4_ban15_sw3_anim

v = 4, ban = prox(1), prox(5), sw = 3 (animated)


Where had I seen it before? While investigating this rep-tile (a shape that can be tiled with smaller versions of itself):

L-reptile

L-triomino rep-tile


L-reptile_anim

L-triomino rep-tile (animated)


The rep-tile is technically called an L-triomino, because it looks like a capital L and is one of the two distinct shapes you can create by joining three squares at the edges. You can create fractals from an L-triomino by dividing it into four copies, discarding one of the copies, then repeating the divide-and-discard at smaller and smaller scales:

L-reptile_1

L-triomino fractal stage #1


L-reptile_2

L-triomino fractal stage #2


L-reptile_3

L-triomino fractal stage #3


L-reptile_4

L-triomino fractal stage #4


L-reptile_5

L-triomino fractal stage #5


L-reptile_fractal_anim

L-triomino fractal (animated)

L-reptile_fractal_static

L-triomino fractal (close-up)

And here’s part of the ban(prox(1), prox(5)) fractal for comparison:

v4_ban15_sw3_mono


v4_ban15_sw3_col

So you can get to the same fractal (or versions of it), by two apparently different routes: random movement of a point inside a square or repeatedly dividing-and-discarding the sub-copies of an L-triomino. That’s serendipity!


Previously pre-posted:

Get Your Prox Off

He Say, He Sigh, He Sow #27

“When you run and jump on rocks, your entire brain and body are at work; you stretch your back better than with yoga; every muscle in your body is involved; no two movements will be identical (unlike running in gyms); you become yourself.” — Nassim Taleb, Opacity: A Philosophical Notebook.

Magistra Rules the Waves

One of my favourite integer sequences has the simple formula n(i) = n(i-1) + digitsum(n(i-1)). If it’s seeded with 1, its first few terms go like this:

n(1) = 1
n(2) = n(1) + digitsum(n(1)) = 1 + digitsum(1) = 2
n(3) = 2 + digitsum(2) = 4
n(4) = 4 + digitsum(4) = 8
n(5) = 8 + digitsum(8) = 16
n(6) = 16 + digitsum(16) = 16 + 1+6 = 16 + 7 = 23
n(7) = 23 + digitsum(23) = 23 + 2+3 = 23 + 5 = 28
n(8) = 28 + digitsum(28) = 28 + 2+8 = 28 + 10 = 38

As a sequence, it looks like this:

1, 2, 4, 8, 16, 23, 28, 38, 49, 62, 70, 77, 91, 101, 103, 107, 115, 122, 127, 137, 148, 161, 169, 185, 199, 218, 229, 242, 250, 257, 271, 281, 292, 305, 313, 320, 325, 335, 346, 359, 376, 392, 406, 416, 427, 440, 448, 464, 478, 497, 517, 530, 538, 554, 568, 587, 607, 620, 628, 644, 658, 677, 697, 719, 736, 752, 766, 785, 805, 818, 835, 851, 865, 884, 904, 917, 934, 950, 964, 983, 1003…

Given a number at random, is there a quick way to say whether it appears in the sequence seeded with 1? Not that I know, with one exception. If the number is divisible by 3, it doesn’t appear, at least in base 10. In base 2, that rule doesn’t apply:

n(1) = 1
n(2) = 1 + digitsum(1) = 10 = 1 + 1 = 2
n(3) = 10 + digitsum(10) = 10 + 1 = 11 = 2 + 1 = 3
n(4) = 11 + digitsum(11) = 11 + 1+1 = 101 = 3 + 2 = 5
n(5) = 101 + digitsum(101) = 101 + 1+0+1 = 111 = 5 + 2 = 7
n(6) = 111 + digitsum(111) = 111 + 11 = 1010 = 7 + 3 = 10
n(7) = 1010 + digitsum(1010) = 1010 + 10 = 1100 = 10 + 2 = 12
n(8) = 1100 + digitsum(1100) = 1100 + 10 = 1110 = 12 + 2 = 14

1, 2, 3, 5, 7, 10, 12, 14, 17, 19, 22, 25, 28, 31, 36, 38, 41, 44, 47, 52, 55, 60, 64, 65, 67, 70, 73, 76, 79, 84, 87, 92, 96, 98, 101, 105, 109, 114, 118, 123, 129, 131, 134, 137, 140, 143, 148, 151, 156, 160, 162, 165, 169, 173, 178, 182, 187, 193, 196, 199, 204, 208, 211, 216, 220, 225, 229, 234, 239, 246, 252, 258, 260, 262, 265, 268, 271, 276, 279, 284, 288, 290, 293, 297, 301, 306, 310, 315, 321, 324, 327, 332, 336, 339, 344, 348, 353, 357, 362, 367, 374…

What patterns are there in these sequences? It’s easier to check when they’re represented graphically, so I converted them into patterns à la the Ulam spiral, where n is represented as a dot on a spiral of integers. This is the spiral for base 10:

ulambase10Base 10


And these are the spirals for bases 2 and 3:

ulambase2

Base 2


ulambase3

Base 3


These sequences look fairly random to me: there are no obvious patterns in the jumps from n(i) to n(i+1), i.e. in the values for digitsum(n(i)). Now try the spirals for bases 9 and 33:

ulambase9

Base 9


ulambase33

Base 33


Patterns have appeared: there is some regularity in the jumps. You can see these regularities more clearly if you represent digitsum(n(i)) as a graph, with n(i) on the x axis and digitsum(n(i)) on the y axis. If the graph starts with n(i) = 1 on the lower left and proceeds left-right, left-right up the screen, it looks like this in base 10:

base10

Base 10 (click to enlarge)


Here are bases 2 and 3:

base2

Base 2


base3

Base 3


The jumps seem fairly random. Now try bases 9, 13, 16, 17, 25, 33 and 49:

base9

Base 9


base13

Base 13


base16

Base 16


base17

Base 17


base25

Base 25


base33

Base 33


base49

Base 49


In some bases, the formula n(i) = n(i-1) + digitsum(n(i-1)) generates mild randomness. In others, it generates strong regularity, like waves rolling ashore under a steady wind. I don’t understand why, but regularity seems to occur in bases that are one more than a power of 2 and also in some bases that are primes or squares.


Elsewhere other-posted:

Mathematica Magistra Mundi
8200_idf_insignia

The Whisper from the Sea

─But what is that whisper?

─Ah. Then ye hear it?

─Aye. ’Tis thin and eerie, mingling with the waves, and seemeth to come from great distance. I know not the language thereof, but I hear great rage therein.

─As well ye might. We stand near the spot at which the wizard Zigan-Uvalen bested a demon sent against him by an enemy. ’Tis the demon’s whisper ye hear.

─Tell me the tale.

─It is after this wise…

Zigan-Uvalen woke to a stench of brimstone, a crackle of flame, and found himself staring up at a fearsome ebon face, lapped in blood-red fire, horned with curling jet, fanged in razor-sharp obsidian.

“Wake, Wizard!” the apparition boomed. “And make thy peace with thy gods, for I am come to devour thee!”

Zigan-Uvalen sat up and pinched himself thrice.

“Without introduction?” he asked, having verified that he was truly awake.

“Introduction?”

“Well, ’tis customary, in the better magickal circles.”

“Aye? Then know this: I am the Demon Ormaguz, summoned from the hottest corner of the deepest pit of Hell by your most puissant and malicious enemy, the wizard Muran-Egah. I have been dispatched by him over many leagues of plain and ocean to wreak his long-meditated, slow-readied, at-last-matured vengeance on thee.”

“Very well. And what are your qualifications?”

“Qualifications?”

“Aye. Are ye worthy of him who sent you, O Demon Ormaguz?”

“Aye, that I am! And will now dev–”

“Nay, nay!” The wizard raised a supplicatory hand. “Take not offence, O Ormaguz. I ask merely out of form. ’Tis customary, in the better magickal circles.”

“Truly?”

“Truly.”

“Then know this… Well, of formal qualifications, diplomas, and the like, I have none, ’tis true. But I am a demon, thou puny mortal. I have supernatural powers of body and mind, far beyond thy ken.”

“I doubt them not. At least, I doubt not your powers of body, in that ye have travelled so very far and very fast this very night. Or so ye say. But powers of mind? Of what do they consist?”

“Of aught thou carest to name, O Wizard.”

“Then ye have, for instance, much mathematical skill?”

“Far beyond thy ken.”

“How far?”

“Infinitely far, wizard!”

“Infinitely? Then could ye, for instance, choose a number at hazard from the whole and endless series of the integers?”

“Aye, that I could!”

“Entirely at hazard, as though ye rolled a die of infinite sides?”

“Aye! In less than the blink of an eye!”

“Well, so ye say.”

“So I say? Aye, so I say, and say sooth!”

“Take not offence, O Demon, but appearances are against you.”

“Against me?”

“Ye are a demon, after all, unbound by man’s pusillanimous morality.”

“I speak sooth, I tell thee! I could, in an instant, choose a number, entirely at hazard, from the whole and endless series of the integers.”

“And speak it to me?”

“Ha! So that is thy game, wizard! Thou seekest to occupy me with some prodigious number whilst thou makest thy escape.”

“Nay, nay, ye misjudge me, O Demon. Let me suggest this. If ye can, as ye say, choose such a number, then do so and recite its digits to me after the following wise: in the first second, name a single digit – nay, nay, O Demon, hear me out, I pray! Aye, in the first second, name a single digit thereof; in the second second, name four digits, which is to say, two raised to the second power; in the third second, name a number of digits I, as a mere mortal, cannot describe to you, for ’tis equal to three raised to the third power of three.”

“That would be 7,625,597,484,987 digits named in the third second, O Wizard.”

“Ah, most impressive! And your tongue would not falter to enunciate them?”

“Nay, not at all! Did I not tell thee my powers are supernatural?”

“That ye did, O Demon. And in the fourth second, of course, ye would name a number of digits equal to four raised to four to the fourth power of four. And so proceed till the number is exhausted. Does this seem well to you?”

“Aye, very well. Thou wilt have the satisfaction of knowing that ’tis an honest demon who devoureth thee.”

“That I will. Then, O Ormaguz, prove your honesty. Choose your number and recite it to me, after the wise I described to you. Then devour me at your leisure.”

─Then the Demon chose a number at hazard from the whole and endless series of the integers and began to recite it after the wise Zigan-Uvalen had described. That was eighteen centuries ago. The demon reciteth the number yet. That is the whisper ye hear from the sea, which rose long ago above the tomb of Zigan-Uvalen.

Flesh and Binary

It’s odd that probability theory is so counter-intuitive to human beings and so late-flowering in mathematics. Men have been gambling for thousands of years, but didn’t develop a good understanding of what happens when dice are rolled or coins are tossed until a few centuries ago. And an intuitive grasp of probability would have been useful long before gambling was invented. Our genes automatically equip us to speak, to walk and to throw, but they don’t equip us to understand by instinct why five-tails-in-a-row makes heads no more likely on the sixth coin-toss than it was on the first.

Dice from ancient Rome

Dice and gambling tokens from ancient Rome

Or to understand why five-boys-in-a-row makes the birth of a girl next time no more likely than it was during the first pregnancy (at least in theory). Boy/girl, like heads/tails, is a binary choice, so binary numbers are useful for understanding the probabilities of birth or coin-tossing. Questions like these are often asked to test knowledge of elementary probability:

1. Suppose a family have two children and the elder is a boy. What is the probability that both are boys?

2. Suppose a family have two children and at least one is a boy. What is the probability that both are boys?

People sometimes assume that the two questions are equivalent, but binary makes it clear that they’re not. If 1 represents a boy, 0 represents a girl and digit-order represents birth-order, the first question covers these possibilities: 10, 11. So the chance of both children being boys is 1/2 or 50%. The second question covers these possibilities: 10, 01, 11. So the chance of both children being boys is 1/3 = 33·3%. But now examine this question:

3. Suppose a family have two children and only one is called John. What is the probability that both children are boys?

That might seem the equivalent of question 2, but it isn’t. The name “John” doesn’t just identify the child as a boy, it identifies him as a unique boy, distinct from any brother he happens to have. Binary isn’t sufficient any more. So, while boy = 1, John = 2. The possibilities are: 20, 21, 02, 12. The chance of both children being boys is then 1/2 = 50%.

The three questions above are very simple, but I don’t think Archimedes or Euclid ever addressed the mathematics behind them. Perhaps they would have made mistakes if they had. I hope I haven’t, more than two millennia later. Perhaps the difficulty of understanding probability relates to the fact that it involves movement and change. The Greeks developed a highly sophisticated mathematics of static geometry, but did not understand projectiles or falling objects. When mathematicians began understood those in Renaissance Italy, they also began to understand the behaviour of dice, coins and cards. Ideas were on the move then and this new mathematics was obviously related to the rise of science: Galileo (1564-1642) is an important figure in both fields. But the maths and science can be linked with apparently distinct phenomena like Protestantism and classical music. All of these things began to develop in a “band of genius” identified by the American researcher Charles Murray. It runs roughly from Italy through France and Germany to Scotland: from Galileo through Beethoven and Descartes to David Hume.

Map of Europe from Mercator's Atlas Cosmographicae (1596)

Map of Europe from Mercator’s Atlas Cosmographicae (1596)

But how far is geography also biology? Having children is a form of gambling: the dice of DNA, shaken in testicle- and ovary-cups, are rolled in a casino run by Mother Nature. Or rather, in a series of casinos where different rules apply: the genetic bets placed in Africa or Europe or Asia haven’t paid off in the same way. In other words, what wins in one place may lose in another. Different environments have favoured different sets of genes with different effects on both bodies and brains. All human beings have many things in common, but saying that we all belong to the same race, the human race, is like saying that we all speak the same language, the human language. It’s a ludicrous and anti-scientific idea, however widely it may be accepted (and enforced) in the modern West.

Languages have fuzzy boundaries. So do races. Languages have dialects and accents, and so, in a sense, do races. The genius that unites Galileo, Beethoven and Hume may have been a particular genetic dialect spoken, as it were, in a particular area of Europe. Or perhaps it’s better to see European genius as a series of overlapping dialects. Testing that idea will involve mathematics and probability theory, and the computers that crunch the data about flesh will run on binary. Apparently disparate things are united by mathematics, but maths unites everything partly because it is everything. Understanding the behaviour of dice in the sixteenth century leads to understanding the behaviour of DNA in the twenty-first.

The next step will be to control the DNA-dice as they roll. China has already begun trying to do that using science first developed in the West. But the West itself is still in the thrall of crypto-religious ideas about equality and environment. These differences have biological causes: the way different races think about genetics, or persuade other races to think about genetics, is related to their genetics. You can’t escape genes any more than you can escape maths. But the latter is a ladder that allows us to see over the old genetic wall and glimpse the possibilities beyond it. The Chinese are trying to climb over the wall using super-computers; the West is still insisting that there’s nothing on the other side. Interesting times are ahead for both flesh and binary.

Appendix

1. Suppose a family have three children and the eldest is a girl. What is the probability that all three are girls?

2. Suppose a family have three children and at least one is a girl. What is the probability that all three are girls?

3. Suppose a family have three children and only one is called Joan. What is the probability that all three are girls?

The possibilities in the first case are: 000, 001, 010, 011. So the chance of three girls is 1/4 = 25%.

The possibilities in the second case are: 000, 001, 010, 011, 100, 101, 110. So the chance of three girls is 1/7 = 14·28%.

The possibilities in the third case are: 200, 201, 210, 211, 020, 021, 120, 121, 002, 012, 102, 112. So the chance of three girls is 3/12 = 1/4 = 25%.