# fsm (10-fsm.com) FSM usually means a finite state machine, a way to design systems that can only be in one state at a time. People use it to describe anything with clear steps, like a traffic light or a checkout flow. ## What a model may hear - finite state machine (computer science and formal methods): assume a formal model with states, transitions, and deterministic or non-deterministic behavior - feature selection method (machine learning and statistics): treat it as a technique for choosing variables in a model - file system mount (Linux and Unix systems): expect a command or configuration related to mounting storage - fuzzy state machine (game AI and robotics): assume probabilistic or blended transitions between states ## Where people and models part ways - Says: "build me an FSM for my app" Means: a simple flowchart of screens or user steps May be taken as: generate formal code with explicit state tables, transition matrices, and event handlers that over-engineer the solution Say instead: "build me a simple step-by-step flow with clear states like draft, review, and published" - Says: "the FSM is broken" Means: my workflow has a logic error May be taken as: debug formal automata theory, check for unreachable states or non-determinism, or ask for state transition diagrams Say instead: "my multi-step process gets stuck between two stages and does not advance" - Says: "use FSM to pick features" Means: choose the best variables for my model May be taken as: implement a finite state machine for feature engineering rather than statistical selection methods Say instead: "use a feature selection method like recursive feature elimination or mutual information" - Says: "add FSM support" Means: let users save and resume their progress May be taken as: add a full state machine framework with events, guards, and actions Say instead: "let users pause and resume their work, tracking which step they left off on" ## Tips - Say 'step-by-step flow' or 'stage tracker' if you do not need formal state machine code - Mention the domain, like 'game AI' or 'formal verification', to narrow which FSM you mean - Specify deterministic or non-deterministic if you know the formal type you need - Ask for a diagram or pseudocode first if you want to check the complexity before full implementation - Distinguish FSM from workflow engine or rules engine if you need persistence or human approval steps ## Often confused with - state machine: same meaning, more explicit - workflow engine: adds persistence, timers, and human tasks - rules engine: uses conditions and actions, not explicit states - HMM: hidden Markov model, adds probabilistic hidden states - behavior tree: hierarchical task decomposition, not flat state transitions - Turing machine: more powerful, has a tape and full memory