Man/women is said to have been created in God’s image. In a similar fashion, Men/women now create machines in our own image. One such example of this is the Finite State Machine programming, or FSM for short. Engineers and developers now use computers to operate tasks that were previously operated by hand. For example – got any dirty laundry laying around? – I know I do. Previously we had to rinse clothes in a tub or sink, add soap, scrub, rinse again, and whatnots to get a clean t-shirt to go to work or have a night out. Now we have washing machines to do this work for us. We got to this point with engineers having designed 1,000s of products and devices that execute programs based human thought or action. This is no exception to today’s machine learning or other AI buzzwords. Millions of devices and applications are being developed to increase efficiency and ease of men and women and many of these aiding process exist thanks to FSMs.
Finite State Machines are simply a mathematical computation of a series of cause with events. In relation to our washing machine example – the FSM determines when to start the rinse cycle, when to spin, and when to stop completely. To better understand a Finite State Machine (FSM), we first need to define the concept of a ‘state.’ A state is a unique piece of information inside a larger computational program. The FSM computation changes or transitions from one state to another state in response to external inputs. A FSM is defined by a listing or logical order of its states; its initial state and the conditions for each transition, concluding with a final or end state. The FSM is a series of thoughts programmed by the computer to execute operations based on inputs– the same way man thinks and acts, so too do our machines and the computers that control them.