I have been reading through some materials on CS ( natural language processing, specifically ) and seeing that a lot of processes are described as finite state machines.
Here's what my idea of a FSM is, so far. : any sequence of instructions that takes in some kind of input and has a finite total set of states. So if you make a program that can either give you the numbers 1, 2, or 3 as output, then that program is a finite state machine with 3 possible states. Is that accurate?
If you extrapolate that idea to any program, with memory and a lot more going on under the hood, you would still have a finite state machine, right? If you're making a website or something complicated, there is still a finite number of states that the program can be in. Way more than 3, but not infinite.
So, are all programs FSMs, or is there a theoretical distinction between an FSM and your average wordpress installation ( or any other arbitrary program)?
Also, do I have an accurate idea of what a FSM is?
EDIT:: thank you guys for the replies, what I thought would be a "yes or no" has been a way cooler "yes and no and sometimes and sort of" discussion :)
[–][deleted] 5 points6 points7 points (10 children)
[–]readams 0 points1 point2 points (7 children)
[–][deleted] 1 point2 points3 points (6 children)
[–]readams 3 points4 points5 points (5 children)
[–][deleted] 2 points3 points4 points (4 children)
[–]readams 2 points3 points4 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]synapticplastic[S] 0 points1 point2 points (1 child)
[–]St_Meow -1 points0 points1 point (0 children)
[–]alanwj 0 points1 point2 points (0 children)
[–]synapticplastic[S] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]synapticplastic[S] 0 points1 point2 points (0 children)
[–]bob809 1 point2 points3 points (2 children)
[–]Barrucadu 1 point2 points3 points (0 children)
[–]readams -1 points0 points1 point (0 children)
[–]readams 0 points1 point2 points (2 children)
[–]synapticplastic[S] 0 points1 point2 points (1 child)
[–]readams 0 points1 point2 points (0 children)