cs0509042/LBs4.tex
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: