-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexperiment_config.cfg
74 lines (54 loc) · 4.06 KB
/
experiment_config.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
### GENERAL ###
# General settings
set SEED -1 # Random number seed (-1 to use current time)
set TREATMENT 0 # 0 for Reduced Lexicase, 1 for Cohort Lexicase, 2 for Downsampled Lexicase 3 for Truncated Lexicase
set POP_SIZE 10 # The size of our evolving population
set GENERATIONS 3000 # The number of generations to simulate
set DILUTION_PCT 0.000000 # The percentage of tests that will be auto-pass (non-discriminatory)
set TERMINATE_ON_FOUND 1 # If 1, program will terminate as soon as the first solution is found.
### PROGRAM_GROUP ###
# General settings specific to programs.
set MIN_PROG_SIZE 1 # Minimum program size
set MAX_PROG_SIZE 64 # Maximum program size
set PROG_EVAL_TIME 64 # How many clock cycles should we give a program during a test?
set MUT_PER_BIT_FLIP 0.001000 # Program per-bit flip rate.
set MUT_PER_INST_SUB 0.005000 # Program per-instruction substitution mutation rate.
set MUT_PER_INST_INS 0.005000 # Program per-instruction insertion mutation rate.
set MUT_PER_INST_DEL 0.005000 # Program per-instruction deletion mutation rate.
set MUT_PER_PROG_SLIP 0.050000 # Program per-program slip mutation rate.
set MUT_PER_MOD_DUP 0.050000 # Program per-module whole-module duplication rate.
set MUT_PER_MOD_DEL 0.050000 # Program per-module whole-module deletion rate.
### HARDWARE ###
# Virtual evaluation hardware settings
set MIN_TAG_SPECIFICITY 0.000000 # What is the minimum tag similarity required for a tag to successfully reference another tag?
set MAX_CALL_DEPTH 128 # Maximum depth of hardware's call stack.
### PROBLEM_GROUP ###
# General settings for constructing a problem
set PROBLEM_ID 0 # Which problem to test on? (0 for smallest, 1 for for loop index, 2 for median, 3 for compare string lengths, 4 for grade)
set TRAINING_SET_FILENAME ./data/smallest/training-examples-smallest.csv # Path (including name) for the .csv with the set of training test cases
set TEST_SET_FILENAME ./data/smallest/testing-examples-smallest.csv # Path (including name) for the .csv with the set of validation test cases
### COHORT_LEXICASE_GROUP ###
# Settings specific to experiments using cohort lexicase (See TREATMENT)
set PROG_COHORT_SIZE 200 # The number of programs in a single cohort
set TEST_COHORT_SIZE 20 # The number of test cases in a single cohort
set COHORT_MAX_FUNCS 1 # Maximum number of tests to check before taking a random remaining organism. (0 for no limit, i.e., use the PROG_COHORT_SIZE).
### LEXICASE_GROUP ###
# Settings specific to experiments using standard lexicase (See TREATMENT)
set LEXICASE_MAX_FUNCS 0 # Maximum number of tests to check before taking a random remaining organism. (0 for no limit, i.e., use as many cases as needed.)
set NUM_TESTS 100 # The number of the training test cases to actually use (0 for all)
### DOWNSAMPLED_LEXICASE_GROUP ###
# Settings specific to experiments using downsampled lexicase (See TREATMENT)
set DOWNSAMPLED_MAX_FUNCS 0 # Maximum number of tests to check before taking random remaining organism. (0 for no limit, i.e., use as many cases as needed.)
set DOWNSAMPLED_NUM_TESTS 100 # The number of the training cases to use each update
### TRUNCATED_LEXICASE_GROUP ###
# Settings specific to experiments using truncated lexicase (See TREATMENT)
set TRUNCATED_MAX_FUNCS 5 # Maximum number of tests to check before taking random remaining organism. (0 for no limit, i.e., use as many cases as needed.)
### DATA_COLLECTION_GROUP ###
# Settings specific to data collection.
set OUTPUT_DIR ./output/ # Specifies the directory where output files will be saved
set SNAPSHOT_INTERVAL 100 # How often should we take population snapshots?
set SUMMARY_STATS_INTERVAL 100 # How often should we output summary stats?
set SOLUTION_SCREEN_INTERVAL 100 # How often should we screen entire population for solutions?
### DEBUGGING_GROUP ###
# Settings to help you debug
set HARDWIRE_SOLUTION 0 # If 1, initial population is seeded with handwritten solutions