Definitions Equivalence to Finite Automata

Slides:



Advertisements
Similar presentations
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
Advertisements

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.
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.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
Definitions Equivalence to Finite Automata
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
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.
1 Regular Expressions Definitions Equivalence to Finite Automata.
Fall 2004COMP 3351 Regular Expressions. Fall 2004COMP 3352 Regular Expressions Regular expressions describe regular languages Example: describes the language.
Regular Expressions (RE) Empty set Φ A RE denotes the empty set Empty string λ A RE denotes the set {λ} Symbol a A RE denotes the set {a} Alternation M.
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.
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
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.
Chapter 3 Regular Expressions, Nondeterminism, and Kleene’s Theorem Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction.
1 Regular Expressions Definitions Equivalence to Finite Automata.
Recap: Transformation NFA  DFA  s s1s1... snsn p1p1 p2p2... pmpm >...  p1p1  p2p2  pipi s e s1s1 e s2s2 e sisi >
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.
 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 11, 2007.
Theory of Computation Automata Theory Dr. Ayman Srour.
Cpt S 317: Spring 2009 Reading: Chapter 3
3. Regular Expressions and Languages
Foundations of Computing Science
Languages.
Practical Regular Expressions
Non Deterministic Automata
Regular Expressions.
Formal Language & Automata Theory
Regular Expressions Sections:1.3 page 63 September 17, 2008
Complexity and Computability Theory I
Single Final State for NFA
Language Recognition (12.4)
REGULAR LANGUAGES AND REGULAR GRAMMARS
Cpt S 317: Spring 2009 Reading: Chapters 1-4
Regular Expression We shall build expressions from the symbols using simple operations include concatenation, union and kleen closure. Several intuitive.
CS 154, Lecture 3: DFANFA, Regular Expressions.
Non-Deterministic Finite Automata
Definitions Equivalence to Finite Automata
Regular Expressions.
CSCI 2670 Introduction to Theory of Computing
Chapter 4 Properties of Regular Languages
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
Language Recognition (12.4)
CS21 Decidability and Tractability
Definitions Equivalence to Finite Automata
MA/CSSE 474 DFSM to RE Theory of Computation
Chapter 1 Regular Language
CSC312 Automata Theory Kleene’s Theorem Lecture # 12
COSC 3340: Introduction to Theory of Computation
COSC 3340: Introduction to Theory of Computation
Presentation transcript:

Definitions Equivalence to Finite Automata Regular Expressions Definitions Equivalence to Finite Automata

RE’s: Introduction Regular expressions are an algebraic way to describe languages. They describe exactly the regular languages. If E is a regular expression, then L(E) is the language it defines. We’ll describe RE’s and their languages recursively. based on Stanford InfoLab re1.pptx Total: 29

RE’s: Definition Basis 1: If a is any symbol, then a is a RE, and L(a) = {a}. Note: {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(∅) = ∅. based on Stanford InfoLab re1.pptx Total: 29

RE’s: Definition – (2) Induction 1: If E1 and E2 are regular expressions, then E1+E2 is a regular expression, and L(E1+E2) = L(E1)L(E2). Induction 2: If E1 and E2 are regular expressions, then E1E2 is a regular expression, and L(E1E2) = L(E1)L(E2). Concatenation : the set of strings wx such that w Is in L(E1) and x is in L(E2). based on Stanford InfoLab re1.pptx Total: 29

RE’s: Definition – (3) Induction 3: If E is a RE, then E* is a RE, and L(E*) = (L(E))*. Closure, or “Kleene closure” = set of strings w1w2…wn, for some n > 0, where each wi is in L(E). Note: when n=0, the string is ε. based on Stanford InfoLab re1.pptx Total: 29

Precedence of Operators Parentheses may be used wherever needed to influence the grouping of operators. Order of precedence is * (highest), then concatenation, then + (lowest). based on Stanford InfoLab re1.pptx Total: 29

Examples: RE’s L(01) = ? L(01+0) = ? L(0(1+0)) = ? L(0*) = ? Note order of precedence of operators. L(0*) = ? L((0+10)*(ε+1)) = ? See next slide for the solutions  based on Stanford InfoLab re1.pptx Total: 29

Examples continued 2 L(01) = {01}. L(01+0) = {01, 0}. Note 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. based on Stanford InfoLab re1.pptx Total: 29

Examples continued 3 L(0*) = {ε, 0, 00, 000,… }. Why? By induction, for any set A; L(A*)=L(A)*; so with A={0} the claim follows. L((0+10)*(ε+1)) = L((0+10)*)L(ε+1)= L((0+10))*(L(ε)  L(1))= L((0+10))*{ε,1} 𝐿 𝐴 ∗ = 𝐿(𝐴 ∗ = 𝑖=0 ∞ 𝐿(𝐴 𝑘 ={𝜀,𝐿 𝐴 ,𝐿 𝐴 𝐿 𝐴 ,𝐿 𝐴 𝐿 𝐴 𝐿(𝐴),⋯ 𝐿 0+10 =𝐿 0 ∪𝐿 10 = 0 ∪ 10 ={0,10 𝐿 0+10 𝐿 0+10 = 0,10 0,10 ={00,100,010,1010 based on Stanford InfoLab re1.pptx Total: 29

Examples continued 4 L((0+10)*(ε+1)) = L((0+10)*)L(ε+1)= L((0+10))*(L(ε)  L(1))= L((0+10))*{ε,1} 𝐿 0+10 =𝐿 0 ∪𝐿 10 = 0 ∪ 10 ={0,10 𝐿 0+10 𝐿 0+10 = 0,10 0,10 ={00,100,010,1010 𝐿 𝐴 ∗ = {𝜀,𝐿 𝐴 ,𝐿 𝐴 𝐿 𝐴 ,𝐿 𝐴 𝐿 𝐴 𝐿(𝐴),⋯ = { 𝜀, 0,10,00,100,010,1010,000⋯} Reordering: 𝐿 𝐴 ∗ 𝜀,1 = 𝜀, 0,1,00,10,01,000,001,100,101,⋯ based on Stanford InfoLab re1.pptx Total: 29

Equivalence of RE’s and Automata We need to show that for every RE, there is an automaton that accepts the same language. Pick the most powerful automaton type: the ε-NFA. And we need to show that for every automaton, there is a RE defining its language. Pick the most restrictive type: the DFA. based on Stanford InfoLab re1.pptx Total: 29

Converting a RE to an ε-NFA Proof is an induction on the number of operators (+, concatenation, *) in the RE. We always construct an automaton of a special form (next slide). based on Stanford InfoLab re1.pptx Total: 29

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 based on Stanford InfoLab re1.pptx Total: 29

RE to ε-NFA: Basis Symbol a: ε: ε a ∅: based on Stanford InfoLab re1.pptx Total: 29

RE to ε-NFA: Induction 1 – Union For E1  E2 For E1 ε For E2 based on Stanford InfoLab re1.pptx Total: 29

RE to ε-NFA: Induction 2 – Concatenation For E1E2 For E1 For E2 ε based on Stanford InfoLab re1.pptx Total: 29

RE to ε-NFA: Induction 3 – Closure For E* ε For E based on Stanford InfoLab re1.pptx Total: 29

DFA-to-RE A strange sort of induction. States of the DFA are assumed to be 1,2,…,n. We construct RE’s for the labels of restricted sets of paths. Basis: single arcs or no arc at all. Induction: paths that are allowed to traverse next state in order. based on Stanford InfoLab re1.pptx Total: 29

k-Paths A k-path is a path through the graph of the DFA that goes through no state numbered higher than k. Endpoints are not restricted; they can be any state. based on Stanford InfoLab re1.pptx Total: 29

A k-path is a path through the graph of the DFA that goes through no state numbered higher than k. Example: k-Paths 1 3 2 0-paths from 2 to 3: RE for labels = 0. 1-paths from 2 to 3: RE for labels = 0+11. 2-paths from 2 to 3: RE for labels = (10)*0+1(01)*1 3-paths from 2 to 3: RE for labels = ?? based on Stanford InfoLab re1.pptx Total: 29

k-Path Induction Let Rijk be the regular expression for the set of labels of k-paths from state i to state j. Basis: k=0. Rij0 = sum of labels of arc from i to j. ∅ if no such arc. But add ε if i=j. 1 3 2 R120 = 0. R110 = ∅ + ε = ε. based on Stanford InfoLab re1.pptx Total: 29

k-Path Inductive Case A k-path from i to j either: Never goes through state k, or Goes through k one or more times. Rijk = Rijk-1 + Rikk-1(Rkkk-1)* Rkjk-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 based on Stanford InfoLab re1.pptx Total: 29

Illustration of Induction Path to k Paths not going through k i From k to k Several times j k States < k From k to j based on Stanford InfoLab re1.pptx Total: 29

Final Step The RE with the same language as the DFA is the sum (union) of Rijn, where: n is the number of states; i.e., paths are unconstrained. i is the start state. j is one of the final states. based on Stanford InfoLab re1.pptx Total: 29

Example Rijk = Rijk-1 + Rikk-1(Rkkk-1)* Rkjk-1 3 2 Example R233 = R232 + R232(R332)*R332 = R232(R332)* R232 = (10)*0+1(01)*1 R332 = 0(01)*(1+00) + 1(10)*(0+11) R233 = [(10)*0+1(01)*1]∙ [(0(01)*(1+00) + 1(10)*(0+11))]* based on Stanford InfoLab re1.pptx Total: 29

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. based on Stanford InfoLab re1.pptx Total: 29

Algebraic Laws for RE’s Union and concatenation behave sort of like addition and multiplication. + is commutative and associative; concatenation is associative. Concatenation distributes over +. Exception: Concatenation is not commutative. based on Stanford InfoLab re1.pptx Total: 29

Identities and Annihilators ∅ is the identity for +. R + ∅ = R. ε is the identity for concatenation. εR = Rε = R. ∅ is the annihilator for concatenation. ∅R = R∅ = ∅. based on Stanford InfoLab re1.pptx Total: 29