This question arose in the context of tag-like systems, specifically Bitwise Cyclic Tag (BCT). Consider the following discrete dynamical system:
Let $\mathbb{B} = \{\mathtt{0}, \mathtt{1}\}$. Let our phase space be $(\mathbb{B}^*)^2$, i.e. the set of all pairs of binary strings. The first string is called the program. The second string is called the memory.
Let our evolution function be $f : (\mathbb{B}^+)^2 \rightarrow (\mathbb{B}^*)^2$ where
$$ f(\mathsf{a} x, \mathsf{b} y) = \begin{cases} (x \mathsf{a}, y) & \mathsf{a} = \mathsf{b} \\ (x \mathsf{a}, \mathsf{b} y \mathsf{b}) & \text{otherwise} \end{cases} $$
That is: If the program-bit matches the memory-bit, we pop the latter. Otherwise, we append the latter to the back of the memory. In either case, we cycle the program. Note that both strings must be nonempty.
Let $T : (\mathbb{B}^*)^2 \rightarrow \mathbb{N} \cup \{\infty\}$ yield the runtime of a configuration, i.e.
$$T(\omega) = \inf \{t \in \mathbb{N} \mid f^t(\omega) \not\in \operatorname{dom} f\}$$
In analogue with the busy beaver function for Turing machines, let $B : \mathbb{N} \rightarrow \mathbb{N}$ yield the busy beaver number for a given program length, i.e.
$$ B(n) = \max (\{ T(x, \mathtt{01}) \mid x \in \mathbb{B}^n \} \cap \mathbb{N}) $$
where we initialize the memory with $\mathtt{01}$. The first 20 busy beaver numbers (with a 1000-step runtime limit) are as follows:
0 0
1 0
2 4
3 2
4 12
5 6
6 18
7 24
8 34
9 32
10 72
11 40
12 122
13 60
14 184
15 96
16 276
17 126
18 468
19 144
Is there a recursive upper bound on $B$? That is, can we bound the runtime of a program based on its length? If so, what can we say about the asymptotics (or other interesting properties) of $B$?