categorical#

eclypse.policies.distribution.categorical(*, node_assets=None, edge_assets=None, node_distribution=None, edge_distribution=None, node_asset_distributions=None, edge_asset_distributions=None, node_weights=None, edge_weights=None, node_asset_weights=None, edge_asset_weights=None, minimum=0.0, node_ids=None, node_filter=None, edge_ids=None, edge_filter=None)[source]#

Apply multiplicative categorical noise to selected node and edge assets.

Parameters:
  • node_assets (str | list[str] | None) – Node assets to perturb.

  • edge_assets (str | list[str] | None) – Edge assets to perturb.

  • node_distribution (list[float] | None) – Default node multipliers to sample from. Defaults to [0.95, 1.0, 1.05].

  • edge_distribution (list[float] | None) – Default edge multipliers to sample from. Defaults to node_distribution.

  • node_asset_distributions (dict[str, list[float]] | None) – Optional per-node-asset overrides for node_distribution.

  • edge_asset_distributions (dict[str, list[float]] | None) – Optional per-edge-asset overrides for edge_distribution.

  • node_weights (list[float] | None) – Optional default weights for node_distribution.

  • edge_weights (list[float] | None) – Optional default weights for edge_distribution. Defaults to node_weights.

  • node_asset_weights (dict[str, list[float]] | None) – Optional per-node-asset weight overrides.

  • edge_asset_weights (dict[str, list[float]] | None) – Optional per-edge-asset weight overrides.

  • 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 categorical multiplicative

noise.

Return type:

UpdatePolicy