Is there a difference between a "finite state machine" and a "state machine"?

14,663

Solution 1

I'm not sure I understand if there is a difference between a finite state machine and a state machine? Am I thinking about this too hard?

Yes, you are thinking about it too hard. :-) It depends on context.

Obviously, taken literally, the term "finite state machine" indicates a finite number of states, while "state machine" makes no such promise. So, yes, there is a difference.

However, I think, depending on the context of the conversation, people simply say "state machine" in short-hand without consider whether they mean "finite state machine" or "state machine". And in our field of software programming, where state machines are usually represented in code, we can often use "state machine" interchangeably with "finite state machine". So, really, no, there is no difference.

OTOH, if I were talking to a mathematician after night class on campus one evening, I may be more selective about the specific terms I used. So, yes, there is a difference (in this case).

Solution 2

Sure there's a difference. One has a finite number of states, and the other has an infinite number of states. It's kind of awkward to draw an infinite state machine, but the math that permits a finite state machine will permit an infinite state machine, as well.

Take a look at the mathematical model section of the Wikipedia page of FSM's. See where it says 'S is a finite, non-empty set of states'? Erase 'finite'. Your state transition function will become infinite as well, but that's ok, there are a lot of infinite functions.

"From.ME.to.YOU" is conflating Wikipedia's verbal shorthand with a real proclamation of equality.

Solution 3

The Finite State Machine (FSM) term has a precise definition in the textbooks on Automata Theory. FSM’s allow for the most precise and compressed representation of software entities behavior as they are programming language and data representation independent. The term state machine is often used loosely to describe a “FSM style” set of API’s like Statecharts. It is unfortunate that software engineers seldom use the full potential of FSMs as they were often burned by a host of problems plaguing Statecharts: e.g. non determinism.

Solution 4

No there is not

i quote from wikipedia

finite-state machine (FSM) or finite-state automaton (plural: automata), or simply a state machine

http://en.wikipedia.org/wiki/Finite-state_machine

Share:
14,663
Carson
Author by

Carson

Updated on June 27, 2022

Comments

  • Carson
    Carson almost 2 years

    I'm not sure I understand if there is a difference between a finite state machine and a state machine? Am I thinking about this too hard?