On efficient parallel computations for some dynamic programming problems (Q1109691): Difference between revisions

From MaRDI portal
Import240304020342 (talk | contribs)
Set profile property.
ReferenceBot (talk | contribs)
Changed an Item
 
(One intermediate revision by one other user not shown)
Property / OpenAlex ID
 
Property / OpenAlex ID: W2047162848 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3948568 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q4091421 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Parallel Matrix and Graph Algorithms / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3761691 / rank
 
Normal rank
Property / cites work
 
Property / cites work: An introduction to parallelism in combinatorial optimization / rank
 
Normal rank
Property / cites work
 
Property / cites work: Parallel computation and conflicts in memory access / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3700838 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q5753770 / rank
 
Normal rank
Property / cites work
 
Property / cites work: On the complexity of parallel parsing of general context-free languages / rank
 
Normal rank
Property / cites work
 
Property / cites work: Parallel time O(log n) recognition of unambiguous context-free languages / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3742751 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Ultracomputers / rank
 
Normal rank
Property / cites work
 
Property / cites work: Fast Parallel Computation of Polynomials Using Few Processors / rank
 
Normal rank

Latest revision as of 18:14, 18 June 2024

scientific article
Language Label Description Also known as
English
On efficient parallel computations for some dynamic programming problems
scientific article

    Statements

    On efficient parallel computations for some dynamic programming problems (English)
    0 references
    0 references
    1988
    0 references
    A general method for parallelization of some dynamic programming algorithms on VLSI was presented by \textit{L. Guibas, H. Kung} and \textit{C. Thompson} [``Direct VLSI implementation of combinatorial algorithms'', in: Proc. Caltech Conf. on VLSI, 509-525 (1979)]. We present a general method for parallelization for the same class of problems on more powerful parallel computers. The method is demonstrated on three typical dynamic programming problems: computing the optimal order of matrix multiplications, the optimal binary search tree and optimal triangulation of polygons. For these problems the dynamic programming approach gives algorithms having a similar structure. They can be viewed as straight- line programs of size \(O(n^ 3)\). The general method of parallelization of such programs described by \textit{L. G. Valiant, S. Skyum, S. Berkowitz} and \textit{C. Rackoff} [SIAM J. Comput. 12, 641-644 (1983; Zbl 0524.68028)] then leads directly to algorithms working in \(\log^ 2n\) time with \(O(n^ 9)\) processors. However we adopt an alternative approach and show that a special feature of dynamic programming problems can be used. They can be thought as generalized parsing problems: find a tree of the optimal decomposition of the problem into smaller subproblems. A parallel pebble game on trees [see the author, in: Combinatorial algorithms on words, NATO ASI Ser., Ser. F 12, 341-356 (1985; Zbl 0578.68041), and in: Proc. conf. on combinatorial analysis and its applications (1985), publ. in Zastosow. Math. (1987)] is used to decrease the number of processors and to simplify the structure of the algorithms. We show that the dynamic programming problems considered can be computed in \(\log^ 2n\) time using \(n^ 6/\log n\) processors on a parallel random-access machine without write conflicts (CREW P-RAM). The main operation is essentially matrix multiplication, which is easily implementable on parallel computers with a fixed interconnection network of processors. Hence the problems considered can also be computed in \(\log^ 2n\) time using \(n^ 6\) processors on a perfect shuffle computer (PSC) or a cube-connected computer (CCC). An extension of the algorithm from an earlier paper of the author [Lect. Notes Comput. Sci. 208, 318-325 (1985; Zbl 0605.68077)] for the recognition of context-free languages on PSC and CCC can be used. If the parallel random access machine with concurrent writes (CRCW P-RAM) is used, then the minimum of m numbers can be determined in constant time and consequently the parallel time for the computation of dynamic programming problems can be reduced from \(\log^ 2n\) to log n. We investigate also the parallel computation of trees realizing the optimal cost of dynamic programming problems.
    0 references
    parallelization of some dynamic programming algorithms
    0 references
    optimal order of matrix multiplications
    0 references
    optimal binary search tree
    0 references
    optimal triangulation of polygons
    0 references
    generalized parsing
    0 references

    Identifiers