Finite Automata Question: What is a computer? real computers too complex for any theory Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1 Finite Automata Question: What is a computer? real computers too complex for any theory need manageable mathematical abstraction Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1 Finite Automata Question: What is a computer? real computers too complex for any theory need manageable mathematical abstraction idealized models: accurate in some ways, but not in all details Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1 Finite Automata – Important ideas formal definition of finite automata Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2 Finite Automata – Important ideas formal definition of finite automata deterministic vs. non-deterministic finite automata Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2 Finite Automata – Important ideas formal definition of finite automata deterministic vs. non-deterministic finite automata regular languages Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2 Finite Automata – Important ideas formal definition of finite automata deterministic vs. non-deterministic finite automata regular languages operations on regular languages Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2 Finite Automata – Important ideas formal definition of finite automata deterministic vs. non-deterministic finite automata regular languages operations on regular languages regular expressions Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2 Finite Automata – Important ideas formal definition of finite automata deterministic vs. non-deterministic finite automata regular languages operations on regular languages regular expressions pumping lemma Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2 Example: An Automatic Door front pad rear pad door open when person approaches Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3 Example: An Automatic Door front pad rear pad door open when person approaches hold open until person clears Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3 Example: An Automatic Door front pad rear pad door open when person approaches hold open until person clears don’t open when someone standing behind door Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed States: FRONT REAR BOTH open NEITHER Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed States: OPEN FRONT REAR BOTH open NEITHER Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed States: OPEN CLOSED FRONT REAR BOTH open NEITHER Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed States: OPEN CLOSED Sensor: FRONT REAR BOTH open NEITHER Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed FRONT REAR BOTH open NEITHER States: OPEN CLOSED Sensor: FRONT: someone on rear pad Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed FRONT REAR BOTH open NEITHER States: OPEN CLOSED Sensor: FRONT: someone on rear pad REAR: someone on rear pad Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed FRONT REAR BOTH open NEITHER States: OPEN CLOSED Sensor: FRONT: someone on rear pad REAR: someone on rear pad BOTH: someone on both pads Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA REAR BOTH NEITHER FRONT closed FRONT REAR BOTH open NEITHER States: OPEN CLOSED Sensor: FRONT: someone on rear pad REAR: someone on rear pad BOTH: someone on both pads NEITHER no one on either pad. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4 The Automatic Door as DFA DFA is Deterministic Finite Automata Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5 The Automatic Door as DFA DFA is Deterministic Finite Automata REAR BOTH NEITHER FRONT closed FRONT REAR BOTH open NEITHER Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5 The Automatic Door as DFA DFA is Deterministic Finite Automata REAR BOTH NEITHER FRONT closed FRONT REAR BOTH open NEITHER neither front rear both closed closed open closed closed open closed open open open Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5 DFA: Informal Definition 0 1 1 0 q 2 q1 q3 : , and The machine states: 0,1 . Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6 DFA: Informal Definition 0 1 1 0 q 2 q1 q3 0,1 The machine : states: , and . start state: (arrow from “outside”). Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6 DFA: Informal Definition 0 1 1 0 q 2 q1 q3 0,1 The machine : states: , and . start state: (arrow from “outside”). accept state: (double circle). Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6 DFA: Informal Definition 0 1 1 0 q 2 q1 q3 0,1 The machine : states: , and . start state: (arrow from “outside”). accept state: (double circle). state transitions: arrows. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6 DFA: Informal Definition (cont.) 0 q1 1 1 0 q 2 q3 0,1 On an input string Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7 DFA: Informal Definition (cont.) 0 q1 1 1 0 q 2 q3 On an input string DFA begins in start state Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. 0,1 – p.7 DFA: Informal Definition (cont.) 0 q1 1 1 0 q 2 q3 0,1 On an input string DFA begins in start state after reading each symbol, DFA makes state transition with matching label. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7 DFA: Informal Definition (cont.) 0 q1 1 1 0 q 2 q3 0,1 On an input string DFA begins in start state after reading each symbol, DFA makes state transition with matching label. After reading last symbol, DFA produces output: Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7 DFA: Informal Definition (cont.) 0 q1 1 1 0 q 2 q3 0,1 On an input string DFA begins in start state after reading each symbol, DFA makes state transition with matching label. After reading last symbol, DFA produces output: accept if DFA is an accepting state. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7 DFA: Informal Definition (cont.) 0 q1 1 1 0 q 2 q3 0,1 On an input string DFA begins in start state after reading each symbol, DFA makes state transition with matching label. After reading last symbol, DFA produces output: accept if DFA is an accepting state. reject otherwise. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7 Informal Definition - Example 0 q1 1 1 0 q 2 q3 0,1 What happens on input strings Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8 Informal Definition - Example 0 q1 1 1 0 q 2 q3 0,1 What happens on input strings Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8 Informal Definition - Example 0 1 1 0 q 2 q1 q3 0,1 What happens on input strings Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8 Informal Definition 0 q1 1 1 0 q 2 q3 0,1 This DFA accepts all input strings that end with a 1 all input strings that contain at least one 1, and end with an even number of 0’s no other strings Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.9 Languages and Alphabets – the Greek alphabet. – the binary alphabet. is a finite set of letters. – the English alphabet. An alphabet – the digital alphabet. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.10 Languages and Alphabets – the Greek alphabet. – the binary alphabet. is a finite set of letters. – the English alphabet. An alphabet – the digital alphabet. The collection of all strings over Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. is denoted by . – p.10 Languages and Alphabets – the Greek alphabet. – the binary alphabet. – the digital alphabet. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. . , , For the binary alphabet, , are all members of is denoted by The collection of all strings over is a finite set of letters. – the English alphabet. An alphabet , . – p.10 Languages and Examples A language over is a subset . For example Modern English. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11 Languages and Examples A language over is a subset . For example Modern English. Ancient Greek. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11 Languages and Examples A language over is a subset . For example Modern English. Ancient Greek. All prime numbers, writen using digits. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11 Languages and Examples A language over is a subset . For example Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. Modern English. Ancient Greek. All prime numbers, writen using digits. has at most seventeen 0’s – p.11 Languages and Examples A language over is a subset . For example Modern English. Ancient Greek. All prime numbers, writen using digits. has at most seventeen 0’s Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11 Languages and Examples A language over is a subset . For example Modern English. Ancient Greek. All prime numbers, writen using digits. has at most seventeen 0’s has an equal number of 0’s and 1’s Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11 Languages and DFA , the language of a DFA , is the that accepts, . Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. Definition: set of strings – p.12 Languages and DFA , the language of a DFA , is the that accepts, . Definition: set of strings Note that may accept many strings, but accepts only one language Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12 Languages and DFA , the language of a DFA , is the that accepts, . Definition: set of strings Note that may accept many strings, but accepts only one language What language does accept if it accepts no strings? Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12 Languages and DFA , the language of a DFA , is the that accepts, . Definition: set of strings Note that may accept many strings, but accepts only one language What language does accept if it accepts no strings? A language is called regular if some deterministic finite automaton accepts it. Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12 Formal Definitions is a finite set called the states, is a finite set called the alphabet, is the transition function, is the start state, and is the set of accept states. A deterministic finite automaton (DFA) is a 5-tuple , where Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.13
© Copyright 2026 Paperzz