Dylan Freedman edited chordprogcomp2.tex  about 9 years ago

Commit id: 3fc1f1f822d984e08687bcc5cbf16184ba395a11

deletions | additions      

       

To retrieve positional information from a completed $H$ matrix, it is helpful to look at an example of the Smith-Waterman algorithm in action. Let the following chord progressions be represented as sequences $a$ and $b$:  \begin{align*}  a &= [C, F, Dm, C,  G, F,  C, G, G] Dm, C]  \\ b &= [C, F, [F,  C, Dm,  G, F, C] C, Dm, C, F]  \\ \end{align*}  This example uses an application of the simple equality chord distance measure \[C_d(c_1,c_2) = \begin{cases} 4 &\text{if }root(c_1) = root(c_2) \lor (nochord(c_1) \land nochord(c_2) \\ -3 &\text{otherwise} \end{cases} \] 

Enumerating the path from the red arrow results in the following sequence of arrows\[ [\nwarrow, \nwarrow, \leftarrow, \nwarrow, \nwarrow, \nwarrow, \uparrow, \nwarrow, \nwarrow] \]  which can be applied to a bijection \[ operationFromArrow(arrow) = \begin{cases} \textit{substitution} &\text{if }arrow = \nwarrow \\ \textit{deletion} &\text{if }arrow = \leftarrow \\ \textit{insertion} &\text{if }arrow = \uparrow \end{cases} \]  and reversed to produce the sequence sequence:  \[ [substitution, substitution, insertion, substitution, substition, substitution, deletion, substitution, substitution] \]  % C, F, C, *, G, F, C, G, Dm, C  % | | ins | | | del | |  % F, C, Dm, G, F, C, *, Dm, C, F  \item Localized comparison, dynamic programming, find minimum number of required "transformations" and optimal localized slice. Dynamic programming  \item Works well with inexact data, can deal with common pitfalls of chord extraction.