1 Introduction

Ker-I Ko was a pioneer in the computability, and especially the computational complexity, of problems in mathematical analysis. Aside from his visionary work on the complexity theory of functions on the reals, the early part of which is summarized in his well-known 1991 monograph [17], he did groundbreaking work on computability and complexity aspects of fractal geometry and other topics in geometric measure theory [5,6,7,8, 18,19,20,21,22, 48].

This chapter surveys recent developments in which algorithmic fractal dimensions, which are constructs of the theory of computing, have been used to answer open questions in classical fractal geometry, questions of mathematical analysis whose statements do not involve the theory of computing.

The results surveyed here concern the classical Hausdorff and packing dimensions of sets in Euclidean spaces \(\mathbb {R}^n\). These fractal dimensions are duals of each other that were developed in 1918 and the early 1980s, respectively [15, 45, 46]. They assign every set \(E \subseteq \mathbb {R}^n\) a Hausorff dimension \(\mathrm {dim}_{\mathrm {H}}(E)\) and a packing dimension \(\mathrm {dim}_{\mathrm {P}}(E)\), which are real numbers satisfying \(0 \le \mathrm {dim}_{\mathrm {H}}(E)\le \mathrm {dim}_{\mathrm {P}}(E) \le n\) [12, 14]. These dimensions are both 0 if E consists of a single point, 1 if E is a smooth curve, 2 if E is a smooth surface, etc., but, for any two real numbers \(\alpha \) and \(\beta \) satisfying \(0 \le \alpha \le \beta \le n\), there are \(2^\mathfrak {c}\) many sets \(E \subseteq \mathbb {R}^n\) such that \(\mathrm {dim}_{\mathrm {H}}(E) = \alpha \) and \(\mathrm {dim}_{\mathrm {P}}(E) = \beta \), where \(\mathfrak {c} = 2^{\aleph _0}\) is the cardinality of the continuum. So-called “fractals” (a term with no accepted formal definition) are typically sets \(E \subseteq \mathbb {R}^n\) with non-integral Hausdorff and packing dimensions. (Note: Hausdorff and packing dimensions are well-defined in arbitrary metric spaces, but this generality is not needed in the present survey.)

In contrast with the above classical fractal dimensions, the algorithmic fractal dimensions developed in [1, 24] and defined in Sect. 2 below use computability theory to assign each individual point x in a Euclidean space \(\mathbb {R}^n\) a dimension \(\dim (x)\) and a strong dimension \(\mathrm {Dim}(x)\) satisfying \(0 \le \dim (x) \le \mathrm {Dim}(x) \le n\). Intuitively, \(\dim (x)\) and \(\mathrm {Dim}(x)\) are the lower and upper densities of the algorithmic information in x. Computable points x (and many other points) satisfy \(\dim (x) = \mathrm {Dim}(x) = 0\). In contrast, points x that are algorithmically random in the sense of Martin-Löf [33] (and many other points) satisfy \(\dim (x) = \mathrm {Dim}(x) = n\). In general, for any two real numbers \(\alpha \) and \(\beta \) satisfying \(0 \le \alpha \le \beta \le n\), the set of points \(x \in \mathbb {R}^n\) such that \(\dim (x) = \alpha \) and \(\mathrm {Dim}(x) = \beta \) has the cardinality \(\mathfrak {c}\) of the continuum.

The algorithmic fractal dimensions \(\dim (x)\) and \(\mathrm {Dim}(x)\) were known from their inceptions to be closely related to—and in fact \(\varSigma ^0_1\) versions of—their respective classical forerunners \(\mathrm {dim}_{\mathrm {H}}(E)\) and \(\mathrm {dim}_{\mathrm {P}}(E)\) [1, 24]. However, it was only recently [26] that the point-to-set principles discussed in Sect. 3 below were proven, giving complete characterizations of \(\mathrm {dim}_{\mathrm {H}}(E)\) and \(\mathrm {dim}_{\mathrm {P}}(E)\) in terms of oracle relativizations of \(\dim (x)\) and \(\mathrm {Dim}(x)\), respectively.

The point-to-set principles are so named because they enable one to infer a bound—especially a difficult lower bound—on the classical fractal dimensions of a set \(E \subseteq \mathbb {R}^n\) from a bound on the relativized algorithmic dimension of a single, judiciously chosen point \(x \in E\). The power of this point-to-set reasoning has quickly become apparent. Sections 4 through 7 below survey recent research in which this method has been used to prove new theorems in classical fractal geometry. Several of these theorems answered well-known open questions in the field, completely classical questions whose statements do not involve computability or logic. Section 8 discusses the prospects for future such results.

2 Algorithmic Information and Algorithmic Dimensions

The Kolmogorov complexity, or algorithmic information content, of a string \(x\in \{0,1\}^*\) is

$$\begin{aligned} K(x)=\min \big \{|\pi |\;\big |\;\pi \in \{0,1\}^*\text { and }U(\pi )=x\big \}, \end{aligned}$$

where U is a fixed universal prefix Turing machine, and \(\pi \) is the length of a binary “program \(\pi \) for x.” Extensive discussions of the history and intuition behind this notion, including its essential invariance with respect to the choice of the universal Turing machine U, may be found in any of the standard texts [11, 23, 40, 41]. By routine encoding we extend this notion to let x range over various countable sets, so that K(x) is well defined when x is an element of \(\mathbb {N}\), \(\mathbb {Q}\), \(\mathbb {Q}^n\), etc.

We “lift” Kolmogorov complexity to Euclidean space in two steps. We first define the Kolmogorov complexity of a set \(E\subseteq \mathbb {R}^n\) to be

$$\begin{aligned} K(E)=\min \{K(q)\mid q\in \mathbb {Q}^n\cap E\}, \end{aligned}$$

i.e., the amount of information to specify some rational point in E. (A similar notion was used for a different purpose in [42].) Note that

$$\begin{aligned} E\subseteq F\implies K(E)\ge K(F). \end{aligned}$$

We then define the Kolmogorov complexity of a point \(x\in \mathbb {R}^n\) at a precision \(r\in \mathbb {N}\) to be

$$\begin{aligned} K_r(x)=K\big (B_{2^{-r}}(x)\big ), \end{aligned}$$

where \(B_\varepsilon (x)\) is the open ball of radius \(\varepsilon \) about x. That is, \(K_r(x)\) is the number of bits required to specify some rational point q whose Euclidean distance from x is less than \(2^{-r}\).

The (algorithmic) dimension of a point \(x\in \mathbb {R}^n\) is

$$\begin{aligned} \dim (x)=\liminf _{r\rightarrow \infty }\frac{K_r(x)}{r}, \end{aligned}$$
(2.1)

and the strong (algorithmic) dimension of a point \(x\in \mathbb {R}^n\) is

$$\begin{aligned} \mathrm {Dim}(x)=\limsup _{r\rightarrow \infty }\frac{K_r(x)}{r}. \end{aligned}$$
(2.2)

(The adjectives “constructive” and “effective” are sometimes used in place of “algorithmic” here.) We should note that the identities (2.1) and (2.2) were originally theorems proven in [27] (following a key breakthrough in [37]) characterizing the algorithmic dimensions \(\dim (x)\) and \(\mathrm {Dim}(x)\) that had first been developed using algorithmic betting strategies called gales [1, 24]. The characterizations (2.1) and (2.2) support the intuition that \(\dim (x)\) and \(\mathrm {Dim}(x)\) are the lower and upper asymptotic densities of algorithmic information in the point \(x\in \mathbb {R}^n\).

By giving the underlying universal prefix Turing machine oracle access to a set \(A\subseteq \mathbb {N}\), the quantities in this section can all be defined relative to A. We denote these relativized complexities and dimensions by \(K^A(x)\), \(K^A_r(x)\), \(\dim ^A(x)\), etc. When A encodes a point \(y\in \mathbb {R}^n\), we may instead write \(K^y(x)\), \(K^y_r(x)\), \(\dim ^y(x)\), etc. The following easily verified result is frequently useful.

Theorem 1

(chain rule for algorithmic dimensions). For all \(x\in \mathbb {R}^m\) and \(y\in \mathbb {R}^n\),

$$\begin{aligned} \dim ^y(x)+\dim (y)&\le \dim (x,y)\\&\le \mathrm {Dim}^y(x)+\dim (y)\\&\le \mathrm {Dim}(x,y)\\&\le \mathrm {Dim}^y(x)+\mathrm {Dim}(y). \end{aligned}$$

3 Point-to-Set Principles

One of the oldest and most beautiful theorems of computable analysis says that a function \(f:\mathbb {R}\rightarrow \mathbb {R}\) is continuous if and only if there is an oracle \(A\subseteq \mathbb {N}\) relative to which f is computable [39, 43]. That is, relativization allows us to characterize continuity—a completely classical notion—in terms of computability. The following two recent theorems are very much in the spirit of this old theorem.

Theorem 2

(point-to-set principle for Hausdorff dimension [26]). For every set \(E\subseteq \mathbb {R}^n\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E)=\min _{A\subseteq \mathbb {N}}\sup _{{x}\in E}\,\dim ^A({x}). \end{aligned}$$
(3.1)

Theorem 3

(point-to-set principle for packing dimension [26]). For every set \(E\subseteq \mathbb {R}^n\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {P}}(E)=\min _{A\subseteq \mathbb {N}}\sup _{{x}\in E}\,\mathrm {Dim}^A({x}). \end{aligned}$$
(3.2)

For purposes of this survey, readers unfamiliar with Hausdorff and packing dimensions may use Theorems 2 and 3 as their definitions, but it should be kept in mind that these characterizations are theorems that were proven a century after Hausdorff developed his beautiful dimension.

Two remarks on the point-to-set principles are in order here. First, as the principles state, the minima on the right-hand sides of (3.1) and (3.2) are actually achieved. In other words, if we define a Hausdorff oracle for a set \(E \subseteq \mathbb {R}^n\) to be an oracle \(A \subseteq \mathbb {N}\) such that

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E)=\sup _{{x}\in E}\,\dim ^A({x}), \end{aligned}$$
(3.3)

and we similarly define a packing oracle for a set \(E \subseteq \mathbb {R}^n\) to be an oracle \(A \subseteq \mathbb {N}\) such that

$$\begin{aligned} \mathrm {dim}_{\mathrm {P}}(E)=\sup _{{x}\in E}\,\mathrm {Dim}^A({x}), \end{aligned}$$
(3.4)

then the point-to-set principles are assertions that every set \(E \subseteq \mathbb {R}^n\) has Hausdorff and packing oracles. It is easy to show that, if A is a Hausdorff oracle for a set \(E \subseteq \mathbb {R}^n\), and if A is Turing reducible to a set \(B \subseteq \mathbb {N}\), then B is also a Hausdorff oracle for E, and similarly for packing oracles. This is useful, because it often enables one to combine Hausdorff or packing oracles with other oracles in a proof.

The second remark on the point-to-set principles concerns their use. Some of the most challenging problems in fractal geometry and dynamical systems involve finding lower bounds on the fractal dimensions of various sets. The point-to-set principles allow us to infer lower bounds on the fractal dimensions of sets from lower bounds on the corresponding relativized algorithmic fractal dimensions of judiciously chosen individual points in those sets. For example, to prove, for a given set \(E \subseteq \mathbb {R}^n\), that \(\mathrm {dim}_{\mathrm {H}}(E) \ge \alpha \), it suffices to show that, for every Hausdorff oracle A for E and every \(\varepsilon > 0\), there is a point \(x \in E\) such that \(\dim ^A(x) > \alpha - \varepsilon \). In some applications, the \(\varepsilon \) here is not even needed, because one can readily show that there is a point \(x \in E\) such that \(\dim ^A(x) \ge \alpha \). Most of the rest of this survey is devoted to illustrating the power of this point-to-set reasoning about fractal dimensions.

4 Fractal Products

Marstrand’s product formula [14, 32] states that for all sets \(E,F\subseteq \mathbb {R}^n\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E)\le \mathrm {dim}_{\mathrm {H}}(E\times F)-\mathrm {dim}_{\mathrm {H}}(F). \end{aligned}$$

The proof of this fact for Borel sets is simple [14], but Marstrand’s original proof of the general result is more difficult [36]. Using the point-to-set principle for Hausdorff dimension, the general result is an almost trivial consequence of the chain rule, Theorem 1 [28]. Tricot [46] proved related inequalities about packing dimension, including the fact that for all \(E,F\subseteq \mathbb {R}^n\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {P}}(E)\ge \mathrm {dim}_{\mathrm {H}}(E\times F)-\mathrm {dim}_{\mathrm {H}}(F). \end{aligned}$$

Xiao [47] showed that for every Borel set \(E\subseteq \mathbb {R}^n\) and \(\varepsilon >0\), there exists a Borel set \(F\subseteq \mathbb {R}^n\) such that

$$\begin{aligned} \mathrm {dim}_{\mathrm {P}}(E)\le \mathrm {dim}_{\mathrm {H}}(E\times F)-\mathrm {dim}_{\mathrm {H}}(F)+\varepsilon . \end{aligned}$$
(4.1)

Bishop and Peres [4] independently showed that for Borel (or analytic) E there exists a compact F satisfying (4.1); they also later commented that that it would be straightforward to modify their construction to achieve \(\varepsilon =0\).

Using the point-to-set principles, N. Lutz proved for arbitrary sets E that \(\varepsilon =0\) can be achieved in (4.1), albeit not necessarily by a compact or Borel set F.

Theorem 4

([29]). For every set \(E\subseteq \mathbb {R}^n\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {P}}(E)=\max _{F\subseteq \mathbb {R}^n}\big (\mathrm {dim}_{\mathrm {H}}(E\times F)-\mathrm {dim}_{\mathrm {H}}(F)\big ). \end{aligned}$$

The particular set F constructed in the proof of this theorem is the set of all points \(x\in \mathbb {R}^n\) with \(\dim ^A(x)\le n-\mathrm {dim}_{\mathrm {P}}(E)\), for a carefully chosen oracle A.

5 Fractal Intersections

Given a parameter \(x\in \mathbb {R}\) and a set \(E\subseteq \mathbb {R}^2\) with \(\mathrm {dim}_{\mathrm {H}}(E)\ge 1\), what can we say about the Hausdorff dimension of the vertical slice \(E_x=\{y:(x,y)\in E\}\)? Without further information, we can only give the trivial upper bound,

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E_x)\le 1. \end{aligned}$$
(5.1)

For instance, equality holds in (5.1) whenever \(\{x\}\times [0,1]\subseteq E\). It would be more informative, then, to ask about the Hausdorff dimension of a random vertical slice of E. The Marstrand slicing theorem tells us that if E is a Borel set, then for Lebesgue almost every \(x\in E\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E_x)\le \mathrm {dim}_{\mathrm {H}}(E_x)-1. \end{aligned}$$

Several more general results giving upper bounds on the Hausdorff dimension of the intersections of random transformations of restricted classes of sets have been proven, including theorems by Mattila [34,35,36] and Kahane [16]; in particular, Falconer [14] showed that when \(E,F\subseteq \mathbb {R}^n\) are Borel sets,

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E\cap (F+z))\le \max \{0,\mathrm {dim}_{\mathrm {H}}(E\times F)-n\} \end{aligned}$$
(5.2)

holds for Lebesgue almost every \(z\in \mathbb {R}\). Using the point-to-set principle, N. Lutz showed that this inequality holds even when the Borel assumption is removed.

Theorem 5

([28]). For all \(E,F\subseteq \mathbb {R}^n\), and for Lebesgue almost every \(z\in \mathbb {R}^n\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E\cap (F+z))\le \max \{0,\mathrm {dim}_{\mathrm {H}}(E\times F)-n\}. \end{aligned}$$

6 Kakeya Sets and Generalized Furstenberg Sets

A Kakeya set in \(\mathbb {R}^n\) is a set that contains unit-length line segments in all directions. That is, a set \(E\subseteq \mathbb {R}^n\) such that for every direction \(a\in S^{n-1}\) (the \((n-1)\)-dimensional unit sphere in \(\mathbb {R}^n\)), there exists \(b\in \mathbb {R}^{n}\) with \(\{ax+b\mid x\in [0,1]\}\subseteq E\).

Besicovitch [2, 3] proved that Kakeya sets in \(\mathbb {R}^n\) can have measure 0, and Davies [9] proved that Kakeya sets in \(\mathbb {R}^2\) must have Hausdorff dimension 2.

Lutz and Lutz gave computability theoretic proofs of both of these facts. They showed that the former corresponds to the existence of lines in all directions that contain no random points [25], and that the latter corresponds to the fact that for any random pair \((a,x)\in \mathbb {R}^2\), \(\dim (x,ax+b)=2\) holds for all \(b\in \mathbb {R}\) [26].

A set \(E\subseteq \mathbb {R}^2\) is an \((\alpha ,\beta )\)-generalized Furstenberg set, for parameters \(\alpha ,\beta \in [0,1]\), if E contains \(\alpha \)-dimensional subsets of lines in all of a \(\beta \)-dimensional set of directions. That is, E is an \((\alpha ,\beta )\)-generalized Furstenberg set if there is a set \(J\subseteq S^1\) such that \(\mathrm {dim}_{\mathrm {H}}(H)=\beta \) and, for every direction \(a\in J\), there exist \(b\in \mathbb {R}^2\) and \(F_a\subseteq \mathbb {R}\) with \(\mathrm {dim}_{\mathrm {H}}(F_a)=\alpha \) and \(\{ax+b\mid x\in S_a\}\subseteq E\).

It is known that \((\alpha ,\beta )\)-generalized Furstenberg sets of Hausdorff dimension \(\alpha +\frac{\alpha +\beta }{2}\) exist. Molter and Rela [38] gave a lower bound on the Hausdorff dimension of such sets:

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E)\ge \alpha +\max \left\{ \frac{\beta }{2}, \alpha +\beta -1\right\} . \end{aligned}$$
(6.1)

Stull [44] gave a new computability theoretic proof of (6.1), based on the point-to-principle. N. Lutz and Stull used the point-to-set principle to give a bound that improves on (6.1) whenever \(\alpha ,\beta <1\) and \(\beta <2\alpha \).

Theorem 6

([30]). For all \(\alpha ,\beta \in (0,1]\) and every set \(E\in F_{\alpha \beta }\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(E)\ge \alpha +\min \{\beta ,\alpha \}. \end{aligned}$$

7 Fractal Projections

In recent decades, Marstrand’s projection theorem has become one of the most central results in fractal geometry [13]. It says that almost all orthogonal projections of a Borel set onto a line have the maximum possible dimension. More formally, letting \(\mathrm {proj}_a\) denote orthogonal projection onto a line in direction a, Marstrand’s projection theorem states that for all Borel \(E\subseteq \mathbb {R}^2\) and Lebesgue almost every \(a\in S^1\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(\mathrm {proj}_a\,E)=\min \{1,\mathrm {dim}_{\mathrm {H}}(E)\}. \end{aligned}$$
(7.1)

Given Theorems 4 and 5, it is natural to hope that the point-to-set principle for Hausdorff dimension might allow us to remove the Borel assumption here as well. But Davies [10], assuming the continuum hypothesis, constructed a non-Borel set E for which (7.1) does not hold. Nevertheless, N. Lutz and Stull used the point-to-set principles to prove the following.

Theorem 7

([31]). Let \(E\subseteq \mathbb {R}^2\) be any set such that \(\mathrm {dim}_{\mathrm {H}}(E)=\mathrm {dim}_{\mathrm {P}}(E)\). Then for Lebesgue almost every \(a\in S^1\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {H}}(\mathrm {proj}_a\,E)=\min \{1,\mathrm {dim}_{\mathrm {H}}(E)\}. \end{aligned}$$

Theorem 8

([31]). Let \(E\subseteq \mathbb {R}^2\) be any set. Then for Lebesgue almost every \(a\in S^1\),

$$\begin{aligned} \mathrm {dim}_{\mathrm {P}}(\mathrm {proj}_a\,E)\ge \min \{1,\mathrm {dim}_{\mathrm {H}}(E)\}. \end{aligned}$$

8 Conclusion

As the preceding four sections show, the point-to-set principles have enabled the theory of computing to make significant advances in classical fractal geometry in a very short time. There is every indication that more such advances are on the near horizon. But a scientist with Ker-I Ko’s vision would already be asking about more distant horizons. What other areas of classical mathematical analysis can be advanced by analogous methods? Are there intrinsic limits of such methods? We look forward to seeing the answers to these questions take shape.