Difference between a “finite state machine” and a “state machine”

computation-theorymathstate-machinestatistics

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?

Best Answer

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).