truncated_normal#
- eclypse.policies.distribution.truncated_normal(*, node_assets=None, edge_assets=None, node_distribution=(1.0, 0.05), edge_distribution=None, node_asset_distributions=None, edge_asset_distributions=None, lower=0.0, upper=None, max_attempts=100, minimum=0.0, node_ids=None, node_filter=None, edge_ids=None, edge_filter=None)[source]#
Apply multiplicative truncated-normal noise to selected assets.
- Parameters:
node_assets (str | list[str] | None) – Node assets to perturb.
edge_assets (str | list[str] | None) – Edge assets to perturb.
node_distribution (tuple[float, float]) – Default
(mean, std)pair used for node multipliers.edge_distribution (tuple[float, float] | None) – Default
(mean, std)pair used for edge multipliers. Defaults tonode_distribution.node_asset_distributions (dict[str, tuple[float, float]] | None) – Optional per-node-asset overrides for
node_distribution.edge_asset_distributions (dict[str, tuple[float, float]] | None) – Optional per-edge-asset overrides for
edge_distribution.lower (float) – Lower bound for sampled multipliers.
upper (float | None) – Optional upper bound for sampled multipliers.
max_attempts (int) – Maximum rejection-sampling attempts before clamping.
minimum (float) – Lower clamp applied after perturbation.
node_ids (list[str] | None) – Optional explicit list of node ids to target.
node_filter (NodeFilter | None) – Optional predicate to filter target nodes.
edge_ids (list[tuple[str, str]] | None) – Optional explicit list of target edges.
edge_filter (EdgeFilter | None) – Optional predicate to filter target edges.
- Returns:
- A graph update policy applying truncated-normal
multiplicative noise.
- Return type: