final weight is now product of factors raised to an exponent rather than sum

This commit is contained in:
Michael Winter 2026-03-17 08:41:18 +01:00
parent 7809fa5a76
commit 146918c596

View file

@ -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