|
|
|
|
|
by ThePhysicist
2309 days ago
|
|
How would you reach such a gain though? Most physics-based simulations are really efficient already. For example, cloth simulations usually work using a grid of points (finite element approach) that are evolved using a differential equation and a constraint solver (not an expert in this particular area but I wrote e.g. electrodynamic simulations). Each point is usually only connected to its immediate neighbors, so the update algorithm only needs to do some simple arithmetic operations for each point. Often there's another step afterwards that ensures the constraints are met. All this can be executed really efficiently on a GPU already. Here's an example of an electrodynamics simulation I wrote: https://github.com/adewes/fdtd-ml To achieve a 300-500 speedup of this seems impossible because for a single grid point we only do a few numerical operations to update it, so it's hard to see how one could reduce that much further as even an ML-based model will need to update each grid point to maintain the level of detail. I think there are definitely other areas where ML can speed up things, but IMO cloth simulation is just a really bad example because it's a problem that can be solved using a nearest-neighbors approach with rather simple equations. Problems where you have non-local interactions or more complex dynamics might profit more from ML, but most physics problems can be solved faster with much simpler approaches, I think. |
|
Once you buy into the concept that your simulation can be represented by a very limited number of parameters it's not hard to suggest that this small state vector can be mutated from state to state using ML.
The issue with this technique is PCA not ML.
I can certainly see this technique being used in place of some existing simulation or animation based secondary motion in video games.
Note that adding up the contributions of 256 basis vectors might be more expensive than a per vertex cloth simulation.
I am experienced in these areas and have done grad computational physics and work on game engines for a living.