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 continue
if melodic_norm: if melodic_norm:
w += melodic_norm[i] * config.get("weight_melodic", 1) w *= melodic_norm[i] * config.get("weight_melodic", 1)
if contrary_norm: 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: 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: 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: 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) weights.append(w)
# Store normalized scores (0-1 range) for influence calculation # Store normalized scores (0-1 range) for influence calculation