2,141 research outputs found
On algorithmic equivalence of instruction sequences for computing bit string functions
Every partial function from bit strings of a given length to bit strings of a
possibly different given length can be computed by a finite instruction
sequence that contains only instructions to set and get the content of Boolean
registers, forward jump instructions, and a termination instruction. We look
for an equivalence relation on instruction sequences of this kind that captures
to a reasonable degree the intuitive notion that two instruction sequences
express the same algorithm.Comment: 27 pages, the preliminaries have textual overlaps with the
preliminaries in arXiv:1308.0219 [cs.PL], arXiv:1312.1529 [cs.PL], and
arXiv:1312.1812 [cs.PL]; 27 pages, three paragraphs about Milner's
algorithmic equivalence hypothesis added to concluding remarks; 26 pages,
several minor improvements of the presentation mad
Instruction sequence size complexity of parity
Each Boolean function can be computed by a single-pass instruction sequence
that contains only instructions to set and get the content of Boolean
registers, forward jump instructions, and a termination instruction. Auxiliary
Boolean registers are not necessary for this. In the current paper, we show
that, in the case of the parity functions, shorter instruction sequences are
possible with the use of an auxiliary Boolean register in the presence of
instructions to complement the content of auxiliary Boolean registers. This
result supports, in a setting where programs are instruction sequences acting
on Boolean registers, a basic intuition behind the storage of auxiliary data,
namely the intuition that this makes possible a reduction of the size of a
program.Comment: 12 pages, the preliminaries are largely the same as the preliminaries
in arXiv:1312.1812 [cs.PL] and some earlier papers; 13 pages, minor errors
corrected; 13 pages, presentation improved; 14 pages, remarks about related
work added; 14 pages, presentation improve
Very Simple Chaitin Machines for Concrete AIT
In 1975, Chaitin introduced his celebrated Omega number, the halting
probability of a universal Chaitin machine, a universal Turing machine with a
prefix-free domain. The Omega number's bits are {\em algorithmically
random}--there is no reason the bits should be the way they are, if we define
``reason'' to be a computable explanation smaller than the data itself. Since
that time, only {\em two} explicit universal Chaitin machines have been
proposed, both by Chaitin himself.
Concrete algorithmic information theory involves the study of particular
universal Turing machines, about which one can state theorems with specific
numerical bounds, rather than include terms like O(1). We present several new
tiny Chaitin machines (those with a prefix-free domain) suitable for the study
of concrete algorithmic information theory. One of the machines, which we call
Keraia, is a binary encoding of lambda calculus based on a curried lambda
operator. Source code is included in the appendices.
We also give an algorithm for restricting the domain of blank-endmarker
machines to a prefix-free domain over an alphabet that does not include the
endmarker; this allows one to take many universal Turing machines and construct
universal Chaitin machines from them
A short introduction to program algebra with instructions for Boolean registers
A parameterized algebraic theory of instruction sequences, objects that
represent the behaviours produced by instruction sequences under execution, and
objects that represent the behaviours exhibited by the components of the
execution environment of instruction sequences is the basis of a line of
research in which issues relating to a wide variety of subjects from computer
science have been rigorously investigated thinking in terms of instruction
sequences. In various papers that belong to this line of research, use is made
of an instantiation of this theory in which the basic instructions are
instructions to read out and alter the content of Boolean registers and the
components of the execution environment are Boolean registers. In this paper,
we give a simplified presentation of the most general such instantiated theory.Comment: 21 pages, this paper is to a large extent a compilation of material
from several earlier publications; 23 pages, presentation improved and
section on uses for the theory added. arXiv admin note: text overlap with
arXiv:1702.0351
- …