In the Art of Computer Programming, Knuth describes a computational method as a quadruple $(Q, I, \Omega, f)$ where $I, \Omega \subseteq Q$, $\Omega$ is pointwise fixed, and each $x \in I$ defines a sequence $x_0, x_1, x_2, \ldots$ such that $x_0 = x$ and $x_{k+1} = f(x_k)$ for $k \geq 0$. He notes that the sequence terminates in $k$ steps if $k$ is the smallest integer for which $x_k \in Q$.
Later he mentions that we can place restrictions $Q, I, \Omega, f$ in the following way.
Let $A$ be a finite set of letters, and let $A^*$ be the set of all strings on $A$. The idea is to encode the states of the computation so that they are represented by the strings of $A^*$. Now let $N$ be a nonnegative integer and let $Q$ be the set of all $(\sigma, j)$, where $\sigma \in A^*$ and $j \in [0, N] \cap \mathbb{Z}$; let $I$ be the subset of $Q$ with $j = 0$ and let $\Omega$ be the subset with $j = N$. If $\theta$ and $\sigma$ are strings $A^*$, we say that $\theta$ occurs in $\sigma$ if $\sigma$ has the form $\alpha \theta \omega$ for strings $\alpha$ and $\omega$. To complete our definition, let $f$ be a function of the following type, defined by the strings $\theta_j, \phi_j$ and the integers $a_j, b_j$ for $0 \leq j < N$:
$f(\sigma, j) = (\sigma, a_j)$ if $\theta_j$ does not occur in $\sigma$
$f(\sigma, j) = (\alpha \phi_j \omega, b_j)$ if $\alpha$ is the shortest string for which $\sigma = \alpha \theta_j \omega$
$f(\sigma, N) = (\sigma, N)$
I understand everything until the "To complete our definition..." What primarily confuses me is the function definition. I suppose that the fixed points (i.e. $\Omega$) are given by $(\sigma, N)$. However, I don't understand what $a_j, b_j, \theta_j, \phi_j$ stand for, and that is making it difficult for me to understand what this function is trying to convey. I would appreciate if someone could please break down exactly what $f$ does and relate it to the unrestricted definition.