Related papers: Rotation of Sequences: Algorithms and Proofs
In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…
Morphisms are homomorphisms under the concatenation operation of the set of words over a finite set. Changing the elements of the finite set does not essentially change the morphism. We propose a way to select a unique representing member…
Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…
Sequences have become first class citizens in supervised learning thanks to the resurgence of recurrent neural networks. Many complex tasks that require mapping from or to a sequence of observations can now be formulated with the…
The Fisher-Yates shuffle is a well-known algorithm for shuffling a finite sequence, such that every permutation is equally likely. Despite its simplicity, it is prone to implementation errors that can introduce bias into the generated…
Software verification has emerged as a key concern for ensuring the continued progress of information technology. Full verification generally requires, as a crucial step, equipping each loop with a "loop invariant". Beyond their role in…
Invariants are the predominant approach to verify the correctness of loops. As an alternative, loop contracts, which make explicit the premise and conclusion of the underlying induction proof, can sometimes capture correctness conditions…
The rotor walk is a derandomized version of the random walk on a graph. On successive visits to any given vertex, the walker is routed to each of the neighboring vertices in some fixed cyclic order, rather than to a random sequence of…
We introduce a class of stochastic integer sequences. In these sequences, every element is a sum of two previous elements, at least one of which is chosen randomly. The interplay between randomness and memory underlying these sequences…
A matrix approach to continuous iteration is proposed for general formal series. It leads, in particular, to an order{to{order iteration of the exponential function, and consequently to an algorithmic approach to tetration. Lower{order…
Morphic sequences form a natural class of infinite sequences, typically defined as the coding of a fixed point of a morphism. Different morphisms and codings may yield the same morphic sequence. This paper investigates how to prove that two…
If a string is cyclically shifted it will re-appear after a certain number of shifts, which will be called its order. We solve the problem of how many strings exist with a given order. This problem arises in the context of quantum mechanics…
Convergence problems occur abundantly in all branches of mathematics or in the mathematical treatment of the sciences. Sequence transformations are principal tools to overcome convergence problems of the kind. They accomplish this by…
We study rotation programs within the standard implementation frame-work under complete information. A rotation program is a myopic stableset whose states are arranged circularly, and agents can effectively moveonly between two consecutive…
The linear complexity of a sequence $s$ is one of the measures of its predictability. It represents the smallest degree of a linear recursion which the sequence satisfies. There are several algorithms to find the linear complexity of a…
The score of a vertex $x$ in an oriented graph is defined to be its outdegree, \emph{i.e.}, the number of arcs with initial vertex $x$. The score sequence of an oriented graph is the sequence of all scores arranged in nondecreasing order.…
An inversion sequence of length $n$ is an integer sequence $e=e_{1}e_{2}\dots e_{n}$ such that $0\leq e_{i}<i$ for each $i$. Corteel--Martinez--Savage--Weselcouch and Mansour--Shattuck began the study of patterns in inversion sequences,…
Frequently, randomly organized data is needed to avoid an anomalous operation of other algorithms and computational processes. An analogy is that a deck of cards is ordered within the pack, but before a game of poker or solitaire the deck…
An automatic sequence is a letter-to-letter coding of a fixed point of a uniform morphism. More generally, we have morphic sequences, which are letter-to-letter codings of fixed points of arbitrary morphisms. There are many examples where…
To reversify an arbitrary sequential algorithm $A$, we gently instrument $A$ with bookkeeping machinery. The result is a step-for-step reversible algorithm that mimics $A$ step-for-step and stops exactly when $A$ does. Without loss of…