Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 3240: Languages and Computation

Similar presentations


Presentation on theme: "CS 3240: Languages and Computation"— Presentation transcript:

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

3

4

5

6

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

23

24


Download ppt "CS 3240: Languages and Computation"

Similar presentations


Ads by Google