1: \section{How hard are the Mandelbrot and Julia sets?}
2: \label{s:hard-mand}
3:
4: First let us consider questions of computability of the Mandelbrot set
5: $M$ (which was defined in Section \ref{MJsets}). Despite the relatively
6: simple process defining $M$, the set itself is extremely complex, and
7: exhibits different kinds of behaviors as we zoom into it. In Fig.
8: \ref{mand} we see some of the variety of images arising in $M$.
9:
10: \begin{figure}[!ht]
11: \begin{center}
12: \includegraphics[angle=0, scale=0.8]{mand}
13: \end{center}
14: \caption{A variety of different images arising in zoom-ins of the Mandelbrot set}
15: \label{mand}
16: \end{figure}
17:
18: %The most common algorithm used to compute $M$ works as follows. It chooses
19: %some large integer $T$, and for a grid point $c$ it iterates $c$ using $x
20: %\mapsto x^2+c$ for $T$ steps. If the orbit of $c$ stays in the ball
21: %$B(0,2)$ it marks the pixel of $c$ as part of $M$, otherwise it marks
22: %it as being outside of $M$.
23:
24:
25: The most common algorithm used to compute $M$ is presented on Fig. \ref{mandalg}. The idea
26: is to fix some number $T$, which is the number of steps for which we are willing
27: to iterate. Then for every gridpoint $c$ iterate $f_c (z) = z^2+c$ on $c$ for at most
28: $T$ steps. If the orbit escapes $B(0,2)$, we know that $c\notin M$.
29: Otherwise, we say
30: that $c \in M$. This is equivalent to taking the inverse image of $B(0,2)$ under the
31: polynomial map $f^T (c) = \underbrace{f_c \circ f_c \circ \ldots \circ f_c}_{T \mbox{ times}}(c)$.
32: In Fig. \ref{mandalg} (right) a few of these inverse images and their
33: convergence to $M$ are shown.
34:
35: \begin{figure}[!ht]
36: \begin{center}
37: \includegraphics[angle=0, scale=0.7]{mandalg}
38: \end{center}
39: \caption{The na\"{i}ve algorithm for computing $M$, and some of its outputs}
40: \label{mandalg}
41: \end{figure}
42:
43:
44: One problem with this algorithm is that its analysis should take into account
45: roundoff error involved in the computation $z\leftarrow z^2+c$.
46: But there are other problems as well.
47: For example, we take an arbitrary grid point $c$
48: to be the representative of an entire pixel. If $c$ is not in $M$, but
49: some of its pixel is, we will miss this entire pixel. This problem arises
50: especially when we are trying to draw ``thin" components of $M$, such as
51: the one in the center of Fig. \ref{mand}.
52:
53: Perhaps a deeper objection to this algorithm is the fact that we do not
54: have any estimate on the number of steps $T(n)$ we
55: need to take to make the picture $2^{-n}$-accurate. That is, a $T(n)$
56: such that for any $c$ which is $2^{-n}$-far from $M$, the orbit of $c$
57: escapes in at most $T(n)$ steps. In fact, no such estimates are known
58: in general, and the questions of their existence is equivalent to the
59: bit computability of $M$ (cf. \cite{hert}).
60:
61: Some of the most fundamental properties of $M$ remain open. For
62: example, it is conjectured that it is locally connected, but
63: with no proof so far.
64:
65: \begin{conjecture}
66: \label{locconn}
67: The Mandelbrot set is locally connected.
68: \end{conjecture}
69:
70: When one looks at a picture of $M$, one sees a somewhat regular
71: structure. There is a cardioidal component in the middle, a smaller
72: round component to the left of it and two even smaller components
73: on the sides of the main cardioid. In fact, many of these components
74: can be described combinatorially based on the limit behavior of the
75: orbit of $c$. E.g., in the main cardioid, the orbit of $c$ converges to
76: an attracting point. These components are called {\em hyperbolic components}
77: because they index the hyperbolic Julia sets that will be discussed
78: below. Douady and Hubbard \cite{DH} have shown that Conjecture
79: \ref{locconn}
80: implies that the interior of $M$ consists entirely of hyperbolic
81: components.
82:
83: \begin{conjecture}
84: \label{hypcomp}
85: The interior of $M$ is equal to the union of its hyperbolic components.
86: \end{conjecture}
87:
88: The latter conjecture is known as the {\em Density of Hyperbolicity Conjecture}.
89: Hertling \cite{hert} has shown that the Density of Hyperbolicity Conjecture implies
90: the computability of $M$. There is a possibility that $M$ is computable
91: even without this conjecture holding, but it is hard to imagine
92: such a construction without a much deeper understanding of the structure
93: of $M$. Moreover, even if $M$ is computable, questions surrounding its
94: computational complexity remain wide open.
95: As we will see, the situation is much clearer for most Julia sets.
96:
97:
98: A Julia set $J_r$ is defined for every rational function $r$
99: from the Riemann sphere into itself. Here we restrict our attention
100: to Julia sets corresponding to quadratic polynomials of the form
101: $f_c (z) = z^2+c$. Recall that the filled Julia set $K_c$ is the
102: set of points $x$ such that the sequence $x, f_c (x), f_c (f_c(x)), \ldots$
103: does not diverge to $\infty$. The Julia set $J_c = \partial K_c$ is the
104: boundary of the filled Julia set.
105:
106: For every parameter value $c$ there is a different set $J_c$, so
107: in total there are uncountably many Julia sets, and we cannot
108: hope to have a machine computing $J_c$ for each value of $c$.
109: What we {\em can} hope for is a machine computing $J_c$ when given
110: an access to the parameter $c$ with an arbitrarily high precision.
111: The existence of such a machine and the amount of
112: time the computation takes depends on the properties of
113: the particular Julia set. More information on the properties of
114: Julia sets can be found in \cite{Milnor}.
115:
116: Computationally, the ``easiest" case is that of the {\em hyperbolic} Julia sets.
117: These are the sets for which the orbit of the point $0$ either
118: diverges to $\infty$ or converges to an attracting orbit.
119: Equivalently, these are the sets for which there is a smooth
120: metric $\mu$ on a neighborhood $N$ of $J_c$ such that the map $f_c$ is
121: strictly expanding on $N$ in $\mu$.
122: Hence, points escape the neighborhood of $J_c$ exponentially fast.
123: That is, if $d(J_c, x)>2^{-n}$,
124: then the orbit of $x$ will escape some fixed neighborhood of $J_c$ in $O(n)$ steps. This gives us the divergence
125: speed estimate we lacked in the computation of the Mandelbrot set $M$,
126: and shows that in
127: this case $J_c$ is computable in polynomial time (see \cite{RW,Brv04,Ret}
128: for more details). The set $M$ can be viewed as the set of
129: parameters $c$ for which $J_c$ is connected.
130: The hyperbolic Julia sets correspond to the values
131: of $c$ which are either outside $M$ or in the hyperbolic components inside $M$.
132: If Conjecture \ref{hypcomp} holds, all the points in the interior of
133: $M$ correspond to hyperbolic Julia sets as well. None of the points in $\partial M$
134: correspond to hyperbolic Julia sets.
135:
136: We have just seen that the most ``common" Julia sets are computable
137: relatively efficiently. These are the Julia sets that are usually
138: drawn, such as the ones on Fig. \ref{fractimg}. This raises the
139: question of whether {\em all} Julia sets are computable so efficiently.
140: The answer to this question is negative. In fact, it has been shown in
141: \cite{BY} that there are some values of $c$ for which $J_c$ cannot
142: be computed (even with oracle access to $c$).
143: Moreover, in \cite{BBY} it has been shown that a computable
144: $J_c$ with an explicitly computable $c$ can have an arbitrarily
145: high computational complexity. The
146: constructions are based on Julia sets with Siegel disks. A parameter
147: $c$ which ``fools" all the machines attempting to compute $J_c$ is
148: constructed,
149: via a diagonalization similar to the one used in other noncomputability
150: results.
151: Thus, while ``most" Julia sets are relatively easy to draw, there are some
152: whose pictures we might never see.
153:
154:
155:
156:
157: \section{Computational hardness of physical systems and the Church-Turing
158: Thesis}
159: \label{s:CTthesis}
160:
161:
162: In the previous sections we have developed tools which allow us
163: to discuss the hardness of computational problem in the continuous
164: setting. As in the discrete case, {\em true} hardness of problems
165: depends on the belief that all physical computational devices have
166: roughly the same computational power.
167: In this section we present a connection between tractability
168: of physical systems in the bit model, and the possibility of
169: having computing devices more powerful than the standard computer.
170: This provides further motivation for exploring the computability and
171: computational complexity of physical problems in the bit model.
172: The discussion is based in part on \cite{Yao}.
173: %{\bf strongly based on Yao}
174:
175: The Church-Turing thesis (CT), in its
176: common interpretation, is the belief that the Turing machine, which
177: is computationally equivalent to the common computer, is the most
178: general model of computation. That is, if a function can be computed
179: using any physical device, then it can be computed by a Turing machine.
180:
181: Negative results on in computability theory depend on the
182: Church-Turing thesis to give them strong practical meaning. For
183: example, by Hilbert's 10th Problem \cite{Mat}, Diophantine equations cannot be generally
184: solved by a Turing Machine. This implies that this problem cannot
185: be solved on a standard computer, which is computationally equivalent to
186: the Turing Machine. We need the CT to assert that the problem of
187: solving these equations cannot be solved on {\em any}
188: physical device, and thus is {\em truly} hard.
189:
190: When we discuss the {\em computational complexity} of problems,
191: we are not only interested in whether a function can be computed
192: or not, but also in the time it would take to compute a function.
193: The Extended Church-Turing thesis (ECT) states that any physical system
194: is roughly as efficient as a Turing machine. That is, if it computed a
195: function $f$ in time $T(n)$, then $f$ can be computed by a Turing Machine
196: in time $T(n)^c$ for some constant $c$.
197:
198: In recent years, the ECT has been questioned, in particular by
199: advancements in the theory of {\em quantum computation}. In principle,
200: if a quantum computer could be implemented, it would allow us
201: to factor an integer $N$ in time polynomial in $\log N$ \cite{shor}. This
202: would probably violate the ECT, since factoring is believed to require
203: superpolynomial time on a classical computer. On the other hand
204: there is no apparent way in which quantum computation would violate the CT.
205:
206: \begin{figure}[!ht]
207: \begin{center}
208: \includegraphics[angle=0, scale=0.8]{physical}
209: \end{center}
210: \caption{Computing $f$ using a ``hard" physical device $A$ (left); a fair coin cannot
211: be considered a ``hard" device}
212: \label{physical}
213: \end{figure}
214:
215:
216: Let $f$ be some uncomputable function.
217: Suppose that we had a physical system $A$ and two computable
218: translators $\phi$ and $\psi$, such that $\phi$ translates an
219: input $x$ to $f$ into a state $\phi(x)$ of $A$. The evolution
220: of $A$ on $\sigma_0 = \phi(x)$ should yield a state $\sigma_T$ such that
221: $\psi(\sigma_T) = f(x)$ (Fig. \ref{physical}). This means that at least in principle
222: we should be able to build a physical device which would allow
223: us to compute an uncomputable function. To compute $f$ on an input $x$, we
224: translate $x$ into a state $\sigma_0 = \phi(x)$ of $A$.
225: We then allow $A$ to evolve from state $\sigma_0$ to $\sigma_T$ -- this
226: is the part of the computation that cannot be simulated by a computer.
227: We translate $\sigma_T$ to obtain the output $f(x)=\psi(\sigma_T)$.
228:
229: To make this scheme practical, we should require
230: $A$ to be {\em robust} around $\sigma_0=\phi(x)$, at least in
231: some probabilistic sense. That is, for a small random perturbation
232: $\sigma_0 + \ve$ of $\sigma_0$, $\psi(\sigma_T)$ should be equal
233: to $f(x)$ with high probability.
234:
235: It is apparent from this discussion that such an $A$ should be
236: hard to simulate numerically, for otherwise $f$ would be computable
237: via a numerical simulation of $A$. On the other hand, ``hardness
238: to simulate" does not immediately imply ``computational hardness".
239: Consider for example a fair coin. It is virtually impossible to
240: simulate a coin toss numerically due to the extreme sensitivity
241: of the process to small changes in initial conditions. Despite
242: its unpredictability, a fair coin toss cannot be used to compute ``hard"
243: functions, because it is not robust. In fact, due to noise, for
244: any initial conditions which puts the coin far enough from the
245: ground, we {\em know} the probability distribution of the outcome: 50\% ``heads"
246: and 50\% ``tails". Another example where ``theoretical hardness" of
247: the wave equation does not immediately imply a violation of the CT is
248: presented in \cite{Waves}.
249:
250: This leads to a question that is essentially equivalent to the CT:
251:
252: \smallskip
253: \centerline{ ($*$) { \em Is there a {\em robust} physical system that is
254: hard to simulate numerically?}}
255: \smallskip
256:
257: This is a question that can be formulated in the framework
258: of bit-computability. Since the only numerical simulations
259: a computer can perform are bit simulations, hardness of some robust
260: system $A$ for the bit model implies a positive answer for $(*)$.
261: On the other hand, proving that all computationally hard systems
262: are inherently highly unstable would yield a negative answer to this
263: question.
264:
265: Note that even if $(*)$ has a positive answer and CT does not hold,
266: and there exists some physical
267: device $A$ that can compute an uncomputable function $f$, it does not imply that
268: this device could serve some ``useful" purpose. That is, it might be
269: able to compute some meaningless function $f$, but not any of the
270: ``interesting" undecidable problems, such as solving Diophantine
271: equations or the halting problem.
272: