diff --git a/src/path.py b/src/path.py index 59a5c1e..9cc5278 100644 --- a/src/path.py +++ b/src/path.py @@ -218,17 +218,17 @@ class Path: continue if melodic_norm: - w += melodic_norm[i] * config.get("weight_melodic", 1) + w *= melodic_norm[i] * config.get("weight_melodic", 1) if contrary_norm: - w += contrary_norm[i] * config.get("weight_contrary_motion", 0) + w *= contrary_norm[i] * config.get("weight_contrary_motion", 0) if hamiltonian_norm: - w += hamiltonian_norm[i] * config.get("weight_dca_hamiltonian", 1) + w *= hamiltonian_norm[i] * config.get("weight_dca_hamiltonian", 1) if dca_norm: - w += dca_norm[i] * config.get("weight_dca_voice_movement", 1) + w *= dca_norm[i] * config.get("weight_dca_voice_movement", 1) if target_norm: - w += target_norm[i] * config.get("weight_target_range", 1) + w *= target_norm[i] * config.get("weight_target_range", 1) - step.weight = w + step.weight = w**16 weights.append(w) # Store normalized scores (0-1 range) for influence calculation