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
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.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
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
Chapter Seven: Regular Expressions
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.
4. Properties of Regular Languages
Non-Deterministic Finite Automata
Definitions Equivalence to Finite Automata
Definitions Equivalence to Finite Automata
Regular Expressions.
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
Language Recognition (12.4)
CS21 Decidability and Tractability
MA/CSSE 474 DFSM to RE Theory of Computation
Chapter 1 Regular Language
CSCI 2670 Introduction to Theory of Computing
CSC312 Automata Theory Kleene’s Theorem Lecture # 12
CSCI 2670 Introduction to Theory of Computing
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.

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(∅) = ∅.

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).

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 ε.

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

Examples: RE’s L(01) = {01}. L(01+0) = {01, 0}. L(0(1+0)) = {01, 00}. 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.

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.

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).

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

RE to ε-NFA: Basis a Symbol a: ε: ∅: ε

RE to ε-NFA: Induction 1 – Union For E1  E2 For E1 ε For E2

RE to ε-NFA: Induction 2 – Concatenation For E1E2 For E1 For E2 ε

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

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.

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

Example: k-Paths 1 3 2 0-paths from 2 to 3: RE for labels = 0. 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 = ??

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 Example: Basis R120 = 0. R110 = ∅ + ε = ε.

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

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

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.

Example R233 = R232 + R232(R332)*R332 = R232(R332)* 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))]*

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.

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.

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