English
Related papers

Related papers: Join Inverse Rig Categories for Reversible Functio…

200 papers

With the increased interest in machine learning, and deep learning in particular, the use of automatic differentiation has become more wide-spread in computation. There have been two recent developments to provide the theoretical support…

Category Theory · Mathematics 2021-01-27 Geoffrey Cruttwell , Jonathan Gallagher , Dorette Pronk

A novel model of reversible computing, the $\aleph$-calculus, is introduced. It is declarative, reversible-Turing complete, and has a local term-rewriting semantics. Unlike previously demonstrated reversible term-rewriting systems, it does…

Programming Languages · Computer Science 2022-06-14 Hannah Earley

Reversible computing is a concept reflecting physical reversibility. Until now several reversible systems have been investigated. In a series of papers Kenichi Morita defines the rotary element RE, that is a reversible logic element. By…

Other Computer Science · Computer Science 2015-03-17 Serban E. Vlad

We show how to define forward- and reverse-mode automatic differentiation source-code transformations or on a standard higher-order functional language. The transformations generate purely functional code, and they are principled in the…

Programming Languages · Computer Science 2021-01-25 Matthijs Vákár

Disjunctive finitary programs are a class of logic programs admitting function symbols and hence infinite domains. They have very good computational properties, for example ground queries are decidable while in the general case the stable…

Artificial Intelligence · Computer Science 2009-05-25 Sabrina Baselice , Piero A. Bonatti , Giovanni Criscuolo

Reversible forms of computations are often interesting from an energy efficiency point of view. When the computation device in question is an automaton, it is known that the minimal reversible automaton recognizing a given language is not…

Formal Languages and Automata Theory · Computer Science 2017-08-23 Kitti Gelle , Szabolcs Iván

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also…

Programming Languages · Computer Science 2023-03-28 David Chiang , Colin McDonald , Chung-chieh Shan

This PhD dissertation investigates garbage-free reversible computing systems from abstract design to physical gate-level implementation. Designed in reversible logic, we propose a ripple-block carry adder and work towards a reversible…

Programming Languages · Computer Science 2023-09-22 Michael Kirkedal Thomsen

Reversible computing is a paradigm of computation that reflects physical reversibility, one of the fundamental microscopic laws of Nature. In this survey, we discuss topics on reversible logic elements with memory (RLEM), which can be used…

Formal Languages and Automata Theory · Computer Science 2013-09-06 Kenichi Morita

Algorithms are ways of mapping problems to solutions. An algorithm is invertible precisely when this mapping is injective, such that the initial problem can be uniquely inferred from its solution. While invertible algorithms can be…

Programming Languages · Computer Science 2022-12-08 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

Reversible distributed programs have the ability to abort unproductive computation paths and backtrack, while unwinding communication that occurred in the aborted paths. While it is natural to assume that reversibility implies full state…

Programming Languages · Computer Science 2016-02-12 Geoffrey Brown , Amr Sabry

A circular program contains a data structure whose definition is self-referential or recursive. The use of such a definition allows efficient functional programs to be written and can avoid repeated evaluations and the creation of…

Data Structures and Algorithms · Computer Science 2022-06-28 Lloyd Allison

Causal-consistent reversibility is the reference notion of reversibility for concurrency. We introduce a modular framework for defining causal-consistent reversible extensions of concurrent models and languages. We show how our framework…

Logic in Computer Science · Computer Science 2016-08-12 Alexis Bernadet , Ivan Lanese

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the…

Programming Languages · Computer Science 2020-02-04 Martin Abadi , Gordon D. Plotkin

Recurrent neural networks (RNNs) are a widely used tool for modeling sequential data, yet they are often treated as inscrutable black boxes. Given a trained recurrent network, we would like to reverse engineer it--to obtain a quantitative,…

Machine Learning · Computer Science 2019-12-06 Niru Maheswaranathan , Alex Williams , Matthew D. Golub , Surya Ganguli , David Sussillo

We establish a close connection between a reversible programming language based on type isomorphisms and a formally presented univalent universe. The correspondence relates combinators witnessing type isomorphisms in the programming…

Programming Languages · Computer Science 2019-07-16 Jacques Carette , Chao-Hong Chen , Vikraman Choudhury , Amr Sabry

In this research summary we present our recent work on implementing functional patterns with inverse functions in the lazy functional-logic programming language Curry. Our goal is the synthesis of the inverse of any given function in Curry…

Programming Languages · Computer Science 2020-09-23 Finn Teegen

We present a reversible intermediate language with concurrency for translating a high-level concurrent programming language to another lower-level concurrent programming language, keeping reversibility. Intermediate languages are commonly…

Programming Languages · Computer Science 2023-09-15 Shunya Oguchi , Shoji Yuen

The $\mathit{\Pi}$ family of reversible programming languages for boolean circuits is presented as a syntax of combinators witnessing type isomorphisms of algebraic datatypes. In this paper, we give a denotational semantics for this…

Programming Languages · Computer Science 2023-01-03 Vikraman Choudhury , Jacek Karwowski , Amr Sabry

String matching is a fundamental problem in algorithm. This study examines the development and construction of two reversible string-matching algorithms: a naive string-matching algorithm and the Rabin-Karp algorithm. The algorithms are…

Programming Languages · Computer Science 2022-11-23 Robert Glück , Tetsuo Yokoyama