Martin Krzywinski / Genome Sciences Center / Martin Krzywinski / Genome Sciences Center / - contact me Martin Krzywinski / Genome Sciences Center / on Twitter Martin Krzywinski / Genome Sciences Center / - Lumondo Photography Martin Krzywinski / Genome Sciences Center / - Pi Art Martin Krzywinski / Genome Sciences Center / - Hilbertonians - Creatures on the Hilbert Curve
Trance opera—Spente le Stellebe dramaticmore quotes

In Silico Flurries: Computing a world of snow. Scientific American. 23 December 2017

visualization + design

Martin Krzywinski @MKrzywinski
The 2017 Pi Day art imagines the digits of Pi as a star catalogue with constellations of extinct animals and plants. The work is featured in the article Pi in the Sky at the Scientific American SA Visual blog.

`\pi` Day 2014 Art Posters

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2017 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2016 `\pi` approximation day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2016 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2015 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2014 `\pi` approx day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2014 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
2013 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski
Circular `\pi` art

On March 14th celebrate `\pi` Day. Hug `\pi`—find a way to do it.

For those who favour `\tau=2\pi` will have to postpone celebrations until July 26th. That's what you get for thinking that `\pi` is wrong.

If you're not into details, you may opt to party on July 22nd, which is `\pi` approximation day (`\pi` ≈ 22/7). It's 20% more accurate that the official `\pi` day!

Finally, if you believe that `\pi = 3`, you should read why `\pi` is not equal to 3.

Martin Krzywinski @MKrzywinski
All art posters are available for purchase.
I take custom requests.

For the 2014 `\pi` day, two styles of posters are available: folded paths and frequency circles.

The folded paths show `\pi` on a path that maximizes adjacent prime digits and were created using a protein-folding algorithm.

The frequency circles colourfully depict the ratio of digits in groupings of 3 or 6. Oh, look, there's the Feynman Point!

the many paths of `pi`—how to fold numbers

Martin Krzywinski @MKrzywinski
Pi Day art for 2014 is based on the idea of folding the digits of the number into a path. Here one of the most energetically favourable paths is mapped onto a circle — planet π (zoom)

This year's Pi Day art expands on the work from last year, which showed Pi as colored circles on a grid. For those of you who really liked this minimalist depiction of π , I've created something slightly more complicated, but still stylish: Pi digit frequency circles. These are pretty and easy to understand. If you like random distribution of colors (and circles), these are your thing.

But to take drawing Pi a step further, I've experimented with folding its digits into a path. The method used is the same kind used to simulate protein folding. Research into protein folding is very active — the 3-dimensional structure of proteins is necessary for their function. Understanding how structure is affected by changes to underlying sequence is necessary for identifying how things go wrong in a cell.

Martin Krzywinski @MKrzywinski
Folding a protein in 2-dimensions is a difficult challenge. The problem is NP-complete, even when restricted to a lattice. Simulations are used to search for energetically favourable paths. The ultimate goal is to be able to predict the 3-dimensional structure of proteins from its sequence. Images from Wikipedia. (2d folding, 3d shapes)
Enough with proteins, you're here for the art.

method — folding a number

I will be using the replica exchange Monte Carlo algorithm to create folded paths (download code).

Martin Krzywinski @MKrzywinski
Folding a number | Digits of a number are assigned to a polar (black) or hydrophobic state (red). We search for a path that maximizes the number of neighbours assigned to the hydrophobic (red) state. In this example, the 64 digit number of 7s and 9s has an energy of -42, indicating the path has 42 pairs of neighbouring 7s.

The choice of mapping between digit (0-9) and state (polar, hydrophobic) is arbitrary. I have chosen to assign the prime digits (2, 3, 5, 7) as hydrophobic. Another way can be to use perfect squares (1, 2, 4, 9). I construct the path by assigning each digit to a path node. One can partition π into two (or more) digit groupings (31, 41, 59, 26, ...) as well.

Want more math + art? Look at 2013 Pi Day art, discover the Accidental Similarity Number and other number art. Find humor in my poster of the first 2,000 4s of Pi.

folding 64 digits of π

Martin Krzywinski @MKrzywinski
Folding Pi | Prime digits in π (2, 3, 5, 7) are assigned a hydrophobic state. The best path is one that maximizes the number of neighbouring prime digits. The path shown here as E=-23, indicating 23 neighbouring pairs. A color scheme after the Bauhaus style will be used for the art, with a different scheme for white and black backgrounds.

The quality of the path will depend on how hard you look. Each time the folding simulation is run you run the chance of finding a better solution. For the 64 digits of π shown above, I ran the simulation 500 times and found over 200 paths with the same low energy. It's interesting to note that the path with E=-22 was found in <1 second and it took most of the computing time to find the next move.

Below I show 100 paths of 64-digits with E=-23, sorted by their aspect ratio.

Martin Krzywinski @MKrzywinski
100 lowest energy paths | These are 100 E=-23 64-digit paths — there are many more paths with this energy. The paths are in increasing order of aspect ratio (width/height). First is 6x14 (0.429) and last is 8x9 (0.889). (zoom)

Running the simulation for 64 digits is very practical — it takes only a few minutes. In a sectino below, I show you how to run your own simulation.

folding 768 digits of π — the Feynman Point

Let's fold more digits! How about 768 digits — all the way to "...999999". This is the famous The Feynman Point in π where we see the first set of six 9s in row. This happens surprisingly early — at digit 762. In this sequence there are 298 prime digits with the other 470 being composite.

Martin Krzywinski @MKrzywinski
Folding 768 digits of Pi | The best path I could find of the first 768 digits of π with E=-223 (width=38, height=52, r=0.73, cm=1, cmabs=13). (zoom)

I have chosen not to emphasize the start and end of the path — finding them is part of the fun (You are haven't fun, aren't you?). The end is easier to spot — the 6 9s stand out. Finding the start, on the other hand, is harder.

(d,n) points in π — sequences of repeating digits

The Feynman Point is a specific instance of repeating digits, which I call (d,n) points.

You can read more about these locations, where I have enumerated all such locations in the first 268 million digits of π .

Optimal paths of π up to Feynman Point

Below is a list of the 20 best paths that I've been able to find. They range from E=-223 to E=-219. I annotate each path with a few geometrical properties, such as width, height, area and so on. In some of the art these properties annotate the path (energy x×y r cm,cmabs).

# e     - energy, as positive number
# x,y   - path width and height
# r     - aspect ratio = x/y
# area  - area (x*y)
# cm    - center of mass |(sum(x),sum(y))|/n and |(sum(|x|),sum(|y|))|/n
# dend  - distance between start and end of path
 0 e 223 size  37  51 r 0.725 area  1887 cm    1.9   13.4 dend 24.4
 1 e 222 size  36  44 r 0.818 area  1584 cm   17.3   18.8 dend 10.4
 2 e 221 size  37  50 r 0.740 area  1850 cm    7.6   14.0 dend 16.3
 3 e 221 size  70  36 r 1.944 area  2520 cm    1.0   17.3 dend 30.1
 4 e 221 size  41  55 r 0.745 area  2255 cm   17.9   20.6 dend 29.5
 5 e 221 size  50  49 r 1.020 area  2450 cm   20.8   22.1 dend 34.1
 6 e 221 size  61  35 r 1.743 area  2135 cm   11.4   18.2 dend 15.0
 7 e 221 size  53  45 r 1.178 area  2385 cm   14.7   18.1 dend 18.8
 8 e 221 size  32  52 r 0.615 area  1664 cm   14.0   18.1 dend 33.8
 9 e 220 size  46  70 r 0.657 area  3220 cm   26.6   27.8 dend 27.3
10 e 220 size  55  55 r 1.000 area  3025 cm    5.1   16.8 dend 15.0
11 e 220 size  58  34 r 1.706 area  1972 cm    9.3   14.6 dend 43.4
12 e 220 size  62  50 r 1.240 area  3100 cm   30.6   31.4 dend 33.4
13 e 220 size  41  45 r 0.911 area  1845 cm   15.4   17.6 dend 19.2
14 e 220 size  47  51 r 0.922 area  2397 cm   25.6   26.7 dend 16.0
15 e 220 size  38  52 r 0.731 area  1976 cm   13.1   15.9 dend 23.6
16 e 220 size  57  46 r 1.239 area  2622 cm   20.7   22.7 dend 51.7
17 e 220 size  43  57 r 0.754 area  2451 cm   21.3   23.3 dend 29.6
18 e 219 size  45  45 r 1.000 area  2025 cm   16.5   18.2 dend 33.1
19 e 219 size  51  46 r 1.109 area  2346 cm   16.0   19.2 dend 44.4

As you can see, the dimensions of the paths vary greatly. Low energy paths are not necessarily symmetrical. Paths with a small cm are balanced around their center. Paths with r≈1 are confined in a square boundary. Paths with small dend have their start and end points close to one another.

planet π — path lattice on a circle

The art would not be complete if we didn't somehow try to further force things into a circle! The path lattice is rectangular, but can be deformed into an ellipse or circle using the following transformation

` [(x'),(y')] = [(x sqrt(1-y^2/2)),(y sqrt(1-x^2/2)) ] `

Martin Krzywinski @MKrzywinski
Deforming the path lattice | A path of π on a square lattice is blasphemous! Here the path is transformed to either an ellipse (preserving the path's aspect ratio) or a circle. So much better.
Martin Krzywinski @MKrzywinski
Planet π | Let's go there. The 64-digit path shown here has E=-219. (zoom)

news + thoughts

Machine learning: supervised methods (SVM & kNN)

Thu 18-01-2018
Supervised learning algorithms extract general principles from observed examples guided by a specific prediction objective.

We examine two very common supervised machine learning methods: linear support vector machines (SVM) and k-nearest neighbors (kNN).

SVM is often less computationally demanding than kNN and is easier to interpret, but it can identify only a limited set of patterns. On the other hand, kNN can find very complex patterns, but its output is more challenging to interpret.

Martin Krzywinski @MKrzywinski
Nature Methods Points of Significance column: Machine learning: supervised methods (SVM & kNN). (read)

We illustrate SVM using a data set in which points fall into two categories, which are separated in SVM by a straight line "margin". SVM can be tuned using a parameter that influences the width and location of the margin, permitting points to fall within the margin or on the wrong side of the margin. We then show how kNN relaxes explicit boundary definitions, such as the straight line in SVM, and how kNN too can be tuned to create more robust classification.

Bzdok, D., Krzywinski, M. & Altman, N. (2018) Points of Significance: Machine learning: a primer. Nature Methods 15:5–6.

Background reading

Bzdok, D., Krzywinski, M. & Altman, N. (2017) Points of Significance: Machine learning: a primer. Nature Methods 14:1119–1120.

...more about the Points of Significance column

Human Versus Machine

Tue 16-01-2018
Balancing subjective design with objective optimization.

In a Nature graphics blog article, I present my process behind designing the stark black-and-white Nature 10 cover.

Nature 10, 18 December 2017

Machine learning: a primer

Thu 18-01-2018
Machine learning extracts patterns from data without explicit instructions.

In this primer, we focus on essential ML principles— a modeling strategy to let the data speak for themselves, to the extent possible.

The benefits of ML arise from its use of a large number of tuning parameters or weights, which control the algorithm’s complexity and are estimated from the data using numerical optimization. Often ML algorithms are motivated by heuristics such as models of interacting neurons or natural evolution—even if the underlying mechanism of the biological system being studied is substantially different. The utility of ML algorithms is typically assessed empirically by how well extracted patterns generalize to new observations.

Martin Krzywinski @MKrzywinski
Nature Methods Points of Significance column: Machine learning: a primer. (read)

We present a data scenario in which we fit to a model with 5 predictors using polynomials and show what to expect from ML when noise and sample size vary. We also demonstrate the consequences of excluding an important predictor or including a spurious one.

Bzdok, D., Krzywinski, M. & Altman, N. (2017) Points of Significance: Machine learning: a primer. Nature Methods 14:1119–1120.

...more about the Points of Significance column

Snowflake simulation

Tue 16-01-2018
Symmetric, beautiful and unique.

Just in time for the season, I've simulated a snow-pile of snowflakes based on the Gravner-Griffeath model.

Martin Krzywinski @MKrzywinski
A few of the beautiful snowflakes generated by the Gravner-Griffeath model. (explore)

The work is described as a wintertime tale in In Silico Flurries: Computing a world of snow and co-authored with Jake Lever in the Scientific American SA Blog.

Gravner, J. & Griffeath, D. (2007) Modeling Snow Crystal Growth II: A mesoscopic lattice map with plausible dynamics.

Genes that make us sick

Wed 22-11-2017
Where disease hides in the genome.

My illustration of the location of genes in the human genome that are implicated in disease appears in The Objects that Power the Global Economy, a book by Quartz.

Martin Krzywinski @MKrzywinski
The location of genes implicated in disease in the human genome, shown here as a spiral. (more...)

Ensemble methods: Bagging and random forests

Wed 22-11-2017
Many heads are better than one.

We introduce two common ensemble methods: bagging and random forests. Both of these methods repeat a statistical analysis on a bootstrap sample to improve the accuracy of the predictor. Our column shows these methods as applied to Classification and Regression Trees.

Martin Krzywinski @MKrzywinski
Nature Methods Points of Significance column: Ensemble methods: Bagging and random forests. (read)

For example, we can sample the space of values more finely when using bagging with regression trees because each sample has potentially different boundaries at which the tree splits.

Random forests generate a large number of trees by not only generating bootstrap samples but also randomly choosing which predictor variables are considered at each split in the tree.

Krzywinski, M. & Altman, N. (2017) Points of Significance: Ensemble methods: bagging and random forests. Nature Methods 14:933–934.

Background reading

Krzywinski, M. & Altman, N. (2017) Points of Significance: Classification and regression trees. Nature Methods 14:757–758.

...more about the Points of Significance column