Analysis and Optimization of the Packing Tree Search Algorithm for the Knapsack Problem

Irina S. Slonkina, Mikhail Andreevich Kupriyashin, Georgii I. Borzunov · 2019

The Packing Tree Search algorithm proved to be one of the best exact algorithms for the Knapsack Problem in cryptography: while free from the memory-related limitations of the Horowitz-Sahni list merging algorithm, it still offers a significant performance boost if compared to the Exhaustive Search algorithm. The algorithm also seems to be scalable, albeit the parallel computation efficiency may be as low as 50-60%. In this paper, we consider improvements to the base algorithm to reduce its complexity. In particular, we study the dynamic packing weight calculation, the replacement of stack-based and linearization-based tree traversal techniques with faster step-based traversal routines and substitution of the original problem instance with the conjugate in case it reduces the complexity. In conclusion, we analyze the impact of these improvements on the acceleration and efficiency of parallel computation.

Read the paper · More papers on PaperTik