Using ML to synthesize complex constellations

For scripts to aid with computation or simulation in cellular automata.
Post Reply
HartmutHolzwart
Posts: 840
Joined: June 27th, 2009, 10:58 am
Location: Germany

Using ML to synthesize complex constellations

Post by HartmutHolzwart » July 28th, 2019, 8:16 am

Given recent progress in slow salvo synthesis (like slmake) and also the progress in machine learning, where a lot is done in Python,wouldn‘t it be a good fit to let the machine learn how to build complex constellations efficiently through shorter slow salvoes?

As there are so many paths leading to the same result, it seems to be impossible to try them out completely. On the other hand, simple heuristic strategies might miss good solutions.

How big is the barrier to get life enthusiasts to go into this topic? How big is the barrier for ML experts to go into this field of research?

Any comments welcome!

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Using ML to synthesize complex constellations

Post by simsim314 » September 12th, 2019, 5:24 pm

HartmutHolzwart wrote: learn how to build complex constellations efficiently through shorter slow salvoes?
ML is best for ambiguous not logical precision tasks as it gets mistakes from time to time. I've some experience in ML and was thinking extensively about implementations, but it's harder than it looks - ML is not precise like CGOL and other "fixes" needed to be introduces to improve the guesses of ML. The best idea so far is a back propagator but the design is quite complex and requires several components. Another barrier is ML training time - some of the solutions might use reinforcement which will need a small cluster even to test the ideas. But RL back propagator with some sort of MCTS to generate a list of predecessors could be very cool, the design itself already exist - but RL can't be done without enormous amount of computational power. Maybe some crypto based ideas can encourage people to mine for better back propagator to gain some coins.

User avatar
calcyman
Moderator
Posts: 2932
Joined: June 1st, 2009, 4:32 pm

Re: Using ML to synthesize complex constellations

Post by calcyman » September 12th, 2019, 5:35 pm

That said, sometimes a rigorous algorithm (such as a SAT solver) needs to make an arbitrary decision (such as deciding which variable to choose as the next branch-point), and those arbitrary decisions can be made by machine learning. In the case of slmake, there are 6 strategies (if I remember correctly) and some _ad hoc_ logic to cycle between them; in principle, machine learning could be used to decide how to allocate time between those strategies.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Using ML to synthesize complex constellations

Post by simsim314 » September 13th, 2019, 6:37 am

I can share my failed attempt at back propagator. I've tried to make automated back propagator in several ways, one of the ways was to use the same mechanics lifesrc uses, but teach the network to guess the next 0,1 of the previous gen given the current gen partial as well. As there is exponentially too many solutions to empty space, I wanted to use AI to remove those empty spaces exponential explosion. I've trained it on a random glider soups evolutions. What happened in the result: for simple cases it worked okayish, for example it could more or less back propagate pi. But when something more complex came along, it was making mistakes - it was certain that a solution is X when it's !X - trying to filter by some sort of confidence didn't work i.e. I needed either to make some artificial adjustment to the search space, or to explore a lot of useless cases. I'm certain there is a way to solve it all - maybe reinforcement + MCTS and stuff like that, but for now I'm a bit less optimistic that we feed a network a lot of soups and get something automated. It's probably can be made better than random, it also would be capable to estimate how much "not natural" the solution is, but it won't be able to do what we actually need - guess some debris remainings in the right place as a result of glider collision. It won't generate a magic recipes and create even with reasonable probability the debris which are a bit further away from the parent. It can get some clues for debris in common cases - but it won't work with random data. Maybe feeding it all known recipes will work better - I never tried it.

Post Reply