classDiagram
class Exploration
click Exploration href "./Exploration.html"
Exploration : algorithms
Exploration --> "*" String : algorithms
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : average
Exploration --> "0..1" String : average
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : description
Exploration --> "0..1" String : description
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : execution
Exploration --> "0..1" ExecutionConfig : execution
click ExecutionConfig href "./ExecutionConfig.html"
Exploration : label
Exploration --> "0..1" String : label
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : mode
Exploration --> "0..1" String : mode
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : n_parallel
Exploration --> "0..1" Integer : n_parallel
click Integer href "../http://www.w3.org/2001/XMLSchema#integer.html"
Exploration : n_trials
Exploration --> "0..1" Integer : n_trials
click Integer href "../http://www.w3.org/2001/XMLSchema#integer.html"
Exploration : name
Exploration --> "1" String : name
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : objectives
Exploration --> "*" String : objectives
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : observable
Exploration --> "0..1" FunctionCall : observable
click FunctionCall href "./FunctionCall.html"
Exploration : parallel_batch_size
Exploration --> "0..1" Integer : parallel_batch_size
click Integer href "../http://www.w3.org/2001/XMLSchema#integer.html"
Exploration : parallel_mode
Exploration --> "0..1" ParallelMode : parallel_mode
click ParallelMode href "../../enums/ParallelMode.html"
Exploration : parameters
Exploration --> "*" Parameter : parameters
click Parameter href "./Parameter.html"
Exploration : record
Exploration --> "*" String : record
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Exploration : space
Exploration --> "*" ExplorationAxis : space
click ExplorationAxis href "./ExplorationAxis.html"
Exploration : strategy
Exploration --> "0..1" String : strategy
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Class: Exploration
Parameter space exploration (grid search, sweep).
URI: tvbo:Exploration
Class Properties
| Property | Value |
|---|---|
| Class URI | tvbo:Exploration |
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| name | 1 xsd:string |
Globally unique identifier for the entity | direct |
| label | 0..1 xsd:string |
direct | |
| description | 0..1 xsd:string |
direct | |
| execution | 0..1 ExecutionConfig |
Per-exploration execution configuration (overrides experiment-level defaults) | direct |
| space | * ExplorationAxis |
Ordered list of exploration axes spanning the search space | direct |
| parameters | * Parameter |
Hyper-parameters of the exploration itself (e | direct |
| algorithms | * xsd:string |
Names of the experiment’s algorithms (keys in experiment | direct | | [mode](../slots/mode.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Combination mode: 'product' (full grid), 'zip' (paired) | direct | | [strategy](../slots/strategy.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Search strategy over the decision space (thespaceaxes) | direct | | [objectives](../slots/objectives.qmd) | * <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Names of observations minimised by an adaptivestrategy` (e |
direct |
| observable | 0..1 FunctionCall |
Observable to compute at each point | direct |
| record | * xsd:string |
Names of observations to compute and record at EACH grid point, stacked over … | direct |
| n_parallel | 0..1 xsd:integer |
Parallel evaluations | direct |
| n_trials | 0..1 xsd:integer |
Number of independent trials per grid point | direct |
| average | 0..1 xsd:string |
Averaging mode across trials | direct |
| parallel_mode | 0..1 ParallelMode |
How trial-axis parallelism is realised at codegen time | direct |
| parallel_batch_size | 0..1 xsd:integer |
Chunk size for lax_map and chunked-vmap modes |
direct |
Usages
| used by | used in | type | used |
|---|---|---|---|
| Optimization | depends_on | any_of[range] | Exploration |
| SimulationExperiment | explorations | range | Exploration |
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/tvbo
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | tvbo:Exploration |
| native | tvbo:Exploration |
LinkML Source
Direct
name: Exploration
description: Parameter space exploration (grid search, sweep).
from_schema: https://w3id.org/tvbo
slots:
- name
- label
- description
attributes:
execution:
name: execution
description: Per-exploration execution configuration (overrides experiment-level
defaults). Useful for setting random_seed, n_workers for parallel grid search.
from_schema: https://w3id.org/tvbo
domain_of:
- Optimization
- Exploration
- Inference
- Algorithm
- Continuation
- SimulationExperiment
range: ExecutionConfig
inlined: true
space:
name: space
description: Ordered list of exploration axes spanning the search space. Each
axis references an existing Parameter (by dotted name, e.g. "ReducedWongWang.w"
or "FastLinearCoupling.G") and supplies the Range to sweep. No new Parameter
is created here.
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
range: ExplorationAxis
multivalued: true
inlined: true
inlined_as_list: true
parameters:
name: parameters
description: Hyper-parameters of the exploration itself (e.g. tolerances, sampler
settings, grid-refinement controls). Distinct from `space`, which defines what
is being swept.
from_schema: https://w3id.org/tvbo
domain_of:
- Equation
- Stimulus
- Event
- TemporalApplicableEquation
- Network
- GraphGenerator
- Node
- Edge
- Observation
- Analysis
- Dynamics
- Distribution
- Noise
- Exploration
- Discretization
- BranchSwitch
- Integrator
- Coupling
- PDE
range: Parameter
multivalued: true
inlined: true
inlined_as_list: true
algorithms:
name: algorithms
description: 'Names of the experiment''s algorithms (keys in `experiment.algorithms`)
to run AT EACH exploration point, in order, BEFORE computing the observable.
Explicitly wires algorithms into the exploration so per-point tuning / constraints
are applied at every sweep point — e.g. FIC re-tuning J_i at each E/I ratio.
With this set, the sweep evaluates the full algorithm→observation pipeline per
point (executed sequentially), not a bare simulation. Empty/absent = bare simulation
per point. This is the declarative replacement for any Python per-point driver:
the composition is derived entirely from YAML metadata.'
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
- SimulationExperiment
range: string
multivalued: true
mode:
name: mode
description: 'Combination mode: ''product'' (full grid), ''zip'' (paired)'
from_schema: https://w3id.org/tvbo
ifabsent: string(product)
domain_of:
- StimulationSetting
- Exploration
- AlgorithmInclude
- Differentiation
range: string
strategy:
name: strategy
description: Search strategy over the decision space (the `space` axes). 'grid'
(default) exhaustively evaluates the Cartesian/zip grid of axis points — today's
behaviour. 'nsga2' runs an adaptive multi-objective genetic search (pymoo NSGA-II)
that returns the non-dominated Pareto front over `objectives`; axes then supply
only decision-variable bounds (domain lo/hi), and per-strategy hyper-parameters
(population_size, num_generations, seed, reference_point) live in `parameters`.
Extensible later to 'random' / 'sobol' / 'cmaes'. Forward-compatible with the
planned unified `Search.strategy` (see dev/unified_search.qmd).
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: string(grid)
domain_of:
- Exploration
range: string
objectives:
name: objectives
description: 'Names of observations minimised by an adaptive `strategy` (e.g.
''nsga2''). Each entry references an existing observation already framed lower-is-better
(e.g. `one_minus_fc`, `psd_mae`). Count sets the semantics: 0 → pure sweep (use
`record`), 1 → single-objective, ≥2 → multi-objective / Pareto. Ignored when
strategy is ''grid''. Forward-compatible with `Search.objectives`.'
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
range: string
multivalued: true
observable:
name: observable
description: 'Observable to compute at each point. Use function: obs_name for
simple observation, or function: func_name + arguments for FunctionCall.'
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
range: FunctionCall
inlined: true
record:
name: record
description: Names of observations to compute and record at EACH grid point, stacked
over the sweep into one array per name. Entries may be derived observations
(e.g. `loss`) or `analysis` diagnostics (e.g. `ad_gradient`, `fd_gradient`,
`lyapunov`) — this is how a sweep of the diagnostics themselves is declared,
replacing any per-point Python driver. Complementary to `observable` (a single
scalar reduction); when both are absent the full observation Bunch is recorded.
from_schema: https://w3id.org/tvbo
domain_of:
- Node
- StateVariable
- DerivedVariable
- Exploration
range: string
multivalued: true
n_parallel:
name: n_parallel
description: Parallel evaluations
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: integer(1)
domain_of:
- Exploration
range: integer
n_trials:
name: n_trials
description: Number of independent trials per grid point. Each trial uses a different
noise seed. Used for averaging stochastic simulations (e.g., VEP = average of
20 trials).
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: integer(1)
domain_of:
- Exploration
range: integer
average:
name: average
description: Averaging mode across trials. 'trials' = average over n_trials independent
runs (evoked potential paradigm). None = return all trials.
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
range: string
parallel_mode:
name: parallel_mode
description: How trial-axis parallelism is realised at codegen time. ``vmap``
batches all trials in parallel (fast, peak memory ~n_trials × per-trial working
set). ``lax_map`` runs them sequentially via ``jax.lax.map`` (slower, peak memory
bounded by one trial). ``pmap`` shards across devices for multi-GPU. ``auto``
(default) picks ``vmap`` when the estimated batched memory fits, ``lax_map``
otherwise.
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
range: ParallelMode
parallel_batch_size:
name: parallel_batch_size
description: Chunk size for ``lax_map`` and chunked-``vmap`` modes. ``1`` = strictly
sequential (minimum memory). Larger values amortise compile overhead across
trials at the cost of memory. Ignored when parallel_mode is ``vmap`` (which
always uses the full n_trials axis).
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Exploration
range: integer
class_uri: tvbo:ExplorationInduced
name: Exploration
description: Parameter space exploration (grid search, sweep).
from_schema: https://w3id.org/tvbo
attributes:
execution:
name: execution
description: Per-exploration execution configuration (overrides experiment-level
defaults). Useful for setting random_seed, n_workers for parallel grid search.
from_schema: https://w3id.org/tvbo
owner: Exploration
domain_of:
- Optimization
- Exploration
- Inference
- Algorithm
- Continuation
- SimulationExperiment
range: ExecutionConfig
inlined: true
space:
name: space
description: Ordered list of exploration axes spanning the search space. Each
axis references an existing Parameter (by dotted name, e.g. "ReducedWongWang.w"
or "FastLinearCoupling.G") and supplies the Range to sweep. No new Parameter
is created here.
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
range: ExplorationAxis
multivalued: true
inlined: true
inlined_as_list: true
parameters:
name: parameters
description: Hyper-parameters of the exploration itself (e.g. tolerances, sampler
settings, grid-refinement controls). Distinct from `space`, which defines what
is being swept.
from_schema: https://w3id.org/tvbo
owner: Exploration
domain_of:
- Equation
- Stimulus
- Event
- TemporalApplicableEquation
- Network
- GraphGenerator
- Node
- Edge
- Observation
- Analysis
- Dynamics
- Distribution
- Noise
- Exploration
- Discretization
- BranchSwitch
- Integrator
- Coupling
- PDE
range: Parameter
multivalued: true
inlined: true
inlined_as_list: true
algorithms:
name: algorithms
description: 'Names of the experiment''s algorithms (keys in `experiment.algorithms`)
to run AT EACH exploration point, in order, BEFORE computing the observable.
Explicitly wires algorithms into the exploration so per-point tuning / constraints
are applied at every sweep point — e.g. FIC re-tuning J_i at each E/I ratio.
With this set, the sweep evaluates the full algorithm→observation pipeline per
point (executed sequentially), not a bare simulation. Empty/absent = bare simulation
per point. This is the declarative replacement for any Python per-point driver:
the composition is derived entirely from YAML metadata.'
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
- SimulationExperiment
range: string
multivalued: true
mode:
name: mode
description: 'Combination mode: ''product'' (full grid), ''zip'' (paired)'
from_schema: https://w3id.org/tvbo
ifabsent: string(product)
owner: Exploration
domain_of:
- StimulationSetting
- Exploration
- AlgorithmInclude
- Differentiation
range: string
strategy:
name: strategy
description: Search strategy over the decision space (the `space` axes). 'grid'
(default) exhaustively evaluates the Cartesian/zip grid of axis points — today's
behaviour. 'nsga2' runs an adaptive multi-objective genetic search (pymoo NSGA-II)
that returns the non-dominated Pareto front over `objectives`; axes then supply
only decision-variable bounds (domain lo/hi), and per-strategy hyper-parameters
(population_size, num_generations, seed, reference_point) live in `parameters`.
Extensible later to 'random' / 'sobol' / 'cmaes'. Forward-compatible with the
planned unified `Search.strategy` (see dev/unified_search.qmd).
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: string(grid)
owner: Exploration
domain_of:
- Exploration
range: string
objectives:
name: objectives
description: 'Names of observations minimised by an adaptive `strategy` (e.g.
''nsga2''). Each entry references an existing observation already framed lower-is-better
(e.g. `one_minus_fc`, `psd_mae`). Count sets the semantics: 0 → pure sweep (use
`record`), 1 → single-objective, ≥2 → multi-objective / Pareto. Ignored when
strategy is ''grid''. Forward-compatible with `Search.objectives`.'
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
range: string
multivalued: true
observable:
name: observable
description: 'Observable to compute at each point. Use function: obs_name for
simple observation, or function: func_name + arguments for FunctionCall.'
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
range: FunctionCall
inlined: true
record:
name: record
description: Names of observations to compute and record at EACH grid point, stacked
over the sweep into one array per name. Entries may be derived observations
(e.g. `loss`) or `analysis` diagnostics (e.g. `ad_gradient`, `fd_gradient`,
`lyapunov`) — this is how a sweep of the diagnostics themselves is declared,
replacing any per-point Python driver. Complementary to `observable` (a single
scalar reduction); when both are absent the full observation Bunch is recorded.
from_schema: https://w3id.org/tvbo
owner: Exploration
domain_of:
- Node
- StateVariable
- DerivedVariable
- Exploration
range: string
multivalued: true
n_parallel:
name: n_parallel
description: Parallel evaluations
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: integer(1)
owner: Exploration
domain_of:
- Exploration
range: integer
n_trials:
name: n_trials
description: Number of independent trials per grid point. Each trial uses a different
noise seed. Used for averaging stochastic simulations (e.g., VEP = average of
20 trials).
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: integer(1)
owner: Exploration
domain_of:
- Exploration
range: integer
average:
name: average
description: Averaging mode across trials. 'trials' = average over n_trials independent
runs (evoked potential paradigm). None = return all trials.
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
range: string
parallel_mode:
name: parallel_mode
description: How trial-axis parallelism is realised at codegen time. ``vmap``
batches all trials in parallel (fast, peak memory ~n_trials × per-trial working
set). ``lax_map`` runs them sequentially via ``jax.lax.map`` (slower, peak memory
bounded by one trial). ``pmap`` shards across devices for multi-GPU. ``auto``
(default) picks ``vmap`` when the estimated batched memory fits, ``lax_map``
otherwise.
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
range: ParallelMode
parallel_batch_size:
name: parallel_batch_size
description: Chunk size for ``lax_map`` and chunked-``vmap`` modes. ``1`` = strictly
sequential (minimum memory). Larger values amortise compile overhead across
trials at the cost of memory. Ignored when parallel_mode is ``vmap`` (which
always uses the full n_trials axis).
from_schema: https://w3id.org/tvbo
rank: 1000
owner: Exploration
domain_of:
- Exploration
range: integer
name:
name: name
description: Globally unique identifier for the entity.
from_schema: https://w3id.org/tvbo/common
slot_uri: schema:name
identifier: true
owner: Exploration
domain_of:
- BrainAtlas
- CommonCoordinateSpace
- ParcellationEntity
- DBSProtocol
- ClinicalScale
- ClinicalScore
- SoftwarePackage
- SoftwareRequirement
- SoftwareEnvironment
- Event
- Tractogram
- MeasureSpec
- NamedArray
- GraphGenerator
- Binding
- ProcedureStep
- File
- StateValue
- Observation
- Dynamics
- StateVariable
- Distribution
- Parameter
- CouplingInput
- Argument
- Function
- FunctionCall
- Callable
- DerivedParameter
- DerivedVariable
- DataSource
- OptimizationStage
- Exploration
- Inference
- Prior
- Likelihood
- UpdateRule
- Algorithm
- Option
- BranchSwitch
- Continuation
- Coupling
range: string
required: true
label:
name: label
from_schema: https://w3id.org/tvbo
rank: 1000
slot_uri: rdfs:label
owner: Exploration
domain_of:
- ParcellationTerminology
- Subject
- Session
- Dataset
- Contact
- SoftwareEnvironment
- Equation
- Stimulus
- Event
- Parcellation
- Tractogram
- Matrix
- Phenotype
- Network
- Node
- Edge
- Observation
- Dynamics
- StateVariable
- Parameter
- Function
- FunctionCall
- DerivedVariable
- RandomStream
- DataSource
- OptimizationStage
- Exploration
- ExplorationAxis
- FreeParameter
- Inference
- AlgorithmStage
- TuningObjective
- Continuation
- Coupling
- RegionMapping
- SimulationExperiment
- SimulationStudy
- TimeSeries
- NDArray
- SpatialDomain
- Mesh
- SpatialField
- FieldStateVariable
- DifferentialOperator
- BoundaryCondition
- PDESolver
- PDE
range: string
description:
name: description
from_schema: https://w3id.org/tvbo
rank: 1000
slot_uri: dcterms:description
owner: Exploration
domain_of:
- Dataset
- ClinicalScore
- SoftwarePackage
- SoftwareRequirement
- SoftwareEnvironment
- Equation
- Stimulus
- Event
- Tractogram
- Matrix
- Phenotype
- MeasureSpec
- NamedArray
- Network
- GraphGenerator
- ProcedureStep
- File
- Node
- Edge
- Observation
- Dynamics
- StateVariable
- Parameter
- CouplingInput
- Argument
- Function
- FunctionCall
- Callable
- DerivedParameter
- DerivedVariable
- RandomStream
- DataSource
- OptimizationStage
- Exploration
- ExplorationAxis
- FreeParameter
- Inference
- Prior
- Likelihood
- UpdateRule
- AlgorithmStage
- TuningObjective
- Algorithm
- BranchSwitch
- Continuation
- Integrator
- Coupling
- RegionMapping
- SimulationExperiment
- Study
- TimeSeries
- NDArray
- SpatialDomain
- Mesh
- SpatialField
- FieldStateVariable
- BoundaryCondition
- PDESolver
- PDE
range: string
class_uri: tvbo:Exploration