The question is whether simulation is a tool that will be able to cope with future demands of it, in view of the future. This little note seeks to highlight some thoughts I had while discussing the matter on the MIT alumni Linkedin discussion board.
Computational complexity is always a problem. Even when simulating rational human decision making, let's say where a simulated agent has to "make a choice" the simulation solves a convex optimization problem (may be a linear program), solves a dynamic programming problem, or perhaps uses some search algorithm to arrive at a decision. This can be computationally taxing.
Where things are probabilistic, you need about 26500 monte carlo samples to ensure that the probability that the empirical distribution resulting from the simulation is more than 1% off is at most 1%. That is painful.
I recall that on one of the evenings when I was heading home from campus on the "Big Silver Van" one of my housemates quipped that it was interesting how things deemed to be interesting were usually at least in the NP complexity class. This probably would summarize much of the difficulties in embedding decision making into simulations.
Complexity issues hurt and linear speedups and improvements do not look to help as the demand is for growing sophistication. A successful simulation study requires discipline in modeling to avoid being swamped by complexity and ending in failure.
In the business world, simulations make sense of the effects of a proposed set of operations under some dynamics and under uncertainty. Indeed, projects these days tend to phrase requirements to the tone of "... shall report the service level with 99% accuracy" which is an appeal to the use of monte carlo algorithms rather than simulations of the single run deterministic variety.
Of course the bulk of simulations in engineering remain the "this is my structure, here are my loads, will it break?" type, but to a very large extent, problems in that regime tend to be of "low complexity" in terms of the rate at which workload scales with desired accuracy.
An interesting point was also raised on the board:
- "When a sim can let me add and subtract new variables as quickly and easily as a spreadsheet, then I get interested."
The Customary Conclusion
Simulation has its work cut out for it, its future success requiring control of both computational complexity and human interface complexity. It will be interesting to see how things go.