Is this all we need?
While DFAs and CFGs can solve many useful problems, they are quite limited.
Source of these limitations: lacking access to arbitrary amounts of memory.
We now take a big leap in computational power and introduce Turing machines (TM).
TMs are a generalization of DFAs.
This is now a Turing machine!
Distinctive features of Turing machines:
list, C++ std::vector, Java java.util.List).
\[ P = \setbuild{w \in \{0, 1\}^*}{w = \reverse{w}} \]
A Turing machine (TM) is a 7-tuple: \(M = (Q, \Sigma, \Gamma, \delta, s, q_a, q_r)\) where:
\[ P = \setbuild{w \in \{0, 1\}^*}{w = \reverse{w}} \]
\(M = (Q, \Sigma, \Gamma, \delta, s, q_a, q_r)\) where: