150 likes | 154 Views
Efficient heuristic algorithms for the maximum subarray problem. Rung-Ren Lin and Kun-Mao Chao. Preview. Trying to guess the answer intelligently. Preliminary experiments show that these approaches are very promising for locating the maximum subarray in a given two-dimensional array.
E N D
Efficient heuristic algorithms for the maximum subarray problem Rung-Ren Lin and Kun-Mao Chao
Preview • Trying to guess the answer intelligently. • Preliminary experiments show that these approaches are very promising for locating the maximum subarray in a given two-dimensional array.
Review of Maximum Subarray • Bentley posed the maximum subarray problem in his book “Programming Pearls” in 1984. • He introduces Kadane's algorithm for the one-dimensional case, whose time is linear.
Cont’d • Given an m×n array of numbers, Bentley solved the problem in O(m2n) time. • An improvement O(m2n(loglogm/logm)0.5) was given by Tamaki et al. in 1998. • This algorithm is heavily recursive and complicated.
Heuristic Methods • Given a 2-D array A[1..m][1..n], let TL[i][j] denote the sum of the rectangle A[1..i][1..j]. A TL
Constructing TL Matrix • for i = 2 to n do for j = 1 to n do A[i][j] = A[i][j] + A[i-1][j] A A’
Cont’d • for i = 2 to n do for j = 1 to n do A’[j][i] = A’[j][i] + A’[j][i-1] A’ TL
How to guess? • Each rectangle can be computed by TL matrix, and the answer is MAX( + - - ). • the larger the better. • the smaller the better.
Cont’d • We try only those entries which are in the top k-th, or in the bottom k-th for a given k. • We test only O(k) times instead of O(n) times. Since there are in total O(m2) pairs, this step takes O(km2).
Interesting Questions • 128 gold. • The way to heaven and hell. • 10 smart prisoners.