claude-evolve 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +202 -0
- package/bin/claude-evolve-config +38 -75
- package/bin/claude-evolve-setup +1 -1
- package/lib/config.sh +28 -13
- package/package.json +1 -1
- package/templates/config.yaml +27 -0
- package/templates/config.sh +0 -27
package/README.md
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# claude-evolve
|
|
2
|
+
|
|
3
|
+
Automated algorithm evolution - let AI evolve your algorithms while you sleep.
|
|
4
|
+
|
|
5
|
+
## What is this?
|
|
6
|
+
|
|
7
|
+
claude-evolve is an automated algorithm evolution system that runs continuous evolution cycles without constant supervision. Start with a base algorithm and let it evolve optimized variants autonomously.
|
|
8
|
+
|
|
9
|
+
Think of it like **genetic algorithms for code** - it handles the mutations and testing, but you should keep an eye on the results and occasionally guide the evolution when needed.
|
|
10
|
+
|
|
11
|
+
### How the Evolution System Works
|
|
12
|
+
|
|
13
|
+
The system operates with specialized phases working together:
|
|
14
|
+
|
|
15
|
+
- 🧠 **Ideation Phase**: Generates creative algorithm variations using Claude Opus
|
|
16
|
+
- 🔬 **Development Phase**: Implements mutations using Claude Sonnet (with periodic Opus "megathinking")
|
|
17
|
+
- 📊 **Evaluation Phase**: Tests performance against your custom evaluator
|
|
18
|
+
- 📈 **Analysis Phase**: Tracks evolution progress and identifies top performers
|
|
19
|
+
|
|
20
|
+
The evolution cycle:
|
|
21
|
+
```
|
|
22
|
+
Ideate → Mutate → Evaluate → Analyze → Repeat
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
You can leave it running while you grab lunch or sleep - it just keeps evolving better algorithms until you stop it.
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g claude-evolve
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
claude-evolve
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The system will walk you through the setup process:
|
|
40
|
+
|
|
41
|
+
1. **Create evolution workspace** - Initialize the directory structure
|
|
42
|
+
2. **Write evolution/BRIEF.md** - Describe your optimization problem
|
|
43
|
+
3. **Customize evolution/evaluator.py** - Define how to measure algorithm performance
|
|
44
|
+
4. **Generate ideas** - Create initial algorithm candidates
|
|
45
|
+
5. **Start evolution** - Begin the automated evolution process
|
|
46
|
+
|
|
47
|
+
## Commands
|
|
48
|
+
|
|
49
|
+
### Main wrapper command
|
|
50
|
+
```bash
|
|
51
|
+
claude-evolve # Interactive mode (recommended for beginners)
|
|
52
|
+
claude-evolve setup # Initialize evolution workspace
|
|
53
|
+
claude-evolve ideate # Generate new algorithm ideas
|
|
54
|
+
claude-evolve run # Execute evolution candidates
|
|
55
|
+
claude-evolve analyze # Analyze evolution results
|
|
56
|
+
claude-evolve config # Manage configuration settings
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Individual commands (if you know what you're doing)
|
|
60
|
+
|
|
61
|
+
#### claude-evolve-setup
|
|
62
|
+
Initializes your evolution workspace with:
|
|
63
|
+
- Directory structure
|
|
64
|
+
- Template files (BRIEF.md, algorithm.py, evaluator.py, config.yaml)
|
|
65
|
+
- CSV file for tracking evolution progress
|
|
66
|
+
|
|
67
|
+
#### claude-evolve-ideate
|
|
68
|
+
Generates new algorithm variation ideas using Claude Opus in megathinking mode:
|
|
69
|
+
- Reads your project brief
|
|
70
|
+
- Analyzes top-performing algorithms so far
|
|
71
|
+
- Creates creative mutations and variations
|
|
72
|
+
- Defaults to 20 ideas per run (configurable)
|
|
73
|
+
|
|
74
|
+
#### claude-evolve-run
|
|
75
|
+
Executes the next evolution candidate:
|
|
76
|
+
- Picks the next untested idea from your CSV
|
|
77
|
+
- Uses Claude to implement the mutation
|
|
78
|
+
- Runs your evaluator to measure performance
|
|
79
|
+
- Records results and updates the evolution log
|
|
80
|
+
- Every 4th iteration uses Opus for architectural thinking
|
|
81
|
+
|
|
82
|
+
#### claude-evolve-analyze
|
|
83
|
+
Analyzes evolution progress and generates insights:
|
|
84
|
+
- Performance trends over time
|
|
85
|
+
- Best-performing algorithm variants
|
|
86
|
+
- Suggestions for future evolution directions
|
|
87
|
+
|
|
88
|
+
#### claude-evolve-config
|
|
89
|
+
Manages configuration settings:
|
|
90
|
+
- View current configuration
|
|
91
|
+
- Edit paths and behavior settings
|
|
92
|
+
- Reset to defaults
|
|
93
|
+
|
|
94
|
+
## How it Works
|
|
95
|
+
|
|
96
|
+
1. **Set up evolution workspace** - Define your optimization problem
|
|
97
|
+
2. **Create base algorithm** - Start with `evolution/algorithm.py`
|
|
98
|
+
3. **Define evaluation criteria** - Customize `evolution/evaluator.py`
|
|
99
|
+
4. **Generate initial ideas** - Run `claude-evolve ideate` to create variations
|
|
100
|
+
5. **Start evolution loop** - The system automatically:
|
|
101
|
+
- Picks the next candidate from your CSV
|
|
102
|
+
- Implements the mutation
|
|
103
|
+
- Evaluates performance
|
|
104
|
+
- Records results
|
|
105
|
+
- Repeats until you stop it
|
|
106
|
+
|
|
107
|
+
## Monitoring Progress (Like Genetic Algorithms)
|
|
108
|
+
|
|
109
|
+
This isn't sci-fi level "sleep through the entire evolution" automation - it's more like controlled genetic algorithms. The system handles most mutations, but you should monitor it and guide the evolution when needed.
|
|
110
|
+
|
|
111
|
+
**Recommended monitoring approach:**
|
|
112
|
+
- **Check evolution.csv** - Track performance of all variants
|
|
113
|
+
- **Review top performers** - Look at the best algorithms generated so far
|
|
114
|
+
- **Monitor for convergence** - Watch for diminishing returns or local optima
|
|
115
|
+
- **Inject new ideas** - Add manual variations when evolution stagnates
|
|
116
|
+
|
|
117
|
+
**When you need to guide evolution:**
|
|
118
|
+
- **Add targeted ideas** - Use `claude-evolve ideate` with specific directions
|
|
119
|
+
- **Modify the evaluator** - Update `evolution/evaluator.py` to change selection pressure
|
|
120
|
+
- **Restart from best** - Copy top performer to `algorithm.py` and continue evolving
|
|
121
|
+
- **The system adapts** - New ideas will build on your guidance
|
|
122
|
+
|
|
123
|
+
**Interruptible design:**
|
|
124
|
+
- Hit Ctrl+C anytime to pause
|
|
125
|
+
- Restart later with `claude-evolve run`
|
|
126
|
+
- Perfect for running overnight, during meetings, or while getting lunch
|
|
127
|
+
|
|
128
|
+
## Requirements
|
|
129
|
+
|
|
130
|
+
### Required
|
|
131
|
+
- Node.js >= 14.0.0
|
|
132
|
+
- Python 3.x (for algorithm execution)
|
|
133
|
+
- Unix-like environment (macOS, Linux)
|
|
134
|
+
- [Claude CLI](https://docs.anthropic.com/en/docs/claude-code) (`claude` command)
|
|
135
|
+
|
|
136
|
+
### Optional (but recommended)
|
|
137
|
+
- Scientific Python libraries (numpy, scipy, etc.) depending on your algorithms
|
|
138
|
+
- Plotting libraries (matplotlib, plotly) for analyzing results
|
|
139
|
+
|
|
140
|
+
## Project Structure
|
|
141
|
+
|
|
142
|
+
Your evolution workspace will have:
|
|
143
|
+
```
|
|
144
|
+
your-project/
|
|
145
|
+
├── evolution/
|
|
146
|
+
│ ├── BRIEF.md # Problem description and goals
|
|
147
|
+
│ ├── algorithm.py # Base algorithm to evolve
|
|
148
|
+
│ ├── evaluator.py # Performance evaluation logic
|
|
149
|
+
│ ├── config.yaml # Configuration settings
|
|
150
|
+
│ ├── evolution.csv # Evolution progress tracking
|
|
151
|
+
│ ├── evolution_id1.py # Generated algorithm variants
|
|
152
|
+
│ ├── evolution_id2.py
|
|
153
|
+
│ └── ...
|
|
154
|
+
└── (your main project files)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Configuration
|
|
158
|
+
|
|
159
|
+
Edit `evolution/config.yaml` to customize:
|
|
160
|
+
|
|
161
|
+
```yaml
|
|
162
|
+
# Working directory for evolution files
|
|
163
|
+
evolution_dir: "evolution"
|
|
164
|
+
|
|
165
|
+
# Algorithm and evaluator file paths
|
|
166
|
+
algorithm_file: "algorithm.py"
|
|
167
|
+
evaluator_file: "evaluator.py"
|
|
168
|
+
brief_file: "BRIEF.md"
|
|
169
|
+
|
|
170
|
+
# CSV file for tracking evolution
|
|
171
|
+
evolution_csv: "evolution.csv"
|
|
172
|
+
|
|
173
|
+
# Parent algorithm selection strategy
|
|
174
|
+
parent_selection: "best" # or "random", "latest"
|
|
175
|
+
|
|
176
|
+
# Maximum number of ideas to generate at once
|
|
177
|
+
max_ideas: 50
|
|
178
|
+
|
|
179
|
+
# Python command to use for evaluation
|
|
180
|
+
python_cmd: "python3"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Tips for Success
|
|
184
|
+
|
|
185
|
+
1. **Write a clear BRIEF.md** - Describe your optimization problem, constraints, and goals
|
|
186
|
+
2. **Create a robust evaluator** - Your evaluator.py determines evolution direction
|
|
187
|
+
3. **Start simple** - Begin with a basic algorithm and let evolution add complexity
|
|
188
|
+
4. **Monitor early cycles** - Watch the first few evolutions to ensure proper setup
|
|
189
|
+
5. **Guide when stuck** - Add manual ideas when evolution hits local optima
|
|
190
|
+
6. **Embrace failures** - Not every mutation will be better, that's how evolution works
|
|
191
|
+
|
|
192
|
+
## Example Use Cases
|
|
193
|
+
|
|
194
|
+
- **Algorithm optimization** - Improve sorting, searching, or mathematical algorithms
|
|
195
|
+
- **Machine learning** - Evolve model architectures or training procedures
|
|
196
|
+
- **Game AI** - Develop and optimize game-playing strategies
|
|
197
|
+
- **Numerical methods** - Improve solvers, optimizers, or approximation algorithms
|
|
198
|
+
- **Data structures** - Evolve efficient data organization strategies
|
|
199
|
+
|
|
200
|
+
## License
|
|
201
|
+
|
|
202
|
+
MIT
|
package/bin/claude-evolve-config
CHANGED
|
@@ -24,11 +24,9 @@ DESCRIPTION:
|
|
|
24
24
|
Manages claude-evolve configuration settings including file paths,
|
|
25
25
|
algorithm locations, and behavior settings.
|
|
26
26
|
|
|
27
|
-
CONFIGURATION
|
|
28
|
-
The configuration is loaded from
|
|
29
|
-
|
|
30
|
-
2. ./evolution/config.sh (evolution workspace)
|
|
31
|
-
3. ./.claude-evolve.config (hidden config file)
|
|
27
|
+
CONFIGURATION FILE:
|
|
28
|
+
The configuration is loaded from:
|
|
29
|
+
evolution/config.yaml
|
|
32
30
|
|
|
33
31
|
If no config file exists, defaults are used.
|
|
34
32
|
EOF
|
|
@@ -70,54 +68,33 @@ show)
|
|
|
70
68
|
show_config
|
|
71
69
|
;;
|
|
72
70
|
edit)
|
|
73
|
-
#
|
|
74
|
-
config_file=""
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
config_file=".claude-evolve.config"
|
|
81
|
-
else
|
|
82
|
-
# Create in evolution directory if it exists
|
|
83
|
-
if [[ -d "evolution" ]]; then
|
|
84
|
-
config_file="evolution/config.sh"
|
|
85
|
-
else
|
|
86
|
-
config_file="config.sh"
|
|
71
|
+
# Single config file location
|
|
72
|
+
config_file="evolution/config.yaml"
|
|
73
|
+
|
|
74
|
+
if [[ ! -f "$config_file" ]]; then
|
|
75
|
+
if [[ ! -d "evolution" ]]; then
|
|
76
|
+
echo "[ERROR] Evolution directory not found. Run 'claude-evolve setup' first." >&2
|
|
77
|
+
exit 1
|
|
87
78
|
fi
|
|
79
|
+
|
|
88
80
|
echo "[INFO] Creating new config file: $config_file"
|
|
89
81
|
|
|
90
82
|
# Copy template if available
|
|
91
|
-
if [[ -f "$SCRIPT_DIR/../templates/config.
|
|
92
|
-
cp "$SCRIPT_DIR/../templates/config.
|
|
83
|
+
if [[ -f "$SCRIPT_DIR/../templates/config.yaml" ]]; then
|
|
84
|
+
cp "$SCRIPT_DIR/../templates/config.yaml" "$config_file"
|
|
93
85
|
else
|
|
94
86
|
# Create basic config
|
|
95
87
|
cat > "$config_file" <<EOF
|
|
96
|
-
#!/bin/bash
|
|
97
88
|
# claude-evolve configuration file
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
# CSV file for tracking evolution (relative to EVOLUTION_DIR)
|
|
108
|
-
EVOLUTION_CSV="evolution.csv"
|
|
109
|
-
|
|
110
|
-
# Output directory for generated algorithms (relative to EVOLUTION_DIR)
|
|
111
|
-
OUTPUT_DIR=""
|
|
112
|
-
|
|
113
|
-
# Parent algorithm selection strategy: "best", "random", "latest"
|
|
114
|
-
PARENT_SELECTION="best"
|
|
115
|
-
|
|
116
|
-
# Maximum number of ideas to generate at once
|
|
117
|
-
MAX_IDEAS=50
|
|
118
|
-
|
|
119
|
-
# Python command to use for evaluation
|
|
120
|
-
PYTHON_CMD="python3"
|
|
89
|
+
evolution_dir: "evolution"
|
|
90
|
+
algorithm_file: "algorithm.py"
|
|
91
|
+
evaluator_file: "evaluator.py"
|
|
92
|
+
brief_file: "BRIEF.md"
|
|
93
|
+
evolution_csv: "evolution.csv"
|
|
94
|
+
output_dir: ""
|
|
95
|
+
parent_selection: "best"
|
|
96
|
+
max_ideas: 50
|
|
97
|
+
python_cmd: "python3"
|
|
121
98
|
EOF
|
|
122
99
|
fi
|
|
123
100
|
fi
|
|
@@ -135,43 +112,29 @@ EOF
|
|
|
135
112
|
fi
|
|
136
113
|
;;
|
|
137
114
|
reset)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
115
|
+
config_file="evolution/config.yaml"
|
|
116
|
+
|
|
117
|
+
if [[ ! -d "evolution" ]]; then
|
|
118
|
+
echo "[ERROR] Evolution directory not found. Run 'claude-evolve setup' first." >&2
|
|
119
|
+
exit 1
|
|
142
120
|
fi
|
|
143
121
|
|
|
144
122
|
echo "[INFO] Resetting configuration to defaults: $config_file"
|
|
145
|
-
if [[ -f "$SCRIPT_DIR/../templates/config.
|
|
146
|
-
cp "$SCRIPT_DIR/../templates/config.
|
|
123
|
+
if [[ -f "$SCRIPT_DIR/../templates/config.yaml" ]]; then
|
|
124
|
+
cp "$SCRIPT_DIR/../templates/config.yaml" "$config_file"
|
|
147
125
|
else
|
|
148
126
|
# Create default config
|
|
149
127
|
cat > "$config_file" <<EOF
|
|
150
|
-
#!/bin/bash
|
|
151
128
|
# claude-evolve configuration file
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
# CSV file for tracking evolution (relative to EVOLUTION_DIR)
|
|
162
|
-
EVOLUTION_CSV="evolution.csv"
|
|
163
|
-
|
|
164
|
-
# Output directory for generated algorithms (relative to EVOLUTION_DIR)
|
|
165
|
-
OUTPUT_DIR=""
|
|
166
|
-
|
|
167
|
-
# Parent algorithm selection strategy: "best", "random", "latest"
|
|
168
|
-
PARENT_SELECTION="best"
|
|
169
|
-
|
|
170
|
-
# Maximum number of ideas to generate at once
|
|
171
|
-
MAX_IDEAS=50
|
|
172
|
-
|
|
173
|
-
# Python command to use for evaluation
|
|
174
|
-
PYTHON_CMD="python3"
|
|
129
|
+
evolution_dir: "evolution"
|
|
130
|
+
algorithm_file: "algorithm.py"
|
|
131
|
+
evaluator_file: "evaluator.py"
|
|
132
|
+
brief_file: "BRIEF.md"
|
|
133
|
+
evolution_csv: "evolution.csv"
|
|
134
|
+
output_dir: ""
|
|
135
|
+
parent_selection: "best"
|
|
136
|
+
max_ideas: 50
|
|
137
|
+
python_cmd: "python3"
|
|
175
138
|
EOF
|
|
176
139
|
fi
|
|
177
140
|
echo "[INFO] Configuration reset successfully"
|
package/bin/claude-evolve-setup
CHANGED
|
@@ -20,7 +20,7 @@ else
|
|
|
20
20
|
fi
|
|
21
21
|
|
|
22
22
|
# Copy template files
|
|
23
|
-
for file in BRIEF.md algorithm.py evaluator.py config.
|
|
23
|
+
for file in BRIEF.md algorithm.py evaluator.py config.yaml; do
|
|
24
24
|
if [[ ! -f evolution/$file ]]; then
|
|
25
25
|
if [[ -f "$PROJECT_ROOT/templates/$file" ]]; then
|
|
26
26
|
echo "[INFO] Copying $file from templates..."
|
package/lib/config.sh
CHANGED
|
@@ -25,21 +25,36 @@ load_config() {
|
|
|
25
25
|
MAX_IDEAS="$DEFAULT_MAX_IDEAS"
|
|
26
26
|
PYTHON_CMD="$DEFAULT_PYTHON_CMD"
|
|
27
27
|
|
|
28
|
-
#
|
|
29
|
-
local config_file=""
|
|
30
|
-
|
|
31
|
-
config_file="config.sh"
|
|
32
|
-
elif [[ -f "evolution/config.sh" ]]; then
|
|
33
|
-
config_file="evolution/config.sh"
|
|
34
|
-
elif [[ -f ".claude-evolve.config" ]]; then
|
|
35
|
-
config_file=".claude-evolve.config"
|
|
36
|
-
fi
|
|
37
|
-
|
|
28
|
+
# Single config file location: evolution/config.yaml
|
|
29
|
+
local config_file="evolution/config.yaml"
|
|
30
|
+
|
|
38
31
|
# Load config if found
|
|
39
|
-
if [[ -
|
|
32
|
+
if [[ -f "$config_file" ]]; then
|
|
40
33
|
echo "[INFO] Loading configuration from: $config_file"
|
|
41
|
-
#
|
|
42
|
-
|
|
34
|
+
# Simple YAML parsing for key: value pairs
|
|
35
|
+
while IFS=': ' read -r key value; do
|
|
36
|
+
# Skip comments and empty lines
|
|
37
|
+
[[ $key =~ ^[[:space:]]*# ]] || [[ -z $key ]] && continue
|
|
38
|
+
|
|
39
|
+
# Remove leading/trailing whitespace
|
|
40
|
+
key=$(echo "$key" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
41
|
+
value=$(echo "$value" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
42
|
+
|
|
43
|
+
# Remove quotes from value
|
|
44
|
+
value=$(echo "$value" | sed 's/^"//;s/"$//')
|
|
45
|
+
|
|
46
|
+
case $key in
|
|
47
|
+
evolution_dir) EVOLUTION_DIR="$value" ;;
|
|
48
|
+
algorithm_file) ALGORITHM_FILE="$value" ;;
|
|
49
|
+
evaluator_file) EVALUATOR_FILE="$value" ;;
|
|
50
|
+
brief_file) BRIEF_FILE="$value" ;;
|
|
51
|
+
evolution_csv) EVOLUTION_CSV="$value" ;;
|
|
52
|
+
output_dir) OUTPUT_DIR="$value" ;;
|
|
53
|
+
parent_selection) PARENT_SELECTION="$value" ;;
|
|
54
|
+
max_ideas) MAX_IDEAS="$value" ;;
|
|
55
|
+
python_cmd) PYTHON_CMD="$value" ;;
|
|
56
|
+
esac
|
|
57
|
+
done < "$config_file"
|
|
43
58
|
fi
|
|
44
59
|
|
|
45
60
|
# Create full paths
|
package/package.json
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# claude-evolve configuration file
|
|
2
|
+
# This file defines paths and settings for the evolution process
|
|
3
|
+
|
|
4
|
+
# Working directory for evolution files
|
|
5
|
+
evolution_dir: "evolution"
|
|
6
|
+
|
|
7
|
+
# Algorithm and evaluator file paths (relative to evolution_dir)
|
|
8
|
+
algorithm_file: "algorithm.py"
|
|
9
|
+
evaluator_file: "evaluator.py"
|
|
10
|
+
brief_file: "BRIEF.md"
|
|
11
|
+
|
|
12
|
+
# CSV file for tracking evolution (relative to evolution_dir)
|
|
13
|
+
evolution_csv: "evolution.csv"
|
|
14
|
+
|
|
15
|
+
# Output directory for generated algorithms (relative to evolution_dir)
|
|
16
|
+
# Leave empty to use evolution_dir directly
|
|
17
|
+
output_dir: ""
|
|
18
|
+
|
|
19
|
+
# Parent algorithm selection strategy
|
|
20
|
+
# Options: "best", "random", "latest"
|
|
21
|
+
parent_selection: "best"
|
|
22
|
+
|
|
23
|
+
# Maximum number of ideas to generate at once
|
|
24
|
+
max_ideas: 50
|
|
25
|
+
|
|
26
|
+
# Python command to use for evaluation
|
|
27
|
+
python_cmd: "python3"
|
package/templates/config.sh
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# claude-evolve configuration file
|
|
3
|
-
# This file defines paths and settings for the evolution process
|
|
4
|
-
|
|
5
|
-
# Working directory for evolution files
|
|
6
|
-
EVOLUTION_DIR="evolution"
|
|
7
|
-
|
|
8
|
-
# Algorithm and evaluator file paths (relative to EVOLUTION_DIR)
|
|
9
|
-
ALGORITHM_FILE="algorithm.py"
|
|
10
|
-
EVALUATOR_FILE="evaluator.py"
|
|
11
|
-
BRIEF_FILE="BRIEF.md"
|
|
12
|
-
|
|
13
|
-
# CSV file for tracking evolution (relative to EVOLUTION_DIR)
|
|
14
|
-
EVOLUTION_CSV="evolution.csv"
|
|
15
|
-
|
|
16
|
-
# Output directory for generated algorithms (relative to EVOLUTION_DIR)
|
|
17
|
-
OUTPUT_DIR=""
|
|
18
|
-
|
|
19
|
-
# Parent algorithm selection strategy
|
|
20
|
-
# Options: "best", "random", "latest"
|
|
21
|
-
PARENT_SELECTION="best"
|
|
22
|
-
|
|
23
|
-
# Maximum number of ideas to generate at once
|
|
24
|
-
MAX_IDEAS=50
|
|
25
|
-
|
|
26
|
-
# Python command to use for evaluation
|
|
27
|
-
PYTHON_CMD="python3"
|