@reicek/neataptic-ts 0.1.25 → 0.1.26
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/.github/copilot-instructions.md +11 -0
- package/.github/skills/trace-analyzer-extension/SKILL.md +3 -3
- package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +1 -1
- package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +1 -1
- package/.github/skills/trace-audit-reporting/SKILL.md +3 -3
- package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
- package/package.json +19 -13
- package/plans/Flappy_Bird_Folder_Documentation_Pass.md +4 -4
- package/plans/README.md +24 -0
- package/plans/Roadmap.md +62 -40
- package/plans/analyze-trace-solid-split.plans.md +66 -0
- package/plans/architecture-solid-split.plans.md +9 -15
- package/plans/asciiMaze-typescript-repair.plans.md +1 -1
- package/plans/generate-docs-solid-split.plans.md +87 -0
- package/plans/methods-docs.plans.md +25 -1
- package/plans/methods-solid-split.plans.md +14 -14
- package/plans/neat-docs.plans.md +9 -1
- package/plans/neat-test-surface-repair.plans.md +1 -1
- package/plans/render-docs-html-solid-split.plans.md +68 -0
- package/plans/src-no-explicit-any-cleanup.plans.md +1 -1
- package/plans/utils-docs.plans.md +6 -1
- package/scripts/analyze-trace/analyze-trace.analysis.ts +479 -0
- package/scripts/analyze-trace/analyze-trace.constants.ts +35 -0
- package/scripts/analyze-trace/analyze-trace.io.ts +69 -0
- package/scripts/analyze-trace/analyze-trace.report.ts +100 -0
- package/scripts/analyze-trace/analyze-trace.shared.ts +116 -0
- package/scripts/analyze-trace/analyze-trace.ts +45 -0
- package/scripts/analyze-trace/analyze-trace.types.ts +72 -0
- package/scripts/assets/theme.css +80 -23
- package/scripts/copy-examples.ts +239 -0
- package/scripts/export-onnx.ts +223 -0
- package/scripts/generate-bench-tables.ts +378 -37
- package/scripts/generate-docs/generate-docs.constants.ts +107 -0
- package/scripts/generate-docs/generate-docs.order.ts +355 -0
- package/scripts/generate-docs/generate-docs.state.ts +31 -0
- package/scripts/generate-docs/generate-docs.targets.ts +165 -0
- package/scripts/generate-docs/generate-docs.ts +63 -0
- package/scripts/generate-docs/generate-docs.types.ts +112 -0
- package/scripts/generate-docs/output/generate-docs.output.folder-index.utils.ts +167 -0
- package/scripts/generate-docs/output/generate-docs.output.ordering.utils.ts +353 -0
- package/scripts/generate-docs/output/generate-docs.output.readme.utils.ts +420 -0
- package/scripts/generate-docs/output/generate-docs.output.ts +123 -0
- package/scripts/generate-docs/output/generate-docs.output.warnings.utils.ts +219 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.collection.utils.ts +365 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.jsdoc.utils.ts +373 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.normalize.utils.ts +155 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.render.utils.ts +149 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.signature.utils.ts +289 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.ts +11 -0
- package/scripts/mermaid-cli.mjs +102 -22
- package/scripts/mermaid-cli.ts +736 -0
- package/scripts/render-docs-html/render-docs-html.assets.ts +54 -0
- package/scripts/render-docs-html/render-docs-html.mermaid.ts +245 -0
- package/scripts/{render-docs-html.sidebar.ts → render-docs-html/render-docs-html.navigation.ts} +141 -144
- package/scripts/render-docs-html/render-docs-html.pages.ts +333 -0
- package/scripts/render-docs-html/render-docs-html.shared.ts +333 -0
- package/scripts/render-docs-html/render-docs-html.types.ts +42 -0
- package/scripts/render-docs-html.ts +23 -587
- package/scripts/run-docs.ts +238 -0
- package/scripts/write-dist-docs-pkg.ts +40 -0
- package/src/README.md +75 -75
- package/src/architecture/connection/README.md +5 -5
- package/src/architecture/layer/README.md +508 -508
- package/src/architecture/network/README.md +1458 -1458
- package/src/architecture/network/activate/README.md +694 -694
- package/src/architecture/network/bootstrap/README.md +77 -77
- package/src/architecture/network/connect/README.md +74 -74
- package/src/architecture/network/deterministic/README.md +135 -135
- package/src/architecture/network/evolve/README.md +364 -364
- package/src/architecture/network/gating/README.md +130 -130
- package/src/architecture/network/genetic/README.md +399 -399
- package/src/architecture/network/mutate/README.md +897 -897
- package/src/architecture/network/onnx/README.md +720 -720
- package/src/architecture/network/onnx/export/README.md +728 -728
- package/src/architecture/network/onnx/export/layers/README.md +450 -450
- package/src/architecture/network/onnx/import/README.md +618 -618
- package/src/architecture/network/onnx/schema/README.md +32 -32
- package/src/architecture/network/prune/README.md +245 -245
- package/src/architecture/network/remove/README.md +135 -135
- package/src/architecture/network/runtime/README.md +106 -106
- package/src/architecture/network/serialize/README.md +542 -542
- package/src/architecture/network/slab/README.md +608 -608
- package/src/architecture/network/standalone/README.md +212 -212
- package/src/architecture/network/stats/README.md +84 -84
- package/src/architecture/network/topology/README.md +465 -465
- package/src/architecture/network/training/README.md +200 -200
- package/src/architecture/node/README.md +5 -5
- package/src/architecture/nodePool/README.md +14 -14
- package/src/methods/README.md +99 -99
- package/src/methods/activation/README.md +189 -189
- package/src/methods/cost/README.md +131 -131
- package/src/methods/rate/README.md +86 -86
- package/src/multithreading/README.md +77 -77
- package/src/multithreading/workers/browser/README.md +8 -8
- package/src/multithreading/workers/node/README.md +8 -8
- package/src/neat/README.md +148 -148
- package/src/neat/adaptive/README.md +120 -120
- package/src/neat/adaptive/acceptance/README.md +40 -40
- package/src/neat/adaptive/complexity/README.md +137 -137
- package/src/neat/adaptive/core/README.md +197 -197
- package/src/neat/adaptive/lineage/README.md +90 -90
- package/src/neat/adaptive/mutation/README.md +284 -284
- package/src/neat/compat/README.md +43 -43
- package/src/neat/compat/core/README.md +90 -90
- package/src/neat/diversity/README.md +35 -35
- package/src/neat/diversity/core/README.md +88 -88
- package/src/neat/evaluate/README.md +85 -85
- package/src/neat/evaluate/auto-distance/README.md +75 -75
- package/src/neat/evaluate/entropy-compat/README.md +37 -37
- package/src/neat/evaluate/entropy-sharing/README.md +43 -43
- package/src/neat/evaluate/fitness/README.md +23 -23
- package/src/neat/evaluate/novelty/README.md +120 -120
- package/src/neat/evaluate/objectives/README.md +17 -17
- package/src/neat/evaluate/shared/README.md +94 -94
- package/src/neat/evolve/README.md +96 -96
- package/src/neat/evolve/adaptive/README.md +60 -60
- package/src/neat/evolve/objectives/README.md +63 -63
- package/src/neat/evolve/offspring/README.md +56 -56
- package/src/neat/evolve/population/README.md +171 -171
- package/src/neat/evolve/runtime/README.md +79 -79
- package/src/neat/evolve/speciation/README.md +74 -74
- package/src/neat/evolve/warnings/README.md +10 -10
- package/src/neat/export/README.md +114 -114
- package/src/neat/helpers/README.md +50 -50
- package/src/neat/init/README.md +9 -9
- package/src/neat/lineage/core/README.md +101 -101
- package/src/neat/multiobjective/category/README.md +74 -74
- package/src/neat/multiobjective/crowding/README.md +272 -272
- package/src/neat/multiobjective/dominance/README.md +171 -171
- package/src/neat/multiobjective/fronts/README.md +68 -68
- package/src/neat/multiobjective/metrics/README.md +43 -43
- package/src/neat/multiobjective/objectives/README.md +31 -31
- package/src/neat/multiobjective/shared/README.md +27 -27
- package/src/neat/mutation/README.md +97 -97
- package/src/neat/mutation/add-conn/README.md +115 -115
- package/src/neat/mutation/add-node/README.md +126 -126
- package/src/neat/mutation/flow/README.md +149 -149
- package/src/neat/mutation/repair/README.md +185 -185
- package/src/neat/mutation/select/README.md +117 -117
- package/src/neat/mutation/shared/README.md +32 -32
- package/src/neat/objectives/README.md +25 -25
- package/src/neat/objectives/core/README.md +67 -67
- package/src/neat/pruning/README.md +40 -40
- package/src/neat/pruning/core/README.md +171 -171
- package/src/neat/pruning/facade/README.md +32 -32
- package/src/neat/rng/README.md +104 -104
- package/src/neat/rng/core/README.md +137 -137
- package/src/neat/rng/facade/README.md +50 -50
- package/src/neat/selection/README.md +111 -111
- package/src/neat/selection/core/README.md +227 -227
- package/src/neat/selection/facade/README.md +61 -61
- package/src/neat/shared/README.md +163 -163
- package/src/neat/speciation/README.md +31 -31
- package/src/neat/speciation/threshold/README.md +35 -35
- package/src/neat/species/README.md +25 -25
- package/src/neat/species/core/README.md +20 -20
- package/src/neat/species/core/shared/README.md +18 -18
- package/src/neat/species/history/context/README.md +22 -22
- package/src/neat/telemetry/accessors/README.md +58 -58
- package/src/neat/telemetry/exports/README.md +233 -233
- package/src/neat/telemetry/facade/README.md +252 -252
- package/src/neat/telemetry/facade/archive/README.md +57 -57
- package/src/neat/telemetry/facade/buffer/README.md +43 -43
- package/src/neat/telemetry/facade/lineage/README.md +12 -12
- package/src/neat/telemetry/facade/objectives/README.md +44 -44
- package/src/neat/telemetry/facade/runtime/README.md +26 -26
- package/src/neat/telemetry/facade/species/README.md +27 -27
- package/src/neat/telemetry/metrics/README.md +696 -696
- package/src/neat/telemetry/recorder/README.md +57 -57
- package/src/neat/telemetry/types/README.md +32 -32
- package/src/neat/topology-intent/README.md +75 -75
- package/src/utils/README.md +193 -193
- package/test/examples/asciiMaze/browser-entry/README.md +92 -92
- package/test/examples/asciiMaze/dashboardManager/README.md +109 -109
- package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +28 -28
- package/test/examples/asciiMaze/evolutionEngine/README.md +1527 -1527
- package/test/examples/asciiMaze/mazeMovement/README.md +105 -105
- package/test/examples/asciiMaze/mazeMovement/finalization/README.md +16 -16
- package/test/examples/asciiMaze/mazeMovement/policy/README.md +57 -57
- package/test/examples/asciiMaze/mazeMovement/runtime/README.md +52 -52
- package/test/examples/asciiMaze/mazeMovement/shaping/README.md +46 -46
- package/test/examples/flappy_bird/browser-entry/README.md +508 -508
- package/test/examples/flappy_bird/browser-entry/host/README.md +101 -101
- package/test/examples/flappy_bird/browser-entry/host/resize/README.md +144 -144
- package/test/examples/flappy_bird/browser-entry/network-view/README.md +194 -194
- package/test/examples/flappy_bird/browser-entry/playback/README.md +278 -278
- package/test/examples/flappy_bird/browser-entry/playback/background/README.md +129 -129
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +502 -502
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +139 -139
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +10 -10
- package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +43 -43
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +30 -30
- package/test/examples/flappy_bird/browser-entry/runtime/README.md +59 -59
- package/test/examples/flappy_bird/browser-entry/visualization/README.md +276 -276
- package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +16 -16
- package/test/examples/flappy_bird/constants/README.md +1070 -1070
- package/test/examples/flappy_bird/environment/README.md +22 -22
- package/test/examples/flappy_bird/evaluation/README.md +32 -32
- package/test/examples/flappy_bird/evaluation/rollout/README.md +141 -141
- package/test/examples/flappy_bird/flappy-evolution-worker/README.md +425 -425
- package/test/examples/flappy_bird/simulation-shared/README.md +170 -170
- package/test/examples/flappy_bird/simulation-shared/observation/README.md +109 -109
- package/test/examples/flappy_bird/trainer/README.md +325 -325
- package/test/examples/flappy_bird/trainer/evaluation/README.md +74 -74
- package/scripts/analyze-trace.ts +0 -590
- package/scripts/copy-examples.mjs +0 -114
- package/scripts/export-onnx.mjs +0 -86
- package/scripts/generate-bench-tables.mjs +0 -182
- package/scripts/generate-docs.ts +0 -2900
- package/scripts/write-dist-docs-pkg.mjs +0 -16
|
@@ -29,24 +29,6 @@ stable language without widening into a second full controller facade.
|
|
|
29
29
|
|
|
30
30
|
## neat/evaluate/shared/evaluate.types.ts
|
|
31
31
|
|
|
32
|
-
### GenomeForEvaluation
|
|
33
|
-
|
|
34
|
-
Genome with score, novelty, and clearing capabilities.
|
|
35
|
-
|
|
36
|
-
This interface describes the smallest practical genome shape that the
|
|
37
|
-
evaluate subtree can reason about. It is intentionally permissive so legacy
|
|
38
|
-
genome variants and downstream extensions can still participate in
|
|
39
|
-
evaluation, while the documented fields mark the pieces of evidence that the
|
|
40
|
-
shared helpers actually rely on.
|
|
41
|
-
|
|
42
|
-
### NoveltyArchiveEntry
|
|
43
|
-
|
|
44
|
-
Novelty archive entry with descriptor and novelty score.
|
|
45
|
-
|
|
46
|
-
Entries store one behavior descriptor alongside its novelty score so later
|
|
47
|
-
evaluation passes can keep some memory of previously unusual behavior without
|
|
48
|
-
retaining the entire population history.
|
|
49
|
-
|
|
50
32
|
### DiversityStats
|
|
51
33
|
|
|
52
34
|
Diversity statistics tracked during evaluation.
|
|
@@ -56,13 +38,15 @@ a subset of metrics. Tuning chapters read this structure opportunistically,
|
|
|
56
38
|
which lets the evaluation pipeline add evidence incrementally instead of
|
|
57
39
|
requiring every metric to exist on every pass.
|
|
58
40
|
|
|
59
|
-
###
|
|
41
|
+
### GenomeForEvaluation
|
|
60
42
|
|
|
61
|
-
|
|
43
|
+
Genome with score, novelty, and clearing capabilities.
|
|
62
44
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
45
|
+
This interface describes the smallest practical genome shape that the
|
|
46
|
+
evaluate subtree can reason about. It is intentionally permissive so legacy
|
|
47
|
+
genome variants and downstream extensions can still participate in
|
|
48
|
+
evaluation, while the documented fields mark the pieces of evidence that the
|
|
49
|
+
shared helpers actually rely on.
|
|
66
50
|
|
|
67
51
|
### NeatControllerForEval
|
|
68
52
|
|
|
@@ -78,6 +62,22 @@ still much smaller than the full `Neat` surface. That tradeoff keeps the
|
|
|
78
62
|
evaluate chapters interoperable while preserving a clear boundary between
|
|
79
63
|
evaluation and the rest of the runtime.
|
|
80
64
|
|
|
65
|
+
### NoveltyArchiveEntry
|
|
66
|
+
|
|
67
|
+
Novelty archive entry with descriptor and novelty score.
|
|
68
|
+
|
|
69
|
+
Entries store one behavior descriptor alongside its novelty score so later
|
|
70
|
+
evaluation passes can keep some memory of previously unusual behavior without
|
|
71
|
+
retaining the entire population history.
|
|
72
|
+
|
|
73
|
+
### ObjectiveDef
|
|
74
|
+
|
|
75
|
+
Objective definition for multi-objective optimization.
|
|
76
|
+
|
|
77
|
+
Objectives are registered dynamically so evaluation can surface additional
|
|
78
|
+
evidence, such as entropy, without forcing the entire objective stack to be
|
|
79
|
+
hard-coded at controller construction time.
|
|
80
|
+
|
|
81
81
|
## neat/evaluate/shared/evaluate.constants.ts
|
|
82
82
|
|
|
83
83
|
Shared default constants for the NEAT evaluate chapter.
|
|
@@ -101,67 +101,68 @@ The exports below group into four families:
|
|
|
101
101
|
- entropy-compatibility defaults,
|
|
102
102
|
- auto-distance and variance-baseline defaults.
|
|
103
103
|
|
|
104
|
-
###
|
|
104
|
+
### AUTO_COEFF_ADJUST_DEFAULT
|
|
105
105
|
|
|
106
|
-
Default
|
|
106
|
+
Default rate used when auto distance-coefficient tuning rebalances structural distance weights.
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
This shared step size controls how quickly excess and disjoint coefficients react when topology
|
|
109
|
+
variance drifts away from the recent baseline.
|
|
110
110
|
|
|
111
|
-
###
|
|
111
|
+
### AUTO_COEFF_MAX_DEFAULT
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
Maximum structural-distance coefficient allowed during automatic tuning.
|
|
114
114
|
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
The upper bound prevents excess and disjoint penalties from dominating every later compatibility
|
|
116
|
+
comparison.
|
|
117
117
|
|
|
118
|
-
###
|
|
118
|
+
### AUTO_COEFF_MIN_DEFAULT
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
Minimum structural-distance coefficient allowed during automatic tuning.
|
|
121
121
|
|
|
122
|
-
The
|
|
122
|
+
The lower bound keeps structural differences meaningful even when the auto-distance policy is
|
|
123
|
+
softening species pressure.
|
|
123
124
|
|
|
124
|
-
###
|
|
125
|
+
### COMPAT_MAX_THRESHOLD_DEFAULT
|
|
125
126
|
|
|
126
|
-
|
|
127
|
+
Maximum compatibility threshold allowed during automatic compatibility tuning.
|
|
127
128
|
|
|
128
|
-
The
|
|
129
|
-
|
|
129
|
+
The upper clamp prevents compatibility from becoming so permissive that species boundaries lose
|
|
130
|
+
practical meaning.
|
|
130
131
|
|
|
131
|
-
###
|
|
132
|
+
### COMPAT_MIN_THRESHOLD_DEFAULT
|
|
132
133
|
|
|
133
|
-
|
|
134
|
+
Minimum compatibility threshold allowed during automatic compatibility tuning.
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
The lower clamp prevents the threshold from collapsing until even small structural differences
|
|
137
|
+
force unnecessary species fragmentation.
|
|
137
138
|
|
|
138
|
-
###
|
|
139
|
+
### COMPAT_THRESHOLD_DEFAULT
|
|
139
140
|
|
|
140
|
-
|
|
141
|
+
Baseline compatibility threshold used when no explicit value is configured.
|
|
141
142
|
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
This serves as the neutral starting point before entropy-based tuning or explicit user policy
|
|
144
|
+
begins to reshape species pressure.
|
|
144
145
|
|
|
145
|
-
###
|
|
146
|
+
### DISTANCE_COEFF_DEFAULT
|
|
146
147
|
|
|
147
|
-
|
|
148
|
+
Baseline structural-distance coefficient used before automatic tuning occurs.
|
|
148
149
|
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
This is the neutral starting point for the structural-distance fold before variance-driven
|
|
151
|
+
updates begin to reshape it.
|
|
151
152
|
|
|
152
|
-
###
|
|
153
|
+
### ENTROPY_ADJUST_DEFAULT
|
|
153
154
|
|
|
154
|
-
|
|
155
|
+
Default rate used when compatibility tuning nudges the threshold upward or downward.
|
|
155
156
|
|
|
156
|
-
|
|
157
|
-
|
|
157
|
+
A conservative step size keeps the compatibility-threshold loop gradual enough that later
|
|
158
|
+
speciation reads remain interpretable from one generation to the next.
|
|
158
159
|
|
|
159
|
-
###
|
|
160
|
+
### ENTROPY_DEADBAND_DEFAULT
|
|
160
161
|
|
|
161
|
-
|
|
162
|
+
Deadband around the entropy target where compatibility tuning intentionally does nothing.
|
|
162
163
|
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
The deadband reduces threshold jitter by treating small entropy deviations as normal noise
|
|
165
|
+
rather than signals that demand a policy change.
|
|
165
166
|
|
|
166
167
|
### ENTROPY_TARGET_DEFAULT
|
|
167
168
|
|
|
@@ -170,68 +171,67 @@ Target mean entropy used when tuning the compatibility threshold.
|
|
|
170
171
|
The goal is to keep speciation pressure near a stable diversity level instead of drifting toward
|
|
171
172
|
either species collapse or fragmentation.
|
|
172
173
|
|
|
173
|
-
###
|
|
174
|
+
### ENTROPY_VAR_ADJUST_DEFAULT
|
|
174
175
|
|
|
175
|
-
|
|
176
|
+
Default step size used when entropy-sharing tuning increases or decreases sharing sigma.
|
|
176
177
|
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
A modest default keeps the sigma controller responsive without letting one noisy variance read
|
|
179
|
+
swing the sharing radius too aggressively.
|
|
179
180
|
|
|
180
|
-
###
|
|
181
|
+
### ENTROPY_VAR_HIGH_BAND
|
|
181
182
|
|
|
182
|
-
|
|
183
|
+
Upper tolerance band for deciding that observed entropy variance is meaningfully high.
|
|
183
184
|
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
Values above this multiplier mark a population whose entropy spread is noisier than the tuning
|
|
186
|
+
target expects.
|
|
186
187
|
|
|
187
|
-
###
|
|
188
|
+
### ENTROPY_VAR_LOW_BAND
|
|
188
189
|
|
|
189
|
-
|
|
190
|
+
Lower tolerance band for deciding that observed entropy variance is meaningfully low.
|
|
190
191
|
|
|
191
|
-
|
|
192
|
-
|
|
192
|
+
Values below this multiplier mark a population whose entropy spread is flatter than the tuning
|
|
193
|
+
target expects.
|
|
193
194
|
|
|
194
|
-
###
|
|
195
|
+
### ENTROPY_VAR_MAX_SIGMA_DEFAULT
|
|
195
196
|
|
|
196
|
-
|
|
197
|
+
Upper bound for the sharing sigma used by entropy-sharing adaptation.
|
|
197
198
|
|
|
198
|
-
The
|
|
199
|
-
|
|
199
|
+
The upper clamp prevents the radius from widening until entropy sharing loses practical
|
|
200
|
+
contrast across the population.
|
|
200
201
|
|
|
201
|
-
###
|
|
202
|
+
### ENTROPY_VAR_MIN_SIGMA_DEFAULT
|
|
202
203
|
|
|
203
|
-
|
|
204
|
+
Lower bound for the sharing sigma used by entropy-sharing adaptation.
|
|
204
205
|
|
|
205
|
-
The
|
|
206
|
-
|
|
206
|
+
The lower clamp prevents the sharing radius from shrinking so far that later sharing pressure
|
|
207
|
+
becomes hypersensitive to tiny entropy fluctuations.
|
|
207
208
|
|
|
208
|
-
###
|
|
209
|
+
### ENTROPY_VAR_TARGET_DEFAULT
|
|
209
210
|
|
|
210
|
-
|
|
211
|
+
Target variance used by entropy-sharing tuning.
|
|
211
212
|
|
|
212
|
-
|
|
213
|
-
|
|
213
|
+
The controller nudges sharing sigma toward a population whose entropy spread is neither too flat
|
|
214
|
+
nor too unstable.
|
|
214
215
|
|
|
215
|
-
###
|
|
216
|
+
### NOVELTY_ARCHIVE_CAP
|
|
216
217
|
|
|
217
|
-
|
|
218
|
+
Maximum number of descriptors retained in the novelty archive.
|
|
218
219
|
|
|
219
|
-
The
|
|
220
|
-
softening species pressure.
|
|
220
|
+
The cap keeps novelty history useful for exploration while preventing unbounded memory growth.
|
|
221
221
|
|
|
222
|
-
###
|
|
222
|
+
### NOVELTY_DEFAULT_BLEND
|
|
223
223
|
|
|
224
|
-
|
|
224
|
+
Default blend factor used when mixing novelty into an existing fitness score.
|
|
225
225
|
|
|
226
|
-
|
|
227
|
-
|
|
226
|
+
A mid-range value keeps novelty influential without letting exploratory behavior completely drown
|
|
227
|
+
out task performance.
|
|
228
228
|
|
|
229
|
-
###
|
|
229
|
+
### NOVELTY_DEFAULT_NEIGHBORS
|
|
230
230
|
|
|
231
|
-
|
|
231
|
+
Default number of nearest neighbors used when computing novelty.
|
|
232
232
|
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
Small values keep novelty sensitive to local behavioral differences without requiring a large
|
|
234
|
+
archive or population.
|
|
235
235
|
|
|
236
236
|
### VARIANCE_DECREASE_THRESHOLD
|
|
237
237
|
|
|
@@ -95,24 +95,14 @@ The important boundary is that this interface is richer than the minimal
|
|
|
95
95
|
shared genome contracts used by read-side chapters, because evolve helpers are
|
|
96
96
|
the place where new runtime metadata is actually attached.
|
|
97
97
|
|
|
98
|
-
###
|
|
99
|
-
|
|
100
|
-
Runtime interface for species metadata used in allocation and stats.
|
|
101
|
-
|
|
102
|
-
This is the live species record shape used during one evolve step. Helpers in
|
|
103
|
-
`speciation/`, `population/`, and telemetry-oriented paths rely on it to ask
|
|
104
|
-
practical generation-level questions: which genomes belong together now, how
|
|
105
|
-
much shared fitness does the species have, and how many offspring should it
|
|
106
|
-
receive next?
|
|
107
|
-
|
|
108
|
-
### SpeciesHistoryRecord
|
|
98
|
+
### MultiObjectiveOptions
|
|
109
99
|
|
|
110
|
-
|
|
100
|
+
Multi-objective configuration block.
|
|
111
101
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
This is the policy bundle evolve helpers consult when deciding how dynamic
|
|
103
|
+
objective scheduling, epsilon tuning, and inactive-objective pruning should
|
|
104
|
+
behave during a run. It is broader than one descriptor but narrower than the
|
|
105
|
+
full controller options object.
|
|
116
106
|
|
|
117
107
|
### MutationMethod
|
|
118
108
|
|
|
@@ -123,24 +113,6 @@ mutation policy metadata defined in the mutation subtree. That is why this
|
|
|
123
113
|
local descriptor stays intentionally tiny: evolve orchestration mainly uses it
|
|
124
114
|
as a token when handing work off to mutation-oriented hooks.
|
|
125
115
|
|
|
126
|
-
### ObjectiveDescriptor
|
|
127
|
-
|
|
128
|
-
Objective descriptor for multi-objective evaluation.
|
|
129
|
-
|
|
130
|
-
This is the shared scoring token used when evolve orchestration hands the
|
|
131
|
-
current population to objective-aware ranking logic. Each descriptor couples a
|
|
132
|
-
stable key with the accessor that extracts that objective's numeric evidence
|
|
133
|
-
from one genome.
|
|
134
|
-
|
|
135
|
-
### MultiObjectiveOptions
|
|
136
|
-
|
|
137
|
-
Multi-objective configuration block.
|
|
138
|
-
|
|
139
|
-
This is the policy bundle evolve helpers consult when deciding how dynamic
|
|
140
|
-
objective scheduling, epsilon tuning, and inactive-objective pruning should
|
|
141
|
-
behave during a run. It is broader than one descriptor but narrower than the
|
|
142
|
-
full controller options object.
|
|
143
|
-
|
|
144
116
|
### NeatControllerForEvolution
|
|
145
117
|
|
|
146
118
|
NEAT controller subset used by evolve orchestrations.
|
|
@@ -165,6 +137,34 @@ the point where many chapter boundaries meet. Even so, it is still narrower
|
|
|
165
137
|
than the full public controller API: only the state and callbacks needed for
|
|
166
138
|
one generation step are surfaced here.
|
|
167
139
|
|
|
140
|
+
### ObjectiveDescriptor
|
|
141
|
+
|
|
142
|
+
Objective descriptor for multi-objective evaluation.
|
|
143
|
+
|
|
144
|
+
This is the shared scoring token used when evolve orchestration hands the
|
|
145
|
+
current population to objective-aware ranking logic. Each descriptor couples a
|
|
146
|
+
stable key with the accessor that extracts that objective's numeric evidence
|
|
147
|
+
from one genome.
|
|
148
|
+
|
|
149
|
+
### SpeciesHistoryRecord
|
|
150
|
+
|
|
151
|
+
Species history snapshot record used for telemetry/exports.
|
|
152
|
+
|
|
153
|
+
Unlike `SpeciesWithMetadata`, which describes the current live registry, this
|
|
154
|
+
contract is archival. It captures the summarized species view that can be
|
|
155
|
+
retained across generations for telemetry, historical diagnostics, and later
|
|
156
|
+
export.
|
|
157
|
+
|
|
158
|
+
### SpeciesWithMetadata
|
|
159
|
+
|
|
160
|
+
Runtime interface for species metadata used in allocation and stats.
|
|
161
|
+
|
|
162
|
+
This is the live species record shape used during one evolve step. Helpers in
|
|
163
|
+
`speciation/`, `population/`, and telemetry-oriented paths rely on it to ask
|
|
164
|
+
practical generation-level questions: which genomes belong together now, how
|
|
165
|
+
much shared fitness does the species have, and how many offspring should it
|
|
166
|
+
receive next?
|
|
167
|
+
|
|
168
168
|
## neat/evolve/evolve.ts
|
|
169
169
|
|
|
170
170
|
### evolve
|
|
@@ -224,44 +224,41 @@ console.log('output nodes:', bestNetwork.output);
|
|
|
224
224
|
Returns: a deep-cloned network snapshot representing the best genome from the
|
|
225
225
|
previous generation, ready for inspection or external evaluation
|
|
226
226
|
|
|
227
|
-
###
|
|
228
|
-
|
|
229
|
-
Maximum number of Pareto archive snapshots to retain.
|
|
227
|
+
### EVOLVE_AUTO_COMPAT_ADJUST_RATE
|
|
230
228
|
|
|
231
|
-
|
|
232
|
-
grow unbounded during long runs.
|
|
229
|
+
Default rate used when nudging compatibility coefficients toward the desired species count.
|
|
233
230
|
|
|
234
|
-
###
|
|
231
|
+
### EVOLVE_AUTO_COMPAT_MAX_COEFF
|
|
235
232
|
|
|
236
|
-
|
|
233
|
+
Maximum compatibility coefficient allowed during automatic tuning.
|
|
237
234
|
|
|
238
|
-
|
|
235
|
+
### EVOLVE_AUTO_COMPAT_MIN_COEFF
|
|
239
236
|
|
|
240
|
-
|
|
237
|
+
Minimum compatibility coefficient allowed during automatic tuning.
|
|
241
238
|
|
|
242
|
-
|
|
239
|
+
### EVOLVE_AUTO_COMPAT_RANDOM_SCALE
|
|
243
240
|
|
|
244
|
-
|
|
241
|
+
Random perturbation scale used when compatibility tuning has no directional error to follow.
|
|
245
242
|
|
|
246
|
-
###
|
|
243
|
+
### EVOLVE_AUTO_COMPAT_TARGET_MIN
|
|
247
244
|
|
|
248
|
-
|
|
245
|
+
Minimum target species count used by automatic compatibility tuning.
|
|
249
246
|
|
|
250
|
-
|
|
247
|
+
The controller never tries to collapse diversity below this floor when adjusting coefficients.
|
|
251
248
|
|
|
252
|
-
###
|
|
249
|
+
### EVOLVE_AUTO_ENTROPY_ADD_AT
|
|
253
250
|
|
|
254
|
-
Default
|
|
251
|
+
Default generation at which automatic entropy objective scheduling becomes eligible.
|
|
255
252
|
|
|
256
|
-
|
|
253
|
+
### EVOLVE_CROSS_SPECIES_GUARD_LIMIT
|
|
257
254
|
|
|
258
|
-
|
|
255
|
+
Retry limit for cross-species parent sampling before the controller falls back to a safer path.
|
|
259
256
|
|
|
260
|
-
|
|
257
|
+
### EVOLVE_DEFAULT_EPSILON_ADJUST
|
|
261
258
|
|
|
262
|
-
|
|
259
|
+
Default adjustment step for dominance epsilon.
|
|
263
260
|
|
|
264
|
-
|
|
261
|
+
The value is intentionally small because epsilon changes should steer ranking gradually rather than jerk it.
|
|
265
262
|
|
|
266
263
|
### EVOLVE_DEFAULT_EPSILON_COOLDOWN
|
|
267
264
|
|
|
@@ -269,49 +266,56 @@ Default cooldown in generations between epsilon adjustments.
|
|
|
269
266
|
|
|
270
267
|
This prevents the controller from reacting to every short-lived fluctuation in front width.
|
|
271
268
|
|
|
272
|
-
###
|
|
269
|
+
### EVOLVE_DEFAULT_EPSILON_MAX
|
|
273
270
|
|
|
274
|
-
|
|
271
|
+
Maximum dominance epsilon ceiling used by adaptive Pareto tuning.
|
|
275
272
|
|
|
276
|
-
###
|
|
273
|
+
### EVOLVE_DEFAULT_EPSILON_MIN
|
|
277
274
|
|
|
278
|
-
|
|
275
|
+
Minimum dominance epsilon floor used by adaptive Pareto tuning.
|
|
279
276
|
|
|
280
|
-
###
|
|
277
|
+
### EVOLVE_GLOBAL_STAGNATION_REPLACE_FRACTION
|
|
281
278
|
|
|
282
|
-
|
|
279
|
+
Fraction of the population replaced with fresh genomes when global stagnation rescue triggers.
|
|
283
280
|
|
|
284
|
-
###
|
|
281
|
+
### EVOLVE_MIN_OFFSPRING_DEFAULT
|
|
285
282
|
|
|
286
|
-
|
|
283
|
+
Minimum offspring allocation reserved for a surviving species during speciated reproduction.
|
|
284
|
+
|
|
285
|
+
### EVOLVE_OLD_MULTIPLIER_DEFAULT
|
|
286
|
+
|
|
287
|
+
Fitness-sharing multiplier applied to older species so stale lineages lose selection privilege.
|
|
287
288
|
|
|
288
289
|
### EVOLVE_OLD_THRESHOLD_DEFAULT
|
|
289
290
|
|
|
290
291
|
Generation threshold after which a species is treated as old for age-based fitness shaping.
|
|
291
292
|
|
|
292
|
-
###
|
|
293
|
+
### EVOLVE_PARETO_ARCHIVE_MAX
|
|
293
294
|
|
|
294
|
-
|
|
295
|
+
Maximum number of Pareto archive snapshots to retain.
|
|
295
296
|
|
|
296
|
-
|
|
297
|
+
This keeps multi-objective history useful for inspection without letting archive state
|
|
298
|
+
grow unbounded during long runs.
|
|
297
299
|
|
|
298
|
-
|
|
300
|
+
### EVOLVE_PRUNE_RANGE_EPS_DEFAULT
|
|
299
301
|
|
|
300
|
-
|
|
302
|
+
Default numerical range epsilon for deciding whether an objective has effectively gone flat.
|
|
301
303
|
|
|
302
|
-
|
|
304
|
+
### EVOLVE_PRUNE_WINDOW_DEFAULT
|
|
303
305
|
|
|
304
|
-
|
|
306
|
+
Default inactivity window used before adaptive objective pruning considers removal.
|
|
305
307
|
|
|
306
|
-
|
|
308
|
+
### EVOLVE_REENABLE_DELTA_SCALE
|
|
307
309
|
|
|
308
|
-
|
|
310
|
+
Scale factor that converts re-enable success error into a probability update.
|
|
309
311
|
|
|
310
|
-
|
|
312
|
+
### EVOLVE_REENABLE_MAX
|
|
311
313
|
|
|
312
|
-
|
|
314
|
+
Upper bound for adaptive connection re-enable probability.
|
|
313
315
|
|
|
314
|
-
|
|
316
|
+
### EVOLVE_REENABLE_MIN
|
|
317
|
+
|
|
318
|
+
Lower bound for adaptive connection re-enable probability.
|
|
315
319
|
|
|
316
320
|
### EVOLVE_REENABLE_MIN_SAMPLES
|
|
317
321
|
|
|
@@ -321,40 +325,36 @@ Minimum re-enable observations required before the controller trusts its adaptat
|
|
|
321
325
|
|
|
322
326
|
Desired success ratio for connection re-enable attempts during adaptive mutation control.
|
|
323
327
|
|
|
324
|
-
###
|
|
325
|
-
|
|
326
|
-
Scale factor that converts re-enable success error into a probability update.
|
|
327
|
-
|
|
328
|
-
### EVOLVE_REENABLE_MIN
|
|
328
|
+
### EVOLVE_SPECIES_HISTORY_MAX
|
|
329
329
|
|
|
330
|
-
|
|
330
|
+
Maximum number of species-history snapshots to retain for telemetry and later export.
|
|
331
331
|
|
|
332
|
-
###
|
|
332
|
+
### EVOLVE_SURVIVAL_THRESHOLD_DEFAULT
|
|
333
333
|
|
|
334
|
-
|
|
334
|
+
Survivor fraction used when choosing the parent pool inside each species.
|
|
335
335
|
|
|
336
|
-
###
|
|
336
|
+
### EVOLVE_TARGET_FRONT_LOWER_RATIO
|
|
337
337
|
|
|
338
|
-
|
|
338
|
+
Lower ratio threshold for Pareto front size vs target.
|
|
339
339
|
|
|
340
|
-
|
|
340
|
+
When the first front shrinks below this band, the controller can relax epsilon to avoid over-pruning.
|
|
341
341
|
|
|
342
|
-
###
|
|
342
|
+
### EVOLVE_TARGET_FRONT_MIN
|
|
343
343
|
|
|
344
|
-
|
|
344
|
+
Minimum target front size used for adaptive epsilon tuning.
|
|
345
345
|
|
|
346
|
-
|
|
346
|
+
Small Pareto fronts are easy to overfit, so the epsilon controller never aims below this floor.
|
|
347
347
|
|
|
348
|
-
|
|
348
|
+
### EVOLVE_TARGET_FRONT_UPPER_RATIO
|
|
349
349
|
|
|
350
|
-
|
|
350
|
+
Upper ratio threshold for Pareto front size vs target.
|
|
351
351
|
|
|
352
|
-
|
|
352
|
+
When the first front grows beyond this band, the controller can tighten epsilon to recover pressure.
|
|
353
353
|
|
|
354
|
-
###
|
|
354
|
+
### EVOLVE_YOUNG_MULTIPLIER_DEFAULT
|
|
355
355
|
|
|
356
|
-
|
|
356
|
+
Fitness-sharing multiplier applied to species that are still in their early growth window.
|
|
357
357
|
|
|
358
|
-
###
|
|
358
|
+
### EVOLVE_YOUNG_THRESHOLD_DEFAULT
|
|
359
359
|
|
|
360
|
-
|
|
360
|
+
Generation threshold below which a species is still treated as young.
|