Download presentation
Presentation is loading. Please wait.
1
CS 3240: Languages and Computation
Introducing Regular Languages: Deterministic Finite Automata and Regular Expressions
2
Automata Finite Automata model many design and analysis tasks, e.g.
Lexical analyzer in a compiler Digital cicuit design Keywork searching in texts or on the web. Software for verifying finite state systems, such as communication protocols. Your ATM, vendig machine, Etc. McCulloch&Pitts, Rabin&Scott, Moore, Huffman
7
Finite State Machine and Finite Automata
8
Deterministic Finite Automata
A simplest model for computing Deterministic: Machine is in a state. Upon receipt of a symbol will go to a unique state. Finite: Have a finite number of states Automata: (pl. of automaton) Self-operating machine DFA: finite-state machine without ambiguity
9
DFA and Strings DFA can recognize strings
String is input If DFA ends at accept state, string is recognized A language is called a regular language if some finite automaton recognizes it Let us look at a few example before giving formal mathematical definition
10
DFA Examples 1 1 start state 1 2 accept state transition
1 1 start state 1 2 accept state transition Note: The alphabet for this example is {0, 1}. Each state has a transition for every symbol in the alphabet Accept all strings that end in 1
11
DFA Examples 5 3 4 2 1 a b Accept strings of 'a's and 'b's that begin and end with same symbol
12
DFA Examples 1 Start 2 1 2 1 2 2 1 Keep running count of
1 Start 2 1 2 1 2 2 Keep running count of total of symbols read in mod 3. Accept on 0. 1
13
DFA Examples Even Odd 1 Strings with an odd number of ones.
14
DFA Examples '001' 1 '0' '00' 0,1 Strings containing the substring 001
15
Formal Definition of DFA
A DFA consists of: Alphabet A set of states Q A transition function δ : Q Q One start state q0 One or more accepting states F Q Language accepted by a DFA is the set of strings such that DFA ends at an accepting state Each string is c1c2…cn with ci States are qi = δ(qi-1,ci ) for i=1…n qn is an accepting state
16
Can DFA's be designed to accept any string?
No!
17
Examples Design a DFA to recognize strings that start out with k zeros followed by k ones. Impossible Design a DFA to recognize strings with an equal number of ones and zeros. Design a DFA to recognize strings with an equal number of strings "01" and "10". Possible!
18
Actually the third one is regular!
1 1 1 1 1 1 DFA to recognize strings with an equal number of strings "01" and "10" 1
19
DFA More examples
20
DFA More examples A,B are the input into which the
marble is dropped. The x-levers cause fall either to left or right, but lever reverses upon a marble passing Accept if marble exits through D
21
Non-Deterministic Finite Automata
22
NFA and -NFA Nondeterministic Finite Automata
Same input may produce multiple paths Allows transition with an empty string or transition from one state to different states given a character q1 q2 1 q3 nondeterministic transition q1 q2 empty string transition
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.