Abstract

The coarse-grained multicomputer parallel model (CGM for short) has been used for solving several classes of dynamic programming problems. In this paper, we propose a parallel algorithm on the CGM model, with p processors, for solving the optimal binary search tree problem (OBST problem), which is a polyadic non-serial dynamic programming problem. Firstly, we propose a dynamic graph model for solving the OBST problem and show that each instance of this problem corresponds to a one-to-all shortest path problem in this graph. Secondly, we propose a CGM parallel algorithm based on our dynamic graph to solve the OBST problem through one-to-all shortest paths in this graph. It uses our new technique of irregular partitioning of the dynamic graph to try to bring a solution to the well-known contradictory objectives of the minimization of the communication time and the load balancing of the processors in this type of graph. Our solution is based on Knuth’s sequential solution and required {mathcal {O}}left( dfrac{n^2}{p} right) time steps per processor and lceil sqrt{2p} rceil + k times left( {leftlceil dfrac{lceil sqrt{2p} rceil }{2} rightrceil } + 1 right) communication rounds. Integer k is a parameter used in the partitioning technique of our algorithm. This new CGM algorithm performs better than the previously most efficient solution, which uses regular partitioning of the tasks graph.

Highlights

  • IntroductionDynamic programming is a technique that can be applied to solve several combinatorial optimization problems

  • Firstly, we propose a dynamic graph model for solving the OBST problem and show that each instance of this problem corresponds to a one-to-all shortest path problem in this graph

  • Secondly, we proposed a BSP/CGM parallel algorithm based on our dynamic graph to solve the OBST problem

Read more

Summary

Introduction

Dynamic programming is a technique that can be applied to solve several combinatorial optimization problems. The idea in dynamic programming is to order the computations of solutions of subproblems in such a way that each of them is computed once. The problem is subdivided into steps (levels). Each step is composed of several subproblems and has a resolution strategy and a number of associated states. The solution of each of the subproblems of a given step depends only on those of the subproblems belonging to the preceding steps. The complexity of a dynamic programming problem depends on the intensity

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call