Probabilistic programminglanguages rely fundamentally on some notion of sampling, and this is doubly true for probabilistic programminglanguages which perform Bayesian inference using Monte Carlo techniques. Verifyi...
Probabilistic programminglanguages rely fundamentally on some notion of sampling, and this is doubly true for probabilistic programminglanguages which perform Bayesian inference using Monte Carlo techniques. Verifying samplers—proving that they generate samples from the correct distribution—is crucial to the use of probabilistic programminglanguages for statistical modelling and inference. However, the typical denotational semantics of probabilistic programs is incompatible with deterministic notions of sampling. this is problematic, considering that most statistical inference is performed using pseudorandom number *** present a higher-order probabilistic programming language centred on the notion of samplers and sampler operations. We give this language an operational and denotational semantics in terms of continuous maps between topological spaces. Our language also supports discontinuous operations, such as comparisons between reals, by using the type system to track discontinuities. this feature might be of independent interest, for example in the context of differentiable *** this language, we develop tools for the formal verification of sampler correctness. We present an equational calculus to reason about equivalence of samplers, and a sound calculus to prove semantic correctness of samplers, i.e. that a sampler correctly targets a given measure by construction.
Speed improvements in today's processors have largely been delivered in the form of multiple cores, increasing the importance of abstractions that ease parallel programming. Software transactional memory (STM) add...
详细信息
ISBN:
(纸本)9781605583792
Speed improvements in today's processors have largely been delivered in the form of multiple cores, increasing the importance of abstractions that ease parallel programming. Software transactional memory (STM) addresses many of the complications of concurrency by providing a simple and composable model for safe access to shared data structures. Software transactions extend a language with an atomic primitive that declares that the effects of a block of code should not be interleaved with actions executing concurrently on other threads. Adding barriers to shared memory accesses provides atomicity, consistency and isolation. Strongly isolated STMs preserve the safety properties of transactions for all memory operations in a program, not just those inside an atomic block. Isolation barriers are added to non-transactional loads and stores in such a system to prevent those accesses from observing or corrupting a partially completed transaction. Strong isolation is especially important when integrating transactions into an existing language and memory model. Isolation barriers have a prohibitive performance overhead, however, so most STM proposals have chosen not to provide strong isolation. In this paper we reduce the costs of strong isolation by customizing isolation barriers for their observed usage. the customized barriers provide accelerated execution by blocking threads whose accesses do not follow the expected pattern. We use hot swap to tighten or loosen the hypothesized pattern, while preserving strong isolation. We introduce a family of optimization hypotheses that balance verification cost against generality. We demonstrate the feasibility of dynamic barrier optimization by implementing it in a bytecode-rewriting Java STM. Feedback-directed customization reduces the overhead of strong isolation from 505% to 38% across 11 non-transactional benchmarks;persistent feedback data further reduces the overhead to 16%. Dynamic optimization accelerates a multi-threaded t
Monads in category theory are algebraic structures that can be used to model computational effects in programminglanguages. We show how the notion of "centre", and more generally "centrality", i.e...
Monads in category theory are algebraic structures that can be used to model computational effects in programminglanguages. We show how the notion of "centre", and more generally "centrality", i.e., the property for an effect to commute with all other effects, may be formulated for strong monads acting on symmetric monoidal categories. We identify three equivalent conditions which characterise the existence of the centre of a strong monad (some of which relate it to the premonoidal centre of Power and Robinson) and we show that every strong monad on many well-known naturally occurring categories does admit a centre, thereby showing that this new notion is ubiquitous. More generally, we study central submonads, which are necessarily commutative, just like the centre of a strong monad. We provide a computational interpretation by formulating equational theories of lambda calculi equipped with central submonads, we describe categorical models for these theories and prove soundness, completeness and internal language results for our semantics.
this paper describes a Fuzzy Control System applied to the shaft position of a direct current motor of 1/15 H.P. (with a tension of 0 to 24 V at 0.75 A), running from 100 to 6500 R.P.M. the work includes three importa...
详细信息
this paper describes a Fuzzy Control System applied to the shaft position of a direct current motor of 1/15 H.P. (with a tension of 0 to 24 V at 0.75 A), running from 100 to 6500 R.P.M. the work includes three important aspects: Design, Simulation, and Implementation. In this design the Variable Structure System was used to stabilize using 11 If-then rules, and for tuning using the Genetics Algorithms Method, which use 10 fuzzy membership functions. the simulation used a structured programming language based on Turbo C++ to present the variable of interest against the time. the implementation used a personal computer, a converted board A/D and D/A (-5 to volt), a current driver (3 A), a digital encoder of 240 slots, and a real time structured program based also on Turbo C++.
Recent storage systems trade strong consistency for performance, availability, and scalability. However, this makes it hard to understand the semantics that the storage system provides, and also makes the design and i...
详细信息
ISBN:
(数字)9781728142227
ISBN:
(纸本)9781728142234
Recent storage systems trade strong consistency for performance, availability, and scalability. However, this makes it hard to understand the semantics that the storage system provides, and also makes the design and implementation of the storage system itself more error-prone. this paper proposes a comprehensive solution to these problems. In particular, we propose a specification language named ConSpec, which enables the formalization of different consistency semantics that a storage system may provide, using a uniform syntax that is independent of the design and implementation of the target storage system. We use ConSpec to revisit several existing models in light of a common way to define and compare them. Furthermore, we generalize the CAP theorem, whose original formulation only considered linearizability, to precisely define the class of consistency definitions that can and cannot be implemented in a highly-available, partition-tolerant way. Finally, we present the design and implementation of a new consistency checker that takes a trace from a storage system (e.g., the output of a test suite) and validates whether it meets any consistency semantics defined using ConSpec. the evaluation of our consistency checker shows that it is able to verify the correctness of long traces in a reasonable time.
暂无评论