reduce#
- eclypse.policies.degrade.reduce(*, factor=None, target=None, epochs=None, node_assets=None, edge_assets=None, node_asset_overrides=None, edge_asset_overrides=None, node_ids=None, node_filter=None, edge_ids=None, edge_filter=None)[source]#
Reduce selected asset values over a fixed number of epochs.
The policy applies either a relative
factoror an absolutetargetto the selected node and edge assets. Default parameters can be provided once and then refined withnode_asset_overridesoredge_asset_overridesfor specific assets.- Parameters:
factor (float | None) – Relative multiplicative factor applied to each selected asset. Provide either
factorortarget.target (float | None) – Absolute value reached by each selected asset at the end of the adjustment horizon. Provide either
factorortarget.epochs (int | None) – Number of evolution steps over which the reduction is applied.
node_assets (str | list[str] | None) – Node asset names using the default adjustment configuration.
edge_assets (str | list[str] | None) – Edge asset names using the default adjustment configuration.
node_asset_overrides (ValueAdjustmentOverrides | None) – Per-node-asset overrides for
factor,target, orepochs.edge_asset_overrides (ValueAdjustmentOverrides | None) – Per-edge-asset overrides for
factor,target, orepochs.node_ids (list[str] | None) – Optional subset of node identifiers to update.
node_filter (NodeFilter | None) – Optional predicate used to select nodes dynamically.
edge_ids (list[tuple[str, str]] | None) – Optional subset of edge identifiers to update.
edge_filter (EdgeFilter | None) – Optional predicate used to select edges dynamically.
- Returns:
A graph update policy that reduces the selected asset values.
- Return type: