From 146918c596523ce2e500e4ba81756eae32f5da1e Mon Sep 17 00:00:00 2001 From: Michael Winter Date: Tue, 17 Mar 2026 08:41:18 +0100 Subject: [PATCH] final weight is now product of factors raised to an exponent rather than sum --- src/path.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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