Difference between revisions of "Botsareus's Vision"
m (formatting) |
|||
Line 15: | Line 15: | ||
− | Here is how the 'evo' part works in my program: | + | ===Evo=== |
+ | '''Here is how the 'evo' part works in my program: | ||
− | A.) It uses femily based | + | *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. | + | *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: | |
− | |||
− | |||
− | |||
− | 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. | 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. | ||
Line 43: | Line 42: | ||
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. | 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. | ||
− | Now I will talk about the placement control: | + | ===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. | * 8 point resize allows for accurate resizing of the placement on the x-axis without accidentally changing the why-axis and vice versa. | ||
Line 54: | Line 54: | ||
* 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. | * 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 11:15, 2 November 2005
- 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.
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.