Seeking advice on using evolutionary methods to solve the 3-body problem

post by Troshen · 2012-08-08T23:43:44.054Z · LW · GW · Legacy · 8 comments

Contents

8 comments

NOTE - I mean the 3-body problem in orbital mechanics, not in atomic physics.

Hi there,

Some recent discussions here on LW have led me to ponder the 3-body problem again.

 

http://en.wikipedia.org/wiki/N-body_problem

http://en.wikipedia.org/wiki/N-body_problem#General_considerations:_solving_the_n-body_problem

 

I wonder if new and novel methods that exist today might be applied to solving the "unsolvable" 3-body problem. 

Specifically I'm wondering "Can I create an evolutionary derived algorithm to solve equations of motion, and then can I continue on with it's evolution to solve the 3-body problem at the level of Sundman's slowly-converging series, and then can I continue on with it's evolution to come up with a closed-form solution to solve for the position of all the bodies in our solar system?

Another question is "What level of hyper-accurate model of the entire solar system would be needed?"

 

I think that Chaos Theory says this isn't possible.  Let's suppose for the moment that Chaos Theory only exists because our models of the universe aren't accurate enough to be use to predict far into the future.

Here's why I'm posting this to LW.  I don't really even know where to start with answering these questions, but I bet the LWers can point me in the right direction.

 

8 comments

Comments sorted by top scores.

comment by RolfAndreassen · 2012-08-09T03:17:53.097Z · LW(p) · GW(p)

Edit to add: In the spirit of being a bit more helpful, I believe you are being downvoted because your question indicates that you don't really understand evolutionary algorithms or what a solution to the three-body problem would consist of. It appears that you have tried the algorithm of "random new-ish method, random famous old problem, apply one to the other" without actually knowing anything about either of the two random selections. Come back when you know enough about the problem to state why you picked evolutionary algorithms over neural networks, or Monte Carlo, or gods-help-us-all maximum-likelihood fitting.

Can I create an evolutionary derived algorithm to solve equations of motion?

I don't know; can you? The rest of your question seems a bit confused. An approximate, numerical solution an a closed-form solution are not the same kind of thing; there's no evolutionary path between them. You can have an algorithm that spits out predictions for the future positions and velocities of the three bodies, and is evaluated on their accuracy precalculated by another method; or you can have an algorithm that spits out equations that may or may not be closed-form solutions, and are evaluated on the accuracy of those equations' predictions for the future positions and velocities. There is an additional level of evaluation here which you seem to have missed, which honestly does not give me great hope for your solving the problem.

point me in the right direction.

Certainly. In order of decreasing feasibility:

  1. Learn the difference between its and it's.
  2. Understand the difference of levels I alluded to above.
  3. Decide on your criterion of fitness for a solution.
  4. Write a program for generating, 'breeding', 'mutating', evaluating, and culling algorithms.
  5. Decide which approach you intend to pursue, observing that we have perfectly satisfactory numerical methods anyway.
  6. Find an algorithm for generating either numerical solutions or closed-form equations; the algorithm should have several tunable parameters and a smooth parameter space with, preferably, no local maxima.
  7. With the insights generated by the previous step, realise that you don't actually need the evolutionary approach.
  8. Write the PhD thesis.
Replies from: thomblake
comment by thomblake · 2012-08-09T15:15:14.996Z · LW(p) · GW(p)

random new-ish method, random famous old problem, apply one to the other

For what it's worth, that's a tried-and-true method to be extremely successful. Sadly, "machine learning" is the new electric motor, not "evolutionary algorithms".

comment by Kaj_Sotala · 2012-08-09T07:38:30.974Z · LW(p) · GW(p)

A science StackExchange is probably a better place for this. I'm not sure of which one is the most appropriate, but probably one of computational science, physics or math.

comment by prase · 2012-08-10T00:17:32.912Z · LW(p) · GW(p)

Let's suppose for the moment that Chaos Theory only exists because our models of the universe aren't accurate enough to be use to predict far into the future.

It's as if you said "let's suppose division by zero doesn't return infinities". The arguments that show that a general three-body problem lacks closed form solutions are pretty good. I suggest believing them, else you are almost certainly going to spend time on a futile effort. (There may yet undiscovered be closed-form solutions for specific initial conditions, but hardly so for general many-body problem.)

Also, it's relatively easy to evolve solutions to differential equations, but evolving algorithms for solving differential equations sounds pretty hard.

comment by timtyler · 2012-08-09T23:27:41.744Z · LW(p) · GW(p)

Let's suppose for the moment that Chaos Theory only exists because our models of the universe aren't accurate enough to be use to predict far into the future.

Chaos theory is maths - not physics.

comment by IlyaShpitser · 2012-08-09T16:02:44.817Z · LW(p) · GW(p)

"NOTE - I mean the 3-body problem in orbital mechanics, not in atomic physics."

Oh, I thought you meant the 3-body problem in academic job placement :).

comment by OrphanWilde · 2012-08-09T15:34:49.746Z · LW(p) · GW(p)

"Maybe."

The thing about evolutionary methods is that you don't know what they'll come up with; if you knew, you wouldn't need the evolutionary method. My tentative answer is that you can, but they'll likely break as soon as you change a variable you didn't realize had become an assumption of the system. Evolutionary methods tend to produce very rigid results, optimized around criteria you unwittingly specified, and solving it in ways you may not like and which aren't very generalizeable.

If you know nothing about evolutionary algorithms, I recommend looking into neural nets, as they tend to be easier to work with than most evolutionary approaches, and don't require much more domain knowledge than being able to verify their results.