- 73 Views
- Uploaded on
- Presentation posted in: General

Finite state machines

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Finite state machines

- Consider a very simple version of American vending machine which provides chewing gum at a cost of 15 cents per packets, and candy bars at a cost of 20 cents each.
- The machine permits the use of nickels and dimes only and does not give change.
- In addition to the obvious outputs, namely packets of chewing gum and candy bars, we shall assume that the machine makes reassuring clicks when appropriate coins are inserted.

- Let the input and output alphabets therefore can be denoted as follows:
- Input alphabet = { 5, 10, Candy Bar Request, Gum Request}
- Output alphabet = { Dispense Candy Bar, Dispense Gum, click, 2 clicks}
- An FSM for the vending machine may now be represented by the following state transition diagram:

Gum Request → Dispense Gum

Nickel

15 Cents

5 →1 click

5 →1 click

5 →1 click

5 →1 click

Zero

10→ 2 clicks

20 Cents

Dime

Candy bar Request → Dispense Candy bar

- If you have ever used a lift, you have used a finite state machine (FSM).
- The lift can be in one of a finite number of states at any moment. Finite means countable. For example, one state for a lift serving a three-storey building is at the third floor with doors open. Another is travelling between second and third floor with doors closed.
- The lift system has inputs and outputs. One input occurs when a person calls the lift by pressing the lift request button on, say, the second floor.
- One input occurs to indicate the position of the lift to the person waiting on the second floor.
- For the lift to move in the desired floor, it must always know which state it is currently in and what step to take next so it needs memory to store the current state and a logic device to determine the next step.

- When the lift arrives at the second floor, the logic device briefly turns on the door motor open the doors. The logic device must also update the memory to reflect the new state of lift stationary at the second floor with the doors open. Fig 1.3.1 shows a model of this FSM.

- A finite state machine is a machine that consists of a fixed set of possible states, a set of allowable inputs that change the state, a set of possible outputs. The outputs can depend only on the current state, which depends only on the history of the sequence of inputs.
- Many types of digitals machine, including general-purpose computers, are FSMs. General-purpose computers advance their state at regular intervals and the rate at which they advance is called the clock rate of the machine. Each state is one step towards the solution to a problem. Increasing the clock rate of a computer should enable the computers to solve a problem more quickly.

- A ballpoint pen is example of an FSM:
- It has a finite number of states: ballpoint extended and ballpoint retracted.
- It has set of allowable inputs: clicking the pen’s button.
- It has a set of possible outputs: retracting or extending the ballpoint.
- The behavior of ballpoint can be described by a state transition diagram (fig1.3.2). The diagram consists of two states, 0 and 1, and two transitions indicated by curved arrows. Each curved arrow is labeled with the input that causes each transition, here button clicked.
- By repeatedly clicking the button (input), the pen alternates between state 0 (ballpoint retracted) and state 1 (ballpoint extended); the outputs is determined by which state the pen is in when the button is clicked.

- Consider a combination lock that opens only when it is given the sequence326. Whether mechanical or electrical, this is an FSM with the state transition diagram shown in fig1.3.3. There are no outputs. The initial state of combination lock is indicated by small entering arrow pointing to the state ‘locked’ and it receives the input 3, the lock moves to the state ‘first digit’. When it receives the input 2, the lock moves to the state ‘second digit’. When it receives the input 6, the lock, moves to the state ‘unlocked’. At any stage, if a digit other than the required digit is entered, the lock remains in its current state.

- The final or halting state is reached when the combination lock is unlocked. The state ‘unlocked’ is indicated by a double circle it is the goal state. The goal state is known as the accepting stage.

- An FSN may produce a response when it makes a transition, i.e. an output. This is represented as shown in Fig.1.3.4. If the input is A when this machine is in state 1 then the machine moves to state 2 and outputs “response”. This type of FSM is known as a mealy machine. It does not have an accepting state.

- This type of machine is used when we want to do more than just recognize a sequence, such as the sequence for the combination lock. We might want a machine starting in the initial state S0 to translate a sequence of received 1s 0s and 2s into plain text consisting of the letters A and B and exclamation mark ! according to the following rule:
- The system begins receiving in the initial state S0.
- If the received data is 0 and system is in state S0’ output the latter A.
- If the received digit is 1 and the system is in state is S0 change state to S1 and output the latter B.

- If the received digit is 2 and the system is in state is S0, change state to S2 and output the latter!.
- If the received digit is 0 and the system is in state is S1, change state to S0 and output the latter A.
- If the received digit is 1 and the system is in state is S1,and output the latter B.
- If the received digit is 2 and the system is in state is S1,change state to S2 and output the character !.
- Figure 1.3.5 shows the corresponding state transition diagram with outputs for this system.

The sequence 00101102 produces as output AABABBA! Check this for yourself. What does the sequence 101012 produce as output? Answer BABAB!

- We can use a table that shows the state that follows for every state and every input. For example, Table 1 summarizes the ballpoint pen operation.

Sometimes the state transition table is just called the state table.

- If an FSM has outputs, then the state transition table can also shows the outputs. Table 2 shows the state transition diagram in fig.1.3.5 check the table entries for yourself.

- A decision table is a precise yet compact way to model complicated logic. Decision table make it easy to observe that all possible conditions are accounted for.
- For example, some logic is written as follows:
- If X is greater than 6 and Y is less than 7
- Then output “Pass”
- Else Output “Fail”
- Table 3 shows the corresponding decision table.

Note that there are two subconditions in the conditions section of Table 3:

X > 6

X < 7

- When both conditions are true at the same time, the output is pass .when either of the conditions is false or both are false, the output is fail. The pass or fail output is indicated by X in the corresponding table cell.
- Note that the rules rows are constructed in a systematic way. For example, if there are two condition alternatives, then the first row is constructed with YYNN and the second row with YNYN.