A Unification of Probablilistic Choice within a Design-based Model of Reversible Computation University of Teesside Formal Methods and Programming Research Group (original) (raw)
Related papers
A unification of probabilistic choice within a design-based model of reversible computation
Formal Aspects of Computing, 2013
We see reversible computing as a generalisation of sequential computation obtained by revoking the law of the excluded miracle. Our execution language includes naked guarded commands and non-deterministic choice. Choices which lead to miraculous continuations invoke reverse computation, and non-deterministic choice plays the rôle of provisional choice within a backtracking context. We require probabilistic choice for symmetry breaking and sampling large search spaces, but must formulate it differently from previous approaches to obtain the required interactions between probabilistic choice and non-deterministic choice and between probabilistic choice and feasibility. Our formulation allows us to derive the post-distributions which characterise a program, and we use these to construct a relational model. We consider refinement as containment of convex closures within distribution space, qualified with additional conditions to avoid over-refinement. We link the non-probabilistic and probabilistic versions of the model with a Galois connection and show that classical designs are a retract of our probabilistic designs. We consider the interaction between probabilistic and non-deterministic choice and find the same initially counter-intuitive results that have been noted by other investigators. We provide an alternative formulation, within the same model, of oblivious non-determinism, which allows all non-deterministic choices to be moved to the start of a computation. We consider the interaction between probabilistic choice and feasibility that is required to match an operational interpretation in which infeasible commands provoke reverse execution, and we present a small case study to show how the interaction between probabilistic choice and feasibility can be exploited in a practical program. All programming structures described here are supported by our implementation platform, the Reversible Virtual Machine, whose development has accompanied our theoretical investigations. This technical report is a working document. A peer reviewed version of this work has been accepted for publication in the Formal Aspects of Computing Special Issue on Unifying Theories of Programming.
A Design-based model of reversible computation
2006
Abstract. We investigate, within the UTP framework of designs, the effect of seeing computation as an essentially reversible process. We describe the theoretical link between reversibility and the minimum power requirements of a computation, and we review Zuliani’s work on Reversible pGCL which brings reversible computing within the scope of formal software development. We propose an alternative formalisation of reversible computing which exploits reversibility to provide backtracking. To obtain a basic backtracking language able to search for a single result we exploit the already recognised properties of non-deterministic choice, using it as provisional choice rather than implementor’s choice. We add a “prospective values ” formalism which can describe programs that return all the possible results of a search, and we show how to formally describe the premature termination of such a search, a mechanism analogous to the “cut ” of Prolog. An appendix describes some aspects of the wp ...
Demonic, angelic and unbounded probabilistic choices in sequential programs
Acta Informatica, 2001
Probabilistic predicate transformers extend standard predicate transformers by adding probabilistic choice to (transformers for) sequential programs; demonic nondeterminism is retained. For finite state spaces, the basic theory is set out elsewhere [17], together with a presentation of the probabilistic 'healthiness conditions' that generalise the 'positive conjunctivity' of ordinary predicate transformers. Here we expand the earlier results beyond ordinary conjunctive transformers, investigating the structure of the transformer space more generally: as Back and von Wright [1] did for the standard (nonprobabilistic) case, we nest deterministic, demonic and demonic/angelic transformers, showing how each subspace can be constructed from the one before. We show also that the results hold for infinite state spaces. In the end we thus find characteristic healthiness conditions for the hierarchies of a system in which deterministic, demonic, probabilistic and angelic choices all coexist.
EÆcient \reversibility" with guards and choice
2003
We describe reversibility mechanisms incorporated into a native code Forth used an an intermediate language for a B-GSL compiler. In contrast to our previous work, information preservation is limited to what is needed to implement the B-GSL semantics for non-deterministic choice and guard. Design choices are discussed with reference to the Pentium architecture. The use of guards and choice in Forth is illustrated with the Knight's Tour.
A structural approach to reversible computation
2005
Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on simulations of low-level machine models. By contrast, we develop a more structural approach. We show how high-level functional programs can be mapped compositionally (ie in a syntax-directed fashion) into a simple kind of automata which are immediately seen to be reversible.
Springer eBooks, 2006
We investigate, within the UTP framework of designs, the effect of seeing computation as an essentially reversible process. We describe the theoretical link between reversibility and the minimum power requirements of a computation, and we review Zuliani's work on Reversible pGCL which brings reversible computing within the scope of formal software development. We propose an alternative formalisation of reversible computing which exploits reversibility to provide backtracking. To obtain a basic backtracking language able to search for a single result we exploit the already recognised properties of non-deterministic choice, using it as provisional choice rather than implementor's choice. We add a "prospective values" formalism which can describe programs that return all the possible results of a search, and we show how to formally describe the premature termination of such a search, a mechanism analogous to the "cut" of Prolog. An appendix describes some aspects of the wp calculus in terms of designs, as needed for our proofs. Support for the programming structures described has been incorporated in a reversible virtual machine running under i386 Linux.
Probabilistic choice, reversibility, loops, and miracles
2010
This symposium followed on the success of the first one, held at Walworth Castle (Durham, UK) in 2006, and the second, held at Trinity College (Dublin, Ireland) in 2008. Based on the pioneering work of C.A.R. Hoare, He Jifeng, and others on unifying theories of programming, the aims of this symposium series are, as stated in UTP 2008, to continue to reaffirm the significance of the ongoing UTP project, to encourage efforts to advance it by providing a focus for the sharing of results by those already actively contributing, and to raise awareness of the benefits of such a unifying theoretical framework among the wider computer science and software engineering communities. The program for the UTP 2010 symposium includes one invited tutorial, three invited talks, and 12 regular paper presentations. I would like to warmly thank our invited speakers, Ana Cavalcanti, He Jifeng, Jeff Sanders and Jim Woodcock, as well as all the authors, for their enthusiastic and engaged participation in this event. There were in total 25 submissions made to UTP 2010. Each submission was reviewed by at least three PC members. Based on the reviewers' comments, the Program Committee had careful online discussions and decided to select 12 papers to be included in the UTP 2010 proceedings. I would like to thank all Program Committee members, not only for the excellent work in the paper review and selection process, but also for their useful comments and suggestions on the organization of this symposium. It would not have been possible to form such a high-quality program without their hard work. Thanks should also be given to Jim Woodcock and Huibiao Zhu for the help and discussions especially in the initial stage of the organization, to Jeff Sanders for valuable comments and suggestions on the UTP event, and to Geguang Pu and his colleagues for excellent local organization for both UTP and ICFEM. This symposium was organized using, and these proceedings were assembled with the assistance of, EasyChair (www.easychair.org). I would like to thank them for being there all the time!
Preference and Non-deterministic Choice
Lecture Notes in Computer Science, 2010
After reviewing a previously reported relational model of reversible computing, in which non-deterministic choice may represent provisional choice subject to revision by backtracking, we narrate our attempts to express preference within choice. We begin our investigations by recalling Nelson's extensions to Dijkstra's calculus, and considering his biased-choice operator as a model of preference. However, we find that this is too shortsighted for our purpose, and we outline the necessity of incorporating a notion of continuation. After considering how this might be achieved in a predicate-transformer approach, we adopt instead a prospective-value semantics that is easily extensible to probabilistic choice; here, we find a clue that helps us to obtain a first formulation of preference. Our formulation, however, takes us into a world of nonmonotonic computations, and we are motivated to move on. We look for further inspiration within the execution structures of our reversible virtual machine which provides a construct that records all results of a backtracking search. We add a modified version that records results sequentially, and take its description as the basis for a "temporal order of continuations" semantics, to which we add implementor's choice, which is now quite distinct from provisional choice. We give a refinement relation and prove the monotonicity of the new semantics and its consistency with respect to our previous prospective-values formalism.
Refinement of probabilistic systems with nondeterminism
Before we combine actions and probabilities two very obvious questions should be asked. Firstly, what does "the probability of an action" mean? Secondly, how does probability interact with nondeterminism? Neither question has a single universally agreed upon answer but by considering these questions at the outset we build a novel and hopefully intuitive probabilistic event-based formalism. In previous work we have characterised refinement via the notion of testing. Basically, if one system passes all the tests that another system passes (and maybe more) we say the first system is a refinement of the second. This is, in our view, an important way of characterising refinement, via the question "what sort of refinement should I be using?" We use testing in this paper as the basis for our refinement. We develop tests for probabilistic systems by analogy with the tests developed for non-probabilistic systems. We make sure that our probabilistic tests, when performed on non-probabilistic automata, give us refinement relations which agree with for those non-probabilistic automata. We formalise this property as a vertical refinement.
Eventual Determinism: Using Probabilistic Means to Achieve Deterministic Ends
Parallel Algorithms and Applications, 1996
we inlroduce a new paradigm for the design of parallel algorithms called eventual determinism. Eventually-deterrninizing algorithms aTe designed to combine the advantages of probabilistic and deterministic algorithms. Typically, a probabi&ic algorithm is used for a task that either can be done more efficiently probabilistically or cannot be accomplished deterministically (e.g. breaking symmetry). Once this has been accomplished, a process can start executing a d&Tministic algorithm fo? the same problem to take advantage of determinacy (e.g. Ihe worst case complexities bounded). We illustrate the design of eventuallydeterminizing algo&hms with examples from conflictresolution and self-stabilization.