What is meant by the term 'state' in a finite-state machine?

I have not seen a proper definition on the web and am looking for a university-level answer.

Thank you in advance.

  • 1
    $\begingroup$ I think this pretty much covers it. Duplicate? $\endgroup$ – Raphael Dec 19 '17 at 15:42
  • $\begingroup$ It is just an abstract notion capturing the various situations a system might be in. There are lots of proper definitions on the web for the states of a finite state device, but they only capture the fact there are finitely many of them states. I really wonder what you are looking for? Perhaps a [university level] dictionary might be a better help: "a condition or stage in the physical being of something" (Merriam-Webster) "The particular condition that someone or something is in at a specific time" (Oxford) $\endgroup$ – Hendrik Jan Dec 20 '17 at 2:00

A state is simply an assignment of all possible variables of a system to values. A state transition then means a transition from one possible set of values of variables to another set of values.

To see how this might be useful, imagine a set of two switches $S$ and a light bulb $B$ that are connected to emulate some unknown logical gate. If you want to find out what that gate is, you can use a state machine model:

Say $I = \{S,B\} $

Initial State: $I = \{\{0,0\},0\}$

State transitions:

$\{\{0,0\},0\} \rightarrow \{\{1,0\},1\} \rightarrow \{\{0,1\},1\} \rightarrow \{\{1,1\},0\} $

It is evident that every state is just a set of different possible values of $I.$

By looking at the values of $B$ for a set of values of $S$, You can easily deduce that the system emulates a XOR gate.

| cite | improve this answer | |

If you have done some programming in some language , then the current executing instruction can be considered as the state in automata,

Like if you consider this python code :

print('Hello') - (A)
print('World') - (B)

then it simply going from A->B which will be giving you the output of "Hello World" on your console.

So you are going from one state to another on some input or terminating the automation if nothing is left to consume.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.