120 likes | 233 Vues
Learn about Finite State Machines and their applications in switching circuits, control systems, and communication protocols. Explore examples like binary addition and Caesar's Cipher, with Java implementation of decrypting machines.
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