@huukhanhnguyen/types / model/analyze
model/analyze
AnalyzeConfig
AnalyzeConfig =
SweepConfig|OptimizeConfig|MonteCarloConfig
Design-study vocabulary — sweep / optimize / Monte-Carlo configs and their result tables. Pure records: the runner (@huukhanhnguyen/model) reads them, nothing here holds a live graph object.
AnalyzeMode
AnalyzeMode =
"sweep"|"optimize"|"monteCarlo"
AnalyzeProgress
AnalyzeProgress = (
done,total) =>void
Parameters
done
number
total
number
Returns
void
AnalyzeRunResult
AnalyzeRunResult =
AnalyzeTable|OptimizeResult|MonteCarloResult
AnalyzeTable
AnalyzeTable = {
columns:string[];rows:unknown[][]; }
columns
columns:
string[]
rows
rows:
unknown[][]
MeasureConfig
MeasureConfig = {
expression:string;key:string; }
expression
expression:
string
key
key:
string
MonteCarloConfig
MonteCarloConfig = {
measures:MeasureConfig[];parameters:MonteCarloParameterConfig[];samples?:number;seed?:number; }
measures
measures:
MeasureConfig[]
parameters
parameters:
MonteCarloParameterConfig[]
samples?
optionalsamples?:number
seed?
optionalseed?:number
MonteCarloParameterConfig
MonteCarloParameterConfig = {
key:string;max:number;min:number; }
A named numeric range — sampled (Monte Carlo) or searched (optimize). Not the same shape as SweepParameterConfig, which walks from/to in discrete steps rather than sampling a range.
key
key:
string
max
max:
number
min
min:
number
MonteCarloResult
MonteCarloResult = {
summary:AnalyzeTable;table:AnalyzeTable; }
summary
summary:
AnalyzeTable
table
table:
AnalyzeTable
ObjectiveConfig
ObjectiveConfig = {
expression:string;goal:"min"|"max"; }
expression
expression:
string
goal
goal:
"min"|"max"
OptimizeConfig
OptimizeConfig = {
maxEvaluations?:number;objective:ObjectiveConfig;parameters:MonteCarloParameterConfig[]; }
maxEvaluations?
optionalmaxEvaluations?:number
objective
objective:
ObjectiveConfig
parameters
parameters:
MonteCarloParameterConfig[]
OptimizeResult
OptimizeResult = {
best: {params:Record<string,number>;value:number; };trace:AnalyzeTable; }
best
best: {
params:Record<string,number>;value:number; }
params
params:
Record<string,number>
value
value:
number
trace
trace:
AnalyzeTable
SimplexVertex
SimplexVertex = {
point:number[];value:number; }
point
point:
number[]
value
value:
number
SweepConfig
SweepConfig = {
measures:MeasureConfig[];parameters:SweepParameterConfig[]; }
measures
measures:
MeasureConfig[]
parameters
parameters:
SweepParameterConfig[]
SweepParameterConfig
SweepParameterConfig = {
from:number;key:string;steps:number;to:number; }
from
from:
number
key
key:
string
steps
steps:
number
to
to:
number