Finite State Machines - Seeking a speaker, tutor, guide

A member of our Python User Group has requested (an intro to) FSMs be covered during a future meeting. Would you like to volunteer a talk, demo, coding exercise, … please?
Since before COVID-19, we have been running virtual meetings (web-conference) in the UTC+12 time-zone (based in Auckland New Zealand) and enjoy meeting local and international speakers and attendees. Receptive audience, leaders ready to assist, pragmatic attitude, good sense of humor, etc. Much more info upon request…
Regards =dn (

Hi Neil,
It’s a bit off my time zone, but there’s some tests and tutorial material you could dive into here:

Perhaps it helps?

Hi Neil and Bjorn,

FSM design by Bjorn is interesting but I wonder if it is too sophisticated for many people (including me :slightly_smiling_face:) who are not familiar with graph theory.
I recently posted one example, where I showed a simple FSM using a dictionary. I think it’s too simple for you, but it’s easy and so enough to understand the essence (Python programmers know about dictionary). The graph theory model would be great if people understand the essence and want to go deeper, such as AI, ML, and much more.

So, I propose some introductory examples and a challenging problem. e.g.,

  1. A gatekeeper problem (two states, two inputs)
    This model is very traditional (at least I read it more than 20 years ago!).
  2. A traffic light (three states, one input)
    As shown in the previous post.
  3. A vending machine (two states, many inputs)
  4. A number guessing game (many states, many inputs)

I’ve been thinking about a problem that is practical enough, a bit hard, and challenging for many. I have created one use case for OpenGL UI using FSM.

Thanks Bjorn, it is a tool I’ve noted in case of future-requirement.
The request, at our PUG-meeting, came from people wanting to learn what are FSMs/what do they do, eg as Kazuya listed, a vending machine; and (they and) others wanting to learn how to code something simple in Python. (I assume that once one has a grasp on such basics, the library will be better appreciated for production-use) So, starting at a really basic level, both in terms of the math/graph theory, and in terms of Python skills.
Our meetings start at 1830 NZST = 0630 UTC. If you are in Europe (per your name) you’d be having breakfast whilst we contemplate our evening meal. We have members joining from the US west coast - ‘late owls’. However, if you’re further east in the US, it would not be a very sociable hour!
I offer numbers of talks and am currently running a series of exercises and challenges during our ‘Coding Evenings’. Accordingly, it would benefit our members to hear a fresh voice. If you are available and prepared to shift down a few gears (or three), we would welcome a contribution - as theory or as practical. We’re a very likeable and friendly bunch! (more info about the PUG and a briefing for guest speakers, available upon request).
Thank you again =dn