Difference between revisions of "Botsareus's Vision"

From WikiManual
Jump to: navigation, search
(Placement)
(Removing all content from page)
Line 1: Line 1:
:Bot's ([http://forum.darwinbots.com/index.php?showuser=8 Botsareus] on the DB forum)
 
:version of 2.37 with various fixes in place ...
 
:may be downloaded here:
 
:[http://www.darwinbots.com/FTP/My_code.zip 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.
 
----
 
<font size=4><i>
 
:NOTE: all are encouraged to use the [[Talk:Botsareus's_Vision|discussion]] tab above to disucss
 
:these ideas and code ... to provide feedback for Bots and others.
 
</i></font>
 
----
 
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 <b>".good"</b> 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 y-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.
 

Revision as of 19:52, 16 December 2009