Here what I call a “Collatz-like problem” would be something that could be framed like that:
Consider h a given natural number (nonzero), a set E, and F a collection of h functions: F=[f_0, f_1... f_{h-1}] from E to E.
Consider map a function from E to \{0, 1... h-1\} and reduce a function from E to E.
The flight of an element e of E is the infinite sequence [g^i(e), i \in \mathbb N] where g:x \rightarrow f_{map(x)}(reduce(x))
What are the behaviours of the flights, what do they look like towards infinity?
For example, the most well-known formulation of the Collatz problem is the one where:
- E=\mathbb N^*,
- h=2
- F=[x \rightarrow x , x\rightarrow 6x+4]
- map(x) = x\%2 (remainder of the euclidean division by 2)
- reduce(x) = \lfloor x/2 \rfloor
The “reduced” problem only changes f_1:
- F=[x \rightarrow x , x\rightarrow 3x+2]
On standard Collatz it is suspected that all flights end up with the period [4,2,1].
On reduced Collatz it is suspected that all flights end up with the period [2,1]. (both hypothesis are equivalent: either both true or both false)
I call trajectory of e \in E the sequence [map(x), x \in flight(e)].
A way to see it is the path e is taking on an automaton.
This is a way to study sequences with elements of \{ 0,1... h-1\} rather than elements of E.
Obviously, two different elements of E cannot have the same flight, but on some situation they could have the same trajectory. Take for example that following case:
- E=\mathbb Z,
- h=2
- F=[x \rightarrow x , x\rightarrow x+2]
- map(x) = x\%2 (remainder of the euclidean division by 2)
- reduce(x) = x
Here, all the trajectories of odd numbers are an infinite sequence of 1s, while all the trajectories of even numbers are an infinite sequence of 0s.
I propose to say a Collatz problem is affine when:
- h \geq 2
- reduce=x \rightarrow \lfloor x/h \rfloor
- map=x\rightarrow x\%h
- and F is a collection of affine functions
Most of the Collatz-like problem are compatible with this.
Notable example of a Collatz-like problem that is not affine: hyper-reduced Collatz
- E= odd numbers,
- h=1
- F=[x \rightarrow oddfactor(3x+1)]
- map(x) = 0
- reduce(x) = x
Here the application oddfactor takes an integer and divides it by 2 as long as it’s even, it stops when it becomes odd. I called it like that because that’s what remains when you write an integer as 2^n \times r.
As with all the C-lps with h=1, despite all flights being uniques all trajectories are the same: obviously this formalism won’t the very useful to deal with this kind of problem and should rather be used for cases where h \geq 2.