Using machine learning to predict the collapse & stabilization of complex systems?

Started by
20 comments, last by WireZapp 9 years, 6 months ago

(Original post: http://stackoverflow.com/questions/26149416/using-machine-learning-to-predict-the-collapse-stabilization-of-complex-system)

I should add that I've also come up since this stackoverflow post with various methods ranging from Windowing, to convolution, FFTs, using a variation of expansion meshing, and even a method that revolved around trying to perform a Monte Carlo tree search over a set of systematic samples (really overly complicated, didn't work).

I'm at a serious loss of ideas right now. This is a project that I'm doing with a 5 University students, and all of us are clueless on how to correctly approach this.

If anyone has an idea on how to approach this, please let me know.

Advertisement

My guess is that the typical SO reader has no idea what you're trying to do. For example the below is completely meaningless to me:


I've been working on a fuzzy logic SDK for the past 3 months now, and its come to the point where I need to start heavily optimizing the engine.

As with most "utility" or "needs" based AI systems, my code works by placing various advertisements around the world, comparing said advertisements against the attributes of various agents, and "scoring" the advertisement [on a per agent basis] accordingly.

It's not clear to me which terms you're using as AI terms and which terms are problem domain specific. What does placing advertisements around the world have to do with a fuzzy logic SDK?

Perhaps if we understood the problem domain better, the solution could avoid machine-learning to detect expected crash conditions.

OK... so it sounds like you are trying to figure out which butterfly is going to cause the hurricane -- i.e. "solve chaos theory". Yeah... that's gonna be a bitch. Even if you just run the simulation looking for values that start to arc in one direction, you don't truly know how far it will get until it starts to correct.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

I think I don't need to find out which one is going to be the butterfly, I think I only need to find out when a collapse will happen.

I've been asking various professors and math grad students. I've gotten various suggest from using Neural networks, to multivariate Markov chains. Any opinions?

Markov chain description VIA reddit:

For the non-periodic repetition you might be able to capture it using a multivariate Markov chain. It won't reproduce the exact behavior but it should be able to approximate it. You might want to do some sensitivity analysis to see how robust your system is to approximations of the attributes.

My guess is that the typical SO reader has no idea what you're trying to do. For example the below is completely meaningless to me:


I've been working on a fuzzy logic SDK for the past 3 months now, and its come to the point where I need to start heavily optimizing the engine.

As with most "utility" or "needs" based AI systems, my code works by placing various advertisements around the world, comparing said advertisements against the attributes of various agents, and "scoring" the advertisement [on a per agent basis] accordingly.

It's not clear to me which terms you're using as AI terms and which terms are problem domain specific. What does placing advertisements around the world have to do with a fuzzy logic SDK?

Perhaps if we understood the problem domain better, the solution could avoid machine-learning to detect expected crash conditions.

http://www.zubek.net/robert/publications/Needs-based-AI-draft.pdf

This should explain the context for what I mean by advertisements. My scoring system is a lot more complicated than the one described (Various Eigenvectors and what not), but it should give you a general idea.

In terms of speed I am currently getting, at the moment its not that bad. I can calculate 20,000 iterations a second for a system with 4.3k agents and 500 advertisements. However, for the game I'm currently working on, that number would most likely need to increase by a factor of 3 - 5. (I figured out that if I could just copy segments of the graph rather than recalculating, the factor increase would be nearly 10. That number is very attractive to me haha)

I should also add by an itteration, that does not directly imply that ab advertisement is being calculated (it's usually locking for X turns)
In actuality, it's close to 2k ads per second per entity
If you have access to professors and math grad students, find one with a decent grasp on chaos mechanics and have them explain to you why you can't do what you're attempting to do.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

If you have access to professors and math grad students, find one with a decent grasp on chaos mechanics and have them explain to you why you can't do what you're attempting to do.

There's probably an "n" in their answer.

For a shorter solution, look up Poincare's "3 body problem".

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Huh... alright well I looked into chaos theory a bit more heavily. There should still be a way to tell if I'm at an equilibrium and not about to collapse.

If I at least know that things are stable right now, I can still use an lod system
The whole point of chaos theory is that it is impossible to know how long an equilibrium might remain stable, and what might destabilize it. Such attractors (areas where solutions are likely to be found) are not perfectly stable, and it takes only minuscule variations on conditions to radically alter which attractor(s) you land in.

The more complex your system, the more likely you are to run afoul of these principles. Fundamentally you just can not do what you want to do - it isn't even mathematically feasible. The only way to know the state of a complex system at Time T in the future is to wait until Time T actually occurs.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

This topic is closed to new replies.

Advertisement