Author Topic: Advanced Randomness Generation Thread  (Read 19680 times)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« on: March 11, 2005, 03:44:00 PM »
Num Did you forget about this or what happend? I can understand you are doing enough Db work already

When you have time, explain to me how your virsion is supposed to work. Dont post more c++ or calcules because I wont understand. If you can explain it in somewhat english , I will be really happy to listin

 B)  Bau B)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Advanced Randomness Generation Thread
« Reply #1 on: March 11, 2005, 06:48:29 PM »
The PDF with the function I'll be using isn't cut and paste friendly.

I can't explain it without using some calculus.  It's been put somewhwat on the back burner for a while as I get to other things.  There are several DNA changes I want to look into, and I'm letting all the ideas ferment in my head a while.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« Reply #2 on: March 17, 2005, 11:00:57 AM »
Here attached is Prove that in the current Darwin Bots (2.35) Robots [you]Do Not[/you] evolve stuff like:
Quote
*232
*953
*41
In The "cond" part , or the "start" part of the DNA.


Search for "*40" and you will find that T_Preservents has it in the "cond" part , and/or the "start" part of the DNA. T_Preservents started out with this code , it did not evolve it.

But then:

Search for any number with a * in the bigging and you will see that crazylga does not have any of it in the "cond" part or the "start" part of the dna.

This is good prove that stuff like that does not evolve , because:

1.)The simulation was ran for a while
2.)The crazylga is basicaly alga with no conditions and high mutation rates from the bigging. (alga does not have any memory manipulation in the bigging of the program)

So please fix this problem , make mutations work better.

(sorry , only a portion of the file fit)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« Reply #3 on: March 17, 2005, 11:29:38 AM »
Num I seen you reading this; Did you Understand? Do you need more prove? (if so go ahead try your own experiments)

Or are you saying (like shvartz) that its going to be Quote: "To cheap and to good" ??

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Advanced Randomness Generation Thread
« Reply #4 on: March 17, 2005, 11:44:52 AM »
Try this:

Disable all muations except for the one at the bottom called 'introduce a new variable'.  Set that one to 1.

Run a mutation sim.  Tell me what happens.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« Reply #5 on: March 17, 2005, 11:50:17 AM »
If I set mutation rates of mutation rates to 0 nothing happens:
Quote
cond
start
  50
  .repro
  store
  15
  .aimdx
  store
stop
-------------- 2
end
always the same code.

Introduce new variable has no effect.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Advanced Randomness Generation Thread
« Reply #6 on: March 17, 2005, 11:55:43 AM »
Okay, now we're getting somewhere.

It doesn't seem that 'introduce a new variable' is actually introducing new variables.  That's a much mroe precise statement than 'mutations don't work!!!!1111', which means I can actually test the bug and isolate it.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« Reply #7 on: March 17, 2005, 12:02:59 PM »
'introduce a new variable' does insert new stuff like "*40" or "*957" in the "cond" part or the "start...stop" part of the DNA.

There is no way also to:

'change *40 into *250" for the "cond" part of the gene

'change "[you]250[/you] into *920 or into *42" in the "start...stop"

or change "*920 into 250" etc.
« Last Edit: March 17, 2005, 12:22:45 PM by Botsareus »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Advanced Randomness Generation Thread
« Reply #8 on: March 17, 2005, 12:12:30 PM »
The reason it doesn't change is because the value "Introduce new variable" is a secondary effect setting. That is why it is in a separate section from all the others. It controls the chance of a mutation introduced by another control being something NEW

To put it another way..

You can't mutate a new value if you aren't mutating any value.

Under the heading "Insert new values", place a 1 in the box labeled "Insert a condition" as well as the 1 that you already have in "Introduce new variable"

Run your little robot for a tiny short time and see what you get.

I tried it. I started the program and hit pause as fast as I could move my mouse. 45 cycles had passed.

Here is the result.

Code: [Select]
cond
  *.trefvelyoursx
  30093
  %=
  *.hitdn
  9015
  !%=
start
  50
  .repro
  store
  15
  .aimdx
  store
stop
end

Please note that ALL of the mutations took place in the condition section of the gene and that they are ALL new!
It added 2 complete conditions and then stopped reproducing because the new conditions were not being met. There were hundreds of different colored bots on the screen. This was just the first one that I checked.

You just have to use the controls in the right way.
OK I admit that there hasn't really been any kind of tutorial on how to do so but then again.. Do I have to do everything around here? It isn't that hard to figure out.

  :rolleyes:  PY  :rolleyes:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Advanced Randomness Generation Thread
« Reply #9 on: March 17, 2005, 12:13:59 PM »
Quote
It doesn't seem that 'introduce a new variable' is actually introducing new variables. That's a much mroe precise statement than 'mutations don't work!!!!1111', which means I can actually test the bug and isolate it.

THERE IS NO BUG

It was designed to work this way!

 :rolleyes:  PY  :rolleyes:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« Reply #10 on: March 17, 2005, 12:16:05 PM »
PY the problem is that its not what I am looking for.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Advanced Randomness Generation Thread
« Reply #11 on: March 17, 2005, 12:18:27 PM »
Num check this out

'change variable with variable' actualy got rid of that pesky "*40" in T_Preservents


That kind of solves the "delete" problem , but does not solve the other two.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Advanced Randomness Generation Thread
« Reply #12 on: March 17, 2005, 12:18:44 PM »
Quote
Do I have to do everything around here? It isn't that hard to figure out.

You betcha!



Sorry Bots, back to square one.  Play with different mutations disabled to see what effect they're having.  If you do find a bug, it's much easier to fix if you've isolated it already.

And since none of us thing the mutations are buggy (they're some of the oldest code)...

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Advanced Randomness Generation Thread
« Reply #13 on: March 17, 2005, 12:20:55 PM »
What do you actually want it to do?

Tell me precisely what you need and I will tell you either...
  • precisely how to do it.
  • precisely why it can't do it.
  • precisely how I could modify the code to make it do it.
Vague, generalized statements like...

"Mutations don't work" don't help us to get to the bottom of the problem, if indeed there is one which I am not at all convinced of.

 <_<  PY  <_<
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Advanced Randomness Generation Thread
« Reply #14 on: March 17, 2005, 12:23:58 PM »
Quote
And since none of us thing the mutations are buggy (they're some of the oldest code)...

Actually that isn't quite true.

The basics of them are old but...

I recently overhauled the whole system and made it work with a whole lot better controls than it used to have.
There are actually 2 more controls than there were prior to V2.35 and they are easier to use and get feedback from.

 :D  PY  :D
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D