Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - The_Duck

Pages: [1] 2
1
Suggestions / gimmic for zerobot evolution
« on: May 18, 2008, 03:19:06 PM »
Quote from: EricL
I suspect that someday, an analysis of evolved sequences will show things such as a much higher probabiltiy that a point mutation will result in something functional for example, than does a similar hand authored sequence that acheives the same functionality.

I recall reading an article in Scientific American a few years ago that was about something to this effect in real DNA; here is an abstract that talks about it: http://www.ncbi.nlm.nih.gov/pubmed/14604186?dopt=Abstract

2
Internet Mode Commentary / The State of the Simulation
« on: May 14, 2008, 09:31:01 PM »
Quote from: goffrie
Hmm, you might know this, but http://xkcd.com/303/

and http://xkcd.com/203/

3
How about just doing it for ties? The current eyes design is based around a single focus eye, but I see no reason why all ties shouldn't be equivalent.

4
Internet Mode Commentary / A multibot now owns IM
« on: April 23, 2008, 04:04:09 AM »
Quote from: EricL
Two hours after being introduced, Seasnake 1.0 has wiped out all other hetertrophs in IM.  My sims are running a pre-release version of 2.43.1j, which has a ton of MB related fixes, so SeaSnake may not work well in your sim if you connect a prior version, but it's pretty cool to see a multi-cellular organism, often made up of 50 cells or more, own IM...

2.43.1j out Tuesday hopefully...

I started up an IM sim and got a Seasnake from you; it's very nice. I may try to create a competitor multibot.

5
Bot Tavern / Seasnake - My Amazing Multibot
« on: April 20, 2008, 02:40:29 PM »
Looks nice; what fixes did you make?

6
DNA - General / What does Amplification mean?
« on: April 15, 2008, 07:50:34 PM »
Quote from: EricL
Quote from: The_Duck
if EricL publishes the current version of the code I'd be happy to play around with the Amplification and Translocation (the other disabled mutation: cuts out a section of DNA and reinserts it somewhere else) routines and try to get them working.
I posted the 2.43.1h source when I released that drop, so the most recent code is out there.  As Nums says, the mutation code is bascially the same as 2.43 although 2.43.1i contains some important fixes to insertion mutations.

I'd be happy to integrate any changes you make into the mainline or simply spend some time on this area.  There's no real reason I havn't played with mutations other than time and priorities.    The number of hours I spend per week on DB is limited.  What I work on is primarily a function of bugs, feature requests and my own interests.   If people want amplification mutations, I'd be happy to prioritize them higher in the work queue...

I grabbed the 2.43.1h source and tested this Amplification code in it; it seems to work. It needs some new code in other places to allow the setting of mutation probabilities and stuff.

Code: [Select]
Private Sub Amplification(robn As Integer)
  '1. pick a string of DNA, and insert a copy of it elsewhere in the DNA
 
  Dim t As Long
  Dim length As Long
  Dim startBp As Long
  Dim insertBp As Long
   
  With rob(robn)
 
  If .Mutables.Mean(AmplificationUP) < 1 Then .Mutables.Mean(AmplificationUP) = 1
  For t = 1 To .DnaLen - 1
    If Rnd < 1 / .Mutables.mutarray(AmplificationUP) Then
     
      length = Gauss(.Mutables.StdDev(AmplificationUP), .Mutables.Mean(AmplificationUP))
      If length < 1 Then length = 1
      If length > .DnaLen - 1 Then length = .DnaLen - 1
     
      startBp = Random(1, .DnaLen - length)   'start of sequence to copy
      insertBp = Random(1, .DnaLen - 1)       'insert copy after this base pair
     
      'don't insert in the middle of the DNA we are copying
      If insertBp >= startBp And insertBp < startBp + length Then insertBp = startBp + length - 1
     
      MakeSpace .DNA(), insertBp, length
      .DnaLen = .DnaLen + length
     
      'MakeSpace may have shifted the location of the string to copy
      If startBp > insertBp Then startBp = startBp + length
         
      Dim I As Integer
      For I = 1 To length
        .DNA(insertBp + I).tipo = .DNA(startBp + I - 1).tipo
        .DNA(insertBp + I).value = .DNA(startBp + I - 1).value
      Next I
         
      .Mutations = .Mutations + 1
      .LastMut = .LastMut + 1
      .LastMutDetail = "Amplification duplicated a string at position " + Str(startBp) + " of length " + Str(length) + _
                       " and inserted the copy at position " + Str(insertBp + 1) + " during cycle" + _
                       Str(SimOpts.TotRunCycle) + vbCrLf + .LastMutDetail
         
      End If
  Next t
  End With
End Sub

7
DNA - General / What does Amplification mean?
« on: April 14, 2008, 05:01:02 AM »
Quote from: Numsgil
Ah, translocation, that was it

As far as I know, Eric hasn't played much with those routines, except for fixing a bug in Gauss.  If you're ready to start, go ahead and work from the 2.43 source.  It should be a simple matter to integrate the two versions.

OK, I rewrote the Amplification function in a way that seems to work in the few minutes of testing I have done.

24 mutations of this bot:
Code: [Select]
cond
*.robage 10 >
start
50 .repro store
100 .aimright store
100 .up store
-1 .shoot store
stop

produced this monstrosity:
Code: [Select]
cond
 >
 *.robage 10 start
 50 *.robage stop
 *.robage 10 >
 cond
 *.robage 10 cond
 50 300 7 >
 start
 50 *.robage stop
 10 .shoot store
 >
 start
 50 .repro store
 50 50 300 100 .aimright store
 100 *.robage .up store
 *.robage 10 start
 50 .repro store
 start
 50 .repro store
 start
 50 *.robage cond
 *.robage cond
 50 300 300 50 10 start
 50 300 *.robage *.robage -1 7 cond
 *.robage *.robage 10 start
 *.robage cond
 50 300 300 -1 *.robage cond
 50 300 .shoot store
 stop


I'll let it run overnight on some fast-reproducing bots with a high amplification rate and see if it crashes or anything. What exactly was the problem with the previous code? When I tried to enable it crashed instantly with a subscript out of range error which I didn't track down, but perhaps I messed something up? Was it ever enabled?

8
Bugs and fixes / Multiple errors in teleporting sims
« on: April 11, 2008, 07:22:22 PM »
OK, so the bug I reported a few days ago wasn't a teleport problem at all. Maybe these are.

I set up a linear chain of three sims again connected by teleports and let it run for a while. When I checked back only one sim was left running.

The left-hand end-point sim had crashed with "Darwinbots2.43.1h.exe has stopped working...". The right-hand end-point sim had crashed because some kind of corrupted organism file had gotten into the teleport directory it was trying to import from, so it halted with "Non dbo file found in [teleport direction]. Inbound teleport deleted." The central sim, which was hooked up to the other two, was still running fine.

I don't think I had any funky settings set this time. OK, another possible bug--the sim claimed that it had deleted the inbound teleport but didn't, and kept reporting this error until I went and deleted the file. The "non dbo file" is attached as a .txt, but in reality it had no extension (which annoyed the forum software). The central sim, which must have generated the bad file and sent it to the right-hand sim, is attached. The left-hand sim, which crashed with the "stopped working" error, is attached as left.sim, but the save is likely from some time before the crash.

9
Cool, thanks!

10
Here's a sim with four teleports and no bots that reports an error when you try to change the settings or close the sim.


11
DNA - General / What does Amplification mean?
« on: April 08, 2008, 10:18:32 PM »
This does sound like a really useful mutation type for evolution, if it's possible to de-bug it. I had a look at the disabled code Amplification code in 2.43 and it doesn't look too scary. I've been wanting to try some new stuff with mutations; if EricL publishes the current version of the code I'd be happy to play around with the Amplification and Translocation (the other disabled mutation: cuts out a section of DNA and reinserts it somewhere else) routines and try to get them working.

12
Evolution and Internet Sharing Sims / First Evosim
« on: April 08, 2008, 07:01:38 PM »
Looks like that line was just a fluke; it's mutated away.

I noted just now that there are two distinct subspecies in the sim; one is reddish and smaller and the other grey and bigger. I'm at cycle 10.8 million now; the common ancestor was around cycle 9.3 million, 1.5 million cycles ago. That's about 1000 generations!

The main grey genome:
Code: [Select]
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 start
 *.eye7 *.refeye *.myeye
''''''''''''''''''''''''  Gene:  1 Ends at position  4  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  5  '''''''''''''''''''''''
 start
 <
 -- *.refveldx << .dx store
 *.tielen 86 .up store

''''''''''''''''''''''''  Gene:  2 Ends at position  15  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  3 Begins at position  16  '''''''''''''''''''''''
 cond
 store
 *.eye5 91 >
 *719 *.refxpos !%=
 start
 4 .shoot dec
 *.refvelup and
 .up store

''''''''''''''''''''''''  Gene:  3 Ends at position  31  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  32  '''''''''''''''''''''''
 start
 *.eye5 %=
 store
 %=
 or
 371 .aimleft store
 >=

''''''''''''''''''''''''  Gene:  4 Ends at position  41  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  42  '''''''''''''''''''''''
 cond

''''''''''''''''''''''''  Gene:  5 Ends at position  42  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  6 Begins at position  43  '''''''''''''''''''''''
 cond
 *.nrg 29970 inc
 >
 start
 dec
 <
 .repro store
 inc
''''''''''''''''''''''''  Gene:  6 Ends at position  53  '''''''''''''''''''''''



And the main red genome:
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 start
 add *.eye7 add add *.refeye *.myeye
''''''''''''''''''''''''  Gene:  1 Ends at position  7  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  8  '''''''''''''''''''''''
 start
 <
 -- *.refveldx << .dx store
 *432 86 .up store

''''''''''''''''''''''''  Gene:  2 Ends at position  18  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  3 Begins at position  19  '''''''''''''''''''''''
 cond
 *.eye5 91 >
 *630 *.myeye !%=
 start
 21 .shoot dec
 *.refvelup .up store

''''''''''''''''''''''''  Gene:  3 Ends at position  32  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  33  '''''''''''''''''''''''
 start
 *.eye5 %=
 store
 *.refeye *.myeye %=
 or
 371 .aimleft store
 >=

''''''''''''''''''''''''  Gene:  4 Ends at position  44  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  45  '''''''''''''''''''''''
 cond
 *.nrg .refmulti store
 >
 start
 dec
 clearbool
 <
 .repro store
 *-182 inc
 store
''''''''''''''''''''''''  Gene:  5 Ends at position  58  '''''''''''''''''''''''


Edit: I've been noticing some cannibotism, but haven't investigated.

13
Evolution and Internet Sharing Sims / First Evosim
« on: April 08, 2008, 02:04:59 AM »
Update: 9.2 million cycles, 100 mutations, 4.4 million born. With the performance improvements in 2.43.1h I've increased sim size and thus population by 60%.

Here is the most common genome at the moment:
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 start
 and
 *.eye7 *.refeye *.myeye
''''''''''''''''''''''''  Gene:  1 Ends at position  5  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  6  '''''''''''''''''''''''
 start
 <
 -- *.refveldx << .dx store
 *432 86 .up store

''''''''''''''''''''''''  Gene:  2 Ends at position  16  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  3 Begins at position  17  '''''''''''''''''''''''
 cond
 store
 *.eye5 91 >
 *630 *.myeye !%=
 start
 4 .shoot dec
 *.refvelup .up store

''''''''''''''''''''''''  Gene:  3 Ends at position  31  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  32  '''''''''''''''''''''''
 start
 *.eye5 %=
 store
 *.refeye *.myeye %=
 or
 371 .aimleft store
 >=

''''''''''''''''''''''''  Gene:  4 Ends at position  43  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  44  '''''''''''''''''''''''
 cond
 *.nrg .shootval store
 >
 start
 dec
 ~ not
 <
 .repro store
 *-167 inc
''''''''''''''''''''''''  Gene:  5 Ends at position  57  '''''''''''''''''''''''


Not much of importance has changed, but there is the intriguing line "*.nrg .shootval store" which has been around for a while but, as far as I can tell, never executes (wouldn't it kill the bot if it did?). Do stores in cond sections execute?

14
I'm trying to create a varied environment to encourage speciation by connecting four sims together on one computer, each with different settings. However, this error is preventing me from realizing this. I have them set up in a linear chain. This requires four teleporters in each sim (at least for the middle sims; the endpoints only require two). A majority of the time when I go to Edit->General Settings I get

"Runtime Error
Invalid property value."

and DB exits. I assume it's to do with the teleports because I haven't seen this error before.

I should note that I got the teleporters up and working properly, and all four sims running simultaneously. But when I went to edit the settings of any sim that DB instance crashed with the above error.

I'd post a sim but I don't think that would help because there's too much specific to my file system. To reproduce just create two sims and connect them with an inbound and outbound teleport each. If that doesn't cause a crash connect one of the sims to a third in the same way.

15
Evolution and Internet Sharing Sims / First Evosim
« on: April 07, 2008, 01:06:51 PM »
The sim has hit 100 hours and 8 million cycles. Over 3.7 million bots have lived and died. For the last 4 million cycles or so I haven't touched the settings. With mutation rate at 32x we're up to 90 mutations. I think this DNA is representative:

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 start
 abs *.eye7 *.refeye *.myeye
''''''''''''''''''''''''  Gene:  1 Ends at position  5  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  6  '''''''''''''''''''''''
 start
 <
 swapbool
 -- *.refveldx << .dx store
 *432 86 .up store

''''''''''''''''''''''''  Gene:  2 Ends at position  17  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  3 Begins at position  18  '''''''''''''''''''''''
 cond
 store
 *.eye5 91 >
 *630 *.myeye !%=
 start
 4 .shoot dec
 *.refvelup .up store

''''''''''''''''''''''''  Gene:  3 Ends at position  32  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  33  '''''''''''''''''''''''
 start
 *.eye5 =
 *.refeye *.myeye %=
 or
 371 .aimleft store
 >=

''''''''''''''''''''''''  Gene:  4 Ends at position  43  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  44  '''''''''''''''''''''''
 cond
 ~ *.nrg 27008 >
 start
 dec
 <
 .repro store
 *-167''''''''''''''''''''''''  Gene:  5 Ends at position  54  '''''''''''''''''''''''


Major changes since the start of the sim include:
-Bots now constantly move instead of sitting still, spinning, and waiting for food. I expected that this would occur; sitting still is not a very effective hunting technique. Since they are spinning and accelerating at the same time they execute a kind of Brownian motion.
-Bot speed has increased several times, now at 86
-Feeding distance has decreased several times, now at *.eye5 > 91. So they are zooming around and ramming the veggies, hopefully stopping and matching velocities when they do.

Edit:
-Reproduction energy threshold has been increasing. It seems like this must be advantageous somehow; I can't see why.

Pages: [1] 2