Darwinbots Forum

Code center => Suggestions => Old Suggestions Awaiting Programming => Topic started by: Numsgil on April 15, 2005, 08:38:24 AM

Title: Simulation Tools
Post by: Numsgil on April 15, 2005, 08:38:24 AM
What simulation tools would you like to see?

I'd love to get better graphs.  The current ones, well, suck.  Darwinpond (google it) has some pretty good graphs going on.  And a way to save graph data to an excel exportable file, like the snapshot function, would be pretty cool.

Also, user definable 'best bot' parameters would rock.

And a control that charts the flow of energy in the simulation would be pretty cool too.  It would show you how much energy flows into vegs, how much energy vegs use, how much energy flows into veg feeding bots or is lost to the simulation, how much energy bots use, how much energy is flowing into carnivores, etc.
Title: Simulation Tools
Post by: shvarz on April 15, 2005, 11:07:40 AM
DNA analysis tool: load the DNA in, then go command by command and see the stack and all the memory locations visually with newly-written values lighting up.  When bot checks for something like the presence of tie or the value of eye, it asks you for input.  At the end of the cycle the summary is given: "bot will shoot such and such particle, bot will move so much, its energy is going to be..." and so on.
Title: Simulation Tools
Post by: Shen on April 15, 2005, 11:08:01 AM
New graphs would be nice, there not much use atm other than monitoring your sim while the video output is disabled.

Id like to see an improved console as well. Its a valuble tool for debugging bots but very user unfriendly. Maybe adjustable size, combine it with the 'Gene Activation' tool so you can view more than one cycles worth at a time without scrolling in a tiny box. And auto refreshed eye values. Current stack contents. As much as you can cram in basically.

More stats for indiviual bots as well. Nrg consumed/used, average nrg used per cycle, kills.

A DNA parser/checker would be cool as well. Nothin like hunting for a typo in 30 genes of F1 bot, useful for newbies as well.

Also theres an update for DarwinPond, GenePool4 (http://www.ventrella.com/GenePool/gene_pool.html). Havnt used it much though, I always get die offs.
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 11:20:04 AM
Quote
DNA analysis tool: load the DNA in, then go command by command and see the stack and all the memory locations visually with newly-written values lighting up.  When bot checks for something like the presence of tie or the value of eye, it asks you for input.  At the end of the cycle the summary is given: "bot will shoot such and such particle, bot will move so much, its energy is going to be..." and so on.
That shouldn't be toooooo difficult to program.
Would you prefer the output to go to the console or into a text file?
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 11:22:26 AM
Nice ideas Shen

Quote
A DNA parser/checker would be cool as well. Nothin like hunting for a typo in 30 genes of F1 bot, useful for newbies as well.
You do realize that the best way to do this now is to run the bot then look at its DNA in the info window. All typos come out as zeroes. It is pretty easy to see mistakes this way.
Title: Simulation Tools
Post by: shvarz on April 15, 2005, 11:26:49 AM
Quote
Would you prefer the output to go to the console or into a text file?


I was thinking everything real-time on screen :)
Title: Simulation Tools
Post by: Shen on April 15, 2005, 11:31:28 AM
Yes, but its pain to check it out as the window is small and a complicated bot would have 20+ pages of code to check. Im also thinking of it as a newbie tool since most newbie bots posted have a couple of typos or a missing *. or something. A simple 'Check DNA' button that highlights any unrecognised labels, checks for cond/start/stop/end and so on would be ultra useful for your average newb. Even most of us have accidently put a 'start' instead of 'cond' at some point.
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 11:45:23 AM
Console then?

We would just need an additional control added to the console to output your desired information following gene activation.
Depending on the level of detail required.

Something like this if gene 3
Code: [Select]
cond
*.eye1 *.eye5 >
start
25 .aimsx store
stop
1 -
2 -
3 - executed
*.eye1 = 52
*.eye5 = 10
condition = true
.aimsx = 25
stack 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4 -
5 -

etc.

The stack remains empty for this kind of gene and it seems pointless to display the stack as each the eye is added, then delete them again when the gene is finished, so displaying it once at the end of an activated gene would work best.

Let's say we used a turning gene such as DOM INV uses. Gene 3 =
Code: [Select]
cond
*.eye1 *.eye5 >
start
mult
25
stop

It would look like this

1 -
2 -
3 - executed
*.eye1 = 52
*.eye5 = 10
condition = true
stack 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25
4 -
5 -

The mult command just clears the stack so it doesn't show up here.

Would that do it or do you want to see each and every step mirrored in the stack?
Title: Simulation Tools
Post by: shvarz on April 15, 2005, 12:26:06 PM
I thought stack is never cleared unless some function removes values from it?  Why do you say:
Quote
it seems pointless to display the stack as each the eye is added, then delete them again when the gene is finished


OK, here is what I was thinking. It should very-very basic, for people like me, who don't program much or for newbies.  Some optional shortcuts may be available for advanced users to skip some of the stuff described below.

We have four windows:
- one shows DNA,
- one shows all memory locations (with special ones, like sysvars, highlighted slightly),
- one shows stack and condition stack.
- one shows stuff like energy, which bot depends on, but has no direct control over

You can modify any of these values manually if you want to.  Like type in 5000 into energy.

You load the DNA in, press "GO" and program starts from the top.  Say your gene 3 is actually one and only gene 1 in DNA.  It goes like this:

cond
*.eye1

'program asks you for *.eye1 value, you input 52 (alternative - you actually place a second bot on a special tiny window so that values are measured automatically and realistically)
'you see 52 appearing on the stack

*.eye5

'program asks you for *.eye5 value, you input 10
'you see 10 appearaing at the top of the stack and 52 moving down

>

'you see 52 and 10 blinking a couple of times, then they disappear from stack and "true" appears on condition stack
'We see message: "Gene is activated!"

start

25

'25 appears on stack

.aimsx

'6 appears on top of stack and 25 is moved down on stack

store

'6 and 25 blink a couple of times and disappear from stack, memory location 6 blinks a couple of times and you see 25 appearing there
stop
end

Program shows summary window:
energy spent: blah-blah
actions taken: bot is turned N degrees to the left

Three buttons on summary window: "Start over", "Go to next cycle", "Done"
"Start over" resets all values and goes through DNA again (in case you missed something)
"Go to next cycle" processes all values and continues execution of DNA.
"Done" allows you to change things in all four windows, like change DNA, change mem location, values and so on.  This way if you spot the problem in DNA, you can fix it right here in the window.


The reason I want it to be so basic is two-fold:  1. Coding for newbies will become much easier. 2. Analysis of complex (and especially evolved bots) will be much easier.

The problem with evolved bots is that they do a lot of crap that sometimes actually gets something done.  And it is a hell to try and trace every single thing that they do, becasue they often do it in a non-straightforaward way.  Tool like that would allow to easily spot things like stack overflows, weird actions and so on.
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 01:27:36 PM
AHH! Now I understand what you mean.

I like this idea  :D

One question I have is,

Would you like this to be exclusively a DNA debugging tool into which you directly enter a robot DNA file then follow it through stepwise or would you want it to be accessible during a simulation?
Title: Simulation Tools
Post by: Zelos on April 15, 2005, 01:29:32 PM
what would be awesome is if we can add stuff to egrids when that system is done.
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 01:32:09 PM
Quote
I thought stack is never cleared unless some function removes values from it? Why do you say:
Quote
 
it seems pointless to display the stack as each the eye is added, then delete them again when the gene is finished

What I mean to say is that for a gene that isn't activated, the net result is no change to the stack, however in light of your latest explanation I see that it is precisely these step-by-step changes that you want to see.
 B)
Title: Simulation Tools
Post by: shvarz on April 15, 2005, 01:33:41 PM
Just a stand-alone would be fine.  Of course having that in actual sim gives it a lot more power.  But a stand-alone would work too.
Title: Simulation Tools
Post by: shvarz on April 15, 2005, 01:35:55 PM
Quote
What I mean to say is that for a gene that isn't activated, the net result is no change to the stack


Not in mutated bots.  They can have a condition like this:

cond
25
34
24
124
345
5683
4
34
start
blah
stop

This would fill up the stack regardless of whether the gene is executed or not, right?
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 01:45:38 PM
I think it would be just as easy to put it directly in the sim, maybe with a toggle to. 1) bring in real values from the sim for the selected robot
2) Use a blank copy of the robot's memory and selectively activate its current genes using artificial stimuli.

Hopefully we can use the existing code to a large extent but it might require some reworking in places.

Definitely a worthwhile project though  :)
Title: Simulation Tools
Post by: PurpleYouko on April 15, 2005, 01:46:31 PM
Quote
Quote
What I mean to say is that for a gene that isn't activated, the net result is no change to the stack

Not in mutated bots.  They can have a condition like this:

cond
25
34
24
124
345
5683
4
34
start
blah
stop

This would fill up the stack regardless of whether the gene is executed or not, right?
You're absolutely right!

What was I thinking?  :wacko:
Title: Simulation Tools
Post by: Numsgil on April 15, 2005, 01:50:46 PM
I think we need the kind of debugging tools that VB has.

Run to cursor, set up break points, that sort of thing.  That way you can really concentrate on specific genes while ignoring genes that you aren't interested in.
Title: Simulation Tools
Post by: Shen on April 17, 2005, 08:49:34 PM
Hows about a way to trace mutations backwards and find out what the mutation was, how many generations have had that mutation, how many bots now have it etc etc
Title: Simulation Tools
Post by: Old Henk on April 18, 2005, 08:57:15 AM
How about:
Title: Simulation Tools
Post by: simulation11 on May 05, 2009, 11:03:23 PM
Thanks so much for sharing. That's very helpful.  

[you]simulation rachat credit[/you] (http://simulationrachatcredit.com)[/url]
Title: Simulation Tools
Post by: Prsn828 on May 06, 2009, 08:04:41 AM
Quote from: simulation11
Thanks so much for sharing. That's very helpful.  

<you>simulation rachat credit</you> (http://simulationrachatcredit.com)

Umm... correct me if I'm wrong, but shouldn't that refer to your comment too?

Anyway, welcome to the forum

And here is my two cents:

The mutation coloring is a wonderful idea.  Actually, we could probably color, or even format the text in the DNA window so that it shows the different mutations.  We could even probably allow for a type of tool-tip to appear when hovering over mutated DNA, which might show the details on that sections past mutations.
Title: Simulation Tools
Post by: quelareine on May 09, 2009, 02:12:07 PM
that's interesting. thanks!
Title: Simulation Tools
Post by: katherine04 on May 19, 2009, 04:23:13 PM
this is an interesting discussion.. thank you for sharing
Title: Simulation Tools
Post by: Numsgil on May 20, 2009, 12:28:07 AM
There's something fishy going on here.  Three posts by three new members.  The post content is really non sequitor.  And roughly identical across all instances.  In a post that was essentially dead.

I'm deleting the users.
Title: Simulation Tools
Post by: ikke on May 20, 2009, 12:44:11 AM
Some spammer testing code? Next thing to pop up will probably be an invitation for some dubious site where penis enlargement can be achieved.
Title: Simulation Tools
Post by: Shasta on May 20, 2009, 01:40:33 AM
Yeah I was wondering about those posts also. I have deleted a few topics and banned some spammers (who were much more blatant than these) over the last few weeks. If I'm remembering correctly they were all posts in Web Site stuff section. Maybe its time for reCAPTCHA for registration?  Though the current one is already painfully hard.

Edit: Just went to check out the CAPTCHA again, it currently is reCAPTCHA
Title: Simulation Tools
Post by: Numsgil on May 20, 2009, 03:32:21 AM
Yeah, it's using reCaptcha atm.  And there wasn't anything overtly spammy about those posts or users, so I dunno what's up.  My guess is a delayed thing, where after a few months they then go in an change the signature or text or something like that.

Also, when you ban/delete spam, send me a message about the user so I can keep tabs on spam traffic.  When it spikes it tells me I need to rethink spam controls.
Title: Simulation Tools
Post by: shinichikudo on May 20, 2009, 11:49:58 PM
Interesting, that might be what I was thinking about
Title: Simulation Tools
Post by: meow44 on May 30, 2009, 02:19:15 PM
this is interesting. thanks for sharing  
Title: Simulation Tools
Post by: ikke on June 01, 2009, 02:38:12 AM
I hate to admit, but I was wrong. The dubious site was not for achieving penis enlargement it was for combatting erectile disfunctions. Sometimes I think the only way to get rid of spammers is by DOSing the sites consistently and immediately. Forget the capcha, hit them where it hurts. If spamming cost them more hits than it brings...
Title: Simulation Tools
Post by: GretchenMorgan on June 02, 2009, 01:34:03 AM
Quote from: ikke
I hate to admit, but I was wrong. The dubious site was not for achieving penis enlargement it was for combatting erectile disfunctions. Sometimes I think the only way to get rid of spammers is by DOSing the sites consistently and immediately. Forget the capcha, hit them where it hurts. If spamming cost them more hits than it brings...


By the name of the website itself darwinbots.com, maybe this forum was attacked by bots. LoL !  Just kidding.

Just relax ikke, don't mind them too much.
gretchen morgan
Title: Simulation Tools
Post by: vanesssa99 on June 02, 2009, 11:19:33 PM
Thanks for your infor  
Title: Simulation Tools
Post by: batman009 on June 03, 2009, 06:07:00 AM
Hello all,

Just want to say thank you for such a wonderful information, it was really cool!

Thanks,
monkeyking