An Efficient Multicore Algorithm for Minimal Length Addition Chains

A minimal length addition chain for a positive integer m is a finite sequence of positive integers such that (1) the first and last elements in the sequence are 1 and m, respectively, (2) any element greater than 1 in the sequence is the addition of two earlier elements (not necessarily distinct), a...

Full description

Bibliographic Details
Main Authors: Hazem M. Bahig, Yasser Kotb
Format: Article
Language:English
Published: MDPI AG 2019-03-01
Series:Computers
Subjects:
Online Access:http://www.mdpi.com/2073-431X/8/1/23
Description
Summary:A minimal length addition chain for a positive integer m is a finite sequence of positive integers such that (1) the first and last elements in the sequence are 1 and m, respectively, (2) any element greater than 1 in the sequence is the addition of two earlier elements (not necessarily distinct), and (3) the length of the sequence is minimal. Generating the minimal length addition chain for m is challenging due to the running time, which increases with the size of m and particularly with the number of 1s in the binary representation of m. In this paper, we introduce a new parallel algorithm to find the minimal length addition chain for m. The experimental studies on multicore systems show that the running time of the proposed algorithm is faster than the sequential algorithm. Moreover, the maximum speedup obtained by the proposed algorithm is 2.5 times the best known sequential algorithm.
ISSN:2073-431X