Reasoning about probabilistic parallel programs

The use of randomization in the design and analysis of algorithms promises simple and efficient algorithms to difficult problems, some of which may not have a deterministic solution. This gain in simplicity, efficiency, and solvability results in a trade-off of the traditional notion of absolute correctness of algorithms for a more quantitative notion: correctness with a probability between 0 and 1. The addition of the notion of parallelism to the already unintuitive idea of randomization makes reasoning about probabilistic parallel programs all the more tortuous and difficult. In this paper we address the problem of specifying and deriving properties of probabilistic parallel programs that either hold deterministically or with probability 1. We present a proof methodology based on existing proof systems for probabilistic algorithms, the theory of the predicate transformer, and the theory of UNITY. Although the proofs of probabilistic programs are slippery at best, we show that such programs can be derived with the same rigor and elegance that we have seen in the derivation of sequential and parallel programs. By applying this methodology to derive probabilistic programs, we hope to develop tools and techniques that would make randomization a useful paradigm in algorithm design.

[1]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[2]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[3]  Scott A. Smolka,et al.  Algebraic Reasoning for Probabilistic Concurrent Systems , 1990, Programming Concepts and Methods.

[4]  Josyula R. Rao Eventual Determinism: Using Probabilistic Means to Achieve Deterministic Ends , 1996, Parallel Algorithms Appl..

[5]  S. Hart,et al.  Termination of Probabilistic Concurrent Programs. , 1982 .

[6]  Micha Sharir,et al.  Probabilistic Propositional Temporal Logics , 1986, Inf. Control..

[7]  Ted Herman,et al.  Probabilistic Self-Stabilization , 1990, Information Processing Letters.

[8]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[9]  Scott A. Smolka,et al.  Equivalences, Congruences, and Complete Axiomatizations for Probabilistic Processes , 1990, CONCUR.

[10]  Amos Israeli,et al.  Token management schemes and random walks yield self-stabilizing mutual exclusion , 1990, PODC '90.

[11]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[12]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[13]  Josyula Ramachandra Rao Building on the unity experience: compositionality, fairness and probability in parallelism , 1992 .

[14]  Micha Sharir,et al.  Probabilistic temporal logics for finite and bounded models , 1984, STOC '84.

[15]  Micha Sharir,et al.  Termination of Probabilistic Concurrent Program , 1983, TOPL.

[16]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[17]  Janusz A. Brzozowski,et al.  Dot-Depth of Star-Free Events , 1971, Journal of computer and system sciences (Print).

[18]  Micha Sharir,et al.  Concurrent Probabilistic Programs, Or: How to Schedule if You Must , 1985, SIAM J. Comput..

[19]  Saharon Shelah,et al.  Reasoning with Time and Chance , 1982, Inf. Control..

[20]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[21]  Amir Pnueli,et al.  On the extremely fair treatment of probabilistic algorithms , 1983, STOC.

[22]  Amir Pnueli,et al.  Symmetric and Economical Solutions to the Mutual Exclusion Problem in a Distributed System , 1984, Theor. Comput. Sci..

[23]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[24]  C. Jones,et al.  A probabilistic powerdomain of evaluations , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[25]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).