Finite state automata (FSA) are devices that can be in one of a finite number of states, one of which is called the start state and one or more are called final states. Transitions are defined for each state when the FSA reads a symbol from an input language. If a word, or input string of symbols from the input language, is provided to the FSA and if it starts at a start state and arrives at a final state after reading the word, we say the word is accepted by the FSA. Languages of words accepted by FSA are called regular languages.