42

I am doing a presentation about Turing machines and I wanted to give some background on FSM's before introducing Turing Machines. Problem is, I really don't know what is VERY different from one another.

Here's what I know it's different:

FSM has sequential states depending on the corresponding condition met while Turing machines operate on infinite "Tape" with a head which reads and writes.

There's more room for error in FSM's since we can easily fall on a non-ending state, while it's not so much for Turing machines since we can go back and change things.

But other than that, I don't know a whole lot more differences which make Turing machines better than FSM's.

Can you please help me?

Raphael
  • 73,212
  • 30
  • 182
  • 400
Julio Garcia
  • 713
  • 1
  • 8
  • 15

5 Answers5

37

The major distinction between how DFAs (Deterministic Finite Automaton) and TMs work is in terms of how they use memory.

Intuitively, DFAs have no "scratch" memory at all; the configuration of a DFA is entirely accounted for by the state in which it currently finds itself, and its current progress in reading the input.

Intuitively, TMs have a "scratch" memory in the form of tape; the configuration of a TM consists both of its current state and the current contents of the tape, which the TM may change as it executes.

A DFA may be thought of as a TM that neither changes any tape symbols nor moves the head to the left. These restrictions make it impossible to recognize certain languages which can be accepted by TMs.

Note that I use the term "DFA" rather than "FSM", since, technically, I'd consider a TM to be a finite-state machine, since TMs by definition have a finite number of states. The difference between DFAs and TMs is in the number of configurations, which is the same as the number of states for a DFA, but is infinitely great for a TM.

hengxin
  • 9,671
  • 3
  • 37
  • 75
Patrick87
  • 12,924
  • 1
  • 45
  • 77
25

Turing Machines describe a much larger class of languages, the class of recursively enumerable languages. Finite state machines describe the class of regular languages.

Finite state machines have no "memory", it is limited by its states.

A finite-state machine is a restricted Turing machine where the head can only perform "read" operations, and always moves from left to right.

Take this language as an example:

$$ L = \{ a^ib^i | \ i>= 0 \} $$

Because finite states machines are limited in the sense that they have no memory, a FSM that accepts L can't be constructed.

To summarize:

Finite state machines describe a small class of languages where no memory is needed.

Turing Machines are the mathematical description of a computer and accept a much larger class of languages than FSMs do.

Turing Machines have has more computational power than FSM. There are tasks which no FSM can do, but which Turing Machines can do.

Steven Lu
  • 103
  • 4
mrjasmin
  • 586
  • 1
  • 5
  • 12
5

I had the same doubt and I saw two very enlightning videos and one explanation on Quora as follows:

A finite state machine is just a set of states and transitions. The only memory it has is what state it is in. Thus, the number of memory states is... finite.

A Turing machine is a finite state machine plus a tape memory. Each transition may be accompanied by an operation on the tape (move, read, write).

I have understood from it that a turing machine uses/has a a finite state machine as part of its operating procedure, plus adding some editable memory to it.

Please watch also those two videos, they are enlightning!

https://youtu.be/gJQTFhkhwPA

https://youtu.be/E3keLeMwfHY

user5193682
  • 147
  • 1
  • 4
4

As far as I understand the differences between (standard model) Turing and (standard model) Mealy Machines:

  • Turing Machines read and write on the same tape vs. Mealy Machines read on one input tape and write on another output tape
  • Turing Machines can change the "tape direction" (proceed leftwards or rightwards [or halt]) vs. Mealy Machines can only proceed rightwards (thats why there is no direction set {L,R,H} in the transition function of the Mealy Machine [it is implicitly {R}, which means no choice at all])
  • Turing Machines can halt on any tape cell vs. Mealy Machines read the complete input and then halt accepting or rejecting it
-3

A Turing machine can store, as part of the tape, things it want to remember.

Gilles 'SO- stop being evil'
  • 44,159
  • 8
  • 120
  • 184