Generation Process: Selection and Breeding


"Parent" shaders are selected from the multiple-generation population (MGP) or the breeding pool (1) in pairs and bred to create new children for the ongoing population where two parents generates two children.
 

To follow the examples in this page:
 

  • Create a working directory:

  •          % mkdir myproject
             % cd myproject
     
  •  Enter the software, hit File->Load Project ..., and bring up (2):

  •       /usr/local/genshade/prman/examples/gs_01012000_01_sur_top_01.prj

         The GUI looks like:
     


  • Choose MPG Main Pool from the Pool Option at the Tool Bar
  • Modify LSD slider at the Frequently Used Generation Parameters Sliders to 20

  • For every selection option:

  • 1. Choose desired option (e.g. pool) from the Selection Option at the Tool Bar,
  • 2. Hit Generation->Select Parents ... (3)
  • 3. Choose Parents from the Image Selection Source at the Image Display Control Panel

  • you will see a display of parents of shaders. Please note that the first cell C0 is not used (4).

    Selection Method Options:

    Usually you choose the desired pool to select shaders from, for example the MGP main pool,
    and then you choose the selection method. If a MPG pool is selected, then shaders would be selected based on their rank in the pool.


    Pool

    Each parent will be selected from the chosen pool.


    Two Parents

    The first parent will always be parent 1 at the Parent Images Area,  while the second parent will always be parent 2. This tool is used if you want to create children shaders from only these two parents.


    One Parent

    The first parent will always be parent 1 at the Parent Images Area,  while the second parent will always be parent 1 as well. This tool is used if you want to fine tune a final shader or to create children shaders from a parent shader bred with itself.


    Two Parents with Multiple

    This tool select parents using this guide:
    1. parent1 and parent2 create child 1, and child 2.
    2. parent1 and a  selected  parent from the pool create child 3 and child 4.
    3. parent2 and a  selected  parent from the pool create child 5 and child 6.
    These three steps are repeated three times followed by step  # 1.
     


    One Parent with Multiple

    The first parent will always be parent 1 at the Parent Images Area,  while the second parent will always be a selected  parent from the pool
     


    Multiple Two-Parent

    In every generation, only two parents will be selected from the pool for breeding. This tool is similar to choosing Two Parents tool above, changing the two parents in every generation.
     

    repeat the three steps described above:


    Multiple One-Parent

    In every generation, only one parent will be selected from the pool for breeding. This tool is similar to choosing One Parent tool above, changing that single parent in every generation.


     

    repeat the three steps described above:


     

    Selection Control


    GenShade uses  the Low Standard of Deviation (LSD) in odd generations (e.g. generation # 1) and a High Standard of Deviation (HSD) in even ones (e.g. generation # 2) . The values of the LSD and HSD controls the ranking selection process. In a conservative strategy, where the goal is to focus on high ranked shaders, these values may be set to MGP size divided by twenty and MGP size divided by four. In a risky strategy, where the goal is to introduce diversity by selecting low ranked shaders, these values may be set to MGP divided by eight and MGP size divided by three.
     

    MGP Gender Pool

    Previous experience working interactively with the system showed that breeding shaders whose images have chromatic content close to that of the target, with shaders whose images have illumination content close to that of the target is very useful in creating shaders that resemble the target. This notion has the appeal of being similar to the notions of "male" and "female" in real populations, where some of the standards of suitability for mating are highly gender determined. The selection procedure, If MGP Gender Pool is chosen,  selects pairs of shaders from the male or illumination population for breeding with shaders in the female or chromatic population based on their rank.
     
     



    Notes:
     
    (1)  Selection from the MGP pools has shown much strong results than selection from the breeding pool as it has its limitations. Although you can type a score for each cell of the breeding pool, it may be easier to arrange your shader in a certain order where your most favorite one is ranked # 1 and your least favorite one is the last one in the database.

    (2) Your sysadmin may have installed the software somewhere other than /usr/local. If so, look at your $GENSHADE_DIR variable, and use that instead of /usr/local/genshade in the above example.

    (3) Hitting Generation->Select Parents is a useful tool because it helps clarify what each tool does without making a generation and having to wait few minutes to view the resulting shaders and their parents.

    (4) Since the size of the breeding pool is always 27, and we always select pairs of parents, the first cell labeled, C0 is not used in the MGP selection process. It is used in the breeding pool selection only to preserve the best shader from previous generation.



    If you encounter errors in this document, please email [email protected] with the URL, and enclose an example of the erroneous text, and what you feel to be the corrections, if possible.

    Copyright (c) 1999-2000 Genetic Graphics Inc. All Rights reserved.