15,905 research outputs found

    Trusting Computations: a Mechanized Proof from Partial Differential Equations to Actual Program

    Get PDF
    Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring specific accuracy issues due to their massive use of floating-point computations. Yet, it is uncommon to guarantee their correctness. Indeed, we had to extend existing methods and tools for proving the correct behavior of programs to verify an existing numerical analysis program. This C program implements the second-order centered finite difference explicit scheme for solving the 1D wave equation. In fact, we have gone much further as we have mechanically verified the convergence of the numerical scheme in order to get a complete formal proof covering all aspects from partial differential equations to actual numerical results. To the best of our knowledge, this is the first time such a comprehensive proof is achieved.Comment: N° RR-8197 (2012). arXiv admin note: text overlap with arXiv:1112.179

    The Psychological Dimension of the Lottery Paradox

    Get PDF
    The lottery paradox involves a set of judgments that are individually easy, when we think intuitively, but ultimately hard to reconcile with each other, when we think reflectively. Empirical work on the natural representation of probability shows that a range of interestingly different intuitive and reflective processes are deployed when we think about possible outcomes in different contexts. Understanding the shifts in our natural ways of thinking can reduce the sense that the lottery paradox reveals something problematic about our concept of knowledge. However, examining these shifts also raises interesting questions about how we ought to be thinking about possible outcomes in the first place

    Certified Roundoff Error Bounds Using Semidefinite Programming.

    Get PDF
    Roundoff errors cannot be avoided when implementing numerical programs with finite precision. The ability to reason about rounding is especially important if one wants to explore a range of potential representations, for instance for FPGAs or custom hardware implementation. This problem becomes challenging when the program does not employ solely linear operations as non-linearities are inherent to many interesting computational problems in real-world applications. Existing solutions to reasoning are limited in the presence of nonlinear correlations between variables, leading to either imprecise bounds or high analysis time. Furthermore, while it is easy to implement a straightforward method such as interval arithmetic, sophisticated techniques are less straightforward to implement in a formal setting. Thus there is a need for methods which output certificates that can be formally validated inside a proof assistant. We present a framework to provide upper bounds on absolute roundoff errors. This framework is based on optimization techniques employing semidefinite programming and sums of squares certificates, which can be formally checked inside the Coq theorem prover. Our tool covers a wide range of nonlinear programs, including polynomials and transcendental operations as well as conditional statements. We illustrate the efficiency and precision of this tool on non-trivial programs coming from biology, optimization and space control. Our tool produces more precise error bounds for 37 percent of all programs and yields better performance in 73 percent of all programs

    How Belief-Credence Dualism Explains Away Pragmatic Encroachment

    Get PDF
    Belief-credence dualism is the view that we have both beliefs and credences and neither attitude is reducible to the other. Pragmatic encroachment is the view that practical stakes can affect the epistemic rationality of states like knowledge or justified belief. In this paper, I argue that dualism offers a unique explanation of pragmatic encroachment cases. First, I explain pragmatic encroachment and what motivates it. Then, I explain dualism and outline a particular argument for dualism. Finally, I show how dualism can explain the intuitions that underlie pragmatic encroachment. My basic proposal is that in high-stakes cases, it is not that one cannot rationally believe that p; instead, one ought not to rely on one's belief that p. One should rather rely on one's credence in p. I conclude that we need not commit ourselves to pragmatic encroachment in order to explain the intuitiveness of the cases that motivate it

    Is Your Model Susceptible to Floating-Point Errors?

    Get PDF
    This paper provides a framework that highlights the features of computer models that make them especially vulnerable to floating-point errors, and suggests ways in which the impact of such errors can be mitigated. We focus on small floating-point errors because these are most likely to occur, whilst still potentially having a major influence on the outcome of the model. The significance of small floating-point errors in computer models can often be reduced by applying a range of different techniques to different parts of the code. Which technique is most appropriate depends on the specifics of the particular numerical situation under investigation. We illustrate the framework by applying it to six example agent-based models in the literature.Floating Point Arithmetic, Floating Point Errors, Agent Based Modelling, Computer Modelling, Replication
    corecore