Advertisement

N++

Started by October 23, 2004 04:24 AM
11 comments, last by xEricx 20 years, 1 month ago
Prozak, with your last post you seem to be getting away from your first description. A _language_ has to be generic, and you seem to be talking more about a simulation, involving "evolution of the scripting of the simulation". This new idea is totally feseable, I encourage you to work on it and show us what you've done with it :)

But I guess this could hardly be considered a programming language... I mean, I fail to see how you could generically create a fitness function for a program to determine wether its evolution is benific or not. In the simulation you just described, its pretty easy to find out which agents work the best, but if the user decides to write a hockey game, how can the "virtual machine" that runs your "asm like" language determine how well it did when it mutated the code?

Anyway, ignore this message if I'm totally off track :)

Cheers

Eric
Quote: Original post by xEricx
Evolve what and why?

I don't see the point to evolve a fully functionnal program... what is there to evolve in its internals if it already does the job?

Anyway, how would you evolve, what would be your "fitness" function if you already start from the "perfection" and then try to add new stuff... how do you decide what's better and what's worse?

Also, what's the point to translate an "exact" calculation written by hand by an approximation of it with a neural net? Where would your training set come from to ensure that you're handling every cases?

I'm pretty much on Mat's side here, I probably didn't get something...



I think the point he's getting at is this:
You write a program where the object avoids walls relatively good. In some cases it's not perfect (like in corners for example). This turns into a nueral net, and you run it through a simulation where the objects get stuck in corners, but this time, it can learn from getting stuck, and modify itself to not only avoid walls, but avoid getting stuck in corners. It is now more functional than the original piece, and instead of the coder spending an eternity coding special cases, they can spend an eternity waiting for the NN to learn the cases ;).
Advertisement
Quote: Original post by Ready4Dis
[...] they can spend an eternity waiting for the NN to learn the cases ;).


You actually need to build a training set and define rules for your evolution to occur correctly.

My main concern is that I believe it will be a hell of a job, if not impossible in relatively short time, to get a GENERIC (we're talking about a programming language) training set builder / fitness and evolution rules builder. Since its a programming language it should not be taken in a specific context. In your example, it should FIND OUT that the program is actually avoiding specific data (the walls), and if it evolves, it has to be able to recognizes he avoid walls in a BETTER way, which might imply the bot will do totally stupid things, but at least it will avoid walls well, since that's what he figured out he had to do...

Cheers

Eric

This topic is closed to new replies.

Advertisement