Hacker News new | ask | show | jobs
by hangonhn 2276 days ago
FSM is something I've always been curious about but I can't seem to find any good intro on. Does anyone have a good recommendations? I sort of don't want one tied to a specific language but rather one that helps me understand it from a conceptual level.

Thanks!

6 comments

I hope this book puts you on the right path, Brothers and Sisters.

https://en.wikipedia.org/wiki/The_Gospel_of_the_Flying_Spagh...

Ramen!
Hopcroft Ullman's Introduction to Automata Theory, Languages and Computation has good section on state machines and their connection to Regular Expressions
So I searched and I found that my library has a book with this exact title, but by a guy named Shyamalendu Kandar. I've read the introduction and the preface, and nothing suggests it has any direct influence or relation to the book you are describing. Maybe its just a coincidence, though it does seem slightly fishy.
That book is amazing. I donated mine to my hometown library maybe 20 years ago, or more, but should have kept it.
Thank you!!! Its relationship to regex is actually precisely the part that piqued my interest.
With automata theory it’s useful to be pedantic. What people ordinarily mean by “regex” are in different classes of automata from regular expressions as equivalent to finite state machines. For example Perl capture groups, look ahead, and backtracking are beyond what a finite state machine or its equivalent regular expression is capable of. Though for me the simplicity of the FSM is a big part its intellectual appeal.
This book is great. It opened my mind how powerful regular expressions could be.
Any intro level logic design textbook should have a discussion of state machines. My copy of Bebop to the Boolean Boogie has a few pages about them. That's a good freshman level EE book.
If you're looking for a more theoretical overview, the first chapter of Sipster's Introduction to the Theory of Computation is a really solid into to FSA and automata in general.
The first example is a machine with two states.

https://en.wikipedia.org/wiki/Finite-state_machine

From there you can deep dive into subjects like digital logic and automata theory.