There is a cliff you cannot photograph.

Open each edge of an infinite square grid independently with probability (p). At small (p), every open component is finite. At large (p), with probability one, some open component wanders forever. The transition is abrupt in the mathematical object:

below the critical probability: no infinite cluster
above it: an infinite cluster exists almost surely

For bond percolation on the square lattice, the critical probability is exactly (1/2). That is the Harris-Kesten theorem: Harris proved the lower half, and Kesten proved the upper half.1

Now try to observe that theorem in a browser.

You cannot draw an infinite grid. You draw a finite (L \times L) box and ask a nearby question: does some open cluster connect the left side to the right side? The answer is random. At (p=0.49), the box may cross. At (p=0.51), it may fail. The theorem has not disappeared. It is being viewed through a finite window.

The infinite cluster is not a finite object. What the finite experiment sees is a crossing probability.

The Medium Is Random, Not the Fluid

Broadbent and Hammersley introduced percolation in their 1957 paper “Crystals and mazes.” Their abstract frames the essential reversal: instead of studying a randomly moving fluid in a fixed medium, study how randomness in the medium itself controls whether passage is possible.2

The model is almost offensively simple.

In bond percolation, every edge is open with probability (p). Clusters are connected sets of vertices joined by open edges.

In site percolation, every vertex is occupied with probability (p). Clusters are connected occupied vertices.

No forces. No energy. No geometry beyond adjacency. Yet the model has a phase transition, scaling laws, fractal critical clusters, and a surprisingly rich boundary between local disorder and global connectivity. Stauffer’s review uses percolation as an entry point into the scaling theory of critical phenomena precisely because the model is so stripped down.3

That austerity is useful. It lets us ask:

when does local randomness create a macroscopic route?

The answer depends on the lattice and on whether we open sites or bonds. On the square lattice, bond percolation has the exact threshold (p_c = 1/2). Square site percolation does not share that exact self-dual value; high-precision simulation by Newman and Ziff estimated (p_c = 0.59274621(13)).4

Same square grid. Different microscopic object. Different threshold.

The Half Is Not Just Symmetry

The seductive proof sketch for (p_c=1/2) is planar duality.

Draw the dual grid by placing a vertex in every face of the square lattice. Every primal edge has a dual edge crossing it. If a primal edge is closed, call the corresponding dual edge open. A left-right open crossing of a rectangle and a top-bottom closed dual crossing obstruct one another. In a square lattice, the dual graph has the same shape as the original graph, shifted by half a cell.

So (1/2) is the obvious guess.

It is not the theorem.

Self-duality explains why the answer should be balanced. It does not by itself prove that a cluster reaches infinity for every (p>1/2), nor that it fails at and below the critical point. The real proof needs sharp crossing estimates and renormalization ideas. Bollobas and Riordan’s short proof is still a serious paper because the intuitive picture has to be turned into a statement about arbitrarily large rectangles and, finally, the infinite lattice.1

This is the first moral:

the threshold is a thermodynamic-limit statement, not a single finite picture

Finite pictures are still valuable. They are how we learn to see the theorem.

A Box That Can Only Estimate

The lab below runs small Monte Carlo experiments for square-lattice bond and site percolation. It uses union-find to maintain connected components. For each trial, it opens edges or sites independently, unions adjacent open pieces, and records whether any component touches both the left and right boundary.

This is not the full Newman-Ziff single-run estimator, which can measure many occupation probabilities from one randomized ordering. It is deliberately more literal: sweep (p), repeat trials, estimate the crossing curve. The algorithmic core is the same simple component bookkeeping.

The default bond setting uses (L=36), (p=0.50), and 140 trials. On my run, the estimated left-right crossing probability was about 54%, the estimated median crossing point was about 0.494, and the 25%-to-75% transition width was about 0.043. Switch to site mode and the corresponding median moves near 0.590, close to the known square-site value (0.592746).

The exact numbers will move with seed and trial count. The shape should not.

spanning cluster crossing curve known threshold selected p

The lab estimates finite-box left-right crossing probabilities. Bond mode compares against the exact square-lattice threshold 1/2. Site mode compares against the high-precision square-site estimate 0.592746.

Try three things.

First, drag (p) below and above (1/2) in bond mode. The drawn sample changes from dust, to a tangled critical-looking object, to a system dominated by a giant connected component.

Second, increase (L). The crossing probability curve becomes steeper. It does not become perfectly vertical on the page, because the page is still finite. But the transition width shrinks. That is finite-size scaling in a form you can see.

Third, switch from bond to site percolation. The picture still feels like percolation, but the threshold moves. The exact half belonged to a particular duality structure, not to “squareness” in the everyday sense.

How a Rounded S Becomes a Cliff

Away from the critical point, percolation has a length scale. Below (p_c), finite clusters have a typical diameter. Above (p_c), the infinite cluster exists, but finite holes and dangling structures still have characteristic scales. Near (p_c), the correlation length grows.

The scaling story says, roughly,

\[\xi(p) \sim |p-p_c|^{-\nu}.\]

For two-dimensional percolation, the exponent is (\nu=4/3).3

A finite (L \times L) experiment cannot distinguish “truly infinite” from “larger than my window.” The crossing probability changes rapidly when (\xi(p)) is comparable to (L). As (L) grows, the interval of (p) values where that comparison is ambiguous narrows.

This is why finite-size plots often show a family of S-curves, not a step function. The step function is the limit. The curves are the data.

The browser lab estimates a crude transition width by finding where the left-right crossing probability moves from 25% to 75%. For the default bond run, that width is roughly 0.064 for (L=21), 0.051 for (L=36), and 0.042 for (L=51). The estimates are noisy, but the direction is the point:

larger finite systems behave more like the infinite theorem

The theorem is not what a finite simulation outputs. The theorem is what the finite simulation is converging toward.

Union-Find Turns Pictures Into Invariants

Union-find is the right little machine for this experiment because percolation is a connectivity problem.

For bond percolation:

make every vertex its own component
for each edge:
  if the edge is open:
    union the two endpoint components

For site percolation:

activate occupied vertices
for each occupied vertex:
  union it with occupied north/west neighbors

Each component stores four boundary bits: touches left, right, top, bottom. A left-right crossing exists as soon as some component has both the left and right bits. A top-bottom crossing is the analogous vertical event.

This turns a visual question into a small data structure invariant:

cluster spans horizontally iff flags(root) contains LEFT and RIGHT

Newman and Ziff’s more powerful algorithm asks a better Monte Carlo question. Instead of rerunning a fresh experiment at every (p), randomize an ordering of sites or bonds, add them one by one, update clusters with union-find, and then use binomial weights to recover observables across the whole range of (p). Their paper reports linear scaling in system size for estimating quantities such as spanning probability across occupation probabilities.5

The page here chooses clarity over that acceleration. Still, the conceptual move is the same: once random geometry becomes connectivity bookkeeping, a phase transition becomes something you can measure by maintaining components.

Be Careful With “Critical”

It is tempting to point at a finite picture and say:

this sample is critical

That is not quite right. A single finite sample at (p=0.5) is not the critical point. It is one draw from a finite ensemble near the infinite critical point. It may cross or not cross. It may look sparse or surprisingly connected. Its largest cluster is a statistic, not a theorem.

Criticality lives in limits:

increase L
average over samples
approach p_c
watch scale stop being local

This is not pedantry. It is the difference between a beautiful image and a claim. Many applied systems borrow the language of phase transitions: neural network grokking, market cascades, epidemic thresholds, game network effects, infrastructure fragility. Sometimes the analogy is useful. Sometimes it is only a metaphor in a lab coat.

Percolation is a good discipline because it makes the bookkeeping explicit. What is the order parameter? What is the limiting object? What is finite-size rounding? What is the sample-to-sample variability? What exact theorem, if any, are we leaning on?

The square lattice gives a gift: one version has the clean answer (1/2). But the gift is also a warning. Change bonds to sites and the half vanishes. Keep the same (p) but change the finite window and the measured crossing probability changes. Look at one sample and the theorem is hidden under chance.

The phase transition is real.

The finite picture is a mirage with a ruler attached.

  1. Bela Bollobas and Oliver Riordan, “A short proof of the Harris-Kesten Theorem”, Bulletin of the London Mathematical Society, 2006. The original upper-bound theorem is Harry Kesten, “The critical probability of bond percolation on the square lattice equals 1/2”, Communications in Mathematical Physics, 1980.  2

  2. S. R. Broadbent and J. M. Hammersley, “Percolation processes. I. Crystals and mazes”, Proceedings of the Cambridge Philosophical Society, 1957. 

  3. Dietrich Stauffer, “Scaling theory of percolation clusters”, Physics Reports, 1979.  2

  4. M. E. J. Newman and R. M. Ziff, “Efficient Monte Carlo algorithm and high-precision results for percolation”, Physical Review Letters, 2000. 

  5. M. E. J. Newman and R. M. Ziff, “A fast Monte Carlo algorithm for site or bond percolation”, Physical Review E, 2001.