Author Topic: Bugs in 2.36.1  (Read 15478 times)

Offline AZPaul

  • Bot Builder
  • **
  • Posts: 76
    • View Profile
Bugs in 2.36.1
« Reply #30 on: April 05, 2005, 04:16:22 PM »
Two other items:

Mutations Option (Sim level not Bot level) resets to 1 on every "Start New." Must start the sim, stop it, set mutation option then "Change" for the new value to take effect.

Racial memory is transferring. But only if the target .memval is 0. If a value already is present the parent's value does not get transferred. For my sims the initial values for generation 0 are randomly determined in DNA. All susequent generations need to have these values populated by mom (she gets and tests dad's value prior to mating).  I see no other way to set these sex trait values (begin hint) in the absence of a working .sexrepro and its gene swap routine (end hint).  If baby is a male that "initial" male gene kicks in and sluffs a value into the memloc. Dad's value (coming from mom) never gets transferred. Is there a way for the Bot to know it is a "subsequent" generation (not generation 0)?

Which brings up another item. I have not tested this but since I'm here and feeling lazy I'll just ask. (begin hint) When .sexrepro is working (end hint) I'll need to have 5 or 6 different males and 5-6 different females with various sex trait genes to start a simulation. Will the "Add Species" window in the Options menu allow a list of 15 or so "species?"

Some trivia:

Carolus Linnaeus (1700s) invented the binomial taxonomic system still in use today (Homo sapien, Canis lupus, Gallus gallus, etc.). Almost a hundred years prior to Darwin's On the Origins of Species, Linnaeus devised a classification system that so well described the bushy branching of life that Evolution grows. At the time, of course, Linnaeus thought he had uncovered the creational logic from the mind of God. So enthralled was he in his discovery that he applied the scheme to everything in nature. Including rocks. Quartzum aqueum was a "species" of transparent rock and Quartzum opacum was his name for flintstone.

Later.

-P
« Last Edit: April 05, 2005, 04:30:57 PM by AZPaul »

Offline AZPaul

  • Bot Builder
  • **
  • Posts: 76
    • View Profile
Bugs in 2.36.1
« Reply #31 on: April 05, 2005, 04:51:34 PM »
Quote
Will the "Add Species" window in the Options menu allow a list of 15 or so "species?"

Yes, it does.

-P

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Bugs in 2.36.1
« Reply #32 on: April 05, 2005, 09:52:37 PM »
Mmmm, nice new version!  Is it just me or "energy per veggie" allows much more balanced sims?  No more tons of predators feeding off 3-4 veggies for me :)

Anyway, back to bugs: "Save/Load Simulation" thingie is seriously messed up.  I can't even begin to describe what happens - just try it yourself...  very strange stuff indeed.

"Snapshot" still does not work for me.  Someone said that it takes a very long time...  How long?  I waited for 3 full minutes to snapshot 100 bots.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bugs in 2.36.1
« Reply #33 on: April 05, 2005, 11:52:39 PM »
I haven't ever looked at or touched snapshot code.  Who added it?  Was it here since the dawn of time?

Load/Save routines probably do need an overhaul.  I have some ideas, I'll look into them sometime.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Bugs in 2.36.1
« Reply #34 on: April 06, 2005, 01:47:15 AM »
PY added them a couple of months ago.

For Load/Save routines, remeber that each bot has to be saved, including all DNA, mutations and rates.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Old Henk

  • Bot Destroyer
  • ***
  • Posts: 229
    • View Profile
Bugs in 2.36.1
« Reply #35 on: April 06, 2005, 07:40:53 AM »
Quote
Is there a way for the Bot to know it is a "subsequent" generation (not generation 0)?
A bot cannot know that absolutely sure, but a gene like
cond
*.robage 0 =
*.eye5 77 =
start
bla
stop

or, since im unsure on the 77 value

cond
*.robage 0 =
*.eye5 70 >
start
bla
stop

Should do the trick

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bugs in 2.36.1
« Reply #36 on: April 06, 2005, 09:28:10 AM »
The program knows which generation a robot is. ie. it is stored in the robot array for each bot.
However the robot has no way at present to be able to read this value. The best way I can think of is to have the baby fire a tie at birth then in the following cycle have the mother program the baby with the new value.

Imagine that .generation (custom variable at some value) is used to define generation and .newmom (custom variable at some value) is used to tag each new birth. This sequence of genes should work out for you

Code: [Select]
'if .newmom is tagged then program the baby with a generation value
'then reset the tag
cond
*.newmom 1 =
start
1 .tienum store
*.generation 1 add .tieval store
.generation .tieloc store
0 .newmom store
stop

'make a baby and set the tag in .newmom
cond
*.nrg 6000 >
start
50 . repro store
1 .newmom store
stop

'make a tie at birth
cond
*.robage 0 =
start
.tie inc
stop

'best get rid of that tie I suppose before it becomes permanent
'do it at age 2 so that we have time for programming
cond
*.robage 2 =
start
.deltie inc
stop

Don't change the order of the first two genes or it won't work!
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline AZPaul

  • Bot Builder
  • **
  • Posts: 76
    • View Profile
Bugs in 2.36.1
« Reply #37 on: April 06, 2005, 11:37:03 AM »
Henk, PY,

Thanks for the ideas. I like both.


I haven't seen this on the "Bugs" board before:

"Save Sim" puts a .sim file in the DBII/saves directory just fine. "Load Sim" is appearenly not working. I cannot get to the saved sim. When I "Load Sim" the field stays blank. I tried hitting the "start" arrow. Field remains blank and after 3 seconds I get the notice that all bots are dead. I tried going into the "Options" menu and hitting "Continue." Get a "Run-time Error 55 file already open."

If this is a known/repeat-of-what-you-already-knew then, well, never mind. If not, well, then now you know.

Just to add my 2-cents of limited knowledge on "Snapshot": I tried a snapshot of a 45 bot sim (including veggies) and went to get more coffee (the true elixir of all life). After 6 min I got tired of waiting. Task Manager showed DBII as "Not Responding." I've attached the resultant .txt file from the Saves directory.

Speaking of Zodiac signs (say what?), Otto Preminger had the best ever response to being asked his sign. "I am a Do Not Distuuuurb sign."

Much obliged,

-P

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Bugs in 2.36.1
« Reply #38 on: April 06, 2005, 11:44:09 AM »
Another bug: "Disable all mutations" does not work - my veggies are mutating like crazy.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bugs in 2.36.1
« Reply #39 on: April 06, 2005, 01:24:34 PM »
Quote
Another bug: "Disable all mutations" does not work - my veggies are mutating like crazy.
:blink:

Works perfectly in my copy and also in the source code.

You sure your veggies aren't using .mrepro or something?
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
Bugs in 2.36.1
« Reply #40 on: April 06, 2005, 01:28:35 PM »
Quote
"Save Sim" puts a .sim file in the DBII/saves directory just fine. "Load Sim" is appearenly not working. I cannot get to the saved sim. When I "Load Sim" the field stays blank. I tried hitting the "start" arrow. Field remains blank and after 3 seconds I get the notice that all bots are dead. I tried going into the "Options" menu and hitting "Continue." Get a "Run-time Error 55 file already open."

It would appear that for some unknow reason, everything to do with file handling has suddenly become a pile of testicular material in V2.36.

I can't think why because neither Numsgil or I have touched any of that code in this release.

There is a possibility that the work that Num did to speed up the program (changing robot address nodes) could have screwed up the way the program accesses the robot list to save them.
One of us will check it out in the next few days.
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
Bugs in 2.36.1
« Reply #41 on: April 06, 2005, 01:51:16 PM »
Quote
Another bug: "Disable all mutations" does not work - my veggies are mutating like crazy.
I just ran a quick sim with Hunter 2.2 and you are right, the buggers are mutating even with everything set to zero.

What message are you getting in the mutation detsils?


Just turned off and restarted the same sim. Now they aren't mutating at all. I wonder if this is yet another instance of the now infamous "Numsgil robot list code"?  :unsure:

I have a nasty feeling that some robots might be inheriting stuff from different robots sometimes when the robot list is sorted.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Bugs in 2.36.1
« Reply #42 on: April 06, 2005, 01:51:54 PM »
About mutating veggies: Well, I am sure they don't use mrepro.  What I am not sure about is whether they actually mutate.  The "average mutation" graph certainly shows them accumulating mutations.  I'll try and investigate that some more by looking at the actual DNA code.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Bugs in 2.36.1
« Reply #43 on: April 06, 2005, 02:18:19 PM »
My hunters actually were mutating.

Here is what I did.

1 started a sim with Hunter 2.2 only and all mutations set to 5000

2 ran it a few minutes

3 disabled mutations for Hunter 2.2 and restarted the sim

4 Hunter kept right on mutating

5 turned off DB and restarted the same sim with mutations off from the start. No more mutations?
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
Bugs in 2.36.1
« Reply #44 on: April 06, 2005, 04:49:58 PM »
I think the save/load problems and snapshot problems relate to the fact that robot DNA is no longer 1000 elements long.  It's set dynamically as need arises.  The snapshot doesn't know that it should stop reading from DNA when it hits the last end statement I think.  I'll look into it to be sure, but that would be my guess.

PY!  My robot sorting thing isn't the main culprut of all the bugs.  I've changed so much, let's not blame all the bugs in one part of the code I changed!

Mutation rates I'll look into.  I'm sure it's a problem of mutation rates not resetting.