Skip to main content
Log in

Parallel computations on a graph

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

The problem of parallel computation of the value of a function of multiset of values recorded at the vertices of a directed graph is considered. Computation is performed by automata that are located at the vertices of the directed graph and exchange messages with each other that are transmitted along the arcs of the graph (in the direction of their orientation). It is assumed that the arc capacity, that is, the number of messages that can be simultaneously transmitted through an arc, is limited. Computation is initiated by a message coming from outside to the automaton located at the initial vertex of the graph. At the end of work, the same automaton sends outside the calculated value of the function. Two algorithms are proposed to solve this problem. The first algorithm carries out an analysis of the graph based on its traversal. Its purpose is to mark the graph by a change of the states of the automata at the vertices. Direct and back spanning trees of a graph are constructed. The direct spanning tree is oriented from the root, which is the initial vertex of the graph. The back spanning tree is oriented to the root. In addition, at each vertex, a value of the counter of incoming arcs of the back spanning tree is set. Such marking is used by the second algorithm, which calculates the value of one or other function. This calculation is based on a pulsation algorithm: first, request messages are distributed from the automaton of the initial vertex over the graph, which should reach each vertex, and then response messages are sent from each vertex back to the initial vertex. In fact, the pulsation algorithm calculates aggregate functions for which the value of a function of a union of multisets is calculated by the values of the function of these multisets. However, it is shown that any function f(x) has an aggregate extension; that is, an aggregate function can be calculated as h(f′(x)), where f′ is an aggregate function. Note that the marking of a graph does not depend on a function that will be calculated. This means that the marking of a graph is carried out once; after that, it can be reused for calculating various functions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Skiena, S.S., The Algorithm Design Manual, New York: Springer, 1997.

    MATH  Google Scholar 

  2. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V., Irredundant algorithms for traversing directed graphs: The deterministic case, Programmirovanie, 2003, no. 5, pp. 11–30 [Program. Comput. Software (Engl. Transl.), vol. 29, no. 5, pp. 245–258].

    Google Scholar 

  3. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V., Irredundant algorithms for traversing directed graphs: The nondeterministic case, Programmirovanie, 2004, no. 1, pp. 59–69 [Program. Comput. Software (Engl. Transl.), vol. 30, no. 1, pp. 2–17].

    Google Scholar 

  4. Rabin, M.O., Maze Threading Automata: An unpublished lecture presented at MIT and UC, Berkeley, 1967.

    Google Scholar 

  5. Bourdonov, I.B., Traversal of an unknown directed graph by a finite robot, Programmirovanie, 2004, vol. 30, no. 4, pp. 11–34 [Program. Comput. Software (Engl. Transl.), vol. 30, no. 4, pp. 188–203].

    MathSciNet  Google Scholar 

  6. Bourdonov, I.B., Backtracking problem in the traversal of an unknown directed graph by a finite robot, Programmirovanie, 2004, no. 6, pp. 6–29 [Program. Comput. Software (Engl. Transl.), vol. 30, no. 6, pp. 305–322].

    Google Scholar 

  7. Bourdonov, I.B., and Kossatchev A.S., Traversal of an unknown graph by a collective of automata), Proc. Int. Supercomput. Conf. “Scientific Service in Internet: All Facets of Parallelism, 2013, pp. 228–232 (in Russian).

    Google Scholar 

  8. Bourdonov, I.B., and Kossatchev A.S., Traversal of an unknown Graph by a Collective of Automata, Tr. Inst. Syst. Program., 2014, no. 27, pp. 43–86.

    Google Scholar 

  9. Kushnerenko, A.G., and Lebedev, G.V., Programmirovanie dlya matematikov (Programming for Mathematicians), Moscow: Nauka, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to I. B. Bourdonov.

Additional information

Original Russian Text © I.B. Bourdonov, A.S. Kossatchev, V.V. Kulyamin, 2015, published in Programmirovanie, 2015, Vol. 41, No. 1.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bourdonov, I.B., Kossatchev, A.S. & Kulyamin, V.V. Parallel computations on a graph. Program Comput Soft 41, 1–13 (2015). https://doi.org/10.1134/S0361768815010028

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768815010028

Keywords

Navigation