Research Article

Trajectory Clustering in an Intersection by GDTW

Algorithm 2

(Init_cumulative_and_trace_matrix).
Init_cumulative_and_trace_matrix
Input: series A and B, oba, obb
Return: D: cumulative distance matrix
   K: traceback index matrix
(1) allocate cumulative distance matrix D[A.length, B.length]
(2) allocate traceback matrix K with same size to D
(3) D[0, 0] = local_distance(A[0], B[0])
(4) for i in 1 … A.length-1
(5)   K[i,0], D[i, 0] =  (0,0), local_distance(A[i], B[0])
(6) for j in 1 … B.length-1
(7)   K[0,j], D[0, j] = (0,0), local_distance(A[0], B[j])
(8) if not oba: # use cumulative distance for series A
(9)   for i in 1 … A.length-1
(10)    K[i, 0], D[i, 0] = (i − 1, 0), D[i − 1, 0] +D[i, 0]
(11) if not obb: # use cumulative distance for series B
(12)   for j in 1 … B.length-1
(13)    K[0, j], D[0, j]  =  (0, j − 1), D[0, j − 1] +D[0, j]
(14) return D, K