Class: Exploration

Parameter space exploration (grid search, sweep).

URI: tvbo:Exploration

 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 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:Exploration

Induced

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