Author Topic: 2.4 sooo close  (Read 7268 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« on: September 18, 2005, 03:05:49 PM »
I finally got some time and sat down at my computer, loaded up on emphetamines, and started programming.  Here's basically what's left before I can release 2.4:

1.  Point mutations are done, but all other mutations aren't.  Point mutations were by far the hardest though.

2.  I need to go back through and double check some functions that might not work right anymore, like delgene and mkvirus.

3.  I have an equation for tie drag, I just need to plug it in and see if it works.  I feel pretty confident it will.

I think that's it.  The point mutations are pretty neat.  I set it really high, and found like 2 dozen bugs that were possible in the DNA language.  Speaking of which, it seems to be incredibly common for mutations to end up producing 2000000000 (the max) on the stack.  I'm not sure what that will mean for evolution.  Theoretically, they'll just learn to not produce such large values all the time.

Once 2.4 is finished, I'll see if I can write a bot that showcases all the new features possible.  I have a feeling you'll all be very impressed.  There are some other changes I'd like to make, but I'll save them for 2.41.
« Last Edit: September 18, 2005, 03:08:16 PM by Numsgil »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
2.4 sooo close
« Reply #1 on: September 18, 2005, 09:32:27 PM »
What sort of bugs, just out of curiosity?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« Reply #2 on: September 18, 2005, 09:48:56 PM »
Things like pow and finddist were overflowing.  I don't think older bots could even evolve them, so it wasn't so much of a problem.

I just finished Delta Mutations (the mutation of mutation rates).  Just have to get to the other 5 now.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
2.4 sooo close
« Reply #3 on: September 18, 2005, 10:05:18 PM »
Weird :wacko:

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
2.4 sooo close
« Reply #4 on: September 20, 2005, 09:54:38 PM »
About time all the possible different dna can be evolved by our little robots.
Make sure its all of it, even including the custom labels.

BTW

Good Work Dude. I dont like it, because I have to blame myself as well but it looks like you are the only one making serios progress in the the coding of DB.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« Reply #5 on: September 20, 2005, 10:10:22 PM »
Its way more basic than labels.  Basically mutations view the DNA as a long series with absolutely no correllation between elements.  Although this isn't true, it makes the mutations more realistic, and with what I've laerned playing around with them, more useful.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
2.4 sooo close
« Reply #6 on: September 21, 2005, 09:40:27 AM »
You mean it won't add blocks of numbers in pre-formed condition or command groups. (like "*.nrg 6000 >" or "56 .aimsx store")

That is soooo gonna piss of Bots  :laugh:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« Reply #7 on: September 21, 2005, 01:01:40 PM »
Sure won't.  In fact, if it adds a long string of commands in, it'll be more likely to be something like:

*885 start or >

He he.  Most mutations should be kept low in their effect, so you only distrupt things 1 bp at a time.  That's my theory anyway.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
2.4 sooo close
« Reply #8 on: September 21, 2005, 02:02:34 PM »
I agree with you. There should be no rhyme nor reason to mutations so long as the DB Operating system can handle them and not crash because of a missing "start" or something.
Looks like your changes are making it much more robust all the time so it should be great.
« Last Edit: September 21, 2005, 02:02:53 PM by PurpleYouko »
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« Reply #9 on: September 21, 2005, 03:59:23 PM »
The few simulations I've run over night are encouraging.  Veggies are definately evolving -1 shots from time to time, because they keep finding ways to crash the program with them.

The best thing is the point mutations that can mutate a bot during any cycle.  If you set it impossibly high, it's a great way to check out possible crashes in the DNA robustness.

DNA, btw, can handle anything now.  You simply can't create a file of anything that, assuming it's read into the program successfully (that is, there's no file buffer overloads or something like that) would crash it.

In fact, I bet you could load in some science article you've been writing, or some .gif file, and the program wouldn't crash.  Not that the bot would be doing anything but 0 0 0 0 0 0 0 0 0... of course.
« Last Edit: September 26, 2005, 05:40:40 PM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
2.4 sooo close
« Reply #10 on: September 21, 2005, 04:33:59 PM »
Cool  B)

We can load in real words.

Maybe we should modify the DNA code so that it is in the form of real DNA but with more letters. That way we can write real words and the bots will be able to decode them and do real stuff.  :D
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
2.4 sooo close
« Reply #11 on: September 21, 2005, 05:32:57 PM »
I mean the custom labels: In vb: "Const abc = 20" that stuff. (assuming that you will still have them at all in the next virsion)

I just want to make sure we are staying with the policy everything that a bot programmer can do the mutations can do.

Quote
Its way more basic than labels.
(not sure what you mean by that, have to ask the same thing ^ again)
P.S.

I actualy like the no structure idea as long as we can clone peaces of code. So if "50 .repro store" gets cloned several times and then eather of the symbols change it would be more or less the same thing. I am pritty sure the new system supports multi symbol cloning or somthing of that nature.
« Last Edit: September 21, 2005, 05:34:03 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« Reply #12 on: September 21, 2005, 06:42:21 PM »
Code can be cloned, moved, outright changed, or deleted.  I do think that bots not being able to remember things like "I used this number to form a tie, so I need to remember to use this number in tieloc" is soemthing of an issue.  Oh well, let's see if they can evolve anyway.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
2.4 sooo close
« Reply #13 on: September 26, 2005, 04:57:33 PM »
Num check this idea out, stumbled upon this in my math class –should work nicely with the new free-for-all conditions:

The expression 1 < x < 5 witch in db "can" be writtin as "1 *20 < 5 <" has to do:

Quote
If 1 < memory(20) and 5 > memory(20) Then

It currently will probably do:

Quote
If 1 < memory(20) < 5 Then
witch is:
If 1 < (memory(20) < 5) Then
witch is:
If 1 < (0 or 1 boolean) Then
whitch is not what I had in mind

Just an idea, if you don't like it don't bother... make sure to type convirsion otherwise....


'Oh well, let's see if they can evolve anyway'

"Oh well" meaning you did add it or did not add it?
« Last Edit: September 26, 2005, 04:59:12 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.4 sooo close
« Reply #14 on: September 26, 2005, 05:31:41 PM »
Quote
Num check this idea out, stumbled upon this in my math class –should work nicely with the new free-for-all conditions:

The expression 1 < x < 5 witch in db "can" be writtin as "1 *20 < 5 <" has to do:

Quote
If 1 < memory(20) and 5 > memory(20) Then

It currently will probably do:

Quote
If 1 < memory(20) < 5 Then
witch is:
If 1 < (memory(20) < 5) Then
witch is:
If 1 < (0 or 1 boolean) Then
whitch is not what I had in mind

Just an idea, if you don't like it don't bother... make sure to type convirsion otherwise....
We could do that, but the notation is ambigous, so we won't.

That is, think in terms of the stack:

1 *20 < 5 <

stack:
*20
1

< operator.  Removes the valus from the stack.  Stack is now empty.  is 1 < *20?  If so, put TRUE on conditions stack.  Otherwise False

5 is put on stack.

is 0 < 5?  IF so, put TRUE on conditions stack...

Quote
'Oh well, let's see if they can evolve anyway'

"Oh well" meaning you did add it or did not add it?

Added what?  What is 'it'? You have a pronoun with no predicate.
« Last Edit: September 26, 2005, 05:42:45 PM by Numsgil »