classDiagram
class Algorithm
click Algorithm href "./Algorithm.html"
Algorithm : apply_every
Algorithm --> "0..1" Integer : apply_every
click Integer href "../http://www.w3.org/2001/XMLSchema#integer.html"
Algorithm : depends_on
Algorithm --> "*" Algorithm : depends_on
click Algorithm href "./Algorithm.html"
Algorithm : description
Algorithm --> "0..1" String : description
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Algorithm : execution
Algorithm --> "0..1" ExecutionConfig : execution
click ExecutionConfig href "./ExecutionConfig.html"
Algorithm : functions
Algorithm --> "*" FunctionCall : functions
click FunctionCall href "./FunctionCall.html"
Algorithm : hyperparameters
Algorithm --> "*" Parameter : hyperparameters
click Parameter href "./Parameter.html"
Algorithm : includes
Algorithm --> "*" AlgorithmInclude : includes
click AlgorithmInclude href "./AlgorithmInclude.html"
Algorithm : learning_rate
Algorithm --> "0..1" Float : learning_rate
click Float href "../http://www.w3.org/2001/XMLSchema#float.html"
Algorithm : learning_rate_schedule
Algorithm --> "0..1" String : learning_rate_schedule
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Algorithm : learning_rate_warmup
Algorithm --> "0..1" Boolean : learning_rate_warmup
click Boolean href "../http://www.w3.org/2001/XMLSchema#boolean.html"
Algorithm : n_iterations
Algorithm --> "0..1" Integer : n_iterations
click Integer href "../http://www.w3.org/2001/XMLSchema#integer.html"
Algorithm : name
Algorithm --> "1" String : name
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Algorithm : objective
Algorithm --> "0..1" TuningObjective : objective
click TuningObjective href "./TuningObjective.html"
Algorithm : observations
Algorithm --> "*" Observation : observations
click Observation href "./Observation.html"
Algorithm : simulation_period
Algorithm --> "0..1" Float : simulation_period
click Float href "../http://www.w3.org/2001/XMLSchema#float.html"
Algorithm : type
Algorithm --> "0..1" String : type
click String href "../http://www.w3.org/2001/XMLSchema#string.html"
Algorithm : update_rules
Algorithm --> "*" UpdateRule : update_rules
click UpdateRule href "./UpdateRule.html"
Class: Algorithm
A complete specification of an iterative parameter tuning algorithm. Combines update rules, objectives, observations, and hyperparameters.
URI: tvbo:class/Algorithm
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| name | 1 xsd:string |
direct | |
| description | 0..1 xsd:string |
direct | |
| execution | 0..1 ExecutionConfig |
Per-algorithm execution configuration (overrides experiment-level defaults) | direct |
| type | 0..1 xsd:string |
Algorithm type: ‘fic’, ‘eib’, ‘homeostatic’, ‘custom’ | direct |
| includes | * AlgorithmInclude |
Include update rules from other algorithms with optional argument overrides | direct |
| objective | 0..1 TuningObjective |
What the algorithm optimizes for | direct |
| observations | * Observation |
References to observations defined in the observations section | direct |
| update_rules | * UpdateRule |
How parameters are updated each iteration | direct |
| hyperparameters | * Parameter |
Additional algorithm-specific parameters | direct |
| learning_rate | 0..1 xsd:float |
Learning rate (eta) for the tuning algorithm | direct |
| learning_rate_warmup | 0..1 xsd:boolean |
Linear warmup of learning rate from 0 to learning_rate over n_iterations | direct |
| n_iterations | 0..1 xsd:integer |
Number of iterations to run | direct |
| learning_rate_schedule | 0..1 xsd:string |
Learning rate schedule: ‘constant’, ‘linear’, ‘exponential’ | direct |
| simulation_period | 0..1 xsd:float |
Duration of each simulation step (e | direct |
| apply_every | 0..1 xsd:integer |
Apply update every N iterations | direct |
| functions | * FunctionCall |
Function calls for tracking progress, computing metrics, etc | direct |
| depends_on | * Algorithm |
Other algorithms that must run first (e | direct |
Usages
| used by | used in | type | used |
|---|---|---|---|
| Optimization | depends_on | range | Algorithm |
| AlgorithmInclude | algorithm | range | Algorithm |
| Algorithm | depends_on | range | Algorithm |
| SimulationExperiment | algorithms | range | Algorithm |
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/tvbo
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | tvbo:Algorithm |
| native | tvbo:Algorithm |
LinkML Source
Direct
name: Algorithm
description: A complete specification of an iterative parameter tuning algorithm.
Combines update rules, objectives, observations, and hyperparameters.
from_schema: https://w3id.org/tvbo
slots:
- name
- description
attributes:
execution:
name: execution
description: Per-algorithm execution configuration (overrides experiment-level
defaults). Useful for setting random_seed per algorithm to ensure reproducibility.
from_schema: https://w3id.org/tvbo
domain_of:
- Optimization
- Exploration
- Algorithm
- SimulationExperiment
range: ExecutionConfig
inlined: true
type:
name: type
description: 'Algorithm type: ''fic'', ''eib'', ''homeostatic'', ''custom'''
from_schema: https://w3id.org/tvbo
domain_of:
- File
- Aggregation
- TuningObjective
- Algorithm
range: string
includes:
name: includes
description: 'Include update rules from other algorithms with optional argument
overrides. Unlike depends_on (sequential), includes means combined execution.
Example: includes: [{algorithm: fic, arguments: [{name: eta, value: 0.1}]}]'
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
range: AlgorithmInclude
multivalued: true
inlined: true
objective:
name: objective
description: What the algorithm optimizes for
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
range: TuningObjective
inlined: true
observations:
name: observations
description: References to observations defined in the observations section. Includes
both simulated observations and external data (via data_source).
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
- SimulationExperiment
range: Observation
multivalued: true
inlined: false
update_rules:
name: update_rules
description: How parameters are updated each iteration. When using 'includes',
update_rules are inherited from included algorithms.
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
range: UpdateRule
required: false
multivalued: true
inlined: true
hyperparameters:
name: hyperparameters
description: Additional algorithm-specific parameters
from_schema: https://w3id.org/tvbo
domain_of:
- OptimizationStage
- Algorithm
range: Parameter
multivalued: true
inlined: true
learning_rate:
name: learning_rate
description: Learning rate (eta) for the tuning algorithm
from_schema: https://w3id.org/tvbo
domain_of:
- OptimizationStage
- Algorithm
range: float
learning_rate_warmup:
name: learning_rate_warmup
description: Linear warmup of learning rate from 0 to learning_rate over n_iterations.
eta_effective = eta * (i+1) / n_iterations
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: boolean(false)
domain_of:
- Algorithm
range: boolean
n_iterations:
name: n_iterations
description: Number of iterations to run
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
range: integer
learning_rate_schedule:
name: learning_rate_schedule
description: 'Learning rate schedule: ''constant'', ''linear'', ''exponential'''
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
range: string
simulation_period:
name: simulation_period
description: Duration of each simulation step (e.g., one BOLD TR)
from_schema: https://w3id.org/tvbo
rank: 1000
domain_of:
- Algorithm
range: float
apply_every:
name: apply_every
description: Apply update every N iterations
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: integer(1)
domain_of:
- Algorithm
range: integer
functions:
name: functions
description: Function calls for tracking progress, computing metrics, etc. Each
FunctionCall references a function from the experiment's functions section and
specifies arguments for that specific algorithm context.
from_schema: https://w3id.org/tvbo
domain_of:
- Dynamics
- Algorithm
- SimulationExperiment
- PDE
range: FunctionCall
multivalued: true
inlined: true
inlined_as_list: true
depends_on:
name: depends_on
description: Other algorithms that must run first (e.g., EIB depends on FIC)
from_schema: https://w3id.org/tvbo
domain_of:
- Optimization
- Algorithm
range: Algorithm
multivalued: trueInduced
name: Algorithm
description: A complete specification of an iterative parameter tuning algorithm.
Combines update rules, objectives, observations, and hyperparameters.
from_schema: https://w3id.org/tvbo
attributes:
execution:
name: execution
description: Per-algorithm execution configuration (overrides experiment-level
defaults). Useful for setting random_seed per algorithm to ensure reproducibility.
from_schema: https://w3id.org/tvbo
alias: execution
owner: Algorithm
domain_of:
- Optimization
- Exploration
- Algorithm
- SimulationExperiment
range: ExecutionConfig
inlined: true
type:
name: type
description: 'Algorithm type: ''fic'', ''eib'', ''homeostatic'', ''custom'''
from_schema: https://w3id.org/tvbo
alias: type
owner: Algorithm
domain_of:
- File
- Aggregation
- TuningObjective
- Algorithm
range: string
includes:
name: includes
description: 'Include update rules from other algorithms with optional argument
overrides. Unlike depends_on (sequential), includes means combined execution.
Example: includes: [{algorithm: fic, arguments: [{name: eta, value: 0.1}]}]'
from_schema: https://w3id.org/tvbo
rank: 1000
alias: includes
owner: Algorithm
domain_of:
- Algorithm
range: AlgorithmInclude
multivalued: true
inlined: true
objective:
name: objective
description: What the algorithm optimizes for
from_schema: https://w3id.org/tvbo
rank: 1000
alias: objective
owner: Algorithm
domain_of:
- Algorithm
range: TuningObjective
inlined: true
observations:
name: observations
description: References to observations defined in the observations section. Includes
both simulated observations and external data (via data_source).
from_schema: https://w3id.org/tvbo
rank: 1000
alias: observations
owner: Algorithm
domain_of:
- Algorithm
- SimulationExperiment
range: Observation
multivalued: true
inlined: false
update_rules:
name: update_rules
description: How parameters are updated each iteration. When using 'includes',
update_rules are inherited from included algorithms.
from_schema: https://w3id.org/tvbo
rank: 1000
alias: update_rules
owner: Algorithm
domain_of:
- Algorithm
range: UpdateRule
required: false
multivalued: true
inlined: true
hyperparameters:
name: hyperparameters
description: Additional algorithm-specific parameters
from_schema: https://w3id.org/tvbo
alias: hyperparameters
owner: Algorithm
domain_of:
- OptimizationStage
- Algorithm
range: Parameter
multivalued: true
inlined: true
learning_rate:
name: learning_rate
description: Learning rate (eta) for the tuning algorithm
from_schema: https://w3id.org/tvbo
alias: learning_rate
owner: Algorithm
domain_of:
- OptimizationStage
- Algorithm
range: float
learning_rate_warmup:
name: learning_rate_warmup
description: Linear warmup of learning rate from 0 to learning_rate over n_iterations.
eta_effective = eta * (i+1) / n_iterations
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: boolean(false)
alias: learning_rate_warmup
owner: Algorithm
domain_of:
- Algorithm
range: boolean
n_iterations:
name: n_iterations
description: Number of iterations to run
from_schema: https://w3id.org/tvbo
rank: 1000
alias: n_iterations
owner: Algorithm
domain_of:
- Algorithm
range: integer
learning_rate_schedule:
name: learning_rate_schedule
description: 'Learning rate schedule: ''constant'', ''linear'', ''exponential'''
from_schema: https://w3id.org/tvbo
rank: 1000
alias: learning_rate_schedule
owner: Algorithm
domain_of:
- Algorithm
range: string
simulation_period:
name: simulation_period
description: Duration of each simulation step (e.g., one BOLD TR)
from_schema: https://w3id.org/tvbo
rank: 1000
alias: simulation_period
owner: Algorithm
domain_of:
- Algorithm
range: float
apply_every:
name: apply_every
description: Apply update every N iterations
from_schema: https://w3id.org/tvbo
rank: 1000
ifabsent: integer(1)
alias: apply_every
owner: Algorithm
domain_of:
- Algorithm
range: integer
functions:
name: functions
description: Function calls for tracking progress, computing metrics, etc. Each
FunctionCall references a function from the experiment's functions section and
specifies arguments for that specific algorithm context.
from_schema: https://w3id.org/tvbo
alias: functions
owner: Algorithm
domain_of:
- Dynamics
- Algorithm
- SimulationExperiment
- PDE
range: FunctionCall
multivalued: true
inlined: true
inlined_as_list: true
depends_on:
name: depends_on
description: Other algorithms that must run first (e.g., EIB depends on FIC)
from_schema: https://w3id.org/tvbo
alias: depends_on
owner: Algorithm
domain_of:
- Optimization
- Algorithm
range: Algorithm
multivalued: true
name:
name: name
from_schema: https://w3id.org/tvbo
rank: 1000
key: true
alias: name
owner: Algorithm
domain_of:
- BrainAtlas
- CommonCoordinateSpace
- ParcellationEntity
- DBSProtocol
- ClinicalScale
- ClinicalScore
- Tractogram
- File
- Observation
- Dynamics
- StateVariable
- Distribution
- Parameter
- CouplingInput
- Argument
- Function
- Callable
- DerivedParameter
- DerivedVariable
- DataSource
- OptimizationStage
- Exploration
- UpdateRule
- Algorithm
- Coupling
- SoftwareEnvironment
- SoftwareRequirement
- SoftwarePackage
range: string
required: true
description:
name: description
from_schema: https://w3id.org/tvbo
rank: 1000
alias: description
owner: Algorithm
domain_of:
- ClinicalScore
- Equation
- Stimulus
- Tractogram
- Matrix
- Network
- File
- Node
- Edge
- Observation
- Dynamics
- StateVariable
- Parameter
- CouplingInput
- Argument
- Function
- Callable
- DerivedParameter
- DerivedVariable
- RandomStream
- DataSource
- OptimizationStage
- Exploration
- UpdateRule
- TuningObjective
- Algorithm
- Integrator
- Coupling
- RegionMapping
- SimulationExperiment
- SimulationStudy
- TimeSeries
- SoftwareEnvironment
- SoftwareRequirement
- SoftwarePackage
- NDArray
- SpatialDomain
- Mesh
- SpatialField
- FieldStateVariable
- BoundaryCondition
- PDESolver
- PDE
range: string