Associativity for Binary Parallel Processes: A Quantitative Study

We investigate the common interpretation of parallel processes as computation trees. The basis for our approach is the combinatorics of increasingly labelled structures, and our main objective is to provide quantitative results relying on advanced analytic techniques. Unlike previous works, the combinatorial model we propose captures the following ingredients of the algebraic presentation : a binary parallel operator with associativity law. The switch from general trees to binary encodings in this paper makes everything more complex (but eventually workable). Ultimately, we provide a precise characterization and asymptotic approximations of various measures of parallel processes in the average case, especially the average size of the computation trees and their average number of paths, providing a more meaningful notion of combinatorial explosion than in the (rather trivial) worst-case. Beyond the measures, we also provide a precise characterization of the typical combinatorial shape of the computation trees, especially their level-decomposition, an interesting notion of process depth. From a more practical point of view, we develop efficient algorithms for the uniform random sampling of computations. Thanks to our typical shape analysis, it is possible to uniformly sample computation prefixes at a given depth in a very efficient way. Indeed, these algorithms work directly on the syntax trees of the processes and do not require the explicit construction of the state space, hence completely avoiding the combinatorial explosion.

[1]  Philippe Flajolet,et al.  Birthday Paradox, Coupon Collectors, Caching Algorithms and Self-Organizing Search , 1992, Discret. Appl. Math..

[2]  Olivier Bodini,et al.  The Combinatorics of Non-determinism , 2013, FSTTCS.

[3]  Philippe Flajolet,et al.  Varieties of Increasing Trees , 1992, CAAP.

[4]  Mike Zabrocki,et al.  Analytic aspects of the shuffle product , 2008, STACS.

[5]  Jean-Yves Thibon,et al.  Noncommutative Symmetric Functions VII: Free Quasi-Symmetric Functions Revisited , 2008, 0809.4479.

[6]  P. Flajolet,et al.  Analytic Combinatorics: RANDOM STRUCTURES , 2009 .

[7]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[8]  Cyril Nicaud,et al.  Average Case Analysis of Moore’s State Minimization Algorithm , 2011, Algorithmica.

[9]  Gaston H. Gonnet,et al.  On the LambertW function , 1996, Adv. Comput. Math..

[10]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[11]  Herbert S. Wilf,et al.  Combinatorial Algorithms: An Update , 1987 .

[12]  Stefan Gerhold,et al.  On Some Non-Holonomic Sequences , 2004, Electron. J. Comb..

[13]  Jean Mairesse,et al.  Computing the average parallelism in trace monoids , 2001, Discret. Math..

[14]  Philippe Flajolet,et al.  Singularity Analysis of Generating Functions , 1990, SIAM J. Discret. Math..

[15]  T. F. Móri On random trees , 2002 .

[16]  Philippe Flajolet,et al.  Analytic Combinatorics , 2009 .

[17]  O. Bodini,et al.  Enumeration and Random Generation of Concurrent Computations , 2012 .

[18]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .