There are several ways of interpreting DFAs. One of these is helping programs to recognize correctly formed expressions or linguistic utterances. In this course, we will use them to describe states of a system. For example, suppose that this DFA controls a house's furnace. State 0 might be the state the furnace is off. Input a represents a reading from the thermostat, saying that it is too cold in the house. State 1 says the furnace is firing up. When another sensor inside the burner section says that it is hot enough, it sends the signal "b" which causes the furnace to go into state 2: the blower is turned on. Input d might be another reading from the thermostat, saying the house's air is still below the desired temperature, which causes the furnace to keep running. Finally, input c might be a reading from the thermostat saying it is finally toasty in here, upon which cue the furnace goes into state 3. State 3 might represent a cooling down period -- the furnace cannot start burning again right away for safety reasons. If the sensors determine that it is still too cold, input c, the furnace goes back to state 1 and turns the burners back on, while if it is warm enough, the furnace goes back to sleep, state 0. |