In the book, The Blind Watchmaker, one of the programs involves mutating a phrase to become closer and closer to a certain Shakespear play. The author notes this isn't entirely meaningful because Evolution lacks a goal like that simulation did. Accordingly, I thought that I could create a website which evolved random character in response to how people voted, thus having a natural selection more in tune with what the real environment would be.
So, for the daring, curious, or whatever:
http://tt.madpage.com/evolve.php
I got a " }wOmbk1R".
The topic line made me believe the subject was about semantic shift. For example, how sh*t has become to mean the exact opposite if you just put "the" in front of it.
That's also a highly facinating subject, but I haven't figured out to simulate it yet.
This is taking quite a while.
Perhaps you could speed it up by presenting more options?
Or, perhaps presenting "More like your last choice". (?)
Evolution is only a theory, it is not fact.
In fact a Florida school board put these stickers on all the texbooks that mentioned evolution.
{"name":"051113_cobb_county_main.hmedium.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/3\/a3307a7e1a96a9407cafee1923c977bb.jpg","w":423,"h":228,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/3\/a3307a7e1a96a9407cafee1923c977bb"}
The question is how to do that without making it too biased towards your choices and not trying to generally evolve through many users...
[edit]
Okay, due to popular request, you now pick from five options.
Hmm... are you trying to make fun of them for putting that there or agreeing with them?
Can you get rid of non alphanumeric characters? I see no reason for '{' to be a valid character there..
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in /home/www/tt.madpage.com/evolve.php on line 123
This doesn't make sense.
Sometimes it runs out of options.
What about a 'repopulate' option? Or a 'Divine Intervention' form, to add your own entry?
Evolution is only a theory, it is not fact.
What does that have to do with anything?
In fact a Florida school board put these stickers on all the texbooks that mentioned evolution.
And the courts got them removed.
I don't feel the least bit threatened by evolutionary theory. As far as I'm concerned, it may very well be correct. Though, people still haven't solved all the questions.
I thought that I could create a website which evolved random character in response to how people voted,
It wasn't very random for me. It went "array" after the third try, but after that, it kept giving me the same result over and over.
I should stop fixing my scripts while people are running them...
At any rate, I removed the non-alphanumeric characters and restrated the database. That's why people were getting errors and the words array.
Read my edit.
Re your edit...
It had a bug, it wasn't reproducing like it should.
So, repopulate shouldn't be a problem now.
I'll keep divine intervention under consideration. I'd like to see whether or not it achieves any sort of order under natural selection first.
Let us control the numbers.
How much mutation? How many samples? How long should it live in the stack? Et cetera.
hmm....
I think you should take whole words, not characters...
Evolution is only a theory, it is not fact.
In fact a Florida school board put these stickers on all the texbooks that mentioned evolution.
Newtonian mechanics and quantum mechanics are only theories as well. Maybe we should disregard what they say as well, and go back to complete guess work and superstition.
Look. I feel your comment was out of line. The evolution in this thread is not the kind that threatens creationists, it is the kind that is a damn statistical fact. If the better words are more likely to survive, then the phrase will slowly move towards what it is meant to. Try some evolutionary programming if you don't believe it.
It makes me angry that whenever the word 'evolution' comes up, someone has to start flailing, like the mere mention of the word could cause us all to go to hell or something. [/exaggeration]
Karadoc, NyanNyan was kidding... but your point is valid.
yeah... sometimes it's hard to tell if people are joking or not when talking about this kind of thing. People have all sorts of crazy views and values.
All right, we have number control, you can now control number of mutations, time of life, and number of samples.
I think you should take whole words, not characters...
I did think of that, but then I'd have to figure out how do some sort of dictionary thing...
[edit]
For the curious, the algorithm is to select two alive objects at random. We then mix the two randomly switching between the two somewhere in the middle. Then, <code>for(int x = 0;x < mutate;x++)<code> we change one letter in the phrase into any other letter.
Oh, oh. Look what I got!
Jar
Booya!
Hmm, and then I got Array? WTF? What does that have to do with any of what I had before?
Oh, and your whole thing is VERY broken. I had it set at 20 samples, but then it started only giving me 20. When I tried to adjust samples again it went to 4, 3, 2, 1, and then none. Then it was permantly broken.
EDIT: Oh and here's my idea
An evolving Neural network might be good. I'm not experienced with ANNs, but basically just have them randomly mutate and stuff, and then have them output X amount of text. Then check the output against a dictionary/spellchecker and see which one gets the most english-like answers. I think you get the idea. At the end you should have something spurting out english words
dern it, you screwed it! Okay, Arrays get generated somehow when the program can't find two living phrases to produce from. Before, it was balanced so that items were born faster then they died, but when you start having more it kills it faster then they are born... so, they all died. Now, however, I've changed it to try and balance that out somewhat... I've always ressurected all the dead phrases.
An evolving Neural network might be good. I'm not experienced with ANNs, but basically just have them randomly mutate and stuff, and then have them output X amount of text. Then check the output against a dictionary/spellchecker and see which one gets the most english-like answers. I think you get the idea. At the end you should have something spurting out english words
I don't know anything about ANNs either, but I wonder what would happen if you did the same thing against this?
Evolution is only a theory, it is not fact.
I know you were probably kidding, but as with Karadoc, that exact statement always makes me angry. The reason is that `Evolution is a theory' has a specific meaning, it is a scientific theory, not a random idea. It's the same thing as saying hey, it's only science, so no reason to belief any of it!
Anyway.
I had some fun on the page, but it's fairly hard to pick which of the five options makes most sense because to the naked eye, none of them do. A computer programme as Dawkins describes, which just evolves to a single specific target, is probably better at this. Oh, one suggestion: spaces seem not to be an allowed character. I think they should be.
Uhm, it seems "arm" and "tm" are winning genes.
It would be interesting to know how many people participated and how many evolutions there have been from the start: this way you could show the best word after 1000 evolutions, the best after 5000, and so on, to see after how much time it gets sensible frases done.
Lifetime does not increase when I click "Increase".
(Current lifetime is always 5.)
Hmm... All the phrases died again... I'll have to think of a better way of doing that...
Re: Current lifetime.
It appears that the lifetime does increase, it just doesn't show it.
Stats:
yes that would be cool.
I know you were probably kidding, but as with Karadoc, that exact statement always makes me angry. The reason is that `Evolution is a theory' has a specific meaning, it is a scientific theory, not a random idea. It's the same thing as saying hey, it's only science, so no reason to belief any of it!
well, the point is that its a theory, which is essentially our current best guess at how to explain the evidence. We may one day come up with a better guess which fits the evidence better, just like Einstin did for Newton.
I had some fun on the page, but it's fairly hard to pick which of the five options makes most sense because to the naked eye, none of them do. A computer programme as Dawkins describes, which just evolves to a single specific target, is probably better at this.
It's better at achieving that specific target, the reason I didn't do that, besides the fact its already been done , is that Evolution isn't comparing one organism to the final organism its trying to produce. It can only compare one organism to another like what you are doing in this program.
Oh, one suggestion: spaces seem not to be an allowed character. I think they should be.
They are supposed to be...
Some of the phrases have spaces, it just doesn't appear to be as common as I'd expect.
At any rate, thanks for participating in my odd hobby of simulating evolution...
Oh, one suggestion: spaces seem not to be an allowed character. I think they should be.
Evolution is only a theory, it is not fact.
But so is religion
Its full of guesswork and more superstition than you can shake a stick at.
Darn religion.
No, religion is not a theory. Where's the falsifiability? The testable predictions?
A theory in the scientific sense is more than "just a guess"...
No, religion is not a theory.
Indeed, but it acts like it is one. "You can't prove that this theory is wrong!" "Then it's not a theory.. what the heck is it?".
a well-substantiated explanation of some aspect of the natural world; an organized system of accepted knowledge that applies in a variety of circumstances to explain a specific set of phenomena; "theories can incorporate facts and laws and tested hypotheses"; "true in fact and theory"
Though, I find it amazing that you guys are so obsessed with making everyone know your stance on the issue of religion. Do you honestly believe everyone must think exactly like you? Do you honestly believe you know more than everyone else? Or is it more of an emotional issue? You feel so hurt that you must attempt to harm others to make yourself feel better? You already know (or at least should know) that nothing you say will actually change anyone's stance.
People have devoted their lives to the issue (that is, more time than you) and come to different conclusions (be it yay, or nay). Don't assume you know all the facts. Get over yourselves and find something more interesting and productive to talk about; I'm sick and tired of listening to this dribble day after day.
Chris, you do realise you're doing the exact same thing?
People talk about stuff and things. It happens.
People have devoted their lives to the issue (that is, more time than you) and come to different conclusions (be it yay, or nay). Don't assume you know all the facts. Get over yourselves and find something more interesting and productive to talk about; I'm sick and tired of listening to this dribble day after day.
You must realize that this is not the majority our lives. This is a form of escape from our lives, we post here for entertainment (among other things, I enjoy discussions). Don't tell me if this is or is not productive; You do not know of the goals to which I am judging my productivity by.
Though, I find it amazing that you guys are so obsessed with making everyone know your stance on the issue of religion. Do you honestly believe everyone must think exactly like you? Do you honestly believe you know more than everyone else? Or is it more of an emotional issue? You feel so hurt that you must attempt to harm others to make yourself feel better? You already know (or at least should know) that nothing you say will actually change anyone's stance.
People have devoted their lives to the issue (that is, more time than you) and come to different conclusions (be it yay, or nay). Don't assume you know all the facts. Get over yourselves and find something more interesting and productive to talk about; I'm sick and tired of listening to this dribble day after day.
But you are doing just the same thing.
Back in my post, I basically said "If the topic of evolution comes up, just keep religion out of it, OK?"
Now you are saying "stop posting your thoughts about religion!" (more or less).
What you are saying is no better than what anyone else here has said.
Questions like "Do you honestly believe everyone must think exactly like you?" are insulting. Do you honestly believe that that is what we believe!?
Chris Katko, what do you think? Should we all stop being so self centred and listen to you?
Do you honestly believe that I believe what you believe is what I believed when you believed that I believed what you believed?
WH: yes.
Do you honestly believe that I believe what you believe is what I believed when you believed that I believed what you believed?
I never believed that you believed what I believe! So I can hardly answer your question.
Religion is a delicate subject. Best not to bring it up with others. You can lose a friend over religion.
You can loose your life over religion.
Yep. Wars have been fought over religion.
Just think, two groups of people with incompatible beliefs who are both so damn sure of themselves that they would give up their own lives to destroy the other side. It's crazy really. What makes these people think that their god is the right one? And they are so sure of it that they would kill people!
I'm sure glad that not all religious people are like that.
Just think, two groups of people with incompatible beliefs who are both so damn sure of themselves that they would give up their own lives to destroy the other side.
Wife/Husband swap!
I guess that 30 days show applies too, the most recent one.
Anyway, back on track. I think it'd be way cooler to "train" a program that spews out english text.
back off topicSo I could then breed Progranisms with it. Ya know, so they can generate spam messages to spread themselves.
The funniest thing is that most religions are very compatible.
It's just that the gods have different names and the religious organisations make up silly differences and claim that those who don't apply to their petty greed should die.
I think there's another thread more suited for religous flamewar though, unless Matthew has come back and locked it.
But you are doing just the same thing.
Not really. I don't go around yelling "God exists, turn or burn!" Whereas, quite a few people have blatently said "Your religion is wrong, and if you don't believe me, you're retarded."
Back in my post, I basically said "If the topic of evolution comes up, just keep religion out of it, OK?"
I have no problem whatsoever with evolution and keeping religion out of it. I'm talking about the not-so-subtle religion bashing that goes on seemingly forever.
My post was also part venting. As I'm truely fed up with people telling me that I'm (and others are) "wrong."
Now you are saying "stop posting your thoughts about religion!" (more or less).
No, I'm saying stop telling people that their religion is wrong, especially considering how little most people here even know about other people's religions.
Questions like "Do you honestly believe everyone must think exactly like you?" are insulting. Do you honestly believe that that is what we believe!?
A few of you, yes! Which is why I'm fed up with it.
I probably shouldn't have posted the last one. But I couldn't help it.
I'm talking about the not-so-subtle religion bashing that goes on seemingly forever.
Yes, a curse on critical thinking and science! This constant, but ever so subtle, process that indirectly points out flaws in superstitious thinking must be stopped, for it is biased indeed! Burn the heathens! Wait, I mean, er...
But why be logical when computers obviously do that part for you?!?!
Quote: ---
Now you are saying "stop posting your thoughts about religion!" (more or less).
-------
No, I'm saying stop telling people that their religion is wrong, especially considering how little most people here even know about other people's religions.
So the people who are saying such-and-such religion is right is ok with you, but the people who are saying it's wrong are bad? In other words, you have a passive pro-religion stance.
On the topic of deciding that something is wrong without knowing much about it - sometimes that is legitimate. If someone is trying to show me a logical prove for why they are right about something, I will stop them at the first point I disagree with them. I need not hear any more on the topic and I am certain the proof is wrong; because in a logical argument, any one small false step will allow you to prove anything you like. As soon as there is one thing wrong in the proof, everything that follows is wrong.
Of course, when people talk about religion, they usually try to stay as far away from logic as possible - so this doesn't really apply.
I'm just saying that in some cases it is possible to know that something is wrong with only very little information about it.
Darn religion.
Now, I'm pretty sure we can all agree to that and move back on topic.
Oh, what, you need something ontopic to talk about? Well aren't you very non-creative! Fine, if I have to:
Hyper threading is a blessing when running 5000+ mutating and reproducing programs.
Back on topic: I tried to evolve some AI to play the number guessing game once. You know; guess a number between 0 and 30, then I say higher or lower until you get the number (or until I guess sick of you getting it wrong).
My program would put some numbers into an array, with the first number being an upper bound, and the next number saying 'higher or lower'.
My little AIs had a whole lot of commands at their disposal like 'read from memory[#number]' and 'multiply by #number' and 'subtract #number' and 'goto command #number' 'guess #number'. They got about 10 guesses,
There were thousands of these little guys, generated randomly, which then mutated and reproduced randomly with the help of a score that was given to them based on how well they played the game.
The end result was never very good. They would very quickly evolve into a program something like this:
static int guess = 0; guess+=3; return guess;
Which scored pretty well, but obviously isn't very smart. They only ever then evolved into variations on that. Like starting at the maximum and counting downwards, or counting up by 4 instead of 3. The range in each game (the upper bound of the correct number) was random, but if I changed the range that upper bound could take, the AIs would evolve to a more suitable counting index, but that's it.
It is easy to get the that simple AI, and that simple AI is pretty good, but the problem is that the next better solution is so completely different from what they already had that they never find it. As soon as they break away from their incrementing guesses, then they don't score as well and start dieing off before they reach the next best solution.
In programming, evolution is pretty hard. I mean, slipping a goto into the middle of a piece of code is only a small mutation, but it can completely change what the program does.
Also, with such a 'binary' game, it's hard to make a continuem of goodness which the AIs can evolve along. I mean, it's very hard for the AIs to actually work out what they are meant to do! They think they have found a good result, but they don't know what the goal is.
It's been a few years since I did all that, I've got some new ideas on evolutionary programming now. One day I'll try them out, and I hope I can get something a bit smarter!
(note, I've never actually done any research on evolutionary programming; so I really don't have a clue as to what is a good way to do it, I'm just making it up as I go along).
As soon as they break away from their incrementing guesses, then they don't score as well and start dieing off before they reach the next best solution.
And there in lies the problem. You should promote higher scores, but not discourage lower scores. You can't just kill something because it isn't preforming well, because otherwise, as you see, they don't preform well.
But that creates an intersting problem. If you can't kill anything then it's going to start sucking up resources very fast. But, ya know, it happens. Better than programs that don't evolve at all.
In programming, evolution is pretty hard. I mean, slipping a goto into the middle of a piece of code is only a small mutation, but it can completely change what the program does.
Same for DNA. A lil' radiation and you end up with 3 eyes or 3 legs.
I really don't think 'guessing games' are a good domain for GA - unless it develops psychic powers - what's the point of rewarding it for guessing right the first time, for example?
BTW: In a thousand years scientology might be as respected as christianity, and they'll probably have cleared away the most blatantly insane parts of it
I really don't think 'guessing games' are a good domain for GA - unless it develops psychic powers - what's the point of rewarding it for guessing right the first time, for example?
Guessing games are fine if the numbers are "randomly" generated by the computer, and if the AIs are given the information as to when the number was generated, how long it took, etc. Because we all know that there isn't a "truly random" function. Sure, it could be close, but if a computer can process the information to generate the number, can't it go reverse?
(Can't it?)
My post is now a three-page thread. Sweet...
A number guessing game. Hmm... Thats a neat idea, I think I might try that myself.
I really don't think 'guessing games' are a good domain for GA - unless it develops psychic powers - what's the point of rewarding it for guessing right the first time, for example?
Its not as if the program has a single guess. The point is that the program is told whether its guess is too high or too low. The idea is to see whether or not the program will find an efficient algorithm for narrowing down the correct number in the lowest number of steps.
I once wrote a number guessing game with a twist. Essentially, it did not pick a number, instead it had a range.
Say, 0 to 100
If you guessed 33, it would take a look at the possible ranges
0-32 and 34-100
Since 34-100 is a bigger range, it would tell you that you number was too low. So, it cheated by always telling you consistent facts but always picking the path which give you the least amount of information.
Guessing games are fine if the numbers are "randomly" generated by the computer, and if the AIs are given the information as to when the number was generated, how long it took, etc. Because we all know that there isn't a "truly random" function. Sure, it could be close, but if a computer can process the information to generate the number, can't it go reverse?
That's another interesting expirment. Give the program the seed value, and see whether or not it can find the result of rand().
And there in lies the problem. You should promote higher scores, but not discourage lower scores. You can't just kill something because it isn't preforming well, because otherwise, as you see, they don't preform well.
But that creates an intersting problem. If you can't kill anything then it's going to start sucking up resources very fast. But, ya know, it happens. Better than programs that don't evolve at all.
I suppose it depends on what you are interested in. But it seems to me if you are trying to in some measure simulate actual biological evolution, this route cannot be used since in real life less-fit organisms die off.
I suppose it depends on what you are interested in. But it seems to me if you are trying to in some measure simulate actual biological evolution, this route cannot be used since in real life less-fit organisms die off.
There you go again, bringing real life back into it You're just gonna start a debate again.
So moving on:
Less-fit organisms don't die off naturally until there's a lack of resources, and a lack of resources shouldn't occur until far higher up in the evolutionary chain. Think of it this way, the organisms start off as very, very simple like cloning bacteria (even simplier than bacteria). They don't need many resources, and they're small. Considering the vastness of the world, to them they have a near unlimited amount of resources to consume.
Later, when they become more complex and naturally larger the resources become thinner, in reference to their size and consumption. But by this time they've evolved far enough (hopefully) to continue evolution even if they start to die unnatural deaths.
Here's a perfect example. Sexual reproduction is quite useful higher up in the evolutionary chain, and interestingly enough won't develop until that point.
As I have found, sexual reproduction isn't useful and can be quite dangerous at lower stages of evolution. It complicates matters for simple code and can lead to many failed generations. The last thing evolution at this stage needs is failed evolution (we're trying to avoid deaths in the first place!). Higher up though, when sexual reproduction develops naturally, it becomes very useful. At this point organisms start dieing unnaturally for lack of resources and normally any unique and useful mutations they had developed would be lost. But with sexual reproduction these unique mutations can be defused into the gene pool, so the organism has no need to stay alive. Other generations can carry on its achievements. At the higher levels sexual reproduction can hopefully be managed far better as well, limiting the failed generations caused by it.
Sexual reproduction then leads to choosing of mates, which leads to non-natural selection which can lead to all sorts of things. Culture, maybe?
And there in lies the problem. You should promote higher scores, but not discourage lower scores.
Yes you should. That's the whole point with natural selection; the weak die and don't get to reproduce. Thus, if you want to evolve phrases, you're going to have to plain and simple kill off those that don't perform well.
Less-fit organisms don't die off naturally until there's a lack of resources
Predators. Intra-species violence. Death isn't necessary for evolution, just the inability to procreate.
X-G, we've already shown that that won't work. At a much later stage they can handle it, but early on they just can't be unnaturally killed off.
See, from the weak will rise the strong. It takes a quite a few mutations to get a really good new set of genes, and no where during that process can that strain be killed off, otherwise you'll lose all the work and be stuck again at a primitive stage.
Much later in the evolutionary chain this problem is solved through the creation of sexual reproduction, and so the creations can die all they want while their genes persist and spread in the gene pool.
Much later in the evolutionary chain this problem is solved through the creation of sexual reproduction, and so the creations can die all they want while their genes persist and spread in the gene pool.
The whole point of this kind of exercises is to get the best "genes" to survive. In a controlled experiment, you know where you start (random chars) and where you want to be at the end (a coherent phrase). With such an specific criterion defined, it's quite easy to tell the good "genes" apart from the bad ones and thus the process is much faster.
Have a soul repository of fixed size.
Replace the least successful souls with the new ones.
Less-fit organisms don't die off naturally until there's a lack of resources
It's purely a matter of statistics. Less fit individuals will by definition produce, on average, less offspring, so their genes will not spread as quickly as their more-fit brethern. So they `die off' gradually (but still quickly compared to an evolutionary timescale). This as opposed to them continuing to exist in the genepool until circumstances change.
Remember that species tend to be fairly homogeneous in their genetic makeup and tend to stay as they are as long as their environment stays constant, but can change quite rapidly if the environment suddenly changes (think of iceages favoring long hairs and thick hides, giving a slight edge to individuals with slightly longer hairs).
Considering the vastness of the world, to them they have a near unlimited amount of resources to consume.
Provided that they can actually move to get to them.
The whole point of this kind of exercises is to get the best "genes" to survive. In a controlled experiment, you know where you start (random chars) and where you want to be at the end (a coherent phrase). With such an specific criterion defined, it's quite easy to tell the good "genes" apart from the bad ones and thus the process is much faster.
But as seen, its actually very difficult to determine which mutation is better since they are all just random chars.
It's purely a matter of statistics. Less fit individuals will by definition produce, on average, less offspring, so their genes will not spread as quickly as their more-fit brethern. So they `die off' gradually (but still quickly compared to an evolutionary timescale). This as opposed to them continuing to exist in the genepool until circumstances change.
Yes, so in any situaion the clock is clicking down. A good set of mutations must be found quickly!
And there in lies the problem. You should promote higher scores, but not discourage lower scores. You can't just kill something because it isn't preforming well, because otherwise, as you see, they don't preform well.
Yes, but the only mechanism I have for encouraging or discouraging is life and death. I can't do any more than that. And remember, I can't let everything live on, because my computer has finite memory. I want to do thounsands of generations with thounsands of new births in each generation. I can't afford to let them all live.
The surviving agents were randomly selected, but the probility was based on their score. So the poorer performers didn't just die straight away, they were just more likely to die. And the higher scoring ones were more likely to reproduce successfuly.
The dud breed did hang around, but just not for long enough to reach the next stable point.
One of the things I was going to do in my next attempt was to have them compete in a few different games, not just the one game. That way, they could afford to be good at just one game while they evolved towards a better solution in another game.
I would have them pair up to reproduce, and have kind of virtual geographic barriers appear and disappear between them over generations. That way, I would expect to start getting different species to appear. ie, different groups of agents such that if they pair up with one of their own species then the offspring will probably survive, but if they pair with a different species then it probably will not survive just because when the programs of different species mix, the result will not be good at any of the games.
Should be interesting.
But I don't have time for that now.
Yes, so in any situaion the clock is clicking down. A good set of mutations must be found quickly!
Not really. At least, not the for the system I made. As I said, the probability of survival was weighted against the score in the game; but it was also weighted against the number of agents in the world. I had the probilities balanced such that the number of agents was more or less constant. If it got to high, then living conditions got rough; but when it was low, pretty much anything could survive.
Generally you want to make it so that they are competing against each other, not against the environment. I mean, they should never just die out from not being good enough for the programmers standards! They should only die out if they are not good enough compaired to the others. Otherwise, they would all just die before they got anywhere.
Use a relative quality rather than absolute. That is, kill the individuals that perform worst and replace them by mixtures of the best. In the beginning, all individuals will perform equally badly, but as soon as one of them is slightly better, it will survive. The rest will be killed until there are more and more "slightly better" variations, the best of which will generally survive. That's how evolution works.
BTW, it is a "fact" that this mechanism does work for certain scenarios. Not just theory. The assumption that this mechanism is the driving force behind the origin of Life is not (and will never be) a proven "fact", but according to science (which is based on rational thinking rather than wild guessing), it is the most likely theory. Which, to the scientist, is the closest to a fact you can ever get. In that, it is just as much a fact as the "theory" that says that heavy objects will drop if you let go of them, or the one that says that all humans are mortal (I'm still alive, aren't I?).
Not really. At least, not the for the system I made. As I said, the probability of survival was weighted against the score in the game; but it was also weighted against the number of agents in the world. I had the probilities balanced such that the number of agents was more or less constant. If it got to high, then living conditions got rough; but when it was low, pretty much anything could survive.
Generally you want to make it so that they are competing against each other, not against the environment. I mean, they should never just die out from not being good enough for the programmers standards! They should only die out if they are not good enough compaired to the others. Otherwise, they would all just die before they got anywhere.
But still, time is working against any mutation. A better way must be found in a relativly small amount of time because during the transition it will perform far poorer then its relatives who are not transforming.
I imitated your original experiment. I made a stack machine and took the item that was on the top of the stack as the guess. I then pushed a -1 if it was too high and a 1 if it was too low. I started with completely random ops, which resulted in my original ancestor aborting because it tried some illegal operations.
My mutation system has the possiblity of duplicating and cutting sections of code. IT appears that given enough time, all the code causing problems is cut out, so the little buggers end up being able to guess. They found a rather innovative solution the problem. One of my OPS was a stacksize op, it pushed the size of the stack onto the stack. Since everytime the program ran it increased the stack size by one, this ended up being a crude counting mechanism, guessing every option one by one. Which was enough to do better then the crashing and smashing relatives. However, as with your version, they never got past this stage.
because during the transition it will perform far poorer then its relatives who are not transforming.
In other words, you have reached a locally stable optimum, which you cannot evolve out of. I don't think it's really a problem to find such a thing in a simulation. After all, natural selection also tends to settle in the closest (quasi) equilibrium state, which is not nescessarily the best state.
As an example, consider the human eye. There are very many obvious design flaws in it that could be remedied. However, this doesn't happen, partially because the changes are rather involved and partially because there's no `pressure' from natural selection to do so: our eyes are good enough for what they're supposed to do.
Well, since humans used to live to about 30 years with some luck, our bodies haven't evolved to deal with being alive for 100 years.
But I wonder how long it will take before our genes evolve to adapt, if it ever happens. Humanity is so chaotic I doubt there is any positive evolution going on.
Well, since humans used to live to about 30 years with some luck, our bodies haven't evolved to deal with being alive for 100 years.
I know I'm going to live 800 years. Maybe some examinations to my body will tell you how humans will be in the future!
On the 30 years. I'm not sure thats actually accurate. The average life may have been 30 years, but thats majorly affected by large numbers of infant and children deaths. If you consider the life expectancy of a twenty-year old male (because females had a tendency to die in childbirth) I don't think its changed nearly that much.
In other words, you have reached a locally stable optimum, which you cannot evolve out of. I don't think it's really a problem to find such a thing in a simulation. After all, natural selection also tends to settle in the closest (quasi) equilibrium state, which is not nescessarily the best state.
So, we'd expect Evolution to stay stagnant for a while until some change changed the "rules of the game" forcing a whole new method to arise?