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 - PhiNotPi

Pages: 1 [2] 3 4 5
RANT / Re: Breaking news: Internet Mode horrible, non-functional
« on: February 18, 2014, 07:56:21 PM »
I actually have received some stuff from Peter (the bots gave his simulation as the source).

RANT / Re: Breaking news: Internet Mode horrible, non-functional
« on: February 18, 2014, 07:46:08 PM »
I've also gotten a lot of stuff from myself, mostly things from internet sims I ran earlier today.  Earlier today, I put a virus into the wild.  After starting a new, virus-free sim, I received the virus again from the internet.

If it is from 3 months ago, then I suppose that what happened was that the robot was sent into the outbound folder a few months ago, and it remained there since there was no internet connection.  Now that there is a connection, all of your unsent robots are being released into the internet.

RANT / Re: Breaking news: Internet Mode horrible, non-functional
« on: February 18, 2014, 05:55:50 PM »
I received some bots from the internet!  Yes!

Edit: I just had a huge multibot teleport in, and Darwinbots crashed. 
Code: [Select]
An Error Occurred. Darwinbots cannot continue. Sorry. Subscript out of range DarwinBots 9 0.I don't know if this is related to your program, or if it is a bug with DB which is being revealed now that IM actually works.

RANT / Re: Breaking news: Internet Mode horrible, non-functional
« on: February 17, 2014, 04:27:07 PM »
Thanks!  I'm actually running it right now...   I think it's working, because bots are being teleported back and forth, but no appears that I am the only person currently running it.  I'll leave it running, in hopes that someone else starts a sim.

Bot Challenges / Re: Write the best Nano-Bot (max DNA length of 32)
« on: February 17, 2014, 03:30:21 PM »
EDIT: I have been running this in 2.46.02BetaI. To see the difference I just ran in 2.45.03, and it's not even close the same!  Everything's different!  To be honest, my submissions don't work at all anymore in the older version!

EDIT 2:  The main differences appear to be:  2.46 has a population cap, when I press "set F1 settings."  Second, it does not require for there to be a veggy, whereas 2.45 seems to require there to be a veggy.  Third, shell does not slow the bot down as much in the newer version.

Original answer:
Okay, I honestly don't know what happened, because I couldn't repeat my earlier success either.  So, I put some more work into it, and this is my new and improved entry:

Code: [Select]
 *.numties 0 >
 32000 .sharenrg store
 not *.refshoot *.refeye add 0 > and
 100 .mkshell store
 .up store
 .tie inc
 .aimdx store
 *.nrg 100 <
 .fdbody inc
30 bp

Hopefully, this one actually works.

I'm actually quite surprised at the amount of stuff I was able to accomplish in so little room.  Tie shooting, energy "sharing", rotation / forward movement, creating shell, feeding off of body when needed, etc.  I decided to ditch the reproduction gene, because it did not seem to make much difference.

Bot Challenges / Re: Write the best Nano-Bot (max DNA length of 32)
« on: February 17, 2014, 01:41:06 PM »
Let me check.....

EDIT: Can you describe to me what "losing" looks like?  Are they losing in combat, are they losing because one starves to death faster, etc?  Also, what version of DB are you using?

Suggestions / Re: Poll: Refvar for viruses
« on: February 17, 2014, 12:28:56 PM »
I've been thinking, and there really needs to be more of a compromise, something in between.  If we make it too easy to weed out the infected, then there is no way to spread the infection.  On the other hand, it should be possible to detect conspecs that are acting super-infected and erratic.

There is a pretty big difference between DB viruses and real-world viruses.  Regular viruses can disable or kill people, but DB viruses can often turn the bots into a Total Zombie Slave ArmyTM.

Do you think the following method could detect infections well enough?

Code: [Select]
.vtimer .memloc store

*.eye5 40 >
*.memloc .vtimer = and
*.memval 0 != and
'infection detection
-1 .shoot store

Bot Challenges / Re: Write the best Nano-Bot (max DNA length of 32)
« on: February 17, 2014, 10:15:34 AM »
Your bot was actually pretty good.  It seems to beat anything which doesn't have shell.

Here is my new version, which is a tie-feeder.  It almost always beats the other two entries, with the only losses occurring because the two opponents randomly spawned too far from each other.

Code: [Select]
 .mkshell inc
 32000 .sharenrg store
 15 .up store
 *.numties 0 =
 *.refshoot *.myshoot !=
 *.refeye *.myeye != or and
 .tie inc
 100 .aimdx store
 *.nrg 5000 >
 .repro inc
32 bp

Bot Tavern / Re: Lets make another wikibot!
« on: February 17, 2014, 09:52:07 AM »
Your added line doesn't seem to be functional.  For example, mkvenom should be strvenom, and the "and"s don't actually do anything because there aren't any other condition operators (like > < = != etc.).  You need to use "mult"s in this case.

What I think you meant to write is:

Code: [Select]
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
Which produces venom when there is currently less than 50 venom and there is at least 1000 nrg.

Anyways, what is the maximum size of a "line"?   I think we should make an upper limit.

Bot Challenges / Write the best Nano-Bot (max DNA length of 32)
« on: February 16, 2014, 04:31:21 PM »
This is a straightforward challenge:  Write a bot which beats the other bots.


  • Use F1 rules/conditions to determine which species is superior.  Have your bot fight the previous bots.
  • DNA length is determined by the Darwinbots program, and it should measure 32 or fewer.  (Important note: the end command is always included in this count, even if you did not write it as part of your DNA.)

Why 32?  I had to decide on a number, and I figured that 32 was a power of 2 which was about the right size.

To kick things off, here is my starting entry.   It is basically a highly-compacted version of Animal_Minimalis.  It measures 30 base-pairs in length.

Code: [Select]
 *.eye5 0 >
 *.refeye *.myeye != and
 *.refveldx .dx store
 -6 .shoot store
 *.refvelup 30 add .up store
 314 rnd .aimdx store
 *.nrg 20000 >
 .repro inc

Suggestions / Poll: Refvar for viruses
« on: February 16, 2014, 01:15:16 PM »
I've been doing a lot of virus stuff lately, and I came up with this idea.  There should be a refvar to tell how many mkvirus commands are in an opponent's DNA.  It would work similar to how refvenom tells the number of strvenom commands in the DNA.

This would allow a robot to determine if another robot is infected with a virus.  For example, a robot might not normally attack conspecs, but could choose to attack infected conspecs to help prevent more infections. 

Also, for symmetry's sake, there could also be a myvar which does a similar thing.

Bot Tavern / Re: Lets make another wikibot!
« on: February 16, 2014, 12:49:03 PM »
I might as well give this a try.

Code: [Select]
.tie inc
*.focuseye .eye5 add * 0 >

Bugs and fixes / Re: DEf limit?
« on: February 15, 2014, 09:20:58 AM »
Here's your problem:  At the top, you defined e1w, e2w, e3w, etc.  Later in the program, you use ew1, ew2, ew3, etc. 

Also, you did the same thing with ie#w to iew#.


I combined those formulas into one large formula, and I assumed this was how light was calculated.

Given a light level L (0-32000), a chloroplast count C (0-32000), and a feeding rate R, then the following formula gives the amount of energy.  Please pardon the horrible math formatting.

 (1.25 * (\frac{C * L^2}{16000^3})^{0.8} - (\frac{C}{32000})^2) * R = \text{Energy}

Some things of interest:

The following gives the maximum sustainable number of chloroplasts at a given light level.  This means that any larger number of chloroplasts will result in a negative total feeding rate.  Notice how this does not depend on the feeding rate R.

C = 0.15174055775072914 * L^{4/3}

Likewise, the inverse formula gives the "break-even point" for a given number of chloroplasts.  Any less light, and the chloroplasts would have net losses.

L = 4.113142377191562 * C^{3/4}

Using this, I calculated that a light level of at least 9841 can sustain any number of chloroplasts.

It is also interesting to look at the optimal number of chloroplasts at a given light level, which is given by the following.  Any larger or smaller number of chloroplasts would result in less than the maximum possible energy.

C = 0.07071067811865468 * L^{4/3}

Likewise, the inverse formula gives the light level for which a given number of chloroplasts is the optimal number.  This may not be as useful.

L = 7.292664737217114 * C^{3/4}

Once the light level reaches reaches the critical value of 17449, then the optimal number of chloroplasts is greater than 32000.  This means that "more is always better" in terms of how many chloroplasts the bot should have.  Only once the light level falls below 17449 does a robot have to worry about computing the optimal number of chloroplasts.  Also, the robot only has to worry about energy losses once the light level falls below 9841.

Edit 1:

If the light level is below 14987, then the actual feeding rate of the robot (with an optimal # of chloroplasts) is strictly less than the value of R.  This is the light level at which the best possible feeding rate is equal to the value entered into the settings, assuming that "nrg per veggie per cycle" is selected.  Also, assuming the best possible environmental conditions (max light and max chloroplasts), then the actual feeding rate can be no greater than 5.59754 * R.

From what I have read, the energy production of a single veggie is determined by the number of chloroplasts and the light level (which is itself dependent on the density of robots on screen, etc.).

I've done a lot of digging, and I haven't been able to find the formula which relates light level, # of chloroplasts, and energy production.  I managed to find this image, but I want to know the underlying formulas which created those lines on the graph.

I'm trying to write a "smart veggie" which determines how many chloroplasts it should produce for a given light level.  If anyone knows the math formula which calculates energy production, that would be greatly helpful.

Pages: 1 [2] 3 4 5