Hacker News new | ask | show | jobs
by lisper 913 days ago
It can? How?
2 comments

as i understand it, with infinite precision; the real numbers within some range, say -15 volts to +15 volts, have a bijection to infinite strings of bits (some infinitesimally small fraction of which are all zeroes after a finite count). with things like the logistic map you can amplify arbitrarily small differences into totally different system trajectories; usually when we plot bifurcation diagrams from the logistic map we do it in discrete time, but that is not necessary if you have enough continuous state variables (three is obviously sufficient but i think you can do it with two)

given these hypothetical abilities, you can of course simulate a two-counter machine, but a bigger question is whether you can compute anything a turing machine cannot; after all, in a sense you are doing an infinite amount of computation in every finite interval of time, so maybe you could do things like compute whether a turing machine will halt in finite time. so far the results seem to support the contrary hypothesis, that extending computation into continuous time and continuously variable quantities in this way does not actually grant you any additional computational power!

this is all very interesting but obviously not a useful description of analog computation devices that are actually physically realizable by any technology we can now imagine

Except that infinite precision requires infinite settling time. (Which I guess is the analogue computing version of arithmetic not being O(1) even though it is usually modelled that way.)
Infinite precision is just analog's version of an infinitely-long tape.
Infinite precision is exponentially more difficult. It's very easy to have unbounded tape, with a big buffer of tape and some kind of "factory" that makes more tape when you get near the edge. Unbounded precision? Not going to happen in a real machine. You get to have several digits and no more.
Right :-) I prefer to say a Turing machine’s tape is “unbounded” rather than “infinite” because it supports calculations of arbitrarily large but finite size. So in the analogue case, I would say unbounded precision and unbounded waiting time.
But even with infinite precision, how do you build a universal analog computer? And how do you program it?
Any Turing machine is a (computable) function; and https://www.sciencedirect.com/science/article/pii/S0885064X0... shows any computable function can be computed by a GPAC. Therefore, if you take any universal Turing machine, there exists a GPAC that computes that Turing machine; and it is programmable because you can change the input it would give to the emulated Turing machine. Sure it's inefficient due to the two layers of emulation, but it shows it's possible.
Ah. TIL. Thanks!
It's much worse than that. There is this little thing called Planck's constant, and there's this other little thing called the second law of thermodynamics. So even if you allow yourself arbitrarily advanced technology I don't see how you're doing to make it work without new physics.
It would not be very interesting. You will lose all the interesting properties of analog computer and it would be a poorly performing turing machine. Still it would have those loops and branches necessary, since you can always build digital on top of analog with some additional harness.