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