reading each symbol, the affine state of the machine is updated, i.e. $$v_0 \rightarrow v_1 \rightarrow \cdots \rightarrow v_{m}, \mbox{ where } v_{i+1} = M_{\tilde{w}[i+1]}v_i \mbox{ } (0\leq i \leq m-1).$$ After reading the whole input, the final affine state becomes $$v_f = v_m =  \sum_{(s,c) \in \mathcal{C}^w} \beta_{s,c} {\langle s,c \rangle},$$ and then the weighting operator is applied and the input is accepted with probability $$f_A(w) = \sum_{s \in S_a, c \in \{-m,\ldots, m\}} \frac{|\beta_{s,c}|}{|v_f|},$$ which is the total weight of “accepting” configurations out of all configurations at the end.

We can extend AfCAs to have multiple counters (affine $k$-counter automata (AfkCAs)) in a straightforward way; the transition function is extended to $ \delta: S\times \tilde{\Sigma} \times \{Z,NZ\}^k \times S \times \{-1,0,+1\}^k \longrightarrow {\mathbb R} $.

A (realtime) Las Vegas automaton is obtained from a standard one by splitting the set of states into three: the set of accepting, rejecting, and neutral states. When it enters one of them at the end of the computation, then the answers of “accepting”, “rejecting”, and ”don’t know” are given, respectively.

A (realtime) automaton with restart [@YS10B] is similar to a Las Vegas automaton, the set of states of it is split into 