#*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= # pg_geqo * # ------- = # * # Example Genetic Algorithm config file = # for the PostgreSQL * # Genetic Query Optimization (GEQO) module = # * #*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= # Martin Utesch * Institute of Automatic Control * # = University of Mining and Technology = # utesch@aut.tu-freiberg.de * Freiberg, Germany * #*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= # To make this file do something, copy it to '$PGDATA/pg_geqo' # and edit parameters to taste. # If '$PGDATA/pg_geqo' doesn't exist, the system will use default parameters. # The file is re-read for every GEQO optimization, if it does exist. # comment character is '#' # # separator between recognized tag and possible value # must be white space # QS: means query size, which is the number of relations # contained in a query #=================+===================+=============================+ # RECOGNIZED TAGS | POSSIBLE VALUES | DEFAULTS | #=================+===================+=============================+ # 'Pool_Size' | positive int | 2^(QS+1), but not less than | # | | 128 nor more than 1024. | #-----------------+-------------------+-----------------------------+ # 'Effort' | [low,medium,high] | medium | #-----------------+-------------------+-----------------------------+ # 'Generations' | positive int | Effort * log2(Pool_Size) | #-----------------+-------------------+-----------------------------+ # 'Selection_Bias'| [1.50 .. 2.00] | 2.0 | #-----------------+-------------------+-----------------------------+ # 'Random_Seed' | positive long | time(NULL) | #=================+===================+=============================+ # 'Pool_Size' is essential for the genetic algorithm performance. # It gives us the number of individuals within one population. # # 'Effort' 'low' means integer value of 1, 'medium' 40, and 'high' 80. # Note: Effort is *only* used to derive a default value for Generations # --- if you specify Generations then Effort does not matter. # # 'Generations' specifies the number of iterations in the genetic algorithm. # # GEQO runtime is roughly proportional to Pool_Size + Generations. # # 'Selection_Bias' gives us the selective pressure within the # population. # # 'Random_Seed' is the random seed for the random() function. # You don't have to set it. If you do set it, then successive GEQO # runs will produce repeatable results, whereas if you don't set it # there will be some randomness in the results... # All parameters will be computed within the GEQO module when they # are not set in the pg_geqo file. # Example pg_geqo settings: # #Pool_Size 128 #Effort low #Generations 200 #Random_Seed 830518260 #Selection_Bias 1.750000