Almost periodic Percolation

Almost periodic percolation If one consideres the 1 in a configuration x in X={0,1} G where G= Z d as 'conducting cells' and 0 as 'isolating cells' one has a percolation problem. Can one march to infinity on the conducting 1's to infinity, if one is allowed in each step to go from one cell to a one of the 3 d -1 neighboring cells? The set of cells which can be reached from a 'conducting cell' are called a 'cluster'.

The classical percolation problem is when x is choosen randomly in X with respect to the product measure of the measure p(1)=p, p(0) = 1-p on {0,1}. In this case, there exists a critical value p * such that for p smaller than p * , all clusters are finite and for p bigger than p * , there exists at least one infinite cluster.

The percolation problem is also interesting in less random situations. The general problem is that one has an ergodic Z d action on a probability space (Y,m) and a random variable f:Y -> R which takes values 0 or 1. If the Z d action is generated by T j and one writes T n = T 1 n1 T 2 n2 ... T d nd , where n=(n1, ... , nd) one has for almost all y in Y a configuration x in X given by x n = f(T n )

An example is almost periodic percolation. With this, one means that the closure of all translates of x form a uniquely ergodic subshift. One gets such configurations with the probability space given by the circle with the Lebesgue measure and letting T j to be ergodic translations. Choose f to be the characteristic function of an interval I with length p. The animated picture on this page shows such configurations in the case d=2, where the length p of interval goes from 0.9 to 0.1

A lemma on almost periodic percolation was used in the article Hof+Knill, CA with almost periodic initial conditions where also references to articles on almost periodic percolation can be found.
The Mathematica code to generate such configutations is
IsInI[x_,a_,b_]:=If[a<=x<=b,1,0];f[n_,m_]:=Mod[N[Sqrt[2]*n+Sqrt[3]*m],1]
Percolation[c_]:=ListDensityPlot[Table[
 IsInI[f[i,j],0,c],{i,100},{j,100}], Mesh->False, 
 Frame->True,FrameTicks->False,Axes->False];

Oliver home