6 ms·
This thread had a very good OP. I don't buy that this is at all useful though. It would be trivial in a modern computer to get much more precision than this. I
by jonfw 8y ago
This thread had a very good OP. I don't buy that this is at all useful though. It would be trivial in a modern computer to get much more precision than this. I feel like his arguments about conversion from analog to binary would have merit, if the scale that modern computers operated at wasn't so severe. Yeah conversion from analog to binary can be lossy, but the losses become smaller as you use more memory. And these days we have access to a lot of memory.
What's interesting is that our modern computational platforms have capabilities that far exceed most of our use cases. And this is a good demonstration of why.
- halfeatenpie 8y agoFrom what I've gathered and read from OP's comments, it sounds like their analog model makes sense and is precise enough for them to work with. People talk about how much more powerful a "32-core Xeon machine" is and they're not wrong, but just because new technology is available you also have to look at is it worth it to transition over/update it. I have an example from my daily work. We were hired to update a company's model from 6 years ago. Their model is an Excel VBA model that we're rebuilding in Python with an increase resolution of detail and accuracy. However, for our "more accurate" model to be accepted, we have to also prove the following: - We have to show that our model's outputs are the same as the VBA's model for the same input/starting condition (makes sense at a higher level, but at a higher resolution this means you have to spend more time looking at why a specific value is in a specific way and can be different from the lower resolution model) - Train the new users on the new model (knowledge transfer) - Ability to update and modify the new model wherever they need to change it or understand it - Understand the limitations and the constraints of the new model This basically boils down to how much time is needed in training the new model, how much money and time is needed to invest in building a new model, and is it really worth it to build a new model when the old model has worked good enough for now (and you understand the limitations of said model and is within your needs)? There's only so much time in the day and you obviously have a ton of other tasks that also needs your attention, and getting these newer models verified and accepted by the board is great but it's also additional meetings and time that you need to setup with them and get everything OK-ed... doubly hard when everyone else is also super busy. I'd say modern computational platforms are better when it comes to raw power, but the logic and just resources required to build, verify, accept, and train (human resources-wise) the new model might just not be fully worth it. Remember, there are also other industries other than tech that uses computer hardware to get jobs done.
- jonfw 8y agoI agree that updating tech stack can be expensive and sometimes not worth it. Being on the bleeding edge isn't a great idea for a business use case. You have to draw the line somewhere. I do think that the line is drawn very well ahead of analog computers though. I think that this guy is using the analog computer because he's an enthusiast. That's fine. It's not better by any means other than making an employee happy.
- 0815test 8y agoThe thing about conversion from analog to binary is that it's a one-time-cost only. With analog computation, you pay for every single computation/conversion step with increased noise, even if each operation theoretically provides more precision than the binary equivalent. There's just no equivalent to the noise-resiliency of binary compute.
- jhayward 8y agoOn the contrary, every single digital floating point operation has the inherent capacity to add noise. To make things worse, the noise depends very much on order of operations, relative magnitudes of operands, and other algorithmic aspects of what is usual an estimation method for solving equations. Estimating accumulated error in floating-point calculations is an extremely difficult science. On the other hand, a simple circuit that solves an ODE in an analog computer can be analyzed rather easily.
- jonfw 8y agoSo don't use floating points? You can use arbitrary precision math libraries. If you devote enough memory, you can be much more precise with continuous values than an analog computer could ever hope to be. Frankly it wouldn't take much memory at all by modern standards though.
- jhayward 8y agoArbitrary precision doesn't help with irrational numbers. You may be thinking of the "just use enough bits so you're sure the accumulated error isn't significant" approach, which is essentially what modern floating-point attempts to do. There are still some pitfalls though, around doing an analysis that proves the bounds of said error in a given algorithm and data set. You might be interested in the concepts used in interval arithmetic [1] and specifically the work of Gustafson in designing some models for using those in scientific computing hardware. [1] https://en.wikipedia.org/wiki/Interval_arithmetic https://en.wikipedia.org/wiki/Interval_arithmetic