No; but that particular concept is trivially easy to include (and will be included unless I come up with something better). It’s literally a change from YourBot.new(gamelength) toYourBot.new(gamelength, m). I’m thinking about other ways to allow interesting evolution. The current best idea is something like providing an Evolution object that has all sorts of interesting numbers that change in all sorts of interesting ways with each population step. (The biggest bother I had with the m concept was that you can’t have monotonically increasing numbers to plug into bots that want to do interesting things over time—for example, “play tit for tat until population step 1000, and now that all the silly strategies are dead and it’s a pool of tit-for-tatters, play CliqueBot”)
I don’t see this as a problem at all; in fact if you could turn TFT into a CliqueBot at an arbitrary point in the tournament, this could hardly be called evolution. I mean the whole point of this idea was to theoretically have a gaussian distribution around your starting value, and then see which value is the most successful, right? So for example, you could start with m = 10, and have a strategy TFT-nD with n = floor(abs(m/10)). This might result in high values for n if the pool is such that TFT-1D strategies are successful at first; causing lower m to die out and higher m to strive, thus shifting the bell curve.
Mmm, I thought about this and you’re right. Monotonically increasing numbers might make a meta-level “defect last N” game out of the evolution—turn Clique a turn before the others do. Of course, now I also think there’s a way to turn m into an increasing number as well.
I mean the whole point of this idea was to theoretically have a gaussian distribution around your starting value, and then see which value is the most successful, right?
Actually the interesting part is whether you can use m cleverly, such that your mutation/evolution takes advantage of likely mutations/evolutions in other bots. Staying two steps ahead in the arms race at all times would allow you to dominate the genetic pool, because the change in bots would be the new constant. (My first idea along these lines was to have TFT-nD with n being decremented by 2 when m is decremented by one, and likewise for increments—so that my bot would become the parasite of other likely TFT-variable-nDs).
No; but that particular concept is trivially easy to include (and will be included unless I come up with something better). It’s literally a change from YourBot.new(gamelength) toYourBot.new(gamelength, m). I’m thinking about other ways to allow interesting evolution. The current best idea is something like providing an Evolution object that has all sorts of interesting numbers that change in all sorts of interesting ways with each population step. (The biggest bother I had with the m concept was that you can’t have monotonically increasing numbers to plug into bots that want to do interesting things over time—for example, “play tit for tat until population step 1000, and now that all the silly strategies are dead and it’s a pool of tit-for-tatters, play CliqueBot”)
I don’t see this as a problem at all; in fact if you could turn TFT into a CliqueBot at an arbitrary point in the tournament, this could hardly be called evolution. I mean the whole point of this idea was to theoretically have a gaussian distribution around your starting value, and then see which value is the most successful, right? So for example, you could start with m = 10, and have a strategy TFT-nD with n = floor(abs(m/10)). This might result in high values for n if the pool is such that TFT-1D strategies are successful at first; causing lower m to die out and higher m to strive, thus shifting the bell curve.
Mmm, I thought about this and you’re right. Monotonically increasing numbers might make a meta-level “defect last N” game out of the evolution—turn Clique a turn before the others do. Of course, now I also think there’s a way to turn m into an increasing number as well.
Actually the interesting part is whether you can use m cleverly, such that your mutation/evolution takes advantage of likely mutations/evolutions in other bots. Staying two steps ahead in the arms race at all times would allow you to dominate the genetic pool, because the change in bots would be the new constant. (My first idea along these lines was to have TFT-nD with n being decremented by 2 when m is decremented by one, and likewise for increments—so that my bot would become the parasite of other likely TFT-variable-nDs).