The expert level test cases were finally revealed today (Oct 4 2011) and I'm glad to see that I was right. The accepted solution was, in fact, sub-optimal. Here's a comparison of the expected output to the output produced by the Karmarkar-Karp algorithm:
# | Test case | Expected (Greedy) | Karmarkar-Karp |
1 | 10:2:{2,3,10,5,8, 9,7,3,5,2} | {27,27} | 0(5): {9 8 5 3 2 } : 27 1(5): {10 7 5 3 2 } : 27 Result: 27 27 |
2 | 17:2:{223,323,124,58,343, 34,85,73,232,74, 267,278,261,145,284, 447,3} | {1631,1623} | 0(8): {447 284 278 261 223 73 58 3 } : 1627 1(9): {343 323 267 232 145 124 85 74 34 } : 1627 Result: 1627 1627 |
3 | 24:5:{2,3,10,5,8, 9,7,3,5,6, 2,4,6,3,4, 3,7,9,34,2, 3,5,3,2} | {40,27,26,26,26} | 0(4): {34 2 2 2 } : 40 1(5): {8 7 5 4 3 } : 27 2(5): {9 7 5 3 2 } : 26 3(5): {9 6 5 3 3 } : 26 4(5): {10 6 4 3 3 } : 26 Result: 40 27 26 26 26 |
4 | 5:3:{10,20,90,200,100} | {200,110,110} | 10 20 90 200 100 0(1): {200 } : 200 1(2): {90 20 } : 110 2(2): {100 10 } : 110 Result: 200 110 110 |
5 | 11:1:{23,43,10,56,38, 29,67,43,43,52, 22} | {426} | Result: 426 |
6 | 10:2:{1,1,1,1,9, 1,1,1,1,1} | {13,5} | 0(5): {9 1 1 1 1 } : 13 1(5): {1 1 1 1 1 } : 5 Result: 13 5 |
7 | 34:7:{1,2,3,4,5, 6,7,8,9,10, 11,12,13,14,15, 16,21,53,74,346, 347,348,349,500,23, 25,26,27,47,6, 7,8,9,1} | {504,382,381,380,379, 164,163} | 0(4): {500 2 1 1 } : 504 1(5): {346 14 8 8 4 } : 380 2(5): {349 12 10 7 3 } : 381 3(5): {348 11 9 7 6 } : 381 4(5): {347 13 9 6 5 } : 380 5(5): {74 27 26 21 16 } : 164 6(5): {53 47 25 23 15 } : 163 Result: 504 380 381 381 380 164 163 |
8 | 15:7:{1,2,3,4,5, 6,7,8,9,10, 11,12,13,14,51} | {52,19,17,17,17, 17,17} | 0(2): {51 1 } : 52 1(3): {13 3 2 } : 18 2(2): {14 4 } : 18 3(2): {9 8 } : 17 4(2): {10 7 } : 17 5(2): {11 6 } : 17 6(2): {12 5 } : 17 Result: 52 18 18 17 17 17 17 |
9 | 25:8:{223,323,124,58,343, 34,85,73,232,74, 267,278,261,145,284, 447,3,1,2,3, 4,5,6,7,8} | {456,452,409,405,401, 397,392,378} | 0(3): {232 223 1 } : 456 1(3): {447 2 3 } : 452 2(3): {261 145 4 } : 410 3(3): {323 73 5 } : 401 4(3): {343 58 3 } : 404 5(3): {278 74 34 } : 386 6(3): {267 124 6 } : 397 7(4): {284 85 8 7 } : 384 Result: 456 452 410 401 404 386 397 384 |
Test case #2 clearly shows, that the results produced by the Karmarkar-Karp algorithm are definitely better than the Greedy algorithm.
No comments:
Post a Comment