Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory Theory of Computation CS3102 – Spring 2014 A tale.

Slides:



Advertisements
Similar presentations
Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer.
Advertisements

Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer.
Lecture 24 MAS 714 Hartmut Klauck
Lecture 9,10 Theory of AUTOMATA
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages Two notions of recognition: (1) Say yes or no, just like with FSMs (2) Say yes or no,
Formal Languages: Review Alphabet: a finite set of symbols String: a finite sequence of symbols Language: a set of strings String length: number of symbols.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Historical Perspectives Stephen Kleene ( ) Founded recursive function theory Pioneered theoretical computer science Student of Alonzo Church; was.
Recap CS605: The Mathematics and Theory of Computer Science.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
Formal Languages: Review Alphabet: a finite set of symbols String: a finite sequence of symbols Language: a set of strings String length: number of symbols.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
CS21 Decidability and Tractability
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata 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.
1 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY (For next time: Read Chapter 1.3 of the book)
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Regular.
CS5371 Theory of Computation Lecture 6: Automata Theory IV (Regular Expression = NFA = DFA)
Normal forms for Context-Free Grammars
1 Regular Languages Finite Automata eg. Supermarket automatic door: exit or entrance.
Today Chapter 1: RE = Regular Languages, nonregular languages RL pumping lemma Chapter 2: Context-Free Languages (CFLs)
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { ‘{‘, ‘}’ } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite language,
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
Regular Expressions: Review A FA for a regular expressions can be built by composition: Ex: all strings over S={a,b} where  a “b” preceding an “a” (a+b)
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 5 School of Innovation, Design and Engineering Mälardalen University 2012.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Pushdown Automata (PDAs)
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Closure.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
Kleene’s Theorem Group No. 3 Presented To Mam Amina Presented By Roll No Roll No Roll No Roll No Group No. 3 Presented To Mam.
January 9, 2015CS21 Lecture 31 CS21 Decidability and Tractability Lecture 3 January 9, 2015.
CS 3240 – Chapter 4.  Closure Properties  Algorithms for Elementary Questions:  Is a given word, w, in L?  Is L empty, finite or infinite?  Are L.
Chapter 6 Properties of Regular Languages. 2 Regular Sets and Languages  Claim(1). The family of languages accepted by FSAs consists of precisely the.
CS355 - Theory of Computation Regular Expressions.
CSCI 2670 Introduction to Theory of Computing September 13.
CS 203: Introduction to Formal Languages and Automata
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 1 Regular Languages Some slides are in courtesy.
Lecture 5: Finite Automata 虞台文 大同大學資工所 智慧型多媒體研究室.
Formal Languages Alphabet: a finite set of symbols String: a finite sequence of symbols Language: a (possibly  ) set of strings String length: number.
Algorithms for hard problems Automata and tree automata Juris Viksna, 2015.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
 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.
Regular Languages Chapter 1 Giorgi Japaridze Theory of Computability.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages Two notions of recognition: (1) Say yes or no, just like with FSMs (2) Say yes or no,
Lecture 09: Theory of Automata:2014 Asif NawazUIIT, PMAS-Arid Agriclture University Rawalpindi. Kleene’s Theorem and NFA.
CS 154 Formal Languages and Computability May 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
MA/CSSE 474 Theory of Computation How many regular/non-regular languages are there? Closure properties of Regular Languages (if there is time) Pumping.
1 Advanced Theory of Computation Finite Automata with output Pumping Lemma Theorem.
Regular Expressions: Review
Formal Languages: Review
4. Properties of Regular Languages
Historical Perspectives
CS21 Decidability and Tractability
Presentation transcript:

Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Finite Automata Note: Powerset construction generalizes the cross-product construction. More general constructions are possible. EC: Let HALF(L)={v |  v,w   *  |v|=|w| and vw  L} Show that HALF preserves regularity. A two way FA can move its head backwards on the input:  :Q   Q  {left,right} EC: Show that two-way FA are not more powerful than ordinary one-way FA.  -transitions: Theorem:  -transitions don’t increase FA recognition power. Proof: Simulate  -transitions FA without using  -transitions. i.e., consider  -transitions to be a form of non-determinism. qiqi qjqj  qiqi qjqj  One super-state!

Finite Automata Theorem: XOR preserves regularity. Proof: Set identity L 1  L 2 = (L 1  L 2 ) – (L 1  L 2 ) Or cross-product construction, i.e., parallel simulation with F = (F 1  Q  –F 2 ))  ((Q  –F 1 )  F 2 ) Meta-Theorem: Identity-based proofs are easier!

The movie “Next” (2007) Based on the science fiction story “The Golden Man” by Philip Dick Premise: a man with the super power of non-determinism! At any given moment his reality branches into multiple directions, and he can choose the branch that he prefers! Transition function!

Top-10 Reasons to Study Non-determinism 1.Helps us understand the ubiquitous concept of parallelism / concurrency; 2.Illuminates the structure of problems; 3.Can help save time & effort by solving intractable problems more efficiently; 4.Enables vast, deep, and general studies of “completeness” theories; 5.Helps explain why verifying proofs & solutions seems to be easier than constructing them;

Why Study Non-determinism? 6.Gave rise to new and novel mathematical approaches, proofs, and analyses; 7.Robustly decouples / abstracts complexity from underlying computational models; 8.Gives disciplined techniques for identifying “hardest” problems / languages; 9.Forged new unifications between computer science, math & logic; 10.Non-determinism is interesting fun, and cool!

Regular Expressions Regular expressions are defined recursively as follows: {}{} trivial language {x}  x  singleton language Ø empty set q0q0 Inductively, if R and S are regular expressions, then so are: q0q0 q0q0 q1q1 x (R+S) union RS concatenation R*R* Kleene closure Examples:aa(a+b) * bb(a+b) * b(a+b) * a(a+b) * Theorem: Any regular expression is accepted by some FA. M2M2 M1M1   M2M2  M1M1 M Compositions!   

Regular Expressions A FA for a regular expressions can be built by composition: Ex: all strings over S={a,b} where  a “b” preceding an “a” (a+b) * b(a+b) * a(a+b) * = (a+b) * ba(a+b) * baba      ba    Why?        b a b a      b a           b a b a      b a           b a b a      b a           Remove previous start/final states

FA Minimization Idea: “Equivalent” states can be merged: b a a,b 3 states! 16 states! b a b a      b a           b a b a     b a           b a a,b       b a    merge

FA Minimization Theorem [Hopcroft 1971]: the number N of states in a FA can be minimized within time O(N log N). Based on earlier work [Huffman 1954] & [Moore 1956]. Conjecture: Minimizing the number of states in a nondeterministic FA can not be done in polynomial time. Theorem: Minimizing the number of states in a pushdown automaton (or TM) is undecidable. Project idea: implement a finite automaton minimization tool. Try to design it to run reasonably efficiently. Consider also including: A regular-expression-to-FA transformer, A non-deterministic-to-deterministic FA converter.

M FAs and Regular Expressions Theorem: Any FA accepts a language denoted by some RE. Proof: Use “generalized finite automata” where a transition can be a regular expression (not just a symbol), and: Only 1 super start state and 1 (separate) super final state. Each state has transitions to all other states (including itself), except the super start state, with no incoming transitions, and the super final state, which has no outgoing transitions. Original FA M M         Ø Ø Ø Ø Ø Ø Ø Ø Ø  Generalized FA (GFA) M’ M’

FAs and Regular Expressions Now reduce the size of the GFA by one state at each step. A transformation step is as follows: qiqi qjqj q’ R S T P qiqi qjqj P RS * T qiqi qjqj P + RS * T Such a transformation step is always possible, until the GFA has only two states, the super-start and super-final states: Label of last remaining transition is the regular expression corresponding to the language of the original FA! M’ P Corollary: FAs and REs denote the same class of languages.

Regular Expressions Identities R+S = S+R R(ST) = (RS)T R(S+T) = RS+RT (R+S)T = RT+ST Ø * =  * =  R+Ø  = Ø+R = R R  =  R = R (R * ) * = R * (  + R) * = R * (R * S * ) * = (R+S) * R+  ≠ R RØ ≠ R

Decidable Finite Automata Problems Def: A problem is decidable if  an algorithm which can determine (in finite time) the correct answer for any instance. Given a finite automata M 1 and M 2 : Q 1 : Is L(M 1 ) = Ø ? Hint: graph reachability Q 2 :Is L(M 2 ) infinite ? Hint: cycle detection Q 3 : Is L(M 1 ) = L(M 2 ) ? Hint: consider L 1 -L 2 and L 2 -L 1 M’  M’    -{  Ø Ø

Extra credit: use this tool! (to implement some nontrivial TMs, PDAs, grammars, etc.)

Give a FA and a regular expression for the following language over the Sesame Street Alphabet: L = {w | w satisfies “i before e except after c”} This means we want any string where an i does not immediately succeed an e, unless we see a c, in which case an e may not succeed an i. Accepted words: believe, fierce, receipt Rejected words: seize, their, science

L = {w | w satisfies “i before e except after c”} safe fail i e e c c ci c c c e i e

Non-Regular Languages Theorem: Some Languages are not regular. Why? Countable number of Finite State Machines Uncountable number of Languages So some languages not described by a machine! Which languages are not regular? Intuitively: Those that require “memory” to determine membership. e.g.: Now let’s prove it! ℕ

Pumping Lemma Goal: Give a sufficient condition for showing non-regularity Consider that L is an infinite regular language Let L(M)=L Let’s say M has p states There must be some String w in L s.t. |w|>p By the pigeon-hole principle: Some state was visited at least twice! Taking that loop another time must give another string in the language. M p 3 x2

Pumping Lemma If L is a regular language then there is some number p (called pumping length) where if w is a string in L s.t. |w|>p then w can be divided into 3 pieces: w=xyz which satisfy: 1.For each i≥0, L 2.|y|>0 3.|xy|≤p Example: Consider: By condition 3 we know: Thus for i=2 we have more a’s than b’s, so L cannot be regular M p 3 x y z ℕ

Pumping Lemma 1.For each i≥0, L 2.|y|>0 3.|xy|≤p Show: is not regular Consider By condition 3 we know y, this leaves 6 cases: 1.y 2.y 3.y 4.y 5.y 6.y Problem: in all of these I only change the first half! I needed to “remember” the first half of the string.

Pumping Lemma 1.For each i≥0, L 2.|y|>0 3.|xy|≤p Show: is not regular Consider where q is a prime greater than p y must have only a’s, let y= where m≤p For i=p+1 we have Clearly, p(m+1) is not prime For let then So