Shaojun Z. answered 05/10/22
Rich experiences at Google, Facebook, Amazon, and etc. Ph.D in A.I.
The short answer to 'the difference between finite automata and Turing machines' is that finite automata are like tiny circuits (with no memory) and Turing machines are like computers that we use everyday, so Turing machines (TMs) are a lot more powerful than finite automata (FA, also called finite state machines).
The power of FA and TMs can be measured by the languages (i.e., a set of strings) they can accept. Accept a language means you can tell it is part of the language or not.
You can design FA to accept the following language:
L1 = {0*1*2*} <- some number of 0s followed by some number of 1s, and followed by some number of 2s.
But FA are not powerful enough to accept the following language:
L2 = {0^k1^k^2k | for some k} <- some number of 0s followed by the same number of 1s, and followed by the same number of 2s.
However, a Turing machine can easily accept L2, as TMs can count and compare.
You may refer to textbooks on how FA can accept L1 but not L2, and How TMs can accept both.