Jump to content
  • Advertisement
Sign in to follow this  
WireZapp

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

This topic is 1410 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

(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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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".

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!