Theory of Languages and Automata

Similar documents
Theory of Computation (I) Yijia Chen Fudan University

Theory of Computation (II) Yijia Chen Fudan University

Introduction to Languages and Computation

acs-04: Regular Languages Regular Languages Andreas Karwath & Malte Helmert Informatik Theorie II (A) WS2009/10

September 11, Second Part of Regular Expressions Equivalence with Finite Aut

CS 530: Theory of Computation Based on Sipser (second edition): Notes on regular languages(version 1.1)

Nondeterministic Finite Automata

Examples of Regular Expressions. Finite Automata vs. Regular Expressions. Example of Using flex. Application

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Finite Automata and Regular languages

CISC 4090 Theory of Computation

Closure under the Regular Operations

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata

Theory of Computation p.1/?? Theory of Computation p.2/?? Unknown: Implicitly a Boolean variable: true if a word is

CSE 135: Introduction to Theory of Computation Nondeterministic Finite Automata (cont )

CS 154. Finite Automata, Nondeterminism, Regular Expressions

Applied Computer Science II Chapter 1 : Regular Languages

Finite Automata. Seungjin Choi

September 7, Formal Definition of a Nondeterministic Finite Automaton

COM364 Automata Theory Lecture Note 2 - Nondeterminism

CS 154, Lecture 3: DFA NFA, Regular Expressions

CS:4330 Theory of Computation Spring Regular Languages. Finite Automata and Regular Expressions. Haniel Barbosa

UNIT-II. NONDETERMINISTIC FINITE AUTOMATA WITH ε TRANSITIONS: SIGNIFICANCE. Use of ε-transitions. s t a r t. ε r. e g u l a r

Inf2A: Converting from NFAs to DFAs and Closure Properties

CPS 220 Theory of Computation REGULAR LANGUAGES

Chap. 1.2 NonDeterministic Finite Automata (NFA)

Formal Definition of Computation. August 28, 2013

Computer Sciences Department

CS 154, Lecture 2: Finite Automata, Closure Properties Nondeterminism,

CS 455/555: Finite automata

CHAPTER 1 Regular Languages. Contents

Chapter Five: Nondeterministic Finite Automata

UNIT-III REGULAR LANGUAGES

Lecture 3: Nondeterministic Finite Automata

Automata and Languages

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Lecture 4 Nondeterministic Finite Accepters

Nondeterminism. September 7, Nondeterminism

Critical CS Questions

Incorrect reasoning about RL. Equivalence of NFA, DFA. Epsilon Closure. Proving equivalence. One direction is easy:

Recitation 2 - Non Deterministic Finite Automata (NFA) and Regular OctoberExpressions

Computational Models Lecture 2 1

CS243, Logic and Computation Nondeterministic finite automata

CS21 Decidability and Tractability

Computational Models Lecture 2 1

What we have done so far

Intro to Theory of Computation

Finite Automata and Regular Languages (part III)

CS 154. Finite Automata vs Regular Expressions, Non-Regular Languages

Automata: a short introduction

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

TDDD65 Introduction to the Theory of Computation

Uses of finite automata

Clarifications from last time. This Lecture. Last Lecture. CMSC 330: Organization of Programming Languages. Finite Automata.

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Lecture 17: Language Recognition

CSE 135: Introduction to Theory of Computation Nondeterministic Finite Automata

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

T (s, xa) = T (T (s, x), a). The language recognized by M, denoted L(M), is the set of strings accepted by M. That is,

Nondeterministic Finite Automata. Nondeterminism Subset Construction

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

front pad rear pad door

C2.1 Regular Grammars

CMSC 330: Organization of Programming Languages. Theory of Regular Expressions Finite Automata

Computational Models - Lecture 1 1

C2.1 Regular Grammars

Non-deterministic Finite Automata (NFAs)

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) September,

Nondeterministic Finite Automata

Great Theoretical Ideas in Computer Science. Lecture 4: Deterministic Finite Automaton (DFA), Part 2

Deterministic Finite Automata. Non deterministic finite automata. Non-Deterministic Finite Automata (NFA) Non-Deterministic Finite Automata (NFA)

HKN CS/ECE 374 Midterm 1 Review. Nathan Bleier and Mahir Morshed

Proofs, Strings, and Finite Automata. CS154 Chris Pollett Feb 5, 2007.

Outline. CS21 Decidability and Tractability. Regular expressions and FA. Regular expressions and FA. Regular expressions and FA

Lecture 1: Finite State Automaton

Equivalence of DFAs and NFAs

Nondeterministic Finite Automata

Non-Deterministic Finite Automata

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS

Computational Models - Lecture 3

Closure under the Regular Operations

Formal Definition of a Finite Automaton. August 26, 2013

Foundations of

Nondeterministic finite automata

UNIT-I. Strings, Alphabets, Language and Operations

Closure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism

Introduction to Theory of Computing

Pushdown automata. Twan van Laarhoven. Institute for Computing and Information Sciences Intelligent Systems Radboud University Nijmegen

Sri vidya college of engineering and technology

CISC4090: Theory of Computation

Languages. Non deterministic finite automata with ε transitions. First there was the DFA. Finite Automata. Non-Deterministic Finite Automata (NFA)

CS21 Decidability and Tractability

Computational Models #1

Automata and Computability. Solutions to Exercises

Theory of Computation Lecture 1. Dr. Nahla Belal

Computational Models - Lecture 4

Time Magazine (1984)

Automata and Computability. Solutions to Exercises

Regular Languages. Problem Characterize those Languages recognized by Finite Automata.

Theory of Computation (IV) Yijia Chen Fudan University

Transcription:

Theory of Languages and Automata Chapter 1- Regular Languages & Finite State Automaton Sharif University of Technology

Finite State Automaton We begin with the simplest model of Computation, called finite state machine or finite automaton. are good models for computers with an extremely limited amount of memory. Embedded Systems Markov Chains are the probabilistic counterpart of Finite Automata Theory of Languages and Automata Prof. Movaghar 2

Simple Example Automatic door Door Theory of Languages and Automata Prof. Movaghar 3

Simple Example (cont.) State Diagram State Transition Table Neither Front Rear Both Closed Closed pen Closed Closed pen Closed pen pen pen Theory of Languages and Automata Prof. Movaghar 4

Formal Definition A finite automaton is a 5-tuple (Q,Σ,δ,q 0, F), where 1. Q is a finite set called states, 2. Σ is a finite set called the alphabet, 3. δ : Q Σ Q is the transition function, 4. q 0 Q is the start state, and 5. F Q is the set of accept states. Theory of Languages and Automata Prof. Movaghar 5

Example M 1 = (Q, Σ, δ, q 0, F), where 1. Q = {q 1, q 2, q 3 }, 2. Σ = {0,1}, 3. δ is described as q 1 q 1 q 2 q 2 q 3 q 2 q 3 q 2 q 2 1. q 1 is the start state, and 2. F = {q 2 }. 0 1 Theory of Languages and Automata Prof. Movaghar 6

Language of a Finite machine If A is the set of all strings that machine M accepts, we say that A is the language of machine M and write: L(M) = A. We say that M recognizes A or that M accepts A. Theory of Languages and Automata Prof. Movaghar 7

Example L(M 1 ) = {w w contains at least one 1 and even number of 0s follow the last 1}. Theory of Languages and Automata Prof. Movaghar 8

Example M 4 accepts all strings that start and end with a or with b. Theory of Languages and Automata Prof. Movaghar 9

Formal Definition M = (Q, Σ, δ, q 0, F) w = w 1 w 2 w n i, w i Σ M accepts w 0 r, 1 r,, n r i, i r Q 1. r 0 = q 0, 2. δ(r i, w i+1 ) = i+1 r, for i = 0,, n-1, 3. n r F. Theory of Languages and Automata Prof. Movaghar 10

Regular Language A language is called a regular language if some finite automaton recognizes it. Theory of Languages and Automata Prof. Movaghar 11

Example L (M 5 ) = {w the sum of the symbols in w is 0 modulo 3, except that <RESET> resets the count to 0}. As M 5 recognizes this language, it is a regular language. Theory of Languages and Automata Prof. Movaghar 12

Designing Finite Automata Put yourself in the place of the machine and then see how you would go about performing the machine s task. Design a finite automaton to recognize the regular language of all strings that contain the string 001 as a substring. Theory of Languages and Automata Prof. Movaghar 13

Designing Finite Automata (cont.) There are four possibilities: You 1. haven t just seen any symbols of the pattern, 2. have just seen a 0, 3. have just seen 00, or 4. have seen the entire pattern 001. Theory of Languages and Automata Prof. Movaghar 14

The Regular perations Let A and B be languages. We define the regular operations union, concatenation, and star as follows. Union: A B = {x x A or x B}. Concatenation: A B = {xy x A and y B }. Star: A * = {x 1 x 2 x k k 0 and each x i A }. Theory of Languages and Automata Prof. Movaghar 15

Closure Under Union THEREM The class of regular languages is closed under the union operation. Theory of Languages and Automata Prof. Movaghar 16

Proof Let M 1 = (Q 1, Σ 1, δ 1, q 1, F 1 ) recognize A 1, and M 2 = (Q 2, Σ 2, δ 2, q 2, F 2 ) recognize A 2. Construct M = (Q, Σ, δ, q 0, F) to recognize A 1 A 2. 1. Q = Q 1 Q 2 2. Σ = Σ 1 Σ 2 3. δ((r 1,r 2 ),a) = (δ 1 (r 1,a), δ 2 (r 2,a)). 4. q 0 is the pair (q 1, q 2 ). 5. F is the set of pair in which either members in an accept state of M 1 or M 2. F = (F 1 Q 2 ) (Q 1 F 2 ) F F 1 F 2 Theory of Languages and Automata Prof. Movaghar 17

Closure under Concatenation THEREM The class of regular languages is closed under the concatenation operation. To prove this theorem we introduce a new technique called nondeterminism. Theory of Languages and Automata Prof. Movaghar 18

Nondeterminism In a nondeterministic machine, several choices may exit for the next state at any point. Nondeterminism is a generalization of determinism, so every deterministic finite automaton is automatically a nondeterministic finite automaton. Theory of Languages and Automata Prof. Movaghar 19

Differences between DFA & NFA First, very state of a DFA always has exactly one exiting transition arrow for each symbol in the alphabet. In an NFA a state may have zero, one, or more exiting arrows for each alphabet symbol. Second, in a DFA, labels on the transition arrows are symbols from the alphabet. An NFA may have arrows labeled with members of the alphabet or ε. Zero, one, or many arrows may exit from each state with the label ε. Theory of Languages and Automata Prof. Movaghar 20

Deterministic vs. Nondeterministic Computation Theory of Languages and Automata Prof. Movaghar 21

Example Consider the computation of N 1 on input 010110. Theory of Languages and Automata Prof. Movaghar 22

Example (cont.) Theory of Languages and Automata Prof. Movaghar 23

Formal Definition A nondeterministic finite automaton is a 5-tuple (Q,Σ,δ,q 0, F), where 1. Q is a finite set of states, 2. Σ is a finite alphabet, 3. δ : Q Σ ε P(Q) is the transition function, 4. q 0 Q is the start state, and 5. F Q is the set of accept states. Theory of Languages and Automata Prof. Movaghar 24

Example N 1 = (Q, Σ, δ, q 0, F), where 1. Q = {q 1, q 2, q 3, q 4 }, 2. Σ = {0,1}, 3. δ is given as 0 1 ε q 1 {q 1 } {q 1,q 2 } q 2 {q 3 } {q 4 } q 3 {q 4 } q 4 {q 4 } {q 4 } 1. q 1 is the start state, and 2. F = {q 4 }. Theory of Languages and Automata Prof. Movaghar 25

Equivalence of NFAs & DFAs THEREM Every nondeterministic finite automaton has an equivalent deterministic finite automaton. PRF IDEA convert the NFA into an equivalent DFA that simulates the NFA. If k is the number of states of the NFA, so the DFA simulating the NFA will have 2 k states. Theory of Languages and Automata Prof. Movaghar 26

Proof Let N = (Q,Σ,δ,q 0, F) be the NFA recognizing A. We construct a DFA M =(Q',Σ',δ',q 0 ', F ) recognizing A. let's first consider the easier case wherein N has no ε arrows. 1. Q' = P(Q). 2. 3. q 0 = {q 0 }. 4. F' = {R Q R contains an accept state of N}. Theory of Languages and Automata Prof. Movaghar 27

Proof (cont.) Now we need to consider the ε arrows. for R Q let E(R) = {q q can be reached from R by traveling along 0 or more ε arrows}. 1. Q' = P(Q). 2. δ' (R,a) ={q Q q E(δ(r,a)) for some r R}. 3. q 0 = E({q 0 }). 4. F' = {R Q R contains an accept state of N}. Theory of Languages and Automata Prof. Movaghar 28

Corollary A language is regular if and only if some nondeterministic finite automaton recognizes it. Theory of Languages and Automata Prof. Movaghar 29

Example D s state set is {,{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}}. The start state is E({1}) = {1,3}. The accept states are {{1},{1,2},{1,3},{1,2,3}}. Theory of Languages and Automata Prof. Movaghar 30

Example (cont.) After removing unnecessary states Theory of Languages and Automata Prof. Movaghar 31

CLSURE UNDER THE REGULAR PERATINS [Using NFA] Theory of Languages and Automata Prof. Movaghar 32

Closure Under Union The class of regular languages is closed under the Union operation. Let NFA1 recognize A1 and NFA2 recognize A2. Construct NFA3 to recognize A1 U A2. Theory of Languages and Automata Prof. Movaghar 33

Proof (cont.) Theory of Languages and Automata Prof. Movaghar 34

Closure Under Concatenation peration The class of regular languages is closed under the concatenation operation. Theory of Languages and Automata Prof. Movaghar 35

Proof (cont.) Theory of Languages and Automata Prof. Movaghar 36

Closure Under Star operation The class of regular languages is closed under the star operation. We represent another NFA to recognize A*. Theory of Languages and Automata Prof. Movaghar 37

Proof (cont.) 1. = The states of N are the states of N1 plus a new start state. 2. The state q 0 is the new start state. 3. = 4. The accept states are the old accept states plus the new start state. 5. Define so that for any : Theory of Languages and Automata Prof. Movaghar 38

Regular Expression Say that R is a regular expression if R is: 1. a for some a in the alphabet Σ 2. 3. 4., where and are regular exp. 5., where and are regular exp. 6., where and are regular exp. Recursive Definition? Theory of Languages and Automata Prof. Movaghar 39

Regular Expression Language Let R be a regular expression. L( R ) is the language that is defined by R: 1. if = for Σ then L( R )={a} 2. if = then = { } 3. if = then = 4. if = then = 5. i = then = 6. if = then = Theory of Languages and Automata Prof. Movaghar 40

Examples(cont.) 1. 0 1 = 01 1 2. Σ 1Σ = { contains at least one 1} 3. 0 10 = { contains a single 1} 4. Σ 001Σ = { contains 001 as a substring} 5. 01 10 = {01,10} 6. (ΣΣ) = { is a string of even length} 7. (ΣΣΣ) = { the lentgh of w is a multiple of 3} 8(ΣΣΣΣ) = { the lentgh of w is a multiple 4} 9. 0 1 = 01 1 10. 0 (1 ) = {, 0,1,01} 11. 1 = 12. = { } Theory of Languages and Automata Prof. Movaghar 41

Equivalence of DFA and Regular Expression A language is regular if and only if some regular expression describes it. Lemma: If a language is described by a regular expression, then it is regular. If a language is regular, then it is described by a regular expression. Theory of Languages and Automata Prof. Movaghar 42

Building an NFA from the Regular Expression We consider the six cases in the formal definition of regular expressions Theory of Languages and Automata Prof. Movaghar 43

Examples Theory of Languages and Automata Prof. Movaghar 44

ther direction of the proof We need to show that, if a language A is regular, a regular expression describes it! First we show how to convert DFAs into GNFAs, and then GNFAs into regular expressions. We can easily convert a DFA into a GNFA in the special form. Theory of Languages and Automata Prof. Movaghar 45

Formal Definition A generalized nondeterministic finite automaton is a 5-tuple, a 5-tuple (Q,Σ,δ,q start, q accept ), where 1. Q is a finite set called states, 2. Σ is a the input alphabet, 3. δ : ( { }) (Q { } is the transition function, 4. q start is the start state, and 5. q accept is the accept state. Theory of Languages and Automata Prof. Movaghar 46

Assumptions For convenience we require that GNFAs always have a special form that meets the following conditions: 1. The start state has transition arrows going to every other state but no arrows coming in from any other state. 2. There is only a single accept state, and it has arrows coming in from every other state but no arrows going to any other state. Furthermore, the accept state is not the same as the start state. 3. Except for the start and accept states, one arrow goes from every state to every other state and also from each state to itself. Theory of Languages and Automata Prof. Movaghar 47

Acceptance of Languages for GNFA A GNFA accepts a string w in Σ* if w = w 1 w 2 w k, where each w i is in Σ* is in Σ* and a sequence of q 0, q 1,, q k exists such that 1. q 0 = q start is the start state, 2. q k = q accept is the accept state, and 3. For each i, we have w i L(R i ) where R i = δ(q i-1, q i ); in other words R i is the expression on the arrow from q i-1 to q i.

How to Eliminate a State? Theory of Languages and Automata Prof. Movaghar 49

Example Theory of Languages and Automata Prof. Movaghar 50

Example Theory of Languages and Automata Prof. Movaghar 51

Grammar A grammar G is a 4-tuple G = (V, Σ, R, S) where: 1. V is a finite set of variables, 2. Σ is a finite, disjoint from V, of terminals, 3. R is a finite set of rules, 4. S is the start variable. Theory of Languages and Automata Prof. Movaghar 52

Rule A rule is of the form where ( Σ) + and ( Σ) The rules are applied in the following manner: given a string w of the form w = uxv, We say that the rule x y is applicable to this string, and we may use it to replace x with y, thereby obtaining a new string z = uyv, This is written as. Theory of Languages and Automata Prof. Movaghar 53

If Derivation we say that W 1 derives W n and write Thus, we always have Theory of Languages and Automata Prof. Movaghar 54

Language of a Grammar Let G = (V, Σ, R, S) be a grammar. Then, the set = { Σ : } is the language generated by G. Theory of Languages and Automata Prof. Movaghar 55

Example Consider the grammar G = ({S}, {a,b}, P, S} with P given by S asb S ε Then So we can write Then, L(G) = {a n b n : n 0} Theory of Languages and Automata Prof. Movaghar 56

A Notation for Grammars Consider the grammar G = ({S}, {a,b}, P, S} with P given by S asb S ε The above grammar is usually written as: G: S asb ε Theory of Languages and Automata Prof. Movaghar 57

Regular Grammar A grammar G = (V, Σ, R, S) is said to be right-linear if all rules are of the form A xb A x Where A, B V, and X Σ*. A grammar is said to be leftlinear if all rules are of the form A Bx A x A regular grammar is one that is either right-linear or left-linear. Theory of Languages and Automata Prof. Movaghar 58

Theorem Let G = (V, Σ, R, S) be a right-linear grammar. Then: L(G) is a regular language. Theory of Languages and Automata Prof. Movaghar 59

Example Construct a NFA that accepts the language generated by the grammar V 0 av 1 V 1 abv 0 b V 0 a V 1 b V f b a V 2 Theory of Languages and Automata Prof. Movaghar 60

Theorem Let L be a regular language on the alphabet Σ. Then: There exists a right-linear grammar G = (V, Σ, R, S) Such that L = L(G). Theory of Languages and Automata Prof. Movaghar 61

Theorem Theorem A language is regular if and only if there exists a left-linear grammar G such that L = L(G). utline of the proof: Given any left-linear grammar with rules of the form A Bx A x We can construct a right-linear Ĝ by replacing every such rule of G with A x R B A x R We have L(G) = L(Ĝ) R. Theory of Languages and Automata Prof. Movaghar 62

Theorem A language L is regular if and only if there exists a regular grammar G such that L = L(G). : = ; Theory of Languages and Automata Prof. Movaghar 63