What are the major issues essential to consider when constructing a finite state machine representing a given language? I know that finite state machines take strings as inputs, and that as each element of the string is read, the machine state changes until the EOF is reached. If once the string has been read completely the machine is in one of the final states the string is accepted. What I don't understand is what considerations need to be made when constructing the FSA (other than the string it should accept, and the definition of each transition function.)
Asked
Active
Viewed 325 times
0
-
What *is* the given language? Every programming language has different approaches to the same problems. – tadman Jun 09 '18 at 19:01
-
Not for any specific language; I'm more or less just wondering generally speaking what issues should be considered, regardless of the programming language. – RomM Jun 09 '18 at 19:10
-
I deleted my comment and retracted my close vote; is my answer what you're looking for? – ChiefTwoPencils Jun 09 '18 at 19:45
-
yes, thank you for your help! – RomM Jun 09 '18 at 22:41
1 Answers
0
One thing you'll want to consider is the number of states. There are many equivalent ways to define the machine but the fewer number of states would typically be preferred because the same result is achieved with less complexity and space.
The representation of a computational automaton requires space proportional to the number of states so optimizing the spacial complexity through state reduction is desirable or necessary.

ChiefTwoPencils
- 13,548
- 8
- 49
- 75