Memoryless computation: new results, constructions, and extensions
Maximilien Gadouleau, Soren Riis

TL;DR
This paper explores memoryless computation, extending it to include memory use, and demonstrates how memory can lead to shorter programs and simpler instructions, generalizing the XOR swap concept.
Contribution
It provides new bounds and constructions for memoryless programs, including cases with and without memory, and quantifies the benefits of using memory in such computations.
Findings
Any function of n variables can be computed with 4n-3 updates without memory.
Using memory reduces program length and instruction complexity.
Memory allows for binary instructions, which are not sufficient without memory.
Abstract
In this paper, we are interested in memoryless computation, a modern paradigm to compute functions which generalises the famous XOR swap algorithm to exchange the contents of two variables without using a buffer. This uses a combinatorial framework for procedural programming languages, where programs are only allowed to update one variable at a time. We first consider programs which do not have any memory. We prove that any function of variables can be computed this way in only variable updates. We then derive the exact number of instructions required to compute any manipulation of variables. This shows that combining variables, instead of simply moving them around, not only allows for memoryless programs, but also yields shorter programs. Second, we show that allowing programs to use memory is also incorporated in the memoryless computation framework. We then quantify the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
