Automata Theory CS S-FR Final Review

Similar documents
(a) R=01[((10)*+111)*+0]*1 (b) ((01+10)*00)*. [8+8] 4. (a) Find the left most and right most derivations for the word abba in the grammar

Multiple Choice Questions

QUESTION BANK. Formal Languages and Automata Theory(10CS56)

Skyup's Media. PART-B 2) Construct a Mealy machine which is equivalent to the Moore machine given in table.

Compiler Construction

JNTUWORLD. Code No: R

Chapter Seven: Regular Expressions

UNIT I PART A PART B

CSE 431S Scanning. Washington University Spring 2013

CHAPTER TWO LANGUAGES. Dr Zalmiyah Zakaria


R10 SET a) Construct a DFA that accepts an identifier of a C programming language. b) Differentiate between NFA and DFA?

QUESTION BANK. Unit 1. Introduction to Finite Automata

Proof Techniques Alphabets, Strings, and Languages. Foundations of Computer Science Theory

Automata Theory TEST 1 Answers Max points: 156 Grade basis: 150 Median grade: 81%

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016

Regular Languages and Regular Expressions

CT32 COMPUTER NETWORKS DEC 2015

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np

Formal Languages and Automata

CS402 Theory of Automata Solved Subjective From Midterm Papers. MIDTERM SPRING 2012 CS402 Theory of Automata

Chapter Seven: Regular Expressions. Formal Language, chapter 7, slide 1

Actually talking about Turing machines this time

THEORY OF COMPUTATION

I have read and understand all of the instructions below, and I will obey the Academic Honor Code.

Outline. Language Hierarchy

Decision Properties for Context-free Languages

Ambiguous Grammars and Compactification

Theory of Computation Dr. Weiss Extra Practice Exam Solutions

Closure Properties of CFLs; Introducing TMs. CS154 Chris Pollett Apr 9, 2007.

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

CS402 - Theory of Automata Glossary By

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

Languages and Compilers

1. [5 points each] True or False. If the question is currently open, write O or Open.

Universal Turing Machine Chomsky Hierarchy Decidability Reducibility Uncomputable Functions Rice s Theorem Decidability Continued

AUBER (Models of Computation, Languages and Automata) EXERCISES

Languages and Strings. Chapter 2

Finite Automata Part Three

Glynda, the good witch of the North

DVA337 HT17 - LECTURE 4. Languages and regular expressions

Learn Smart and Grow with world

CS402 - Theory of Automata FAQs By

Theory of Computation

Final Course Review. Reading: Chapters 1-9

TOPIC PAGE NO. UNIT-I FINITE AUTOMATA

1.3 Functions and Equivalence Relations 1.4 Languages

Theory Bridge Exam Example Questions Version of June 6, 2008

Formal Grammars and Abstract Machines. Sahar Al Seesi

1. Which of the following regular expressions over {0, 1} denotes the set of all strings not containing 100 as a sub-string?

Slides for Faculty Oxford University Press All rights reserved.

AUTOMATA THEORY AND COMPUTABILITY

Finite Automata Part Three

Finite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur

Models of Computation II: Grammars and Pushdown Automata

Name: Finite Automata

Lexical Analysis. Dragon Book Chapter 3 Formal Languages Regular Expressions Finite Automata Theory Lexical Analysis using Automata

KHALID PERVEZ (MBA+MCS) CHICHAWATNI

Last lecture CMSC330. This lecture. Finite Automata: States. Finite Automata. Implementing Regular Expressions. Languages. Regular expressions

Notes for Comp 454 Week 2

CMSC 330: Organization of Programming Languages. Architecture of Compilers, Interpreters

A B. bijection. injection. Section 2.4: Countability. a b c d e g

CS/B.Tech/CSE/IT/EVEN/SEM-4/CS-402/ ItIauIafIaAblll~AladUnrtel1ity

CS6160 Theory of Computation Problem Set 2 Department of Computer Science, University of Virginia

Automata & languages. A primer on the Theory of Computation. The imitation game (2014) Benedict Cumberbatch Alan Turing ( ) Laurent Vanbever

LECTURE NOTES THEORY OF COMPUTATION

Limits of Computation p.1/?? Limits of Computation p.2/??

CMPSCI 250: Introduction to Computation. Lecture #28: Regular Expressions and Languages David Mix Barrington 2 April 2014

Material from Recitation 1

CIT3130: Theory of Computation. Regular languages

HKN CS 374 Midterm 1 Review. Tim Klem Noah Mathes Mahir Morshed

CMSC 330: Organization of Programming Languages

Solutions to Homework 10

Power Set of a set and Relations

Context Free Languages and Pushdown Automata

LECTURE NOTES THEORY OF COMPUTATION

To illustrate what is intended the following are three write ups by students. Diagonalization

CS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG)

Non-deterministic Finite Automata (NFA)

Assignment No.4 solution. Pumping Lemma Version I and II. Where m = n! (n-factorial) and n = 1, 2, 3

CS 403 Compiler Construction Lecture 3 Lexical Analysis [Based on Chapter 1, 2, 3 of Aho2]

CS210 THEORY OF COMPUTATION QUESTION BANK PART -A UNIT- I

1. Provide two valid strings in the languages described by each of the following regular expressions, with alphabet Σ = {0,1,2}.

2. Lexical Analysis! Prof. O. Nierstrasz!

Finite Automata Part Three

Turing Machine Languages

Enumerations and Turing Machines

Reflection in the Chomsky Hierarchy

Section 2.4 Sequences and Summations

Regular Languages (14 points) Solution: Problem 1 (6 points) Minimize the following automaton M. Show that the resulting DFA is minimal.

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou

Compilers CS S-01 Compiler Basics & Lexical Analysis

Chapter 4: Regular Expressions

CMSC 330: Organization of Programming Languages

Theory of Computations Spring 2016 Practice Final Exam Solutions

Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D.

1. (10 points) Draw the state diagram of the DFA that recognizes the language over Σ = {0, 1}

Recursively Enumerable Languages, Turing Machines, and Decidability

6 NFA and Regular Expressions

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY SIRUVACHUR, PERAMBALUR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Transcription:

Automata Theory CS411-2015S-FR Final Review David Galles Department of Computer Science University of San Francisco

FR-0: Sets & Functions Sets Membership: a?{a,b,c} a?{b,c} a?{b,{a,b,c},d} {a,b,c}?{b,{a,b,c},d}

FR-1: Sets & Functions Sets Membership: a {a,b,c} a {b,c} a {b,{a,b,c},d} {a,b,c} {b,{a,b,c},d}

FR-2: Sets & Functions Sets Subset: {a}?{a,b,c} {a}?{b,c,{a}} {a,b}?{a,b,c,d} {a,b}?{a,b} {} {a,b,c,d}

FR-3: Sets & Functions Sets Subset: {a} {a,b,c} {a} {b,c,{a}} {a,b} {a,b,c,d} {a,b} {a,b} {} {a,b,c,d}

FR-4: Sets & Functions Sets Cross Product: A B = {(a,b) : a A,b B} {a,b} {a,b} = {a,b} {{a,b}} =

FR-5: Sets & Functions Sets Cross Product: A B = {(a,b) : a A,b B} {a,b} {a,b} = {(a,a),(a,b),(b,a),(b,b)} {a,b} {{a,b}} = {(a,{a,b}),(b,{a,b})}

FR-6: Sets & Functions Sets Power Set: 2 A = {S : S A} 2 {a,b} = 2 {a} = 2 2{a} =

FR-7: Sets & Functions Sets Power Set: 2 A = {S : S A} 2 {a,b} = {{},{a},{b},{a,b}} 2 {a} = {{},{a}} 2 2{a} = {{},{{}},{{a}},{{},{a}}

FR-8: Sets Partition Π is a partition of S if: Π 2 S {} Π (X,Y Π),X Y = X Y = {} Π = S {{a, c}, {b, d, e}, {f}} is a partition of {a,b,c,d,e,f} {{a, b, c, d, e, f}} is a partition of {a,b,c,d,e,f} {{a, b, c}, {d, e, f}} is a partition of {a,b,c,d,e,f}

FR-9: Sets Partition In other words, a partition of a set S is just a division of the elements of S into 1 or more groups. All the partitions of the set {a, b, c}?

FR-10: Sets Partition In other words, a partition of a set S is just a division of the elements of S into 1 or more groups. All the partitions of the set {a, b, c}? {{a, b, c}}, {{a, b}, {c}}, {{a, c}, {b}}, {{a},{b, c}}, {{a}, {b}, {c}}

FR-11: Sets & Functions Relation A relation R is a set of ordered pairs That s all that a relation is Relation Graphs

FR-12: Sets & Functions Properties of Relations Reflexive Symmetric Transitive Antisymmetric Equivalence Relation: Reflexive, Symmetric, Transitive Partial Order: Reflexive, Antisymmetric, Transitive Total Order: Partial order, for each a,a A, either (a,a ) R or (a,a) R

FR-13: Sets & Functions What does a graph of an Equivalence relation look like? What does a graph of a Total Order look like What does a graph of a Partial Order look like?

FR-14: Closure A set A B is closed under a relation R ((B B) B) if: a 1,a 2 A ((a 1,a 2 ),c) R = c A That is, if a 1 and a 2 are both in A, and ((a 1,a 2 ),c) is in the relation, then c is also in A N is closed under addtion N is not closed under subtraction or division

FR-15: Closure Relations are also sets (of ordered pairs) We can talk about a relation R being closed over another relation R Each element of R is an ordered triple of ordered pairs!

FR-16: Closure Relations are also sets (of ordered pairs) We can talk about a relation R being closed over another relation R Each element of R is an ordered triple of ordered pairs! Example: R A A R = {(((a,b),(b,c)),(a,c)) : a,b,c A} If R is closed under R, then...

FR-17: Closure Relations are also sets (of ordered pairs) We can talk about a relation R being closed over another relation R Each element of R is an ordered triple of ordered pairs! Example: R A A R = {(((a,b),(b,c)),(a,c)) : a,b,c A} If R is closed under R, then R is transitive!

FR-18: Closure Reflexive closure of a relation R A A is the smallest possible superset of R which is reflexive Add self-loop to every node in relation Add (a,a) to R for every a A Transitive Closure of a relation R A A is the smallest possible superset of R which is transitive Add direct link for every path of length 2. (a,b,c A) if (a,b) R (b,c) R add (a,c) to R. (examples on board)

FR-19: Sets & Functions Functions Relation R over A B For each a A: Exactly one element (x, y) R with x = a

FR-20: Sets & Functions For a functionf over (A A), what does the graph look like? For a function f over (A B), what does the graph look like?

FR-21: Sets & Functions Functions one-to-one: f(a) f(a ) when a a (nothing is mapped to twice) onto: for each b B, a such that f(a) = b (everything is mapped to) bijection: Both one-to-one and onto

FR-22: Sets & Functions For a function f over (A B) What does the graph look like for a one-to-one function? What does the graph look like for an onto function? What does the graph look like for a bijection?

FR-23: Sets & Functions Infinite sets Countable, Countably infinite Bijection with the Natural Numbers Uncountable, uncountable infinite Infinite No bijection with the Natural Numbers

FR-24: Infinite Sets We can show that a set is countable infinite by giving a bjiection between that set an the natural numbers Same thing as as imposing an ordering on an infinite set

FR-25: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Even elements of N?

FR-26: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Even elements of N? f(x) = 2x

FR-27: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Integers (Z)?

FR-28: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Integers (Z)? f(x) = x 2 ( 1)x -4-3 -2-1 0 1 2 3 4...

FR-29: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Union of 3 (disjoint) countable sets A, B, C?

FR-30: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Union of 3 (disjoint) countable sets A, B, C? a0 a1 a2 a3 a4... b0 b1 b2 b3 b4... c0 c1 c2 c3 c4... f(x) = ax 3 if x mod 3 = 0 if x mod 3 = 1 bx 1 3 cx 2 3 if x mod 3 = 2

FR-31: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. N N? (0,0) (0,1) (0,2) (0,3) (0,4)... (1,0) (1,1) (1,2) (1,3) (1,4)... (2,0) (2,1) (2,2) (2,3) (2,4)... (3,0) (3,1) (3,2) (3,3) (3,4)... (4,0) (4,1) (4,2) (4,3) (4,4).....................

FR-32: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. N N? (0,0) (0,1) (0,2) (0,3) (0,4)... (1,0) (1,1) (1,2) (1,3) (1,4)... (2,0) (2,1) (2,2) (2,3) (2,4)... (3,0) (3,1) (3,2) (3,3) (3,4)... (4,0) (4,1) (4,2) (4,3) (4,4).................. f((x,y)) = (x+y) (x+y+1) 2 +x...

FR-33: Countable Sets A set is countable infinite (or just countable) if it is equinumerous with N. Real numbers between 0 and 1 (exclusive)?

FR-34: Uncountable R Proof by contradiction Assume that R between 0 and 1 (exclusive) is countable (that is, assume that there is some bijection from N to R between 0 and 1) Show that this leads to a contradiction Find some element of R between 0 and 1 that is not mapped to by any element in N

FR-35: Uncountable R Assume that there is some bijection from N to R between 0 and 1 0 0.3412315569... 1 0.0123506541... 2 0.1143216751... 3 0.2839143215... 4 0.2311459412... 5 0.8381441234... 6 0.7415296413.........

FR-36: Uncountable R Assume that there is some bijection from N to R between 0 and 1 0 0.3412315569... 1 0.0123506541... 2 0.1143216751... 3 0.2839143215... 4 0.2311459412... 5 0.8381441234... 6 0.7415296413......... Consider: 0.425055......

FR-37: Formal Languages Alphabet Σ: Set of symbols {0,1},{a,b,c}, etc String w: Sequence of symbols cat,dog,firehouse etc Language L: Set of strings {cat, dog, firehouse}, {a, aa, aaa,...}, etc Language class: Set of Languages Regular languages, P, NP, etc.

FR-38: Formal Languages Language Hierarchy. Regular Context Free Polynomial NP Recursive Recursively Enumerable Not Recursively Enumerable

FR-39: Regular Expressions Regular expressions are a way to describe formal languages Regular expressions are defined recursively Base case simple regular expressions Recursive case how to build more complex regular expressions from simple regular expressions

FR-40: Regular Expressions ǫ is a regular expression, representing {ǫ} is a regular expression, representing {} a Σ, a is a regular expression representing {a} if r 1 and r 2 are regular expressions, then (r 1 r 2 ) is a regular expression L[(r 1 r 2 )] = L[r 1 ] L[r 2 ] if r 1 and r 2 are regular expressions, then (r 1 +r 2 ) is a regular expression L[(r 1 +r 2 )] = L[r 1 ] L[r 2 ] if r is regular expressions, then (r ) is a regular expression L[(r )] = (L[r])

FR-41: r.e. Precedence From highest to Lowest: Kleene Closure * Concatenation Alternation + ab*c+e = (a(b*)c) + e (We will still need parentheses for some regular expressions: (a+b)(a+b))

FR-42: Regular Expressions Intuitive Reading of Regular Expressions Concatenation == is followed by + == or * == zero or more occurances (a+b)(a+b)(a+b) (a+b)* aab(aa)*

FR-43: Regular Languages A language L is regular if there exists a regular expression which generates it Give a regular expression for: All strings over {a,b} that have an odd # of a s

FR-44: Regular Languages A language L is regular if there exists a regular expression which generates it Give a regular expression for: All strings over {a,b} that have an odd # of a s b a(b ab a) b All strings over {a,b} that contain exactly two occurrences of bb (bbb counts as 2 occurrences!)

FR-45: Regular Languages A language L is regular if there exists a regular expression which generates it Give a regular expression for: All strings over {a,b} that have an odd # of a s b a(b ab a) b All strings over {a,b} that contain exactly two occurrences of bb (bbb counts as 2 occurrences!) a (baa ) bb(aa b) aa bb(aa b) a + a (baa ) bbb(aa b) a

FR-46: Regular Languages All strings over {0, 1} that begin (or end) with 11 All strings over {0, 1} that begin (or end) with 11, but not both

FR-47: Regular Languages All strings over {0, 1} that begin (or end) with 11 11 (0+1)* 11 + 11 All strings over {0, 1} that begin (or end) with 11, but not both 11(0+1)*0 + 11(0+1)*01 + 0(0+1)*11 + 10(0+1*)11

FR-48: Regular Languages Shortest string not described by following regular expressions? a*b*a*b* a*(ab)*(ba)*b*a* a*b*(ab)*b*a*

FR-49: Regular Languages Shortest string not described by following regular expressions? a*b*a*b* baba a*(ab)*(ba)*b*a* baab a*b*(ab)*b*a* baab

FR-50: Regular Languages English descriptions of following regular expressions: (aa+aaa)* b(a+b)*b + a(a+b)*a + a + b a*(baa*)*bb(aa*b)*a*

FR-51: Regular Languages A language L is regular if there exists a DFA which accepts it DFA for all strings with exactly 2 occurrences of bb

FR-52: DFA Definition A DFA is a 5-tuple M = (K,Σ,δ,s,F) K Set of states Σ Alphabet δ : (K Σ) K is a Transition function s K Initial state F K Final states

FR-53: Regular Languages A language L is regular if there exists a DFA which accepts it DFA for all strings with exactly 2 occurrences of bb a,b a 0 b 1 b b 3 b 2 a 4 b 5 b 6 a a 7 a a b

FR-54: Regular Languages A language L is regular if there exists a DFA which accepts it DFA for all strings over {0,1} that start and end with 111

FR-55: Regular Languages A language L is regular if there exists a DFA which accepts it DFA for all strings over {0,1} that start and end with 111 0,1 3 1 0 0 1 1 1 2 1 4 0 5 1 6 0 0 1 0 4 1 6 1

FR-56: Regular Languages A language L is regular if there exists a DFA which accepts it DFA for all strings over {0,1} that start with 110, end with 011

FR-57: Regular Languages A language L is regular if there exists a DFA which accepts it DFA for all strings over {0,1} that start with 110, end with 011 0,1 1 3 7 0 0 0 1 0 1 1 1 0 1 1 1 2 0 4 5 6 0 0

FR-58: Regular Languages Give a DFA for all strings over {0,1} that begin or end with 11 Give a DFA for all strings over {0,1} that begin or end with 11 (but not both)

FR-59: Regular Languages Give a DFA for all strings over {0,1} that contain 101010 Give a DFA for all strings over {0,1} that contain 101 or 010 Give a DFA for all strings over {0,1} that contain 010 and 101

FR-60: DFA Configuration & M Way to describe the computation of a DFA Configuration: What state the DFA is currently in, and what string is left to process K Σ (q 2,abba) Machine is in state q 2, has abba left to process (q 8,bba) Machine is in state q 8, has bba left to process (q 4,ǫ) Machine is in state q 4 at the end of the computation (accept iff q 4 F )

FR-61: DFA Configuration & M Way to describe the computation of a DFA Configuration: What state the DFA is currently in, and what string is left to process K Σ Binary relation M : What machine M yields in one step M (K Σ ) (K Σ ) M = {((q 1,aw),(q 2,w)) : q 1,q 2 K M,w Σ M,a Σ M,((q 1,a),q 2 ) δ M }

FR-62: DFA Configuration & M Given the following machine M: a,b 0 a 2 b 1 a,b ((q 0,abba),(q 2,bba)) M can also be written (q 0,abba) M (q 2,bba)

FR-63: DFA Configuration & M 0 1 0 1 1 1 1 2 3 0 0 0 (q 0,11101) M (q 1,1101) M (q 2,101) M (q 3,01) M (q 0,1) M (q 1,ǫ)

FR-64: DFA Configuration & M 0 1 0 1 1 1 1 2 3 0 0 0 (q 0,10111) M (q 1,0111) M (q 0,111) M (q 1,11) M (q 2,1) M (q 3,ǫ)

FR-65: DFA Configuration & M M is the reflexive, transitive closure of M Smallest superset of M that is both reflexive and transitive yields in 0 or more steps Machine M accepts string w if: (s M,w) M (f,ǫ) for some f F M

FR-66: DFA & Languages Language accepted by a machine M = L[M] {w : (s M,w) M (f,ǫ) for some f F M } DFA Languages, L DFA Set of all languages that can be defined by a DFA L DFA = {L : M,L[M] = L} To think about: How does L DFA = L REG

FR-67: NFA Definition Difference between a DFA and an NFA DFA has exactly only transition for each state/symbol pair Transition function: δ : (K Σ) K NFA has 0, 1 or more transitions for each state/symbol pair Transition relation: ((K Σ) K)

FR-68: NFA Definition A NFA is a 5-tuple M = (K,Σ,,s,F) K Set of states Σ Alphabet : (K Σ) K is a Transition relation s K Initial state F K Final states

FR-69: Fun with NFA Create an NFA for: All strings over {a, b} that start with a and end with b (also create a DFA, and regular expression)

FR-70: Fun with NFA Create an NFA for: All strings over {a, b} that contain 010 or 101

FR-71: Regular Languages A language L is regular if there exists an NFA which accepts it NFA for all strings over {a,b} that contain abba

FR-72: Regular Languages A language L is regular if there exists an NFA which accepts it NFA for all strings over {a,b} that contain abba a,b a,b a b b a 0 1 2 3 4

FR-73: Regular Languages A language L is regular if there exists an NFA which accepts it NFA for all strings over {a,b} that do not contain abba

FR-74: Regular Languages A language L is regular if there exists an NFA which accepts it NFA for all strings over {a,b} that do not contain abba b a a b b 0 1 2 3 a b

FR-75: Regular Expression & NFA Give a regular expression for all strings over {a,b} that have an even number of a s, and a number of b s divisible by 3

FR-76: Pumping Lemma Not all languages are Regular L = all strings over {a,b,c} that contain more a s than b s and c s combined

FR-77: Pumping Lemma To show that a language L is not regular, using the pumping lemma: Let n be the constant of the pumping lemma Create a string w L, such that w > n For each way of breaking w = xyz such that xy n, y > 0: Show that there is some i such that xy i z L By the pumping lemma, L is not regular

FR-78: Pumping Lemma Prove L = all strings over {a,b,c} that contain more a s than b s and c s combined is not regular Let n be the constant of the pumping lemma Consider w = b n a n+1 L If we break w = xyz such that xy n, then y must be all b s. Let y = k Consider w = xy 2 x = b n+k a n. w L for any k > 0, thus by the pumping lemma,lis not regular

FR-79: Context-Free Languages A language is context-free if a CFG generates it All strings over {a,b,c} with same # of a s as b s

FR-80: Context-Free Languages A language is context-free if a CFG generates it All strings over {a,b,c} with same # of a s as b s S asb S bsa S SS S cs S Sc S ǫ

FR-81: Context-Free Languages A language is context-free if a CFG generates it All strings over {a,b,c} with more a s than b s

S cs Sc S asb bsa S aa Aa S SA A aab A baa A AA A ca Ac A aa Aa A ǫ FR-82: Context-Free Languages A language is context-free if a CFG generates it All strings over {a,b,c} with more a s than b s

FR-83: Context-Free Languages A language is context-free if a PDA accepts it All strings over {a,b,c} that contain more a s than b s and c s combined

FR-84: Context-Free Languages A language is context-free if a PDA accepts it All strings over {a,b,c} that contain more a s than b s and c s combined (a,ε,ε) (a,ε,a) (a,x,ε) (b,ε,x) (b,a,ε) (c,ε,x) (c,a,ε) 0 (ε,ε,x) 1

FR-85: Recursive Languages A language L is recursive if an always-halting Turing Machine accepts it In other words, a Turing Machine decides L Create a Turing Machine for all strings over {a,b,c} with an equal number of a s, b s and c s.

FR-86: Recursive Languages Computing functions with TMs Give a TM that computes negation, for a 2 s complement binary number (flip bits, add one, discard overflow)

FR-87: Recursive Languages Computing functions with TMs Give a TM that computes negation, for a 2 s complement binary number

FR-88: Recursive Languages Computing functions with TMs Give a TM that computes negation, for a 2 s complement binary number (flip bits, add one, discard overflow) 0 1 0 1R R 1 L 1 yes 0 0

FR-89: r.e. Languages A language L is recursively enumerable if there is some Turing Machine M that halts and accepts everything in L, and runs forever on everything not in L Give a TM that semi-decides L = a n b n Note that this language is also context-free context-free languages are a subset of the r.e. languages

FR-90: r.e. Languages Enumeration Machines Create a Turing Machine that enumerate the language: L = all strings of the form wcw, w (a+b)

FR-91: Counter Machines Finite automata with a counter (never negative) Add one, subtract 1, check for zero Create a 1-counter machine for all strings over {a,b} that contain the same number of a s as b s

FR-92: Unrestricted Grammars G = (V,Σ,R,S) V = Set of symbols, both terminals & non-terminals Σ V set of terminals (alphabet for the language being described) R (V (V Σ)V V ) Set of rules S (V Σ) Start symbol

FR-93: Unrestricted Grammars R (V (V Σ)V V ) Set of rules In an Unrestricted Grammar, the left-hand side of a rule contains a string of terminals and non-terminals (at least one of which must be a non-terminal) Rules are applied just like CFGs: Find a substring that matches the LHS of some rule Replace with the RHS of the rule

FR-94: Unrestricted Grammars To generate a string with an Unrestricted Grammar: Start with the initial symbol While the string contains at least one non-terminal: Find a substring that matches the LHS of some rule Replace that substring with the RHS of the rule

FR-95: Unrestricted Grammars Example: Grammar for L = {a n b n c n : n > 0} First, generate (ABC) Next, non-deterministically rearrange string Finally, convert to terminals (A a, B b, etc.), ensuring that string was reordered to form a b c

FR-96: Unrestricted Grammars Example: Grammar for L = {a n b n c n : n > 0} S ABCS S T C CA AC BA AB CB BC CT C T C c T C T B BT B T B b T B T A AT A T A a T A ǫ

FR-97: Unrestricted Grammars S ABCS ABCABCS ABACBCS AABCBCS AABBCCS AABBCCT C AABBCT C c AABBT C cc AABBT B cc AABT B bcc AAT B bbcc AAT A bbcc AT A abbcc T A aabbcc aabbcc

FR-98: Unrestricted Grammars S ABCS ABCABCS ABCABCABCS ABACBCABCS AABCBCABCS AABCBACBCS AABCABCBCS AABACBCBCS AAABCBCBCS AAABBCCBCS AAABBCBCCS AAABBBCCCS AAABBBBCCCT C AAABBBCCT C c AAABBBCT C cc AAABBBT C ccc AAABBBT B ccc AAABBT B bccc AAABT B bbccc AAAT B bbbccc AAAT A bbbccc AAT A abbbccc AT A aabbbccc T A aaabbbccc aaabbbccc