Botsareus's Vision
- Bot's (Botsareus on the DB forum)
- version of 2.37 with various fixes in place ...
- may be downloaded here:
- Darwinbots Bau-ified 2.37
- Cool.
- Let's take a look at the relevent fixes and moduals ...
- and see why/how they do what they do ...
- providing feedback for Bots ...
- and hearing his own feedback on how/why this works.
- NOTE: all are encouraged to use the discussion tab above to disucss
- these ideas and code ... to provide feedback for Bots and others.
Although the bug fixes are not discussed , here I explain the key changes made to the program -Bau
Evo
Here is how the 'evo' part works in my program:
- A.) It uses femily based periodically changing mutation rates to avoid mullers rachet.
- B.) Saving best robot at the end of a simulation or after n time, will result in saving a nuke problem robot or geek loophole robot, therefor the following must be done.
- ) Each robot must have its skill factor calculated to know its true best value. This is done using ".good" in each robots substructure.
- ) Troughout the simulation the higest peaking point of a robots skill is determind. Lets call it J
- ) J is checked agenst the J of the three previos 'runs' (each run lests 8000 cycles (although I have "/end" display something else, I am talking about my current work right now) this is done by using an external "saecheck.txt" file.
- a) If J is higher then the lest three 'runs', then 'save robots dna' is called. Wait for this 'run' to complete just incase J goes even higher.
- C.) The true 'best robot' is now set as the robot to restart/resume the simulation with.
Now here is what I am working on right now:
Some robots may not aquire enough mutations in 8000 cycles because of there skill, therefor the mutations must be increased depending on the data in the saecheck.txt file.
note: the saecheck.txt file actualy keeps 4 numbers, the 4th one being data from the current graph.
note: BAUGRAPH.frm activaly displays J
note: J is not updated if the overall population is below 15.
note: the 'geek loophole' seems to exsist even in the J system, but it is only a sideeffect witch gets filter out after a while by 'real' evolve.
Placement
Now I will talk about the placement control:
- 8 point resize allows for accurate resizing of the placement on the x-axis without accidentally changing the why-axis and vice versa.
- The round placement allows to accurately model robots that you place in the center of a food supply and they eat there way out equally on all sides.
- The Draw-a-placement allows for faster construction of a whole new placement instantaneously.
- The prevention of placement beyond the field limits allows the user to accurately size the placement to the boarders.
- Finally, I also included the 'keep placement' option to allow the user to select if he wants the respawning of vegs to be kept in one place.