6 ms·
No there are no practical uses other than speed and energy efficiency as analog computers can be fully simulated by digital computers today. There's no clock sp
by corethree 3y ago
No there are no practical uses other than speed and energy efficiency as analog computers can be fully simulated by digital computers today. There's no clock speed in analog computation. You feed in raw voltage into the inputs and you get the resulting voltage from the outputs. So it's literally the fastest possible result achievable with our current electrical technology.
Analog computation is essentially functional programming.
You have inputs and outputs and for your results have to think in terms of piping analog data through different compositions of functional primitives to achieve your desired output.
There's no concept of "calling a function either" thus recursion is replaced with what we term as "feedback loops".
Additionally all forms of computational state (aka memory) other then initial values will essentially be replaced by feedback loops. There's no discrete step to access a computational result in an analog computer thus in order to access a previous computational result the only way is to literally feed output back into the input. At least in typical functional programming you have a stack where you can store and access previous state. With analog computing the "purity" goes to the next level.
Likely from this description you will see the obvious solution to this problem is some sort of hybrid machine that executes procedures but also stores and produces analog results. It doesn't exist yet but I feel it will look like an fpga. Maybe be call it an fpoa. Field programmable op amps.
- uticus 3y agoAs pointed out in another comment on this post [0], it would be an "FPAA," [1] and it has been manufactured. [0] https://news.ycombinator.com/item?id=38812160 https://news.ycombinator.com/item?id=38812160 [1] https://en.m.wikipedia.org/wiki/Field-programmable_analog_array https://en.m.wikipedia.org/wiki/Field-programmable_analog_ar...
- corethree 3y agoOh didn't know this.
- dahart 3y agoDon’t speed and efficiency make up the entire set of practical uses for digital computing? I don’t know what it means to say “No there are no practical uses other than speed”. That sounds like the answer summary is “Yes”. ;) > There’s no concept of “calling a function either” This is true for the THAT machine in the article, but your comment seems to be making a lot of assumptions about analog that aren’t necessarily true. Digital computing is an abstraction over analog circuits, and it can be done at a higher level than, say, CMOS logic gates. We definitely do know how to build analog computers that have function calls.
- analog31 3y ago>>> Don’t speed and efficiency make up the entire set of practical uses for digital computing? A couple more uses: First is "noise immunity:" The fact that you can perform a computation twice and get the same answer, and chain multiple processing steps together with no degradation. Though to be fair this includes digital computation by pencil and paper. Second, complex operations that simply can't be conceptualized in the analog domain.
- dahart 3y agoYou’re totally right about chaining and repeated computations, however I think it’s possible to do this with analog machines as well by factoring in threshold in and precision tolerances. Digital floating point has precision limits too, they’re just a different kind (I’m referring to rounding, for example). I know that’s not at all what you meant about noise, I’m just saying the bigger picture is that both digital and analog computation has limited precision, and both can have increased precision and can meet specific tolerances by adding more wires. Typical fp32 and especially fp64 has way higher precision than a typical single analog signal, but that doesn’t mean that very high precision with analog isn’t possible, it just means we don’t often do it. The fundamental differences might be less black and white than you or the gp imagine.
- corethree 3y ago>I think it’s possible to do this with analog machines as well by factoring in threshold in and precision tolerances. With enough compositions even the smallest tolerances will add up. This presents a scaling problem in analog electronics. With the miniaturization of electronics into nano scale components this noise is even more prevalent. Additionally the way a transistor works it's just easier to use these things in saturation mode. And one more thing. Yes precision can be "equivalent" but exactness is not. An analog computer cannot represent the value 1 consistently. It essentially can never be precise. There will always be noise on the voltage. A digital computer has finite precision but it has exact finite precision.. so it can represent the exact integer 1. And you can increase precision arbitrarily by using more bytes up to the point where you use up all available bytes in memory. You don't technically have to use the default floating point values which have limited size. With an analog computer you cannot do this at all.