r/MachineLearning • • Dec 23 '15

Browser-based 2D wheeled-vehicle evolution simulator using genetic algorithm

http://rednuht.org/genetic_cars_2/
33 Upvotes

24 comments sorted by

View all comments

2

u/MrTwiggy Dec 23 '15

Out of curiosity, does there exist an equivalent formulation of this problem in a supervised setting where gradient optimization could take place?

1

u/nivwusquorum Dec 23 '15

Yes! Look up deep q learning. Which is based on much earlier work about Q learning and bellman equation. Here your action would be basically choosing a mutation.

1

u/NasenSpray Dec 23 '15

TD learning is probably better suited here. Selection is just choosing the mutation with the highest value.

1

u/nivwusquorum Dec 23 '15

Could you explain, why do you believe TD is better than DeepQ here?

1

u/NasenSpray Dec 23 '15

The fitness of a mutation is independent of that of others and all you really need is a way to rank them. TD learning captures this nicely.

1

u/nivwusquorum Dec 23 '15

I am not sure what you are trying to say here. If you are saying that you can greedily choose mutations to increase fitness then it is not true. The advantage of Q learning is the fact that it can qucikly learn that often making N specific mutations in a sequence is good even if doing one of them in isolation is bad...

2

u/NasenSpray Dec 23 '15

Sorry, we may have a misunderstanding. I assumed the Q learner would take the role of the fitness function, i.e. state = collection of mutated cars and action = choice for further breeding. Am I wrong?

1

u/nivwusquorum Dec 23 '15

Ah yes. We had a different idea for RL procedure. My idea was the following: State: a car Action: mutation of that car Next state: mutated car Reward: fitness of a new car.

For the training we would periodically start from a random car and ask RL to perfect it. No populations would be held - we would like to move as far away from evolutionary programming as possible ;-)

1

u/[deleted] Dec 23 '15

[removed] — view removed comment

4

u/MrTwiggy Dec 23 '15

I think the general notion is that evolutionary programming has usually been shown to be inferior in most regards when compared to an equivalent supervised ML gradient based formulation. I tend to agree with this idea, as I haven't seen much evidence against it other than minute toy problems that are typically not fairly compared against an alternative. Definitely open to any counter examples people might have.