1 Regular Expressions Definitions Equivalence to Finite Automata.

Slides:



Advertisements
Similar presentations
CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts.
Advertisements

1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Regular Expressions Highlights: –A regular expression is used to specify a language, and it does so precisely. –Regular expressions are very intuitive.
Costas Busch - RPI1 Single Final State for NFAs. Costas Busch - RPI2 Any NFA can be converted to an equivalent NFA with a single final state.
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
Fall 2006Costas Busch - RPI1 Regular Expressions.
1 Regular Expressions. 2 Regular expressions describe regular languages Example: describes the language.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Regular.
Fall 2004COMP 3351 Single Final State for NFA. Fall 2004COMP 3352 Any NFA can be converted to an equivalent NFA with a single final state.
1 Languages and Finite Automata or how to talk to machines...
1 Single Final State for NFAs and DFAs. 2 Observation Any Finite Automaton (NFA or DFA) can be converted to an equivalent NFA with a single final state.
1 Finite state automaton (FSA) LING 570 Fei Xia Week 2: 10/07/09 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA.
Nondeterministic Finite Automata
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
Definitions Equivalence to Finite Automata
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
Fall 2004COMP 3351 Another NFA Example. Fall 2004COMP 3352 Language accepted (redundant state)
Costas Busch - LSU1 Non-Deterministic Finite Automata.
1 A Single Final State for Finite Accepters. 2 Observation Any Finite Accepter (NFA or DFA) can be converted to an equivalent NFA with a single final.
Fall 2004COMP 3351 Regular Expressions. Fall 2004COMP 3352 Regular Expressions Regular expressions describe regular languages Example: describes the language.
Regular Expressions. Notation to specify a language –Declarative –Sort of like a programming language. Fundamental in some languages like perl and applications.
Theory of Computation, Feodor F. Dragan, Kent State University 1 Regular expressions: definition An algebraic equivalent to finite automata. We can build.
Regular Expressions Hopcroft, Motawi, Ullman, Chap 3.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
CSCI 2670 Introduction to Theory of Computing September 1, 2005.
Lecture 5 Sept 06, 2012 Regular expressions – examples Converting DFA to regular expression. (same works for NFA to r.e. conversion.) Converting R.E. to.
Regular Expressions and Languages A regular expression is a notation to represent languages, i.e. a set of strings, where the set is either finite or contains.
Lesson No.6 Naveen Z Quazilbash. Overview Attendance and lesson plan sharing Assignments Quiz (10 mins.). Some basic ideas about this course Regular Expressions.
CHAPTER 1 Regular Languages
CMSC 330: Organization of Programming Languages Theory of Regular Expressions Finite Automata.
1 Regular Expressions Reading: Chapter 3. 2 Regular Expressions vs. Finite Automata Offers a declarative way to express the pattern of any string we want.
Regular Expressions Costas Busch - LSU.
Introduction to Finite Automata
Chapter 3 Regular Expressions, Nondeterminism, and Kleene’s Theorem Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction.
1 Closure Properties of Regular Languages Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism.
1 Regular Expressions Definitions Equivalence to Finite Automata.
Deterministic Finite Automata
1 Regular Expressions Definitions Equivalence to Finite Automata Midterm exam Review for Midterm
1 Language Recognition (11.4) Longin Jan Latecki Temple University Based on slides by Costas Busch from the courseCostas Busch
Conversions Regular Expression to FA FA to Regular Expression.
Regular Expressions CS 130: Theory of Computation HMU textbook, Chapter 3.
1 Chapter 3 Regular Languages.  2 3.1: Regular Expressions (1)   Regular Expression (RE):   E is a regular expression over  if E is one of:
 2004 SDU Lecture4 Regular Expressions.  2004 SDU 2 Regular expressions A third way to view regular languages. Say that R is a regular expression if.
1 Introduction to the Theory of Computation Regular Expressions.
CSCI 2670 Introduction to Theory of Computing September 7, 2004.
CSCI 2670 Introduction to Theory of Computing September 11, 2007.
Theory of Computation Automata Theory Dr. Ayman Srour.
1 Example: Graph of a DFA Start 1 0 ACB 1 0 0,1 Previous string OK, does not end in 1. Previous String OK, ends in a single 1. Consecutive 1’s have been.
Cpt S 317: Spring 2009 Reading: Chapter 3
Languages.
Non Deterministic Automata
Regular Expressions.
Formal Language & Automata Theory
Complexity and Computability Theory I
Single Final State for NFA
Language Recognition (12.4)
REGULAR LANGUAGES AND REGULAR GRAMMARS
Regular Expression We shall build expressions from the symbols using simple operations include concatenation, union and kleen closure. Several intuitive.
Non-Deterministic Finite Automata
Definitions Equivalence to Finite Automata
Definitions Equivalence to Finite Automata
Regular Expressions.
CSCI 2670 Introduction to Theory of Computing
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
Language Recognition (12.4)
Definitions Equivalence to Finite Automata
Chapter 1 Regular Language
Presentation transcript:

1 Regular Expressions Definitions Equivalence to Finite Automata

2 RE’s: Introduction uRegular expressions are an algebraic way to describe languages. uThey describe exactly the regular languages. uIf E is a regular expression, then L(E) is the language it defines. uWe’ll describe RE’s and their languages recursively.

3 RE’s: Definition uBasis 1: If a is any symbol, then a is a RE, and L(a) = {a}. wNote: {a} is the language containing one string, and that string is of length 1.  Basis 2: ε is a RE, and L( ε ) = { ε }.  Basis 3: ∅ is a RE, and L( ∅ ) = ∅.

4 RE’s: Definition – (2) uInduction 1: If E 1 and E 2 are regular expressions, then E 1 +E 2 is a regular expression, and L(E 1 +E 2 ) = L(E 1 )  L(E 2 ). uInduction 2: If E 1 and E 2 are regular expressions, then E 1 E 2 is a regular expression, and L(E 1 E 2 ) = L(E 1 )L(E 2 ). Concatenation : the set of strings wx such that w Is in L(E 1 ) and x is in L(E 2 ).

5 RE’s: Definition – (3) uInduction 3: If E is a RE, then E* is a RE, and L(E*) = (L(E))*. Closure, or “Kleene closure” = set of strings w 1 w 2 …w n, for some n > 0, where each w i is in L(E). Note: when n=0, the string is ε.

6 Precedence of Operators uParentheses may be used wherever needed to influence the grouping of operators. uOrder of precedence is * (highest), then concatenation, then + (lowest).

7 Examples: RE’s uL(01) = {01}. uL(01+0) = {01, 0}. uL(0(1+0)) = {01, 00}. wNote order of precedence of operators.  L(0*) = { ε, 0, 00, 000,… }.  L((0+10)*( ε +1)) = all strings of 0’s and 1’s without two consecutive 1’s.

8 Equivalence of RE’s and Automata uWe need to show that for every RE, there is an automaton that accepts the same language.  Pick the most powerful automaton type: the ε -NFA. uAnd we need to show that for every automaton, there is a RE defining its language. wPick the most restrictive type: the DFA.

9 Converting a RE to an ε -NFA uProof is an induction on the number of operators (+, concatenation, *) in the RE. uWe always construct an automaton of a special form (next slide).

10 Form of ε -NFA’s Constructed No arcs from outside, no arcs leaving Start state: Only state with external predecessors “Final” state: Only state with external successors

11 RE to ε -NFA: Basis uSymbol a:  ε :  ∅ : a ε

12 RE to ε -NFA: Induction 1 – Union For E 1 For E 2 For E 1  E 2 ε εε ε

13 RE to ε -NFA: Induction 2 – Concatenation For E 1 For E 2 For E 1 E 2 ε

14 RE to ε -NFA: Induction 3 – Closure For E For E* ε ε εε

15 DFA-to-RE uA strange sort of induction. uStates of the DFA are assumed to be 1,2,…,n. uWe construct RE’s for the labels of restricted sets of paths. wBasis: single arcs or no arc at all. wInduction: paths that are allowed to traverse next state in order.

16 k-Paths uA k-path is a path through the graph of the DFA that goes though no state numbered higher than k. uEndpoints are not restricted; they can be any state.

17 Example: k-Paths paths from 2 to 3: RE for labels = 0. 1-paths from 2 to 3: RE for labels = paths from 2 to 3: RE for labels = (10)*0+1(01)*1 3-paths from 2 to 3: RE for labels = ??

18 k-Path Induction uLet R ij k be the regular expression for the set of labels of k-paths from state i to state j. uBasis: k=0. R ij 0 = sum of labels of arc from i to j.  ∅ if no such arc.  But add ε if i=j.

19 Example: Basis uR 12 0 = 0.  R 11 0 = ∅ + ε = ε

20 k-Path Inductive Case uA k-path from i to j either: 1.Never goes through state k, or 2.Goes through k one or more times. R ij k = R ij k-1 + R ik k-1 (R kk k-1 )* R kj k-1. Doesn’t go through k Goes from i to k the first time Zero or more times from k to k Then, from k to j

21 Illustration of Induction States < k k i j Paths not going through k From k to j From k to k Several times Path to k

22 Final Step uThe RE with the same language as the DFA is the sum (union) of R ij n, where: 1.n is the number of states; i.e., paths are unconstrained. 2.i is the start state. 3.j is one of the final states.

23 Example uR 23 3 = R R 23 2 (R 33 2 )*R 33 2 = R 23 2 (R 33 2 )* uR 23 2 = (10)*0+1(01)*1 uR 33 2 = 0(01)*(1+00) + 1(10)*(0+11) uR 23 3 = [(10)*0+1(01)*1] [(0(01)*(1+00) + 1(10)*(0+11))]*

24 Summary  Each of the three types of automata (DFA, NFA, ε -NFA) we discussed, and regular expressions as well, define exactly the same set of languages: the regular languages.

25 Algebraic Laws for RE’s uUnion and concatenation behave sort of like addition and multiplication. w+ is commutative and associative; concatenation is associative. wConcatenation distributes over +. wException: Concatenation is not commutative.

26 Identities and Annihilators  ∅ is the identity for +.  R + ∅ = R.  ε is the identity for concatenation.  ε R = R ε = R.  ∅ is the annihilator for concatenation.  ∅ R = R ∅ = ∅.