FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Similar documents
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

PUSHDOWN AUTOMATA (PDA)

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

DM17. Beregnelighed. Jacob Aae Mikkelsen

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

CS 154. Finite Automata, Nondeterminism, Regular Expressions

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

Introduction to Theory of Computing

Computational Models - Lecture 5 1

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

Computational Models - Lecture 4

NPDA, CFG equivalence

Theory of Computation (II) Yijia Chen Fudan University

CS 154, Lecture 3: DFA NFA, Regular Expressions

(pp ) PDAs and CFGs (Sec. 2.2)

October 6, Equivalence of Pushdown Automata with Context-Free Gramm

V Honors Theory of Computation

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Functions on languages:

Harvard CS 121 and CSCI E-207 Lecture 10: CFLs: PDAs, Closure Properties, and Non-CFLs

Lecture 17: Language Recognition

Final exam study sheet for CS3719 Turing machines and decidability.

Computational Models: Class 5

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

Part 4 out of 5 DFA NFA REX. Automata & languages. A primer on the Theory of Computation. Last week, we showed the equivalence of DFA, NFA and REX

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

Properties of Context-Free Languages. Closure Properties Decision Properties

Theory of Computation (I) Yijia Chen Fudan University

(pp ) PDAs and CFGs (Sec. 2.2)

Foundations of Informatics: a Bridging Course

Computational Models Lecture 5

CSE 105 THEORY OF COMPUTATION

Pushdown Automata. We have seen examples of context-free languages that are not regular, and hence can not be recognized by finite automata.

CSE 355 Test 2, Fall 2016

Uses of finite automata

CISC4090: Theory of Computation

2.1 Solution. E T F a. E E + T T + T F + T a + T a + F a + a

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION

The View Over The Horizon

Cliff s notes for equivalence of CFLs and L(PDAs) LisaCFL L = L(M) for some PDA M L=L(M)forsomePDAM L = L(G) for some CFG G

Theory of Computation

Decidability (What, stuff is unsolvable?)

Pushdown Automata. Notes on Automata and Theory of Computation. Chia-Ping Chen

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

Nondeterministic Finite Automata

(b) If G=({S}, {a}, {S SS}, S) find the language generated by G. [8+8] 2. Convert the following grammar to Greibach Normal Form G = ({A1, A2, A3},

Ogden s Lemma for CFLs

CpSc 421 Final Exam December 15, 2006

Context-Free Languages (Pre Lecture)

Theory of Computation (IV) Yijia Chen Fudan University

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

Lecture 4: More on Regexps, Non-Regular Languages

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

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

Equivalence of DFAs and NFAs

What we have done so far

Theory of Computation (IX) Yijia Chen Fudan University

Undecidable Problems and Reducibility

Languages, regular languages, finite automata

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

Pumping Lemma for CFLs

MA/CSSE 474 Theory of Computation

Finite Automata and Regular languages

Theory of Computation Turing Machine and Pushdown Automata

Computational Models - Lecture 3

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Computational Models - Lecture 4 1

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

ECS 120: Theory of Computation UC Davis Phillip Rogaway February 16, Midterm Exam

VTU QUESTION BANK. Unit 1. Introduction to Finite Automata. 1. Obtain DFAs to accept strings of a s and b s having exactly one a.

Section 1 (closed-book) Total points 30

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Closure Properties of Context-Free Languages. Foundations of Computer Science Theory

Context-Free and Noncontext-Free Languages

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Harvard CS 121 and CSCI E-207 Lecture 12: General Context-Free Recognition

CSE 105 THEORY OF COMPUTATION

Automata and Computability. Solutions to Exercises

AC68 FINITE AUTOMATA & FORMULA LANGUAGES JUNE 2014

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

Outline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA.

Computational Models - Lecture 5 1

CSCE 551: Chin-Tser Huang. University of South Carolina

CISC 4090 Theory of Computation

CS 455/555: Finite automata

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

Automata and Computability. Solutions to Exercises

Problem 2.6(d) [4 pts] Problem 2.12 [3pts] Original CFG:

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

Theory Bridge Exam Example Questions

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

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES

Properties of Context-Free Languages

Computational Models Lecture 2 1

CS 154 Introduction to Automata and Complexity Theory

Transcription:

15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

REVIEW for MIDTERM 1 THURSDAY Feb 6

Midterm 1 will cover everything we have seen so far The PROBLEMS will be from Sipser, Chapters 1, 2, 3 It will be Closed-Book, Closed-Everything

1. Deterministic Finite Automata and Regular Languages 2. Non-Deterministic Finite Automata 3. Pumping Lemma for Regular Languages; Regular Expressions 4. Minimizing DFAs 5. PDAs, CFGs; Pumping Lemma for CFLs 6. Equivalence of PDAs and CFGs 7. Chomsky Normal Form 8. Turing Machines

Machines Syntactic Rules DFAs NFAs Regular Expressions PDAs Context-Free Grammars

THE REGULAR OPERATIONS Union: A B = { w w A or w B } Intersection: A B = { w w A and w B } Negation: A = { w Σ* w A } Reverse: A R = { w 1 w k w k w 1 A } Concatenation: A B = { vw v A and w B } Star: A* = { s 1 s k k 0 and each s i A }

REGULAR EXPRESSIONS σ is a regexp representing {σ} ε is a regexp representing {ε} is a regexp representing If R 1 and R 2 are regular expressions representing L 1 and L 2 then: (R 1 R 2 ) represents L 1 L 2 (R 1 R 2 ) represents L 1 L 2 (R 1 )* represents L 1 *

How can we test if two regular expressions are the same? Length n R 1 R 2 O(n) states N 1 N 2 O(2 n ) states M 1 M 2 M 1 MIN?= M 2 MIN

How can we test if two regular expressions are the same? Another way???

THEOREMS and CONSTRUCTIONS

THE PUMPING LEMMA (for Regular Languages) Let L be a regular language with L = Then there is an integer P such that if w L and w P then can write w = xyz, where: y z 1. y > 0 2. xy P 3. xy i z L for any i 0 x

THE PUMPING LEMMA (for Context Free Grammars) Let L be a context-free language with L = Then there is an integer P such that if w L and w P T R R u v x y z then can write w = uvxyz, where: u v T R R R v x y y z 1. vy > 0 2. vxy P 3. uv i xy i z L, for any i 0

For R Q, the ε-closure of R, ε(r) = {q that can be reached from some r R by traveling along zero or more ε arrows} CONVERTING NFAs TO DFAs Input: NFA N = (Q, Σ, δ, Q 0, F) Output: DFA M = (Q, Σ, δ, q 0, F ) Q = 2 Q δ : Q Σ Q δ (R,σ) = ε( δ(r,σ) ) r R q 0 = ε(q 0 ) * * F = { R Q f R for some f F }

Given: NFA N = ( {1,2,3}, {a,b}, δ, {1}, {1} ) Construct: Equivalent DFA M N 1 a b a ε M = (2 {1,2,3}, {a,b}, δ, {1,3}, ) a a b {1,3} {3} b b b a,b a, b 2 3 ε({1}) = {1,3} {2} a {2,3} b a a {1}, {1,2}? {1,2,3}

EQUIVALENCE L can be represented by a regexp L is a regular language

L can be represented by a regexp L is a regular language Induction on the length of R: Base Cases (R has length 1): R = σ σ R = ε R =

Inductive Step: Assume R has length k > 1, and that every regexp of length < k represents a regular language Three possibilities for what R can be: R = R 1 R 2 R = R 1 R 2 R = (R 1 )* (Closure under Union) (Closure under Concat.) (Closure under Star) Therefore: L can be represented by a regexp L is regular

Transform (1(0 1))* to an NFA ε 1 1,0 ε

L is a regular language L can be represented by a regexp Proof idea: Transform an NFA for L into a regular expression by removing states and relabeling the arrows with regular expressions Add unique and distinct start and accept states ε ε ε ε ε

ε ε NFA ε ε ε While machine has more than 2 states: Pick an internal state, rip it out and re-label the arrows with regexps, to account for the missing state 0 0 1 01*0

a a,b ε b ε q 0 q 1 q 2 q 3 a*b (a*b)(a b)* R(q 0,q 3 ) = (a*b)(a b)*

THEOREM For every regular language L, there exists a UNIQUE (up to re-labeling of the states) minimal DFA M such that L = L(M)

EXTENDING δ Given DFA M = (Q, Σ, δ, q 0, F), extend δ to δ ^ : Q Σ* Q as follows: δ(q, ^ ε) = q δ(q, ^ σ) = δ(q, σ) δ(q, ^ w 1 w k+1 ) = δ( δ(q, ^ w 1 w k ), w k+1 ) Note: δ(q 0, w) F M accepts w String w Σ* distinguishes states q 1 and q 2 iff exactly ONE of ^ δ(q 1, w), ^ δ(q 2, w) is a final state

Fix M = (Q, Σ, δ, q 0, F) and let p, q, r Q Definition: p ~ q iff p is indistinguishable from q p ~ q iff p is distinguishable from q / Proposition: ~ is an equivalence relation p ~ p (reflexive) p ~ q q ~ p (symmetric) p ~ q and q ~ r p ~ r (transitive)

Proposition: ~ is an equivalence relation so ~ partitions the set of states of M into disjoint equivalence classes [q] = { p p ~ q } q

0 1 1 1 1 0 0 0

TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, δ, q 0, F) Output: (1) D M = { (p,q) p,q Q and p ~ q } / (2) E M = { [q] q Q } IDEA: We know how to find those pairs of states that ε distinguishes Use this and recursion to find those pairs distinguishable with longer strings Pairs left over will be indistinguishable

TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, δ, q 0, F) Output: (1) D M = { (p,q) p,q Q and p ~ q } / (2) E M = { [q] q Q } q 0 q 1 q i D D Base Case: p accepts and q rejects p ~ q / Recursion: if there is σ Σ and states p, q satisfying q n D q 0 q 1 q i q n δ (p, σ) = p ~ / p ~ / q δ (q, σ) = q Repeat until no more new D s

Algorithm MINIMIZE Input: DFA M Output: DFA M MIN (1) Remove all inaccessible states from M (2) Apply Table-Filling algorithm to get E M = { [q] q is an accessible state of M } M MIN = (Q MIN, Σ, δ MIN, q 0 MIN, F MIN ) Q MIN = E M, q 0 MIN = [q 0 ], F MIN = { [q] q F } δ MIN ( [q],σ ) = [ δ( q,σ ) ] Claim: M MIN M

A Language L is generated by a CFG L is recognized by a PDA

Suppose L is generated by a CFG G = (V, Σ, R, S) Construct P = (Q, Σ, Γ, δ, q, F) that recognizes L ε,ε S$ ε,$ ε For each rule 'A w R: For each terminal a Σ: ε,a w a,a ε

S atb T Ta ε ε,ε $ ε,ε T ε,ε S ε,ε T ε,$ ε ε,ε a ε,t ε a,a ε b,b ε

A Language L is generated by a CFG L is recognized by a PDA Given PDA P = (Q, Σ, Γ, δ, q, F) Construct a CFG G = (V, Σ, R, S) such that L(G) = L(P) First, simplify P to have the following form: (1) It has a single accept state, q accept (2) It empties the stack before accepting (3) Each transition either pushes a symbol or pops a symbol, but not both at the same time

SIMPLIFY ε,ε $ q 0 q 1 0,ε 0 1,0 ε q 3 ε,$ ε q 2 1,0 ε

SIMPLIFY ε,ε $ q 0 q 1 0,ε 0 ε,ε 0 1,0 ε q 3 ε,$ ε q 2 1,0 ε ε,ε 0 q 4 ε,0 ε q 5

Idea For Our Grammar G: For every pair of states p and q in PDA P, G will have a variable A pq which generates all strings x that can take: P from p with an empty stack to q with an empty stack V = {A pq p,q Q } S = Aq 0 q acc

x = ayb takes p with empty stack to q with empty stack 1. The symbol t popped at the end is exactly the one pushed at the beginning stack height input r a push t s pop t b string p x q δ(p, a, ε) (r, t) δ(s, b, t) (q, ε) A pq aa rs b

2. The symbol popped at the end is not the one pushed at the beginning stack height input string p r q A pq A pr A rq

Formally: V = {A pq p, q Q } S = Aq 0 q acc For every p, q, r, s Q, t Γ and a, b Σ ε If (r, t) δ(p, a, ε) and (q, ε) δ(s, b, t) Then add the rule A pq aa rs b For every p, q, r Q, add the rule A pq A pr A rq For every p Q, add the rule A pp ε

THE CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form: A BC A a S ε B, C are variables (not the start var) a is a terminal S is the start variable S 0S1 S TT T ε S 0 TU ε T 0 U SV 1 S TU V 1

Theorem: If G is in CNF, w L(G) and w > 0, then any derivation of w in G has length 2 w - 1 Theorem: Any context-free language can be generated by a context-free grammar in Chomsky normal form Can transform any CFG into Chomsky normal form

Theorem: Any CFL can be generated by a CFG in Chomsky normal form Algorithm: 1. Add a new start variable (S 0 S) 2. Eliminate all A ε rules: For each occurrence of A on the RHS of a rule, add a new rule that removes that occurrence (unless this new rule was previously removed) 3. Eliminate all A B rules: For each rule with B on LHS of a rule, add a new rule that puts A on the LHS instead (unless this new rule was previously removed) 4. Convert A u 1 u 2... u k to A u 1 A 1, A 1 u 2 A 2,... If u i is a terminal, replace u i with U i and add U i u i

Convert the following into Chomsky normal form: A BAB B ε B 00 ε S 0 A A BAB B ε B 00 ε S 0 A ε A BAB B BB AB BA B 00 S 0 BAB 00 BB AB BA ε A BAB 00 BB AB BA B 00 S 0 BC DD BB AB BA ε, C AB, A BC DD BB AB BA, B DD, D 0

FORMAL DEFINITIONS

deterministic DFA A ^ finite automaton ^ is a 5-tuple M = (Q, Σ, δ, q 0, F) Q is the set of states (finite) Σ is the alphabet (finite) δ : Q Σ Q is the transition function q 0 Q is the start state F Q is the set of accept states Let w 1,..., w n Σ and w = w 1... w n Σ* Then M accepts w if there are r 0, r 1,..., r n Q, s.t. 1. r 0 =q 0 2. δ(r i, w i+1 ) = r i+1, for i = 0,..., n-1, and 3. r n F

A non-deterministic finite automaton (NFA) is a 5-tuple N = (Q, Σ, δ, Q 0, F) Q is the set of states Σ is the alphabet δ : Q Σ ε 2 Q is the transition function Q 0 Q is the set of start states F Q is the set of accept states 2 Q is the set of all possible subsets of Q Σ ε = Σ {ε}

Let w Σ* and suppose w can be written as w 1... w n where w i Σ ε (ε = empty string) Then N accepts w if there are r 0, r 1,..., r n Q such that 1. r 0 Q 0 2. r i+1 δ(r i, w i+1 ) for i = 0,..., n-1, and 3. r n F L(N) = the language recognized by N = set of all strings machine N accepts A language L is recognized by an NFA N if L = L(N).

Definition: A (non-deterministic) PDA is a tuple P = (Q, Σ, Γ, δ, q 0, F), where: Q is a finite set of states Σ is the input alphabet Γ is the stack alphabet δ : Q Σ ε Γ ε 2 Q Γ ε q 0 Q is the start state F Q is the set of accept states 2 Q is the set of subsets of Q and Σ ε = Σ {ε}

Let w Σ* and suppose w can be written as w 1... w n where w i Σ ε (recall Σ ε = Σ {ε}) Then P accepts w if there are r 0, r 1,..., r n Q and s 0, s 1,..., s n Γ* (sequence of stacks) such that 1. r 0 = q 0 and s 0 = ε (P starts in q 0 with empty stack) 2. For i = 0,..., n-1: (r i+1, b) δ(r i, w i+1, a), where s i =at and s i+1 = bt for some a, b Γ ε and t Γ* (P moves correctly according to state, stack and symbol read) 3. r n F (P is in an accept state at the end of its input)

CONTEXT-FREE GRAMMARS A context-free grammar (CFG) is a tuple G = (V, Σ, R, S), where: V is a finite set of variables Σ is a finite set of terminals (disjoint from V) R is set of production rules of the form A W, where A V and W (V Σ)* S V is the start variable L(G) = {w Σ* S * w} Strings Generated by G

Definition: A Turing Machine is a 7-tuple T = (Q, Σ, Γ, δ, q 0, q accept, q reject ), where: Q is a finite set of states Σ is the input alphabet, where Σ Γ is the tape alphabet, where Γ and Σ Γ δ : Q Γ Q Γ {L,R} q 0 Q is the start state q accept Q is the accept state q reject Q is the reject state, and q reject q accept

A Turing Machine M accepts input w if there is a sequence of configurations C 1,, C k such that 1. C 1 is a start configuration of M on input w, ie C 1 is q 0 w 2. each C i yields C i+1, ie M can legally go from C i to C i+1 in a single step 3. C k is an accepting configuration, ie the state of the configuration is q accept Accepting and rejecting configurations are halting configurations and do not yield further configurations

TMs VERSUS FINITE AUTOMATA TM can both write to and read from the tape The head can move left and right The input doesn t have to be read entirely, and the computation can continue after all the input has been read Accept and Reject take immediate effect

A language is called Turing-recognizable or recursively enumerable (r.e.) or semidecidable if some TM recognizes it A language is called decidable or recursive if some TM decides it r.e. languages recursive languages Theorem: If A and A are r.e. then A is recursive

A DFA = { (B, w) B is a DFA that accepts string w } Theorem: A DFA is decidable Proof Idea: Simulate B on w A NFA = { (B, w) B is an NFA that accepts string w } Theorem: A NFA is decidable A CFG = { (G, w) G is a CFG that generates string w Theorem: } A CFG is decidable Proof Idea: Transform G into Chomsky Normal Form. Try all derivations of length up to 2 w -1

WWW.FLAC.WS Happy studying!