## 4 Method Evolution and Future Improvements
### Method Development Milestones  
This section highlights the basic steps that were followed and led to the development of the presented version of the method. These steps are divided into three \"milestone\" versions of the algorithms that are briefly outlined. There are two goals in presenting those milestones: (a) to clarify in isolation the improvement of each component that was added or modified in incremental fashion in the proposed method and (b) to discuss what has been tested in previous versions and how and why it did not work. **Milestone 1. ** The first attempt was based on a straightforward idea: to create a weighted average between the transition matrices of Song B and of all the songs of the entire idiom (support matrix), e.g., create a transition matrix as the sum \(0.7\cdot T+0.3\cdot S\). This idea involved smoothening zero entries for avoiding zero column entries in \(\Delta\) and did not incorporate any penalty for chord-melody mismatch; the chord with the strongest match with the melody was receiving a higher probability, regardless of how many melodic notes it was missing. The problem with this version was that even the slightest contribution of \(S\) in the weighted sum led ultimately to the prevalence of \(S\), which was \"saturating\" the trellis diagram, almost regardless of the selection of Song B, leading to \"run-of-the-mill\" re-harmonizations that reflected generic attributes of the jazz standards. This behaviour was occurring because even the slightest incompatibility between the melody or constraints in Song A and the chord transitions in Song B was sidetracking the algorithm to select songs that ultimately belonged only to \(S\). **Milestone 2. ** The second version did not incorporate smoothening of the involved matrices and was employing support solely in the case of a zero column in \(\Delta\), as presented in Section 2.3. This approach was not sidetracking all the decisions of the algorithm, since, at any given time step, only \(T\) was examined first and \(S\) was employed only if all possibilities for transition in \(T\) were zero. With this approach, at any given time step, only the trellis paths that were providing at least the slightest possibility for chords in Song B (expressed by transitions in \(T\)) were first examined, disregarding \(S\) and disallowing it to \"saturate\" the trellis diagram. The problem with this version was that chord selection was very restrictive to the exact types in Song B. Since no chord-melody mismatch penalty was yet introduced at this point, the exact chords of Song B would somehow fit in melodic segments that involved at least one matching relative pitch class. However, when music experts were presented with the results of this version, they were constantly identifying \"missed opportunities\" for employing chords of the same overall quality (e.g., major, minor,dominant, etc. ), but with specific extensions and alterations that were more suitable to the underlying melody. **Milestone 3. ** The third version, the one before the version presented in this paper, integrated chord grouping as discussed in Section 2.2. This rudimentary approach to chord grouping enabled great improvement, according to music experts, since the basic harmonic concepts of Song B were becoming present, even if they were expressed with chord types that were not exactly the same as in Song B. Substituting chord types was considered, in fact, by music experts as a sign of \"adaptability\" of the algorithm to the demands of the melodic conditions in Song A. The problem with this version was that the algorithm was too forgiving when it came to melody-chord mismatches. The current version, presented in Section 2, added a large penalty for even a single melody-chord mismatch, which improved the results significantly. There are still identified aspects that can be improved, but the current version presents an opportunity to focus the study clearly on the effects of grouping and support utilization.