5 ms·
You can: https://en.wikipedia.org/wiki/General_purpose_analog_computer https://en.wikipedia.org/wiki/General_purpose_analog_compute... There is still active re
by progval 3y ago
You can: https://en.wikipedia.org/wiki/General_purpose_analog_computer https://en.wikipedia.org/wiki/General_purpose_analog_compute...
There is still active research in the area, eg. https://www.lix.polytechnique.fr/~bournez/i.php?n=Main.Publicationsbyyear https://www.lix.polytechnique.fr/~bournez/i.php?n=Main.Publi...
- kragen 3y agoa universal turing machine is a particular machine which can simulate all other turing machines. the gpac, by contrast, is a family of machines: all machines built out of such-and-such a set of parts you can't simulate an 11-integrator general-purpose analog computer or other differential analyzer with a 10-integrator differential analyzer, and you can't simulate a differential analyzer with 0.1% error on a (more typical) differential analyzer with 1% error, unless it's 100× as large (assuming the error is gaussian) the ongoing research in the area is of course very interesting but a lot of it relies on an abstraction of the actual differential-analyzer problem in which precision is infinite and error is zero
- thriftwy 3y agoSure, you cannot easily simulate another analog computer, but this is not the requirement. The requirement is turing completeness, which can be done.
- lisper 3y agoIt can? How?
- kragen 3y agoas 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
- fanf2 3y agoExcept 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.)
- couchand 3y agoInfinite precision is just analog's version of an infinitely-long tape.
- lisper 3y agoBut even with infinite precision, how do you build a universal analog computer? And how do you program it?
- progval 3y agoAny Turing machine is a (computable) function; and https://www.sciencedirect.com/science/article/pii/S0885064X07000246 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.
- lisper 3y agoAh. TIL. Thanks!
- fanf2 3y agoRight :-) 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.
- 3y ago
- thriftwy 3y agoIt 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.
- deleted 3y ago[deleted]