Q&A 30.3 — GoalPrioritizer #653
Unanswered
web3guru888
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Q&A: Phase 30.3 — GoalPrioritizer
Q1: Why Pareto optimization instead of a simple weighted sum?
A: A weighted sum collapses 5D scores into a scalar, losing information about tradeoffs. Pareto front analysis preserves the multi-objective nature — goals on front 0 are non-dominated, meaning no other goal is better on ALL dimensions. This lets the DriveRegulator (30.4) and AutonomyOrchestrator (30.5) make informed tradeoff decisions rather than accepting the ranking from an opaque scalar.
Q2: How does the ConflictDetector handle transitive conflicts (A conflicts with B, B with C)?
A: Conflict detection is pairwise — each pair is checked independently. Transitive conflicts are NOT automatically inferred (A↔B + B↔C does NOT imply A↔C). This is intentional: A and C may be compatible even though both conflict with B. The penalty is applied per-conflict, so a goal conflicting with many others gets a larger cumulative penalty.
Q3: What happens when all goals are below min_threshold?
A: The prioritizer returns an empty list. The AutonomyOrchestrator (30.5) handles this by emitting an "idle" decision — the system monitors but doesn't act. This is a feature, not a bug: it prevents action when no sufficiently valuable goal exists, conserving resources.
Q4: How fast is the Pareto sort for large goal sets?
A: Non-dominated sorting (NSGA-II) is O(MN²) where M = dimensions (5) and N = goals (≤20). With N=20 and M=5, this is ~2000 comparisons — sub-millisecond. If N ever grows much larger, we can switch to the O(MN log^(M-1) N) algorithm by Kung et al.
Q5: Can dimension weights be negative (e.g., penalizing novelty)?
A: No — weights are constrained to [0, 1] and normalized to sum to 1.0. Setting a weight to 0.0 effectively disables that dimension. The DynamicReweighter clamps weight adjustments to prevent negatives. If the system needs to actively avoid novelty, the NOVELTY scoring function itself should return low values for familiar goals.
Q6: How does the conflict_penalty interact with Pareto front membership?
A: Pareto front assignment is computed BEFORE conflict penalties. Penalties reduce the composite_score but do NOT change front membership. A goal on front 0 with 3 conflicts will have a lower composite_score than a conflict-free front-0 goal, but both remain on front 0. This ensures conflict resolution doesn't distort the multi-objective structure.
Beta Was this translation helpful? Give feedback.
All reactions