Recursively Enumerable Sets

Slides:



Advertisements
Similar presentations
Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
Advertisements

Primitive Recursive Functions (Chapter 3)
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
October 13, 2009Theory of Computation Lecture 11: A Universal Program III 1 Coding Programs by Numbers Gödel numbers are usually very large, even for small.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Lecture 8 Recursively enumerable (r.e.) languages
October 27, 2009Theory of Computation Lecture 12: A Universal Program IV 1Universality Then we append the following instruction: [C]IF K = Lt(Z) + 1 
November 10, 2009Theory of Computation Lecture 16: Computation on Strings I 1Diagonalization Another example: Let TOT be the set of all numbers p such.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
September 24, 2009Theory of Computation Lecture 6: Primitive Recursive Functions II 1 Homework Questions Question 1: Write a program P that computes 
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
September 17, 2009Theory of Computation Lecture 4: Programs and Computable Functions III 1 Macros Now we want to use macros of the form: W  f(V 1, …,
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
November 3, 2009Theory of Computation Lecture 14: A Universal Program VI 1 Recursively Enumerable Sets Definition: We write: W n = {x  N |  (x, n) 
Chapter 4: A Universal Program 1. Coding programs Example : For our programs P we have variables that are arranged in a certain order: Y 1 X 1 Z 1 X 2.
Algorithms: Selected Exercises Goals Introduce the concept & basic properties of an algorithm.
1 Example 2 (a) Find the range of f(x) = x 2 +1 with domain [0,2]. Solution The function f is increasing on the interval [0,2] from its smallest value.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
September 29, 2009Theory of Computation Lecture 7: Primitive Recursive Functions III 1 Some Primitive Recursive Functions Example 3: h(x) = x! Here are.
Theory of Computation Lecture 5: Primitive Recursive Functions I
Recursively Enumerable and Recursive Languages
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
Fall 2006Costas Busch - RPI1 RE languages and Enumerators.
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
October 4, 2016Theory of Computation Lecture 9: A Universal Program I 1Minimalization Example 15: R(x, y) R(x, y) is the remainder when x is divided by.
The Acceptance Problem for TMs
CIS Automata and Formal Languages – Pei Wang
Recursively Enumerable Languages
Another Word on PRC Classes
Theory of Computation Lecture 10: A Universal Program I
Recursively Enumerable and Recursive Languages
Theory of Computation Lecture 12: A Universal Program III
Theory Of Computer Science
Linear Bounded Automata LBAs
Diagonalization and Reducibility
Theory of Computation Lecture 14: A Universal Program V
CSE322 Recursive and Recursively enumerable sets
Recursively Enumerable Sets
The Growth of Functions
LIMITS OF ALGORITHMIC COMPUTATION
Theory of Computation Lecture 16: A Universal Program VII
Theory of Computation Lecture 5: Programs and Computable Functions III
Theory of Computation Lecture 6: Primitive Recursive Functions I
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Jaya Krishna, M.Tech, Assistant Professor
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
Theory Of Computer Science
Proposed in Turing’s 1936 paper
Formal Languages, Automata and Models of Computation
Class 33: Making Recursion M.C. Escher, Ascending and Descending
Pairing Functions and Gödel Numbers
Diagonalization and Reducibility
Recursively Enumerable Sets
Primitive Recursive Predicates
Theory of Computation Lecture 5: Programs and Computable Functions III
9. Complexity Theory : The Frontier
Theory of Computation Lecture 9: A Universal Program I
Theory of Computation Lecture 6: Primitive Recursive Functions I
Some Primitive Recursive Functions
Theory of Computation Lecture 13: A Universal Program V
Theory of Computation Lecture 17: Calculations on Strings II
Heuristic Search Viewed as path Finding in a Graph
Lecture 4: Unsolvable Problems
Theory of Computation Lecture 11: A Universal Program III
Presentation transcript:

Recursively Enumerable Sets As long as the Gödel numbering functions [x1, …, xn] and (x)i are available, we only need to consider subsets of N instead of subsets of Nm. Then we have: Theorem 4.2: Let C be a PRC class, and let B be a subset of Nm, m  1. Then B belongs to C if and only if B’ = {[x1, …, xm] N | (x1, …, xm)  B} belongs to C. April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets Proof: If PB(x1, …, xm) is the characteristic function of B, then PB’(x)  PB((x)1, …, (x)m) & Lt(x)  m & x > 0 is the characteristic function of B’, and PB’ clearly belongs to C if PB belongs to C . On the other hand, if PB’(x) is the characteristic function of B’, then PB(x1, …, xm)  PB’([x1, …, xm]) is the characteristic function of B, and PB clearly belongs to C if PB’ belongs to C . For example, {[x, y]  N | HALT(x, y)} is not a computable set. April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets Definition: The set B  N is called recursively enumerable if there is a partially computable function g(x) such that B = {x  N | g(x) } . The term recursively enumerable is abbreviated r.e. A set is r.e. just when it is the domain of a partially computable function. If P is a program that computes the function g (see above), then B is simply the set of all inputs to P for which P eventually halts. April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets If we think of P as providing an algorithm for testing for membership in B, we see that if a number belongs to B, the algorithm will provide a positive answer, if a number does not belong to B, the algorithm will never terminate. Such algorithms are called semi-decision procedures. They can be considered an “approximation” to solving the problem of testing membership in B. April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets Theorem 4.3: If B is a recursive set, then B is r.e. Proof: Consider the following program P : [A] IF (X  B) GOTO A Since B is recursive, the predicate X  B is computable and P can be expanded to a program of L . Let P compute the function h(x). Then, clearly, B = {x  N | h(x) } . April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets If B and B are both r.e., then we can devise two algorithms: one algorithm that terminates if a given input is in B, and another algorithm that terminates if a given input is not in B. Can we find a way to combine these two algorithms to obtain a single algorithm that always terminates and tells us whether a given input is in B? The trick is to let the two algorithms run for more and more steps until one of them terminates (dovetailing). April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets Theorem 4.4: The set B is recursive if and only if B and B are both r.e. Proof: If B is recursive, then by Theorem 4.1 so is B, and hence by Theorem 4.3, they are both r.e. Conversely, if B and B are both r.e., we may write B = {x  N | g(x) }, B = {x  N | h(x) }, where g and h are both partially computable. April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI

Recursively Enumerable Sets Now let g be computed by program P and h be computed by program Q , and let p = #(P ) and q = #(Q ). Then the following program computes B: [A] IF STP(1)(X, p, T) GOTO C IF STP(1)(X, q, T) GOTO E T  T+1 GOTO A [C] Y  1 April 4, 2019 Theory of Computation Lecture 14: A Universal Program VI