120 likes | 226 Views
Finite Automata. (Finite State Machines). Basic Structure. A black box with a number of input and output ports. Synchronous operation (discrete sampling) Finite number of internal states Applications: Switching circuits, control systems, communication protocols. 0. 0. 0. 0. 0.
E N D
Finite Automata (Finite State Machines)
Basic Structure • A black box with a number of input and output ports. • Synchronous operation (discrete sampling) • Finite number of internal states • Applications: Switching circuits, control systems, communication protocols
0 0 0 0 0 Example: A Counter 1 1 1 1 1 q0 q1 q2 q3 q4
0 0 0 0 0 State-Assigned Outputs(Moore) 1 1 1 1 1 q0/0 q1/1 q2/2 q3/3 q4/4
0/0 0/1 0/2 0/3 0/4 Transition-Assigned Outputs (Mealy) 1/0 1/1 1/2 1/3 1/4 q0 q1 q2 q3 q4
Binary Addition 1 0 0 1 1 010011 011001 1 0 1 1 0 0
11/0 00/0 01/1 10/1 01/0 10/0 11/1 q0 q1 00/1 A Binary Adder
A Combination Lock A-Z qf/N A-Z A, B, D-Z A-H, J-Z A-C, E-Z Reset I D C q0/N q1/N q2/N q3/Y Reset Reset Reset Reset
Caesar's Cipher • A B C D E F G H I J K L M • D E F G H I J K L M N O P • N O P Q R S T U V W X Y Z • Q R S T U V W X Y Z A B C • UHWXUQ WR URPH RETURN TO ROME
D/A, E/B, F/C, …, A/X, B/Y, C/Z q0 A Decrypting Machine
Java Implementation FiniteAutomaton MealyAutomaton MooreAutomaton