Regular Expressions. Definitions Equivalence to Finite Automata

Similar documents
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 4 Nancy Lynch

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Regular Expressions and Automata using Haskell

C H A P T E R Regular Expressions regular expression

Scanner. tokens scanner parser IR. source code. errors

Reading 13 : Finite State Automata and Regular Expressions

Finite Automata. Reading: Chapter 2

Converting Finite Automata to Regular Expressions

Finite Automata. Reading: Chapter 2

Finite Automata and Regular Languages

MACM 101 Discrete Mathematics I

Automata on Infinite Words and Trees

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

Regular Languages and Finite Automata

Automata and Computability. Solutions to Exercises

Informatique Fondamentale IMA S8

Automata and Formal Languages

The Halting Problem is Undecidable

Graph Theory Problems and Solutions

Introduction to Finite Automata

Genetic programming with regular expressions

Regular Languages and Finite State Machines

A Little Set Theory (Never Hurt Anybody)

CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013

CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

Regular Languages and Finite Automata

CS5236 Advanced Automata Theory

Properties of Real Numbers

Compiler Construction

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Matrix-Chain Multiplication

Permutation Groups. Tom Davis April 2, 2003

Lecture 2 Matrix Operations

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, School of Informatics University of Edinburgh als@inf.ed.ac.

Answer Key for California State Standards: Algebra I

1.6 The Order of Operations

Basic Proof Techniques

Basics of Counting. The product rule. Product rule example. 22C:19, Chapter 6 Hantao Zhang. Sample question. Total is 18 * 325 = 5850

A CONSTRUCTION OF THE UNIVERSAL COVER AS A FIBER BUNDLE

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

ASSIGNMENT ONE SOLUTIONS MATH 4805 / COMP 4805 / MATH 5605

Solution to Homework 2

6.080/6.089 GITCS Feb 12, Lecture 3

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

Maths Workshop for Parents 2. Fractions and Algebra

Discrete Convolution and the Discrete Fourier Transform

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy

Click on the links below to jump directly to the relevant section

Vectors and Index Notation

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

Sample Induction Proofs

Composability of Infinite-State Activity Automata*

Multiplying and Dividing Signed Numbers. Finding the Product of Two Signed Numbers. (a) (3)( 4) ( 4) ( 4) ( 4) 12 (b) (4)( 5) ( 5) ( 5) ( 5) ( 5) 20

3515ICT Theory of Computation Turing Machines

Finite Automata and Formal Languages

Formal Deænition of Finite Automaton. 1. Finite set of states, typically Q. 2. Alphabet of input symbols, typically æ.

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

University of Toronto Department of Electrical and Computer Engineering. Midterm Examination. CSC467 Compilers and Interpreters Fall Semester, 2005

CAs and Turing Machines. The Basis for Universal Computation

Warshall s Algorithm: Transitive Closure

Universality in the theory of algorithms and computer science

Turing Machines: An Introduction

Method To Solve Linear, Polynomial, or Absolute Value Inequalities:

Hint 1. Answer (b) first. Make the set as simple as possible and try to generalize the phenomena it exhibits. [Caution: the next hint is an answer to

Energy transformations

6.3 Conditional Probability and Independence

PREPARATION FOR MATH TESTING at CityLab Academy

Scheduling Shop Scheduling. Tim Nieberg

T Reactive Systems: Introduction and Finite State Automata

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

MATH 60 NOTEBOOK CERTIFICATIONS

Integers are positive and negative whole numbers, that is they are; {... 3, 2, 1,0,1,2,3...}. The dots mean they continue in that pattern.

3. Mathematical Induction

Computing exponents modulo a number: Repeated squaring

Mathematical Induction. Lecture 10-11

S-Parameters and Related Quantities Sam Wetterlin 10/20/09

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Binary Adders: Half Adders and Full Adders

26 Integers: Multiplication, Division, and Order

Preventing Denial of Service Attacks in a Calculus of Mobile Resources

Naming in Distributed Systems

03 - Lexical Analysis

Class Notes CS Creating and Using a Huffman Code. Ref: Weiss, page 433

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

Years after US Student to Teacher Ratio

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

Lecture 16 : Relations and Functions DRAFT

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.

NFAs with Tagged Transitions, their Conversion to Deterministic Automata and Application to Regular Expressions

Connectivity and cuts

Vector Math Computer Graphics Scott D. Anderson

Section V.3: Dot Product

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

Properties of Stabilizing Computations

Algebraic expressions are a combination of numbers and variables. Here are examples of some basic algebraic expressions.

2. Select Point B and rotate it by 15 degrees. A new Point B' appears. 3. Drag each of the three points in turn.

Transcription:

Regular Expressions Definitions Equivalence to Finite Automata 1

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

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

RE s: Definition (2) Induction 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 ). Induction 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 ). 4

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

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

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

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

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

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

RE to ε-nfa: Basis Symbol a: ε: a ε : 11

RE to ε-nfa: Induction 1 Union ε For E 1 ε ε For E 2 ε For E 1 E 2 12

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

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

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

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

Example: k-paths 1 1 2 0 0 0 1 1 3 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 =?? 17

k-path Induction Let R ijk be the regular expression for the set of labels of k-paths from state i to state j. Basis: k=0. R ij0 = sum of labels of arc from i to j. if no such arc. But add ε if i=j. 18

1 Example: Basis 1 2 0 0 0 1 1 3 R 120 = 0. R 110 = + ε = ε. 19

k-path Inductive Case A k-path from i to j either: 1. Never goes through state k, or 2. Goes through k one or more times. R ijk = 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 20

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

Final Step The RE with the same language as the DFA is the sum (union) of R ijn, 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. 22

Example 1 2 0 0 0 1 1 3 R 233 = R 232 + R 232 (R 332 )*R 332 = R 232 (R 332 )* R 232 = (10)*0+1(01)*1 R 332 = 0(01)*(1+00) + 1(10)*(0+11) R 233 = [(10)*0+1(01)*1] [(0(01)*(1+00) + 1(10)*(0+11))]* 1 23

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

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

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