Functional Properties and Problem Reduction

Slides:



Advertisements
Similar presentations
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Advertisements

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,
Variants of Turing machines
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
Rice ’ s Theorem. Def: A property of the Turing-recognizable languages is simply a subset of all Turing- recognizable languages.
Turing -Recognizable vs. -Decidable
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Decidable A problem P is decidable if it can be solved by a Turing machine T that always halt. (We say that P has an effective algorithm.) Note that the.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
1 The Chomsky Hierarchy. 2 Unrestricted Grammars: Rules have form String of variables and terminals String of variables and terminals.
Fall 2004COMP 3351 The Chomsky Hierarchy. Fall 2004COMP 3352 Non-recursively enumerable Recursively-enumerable Recursive Context-sensitive Context-free.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Homework #9 Solutions.
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
Prof. Busch - LSU1 Reductions. Prof. Busch - LSU2 Problem is reduced to problem If we can solve problem then we can solve problem.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS355 – The Mathematics and Theory of Computer Science Reducibility.
CSCI 2670 Introduction to Theory of Computing November 4, 2004.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
A Universal Turing Machine
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Turing -Recognizable vs. -Decidable
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Chapters 11 and 12 Decision Problems and Undecidability.
A Universal Turing Machine
Recursively Enumerable and Recursive Languages
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Reductions.
Undecidable Problems Costas Busch - LSU.
Reductions Costas Busch - LSU.
Automata, Grammars and Languages
The Definition of Algorithm
Computing with Turing Machines
Computing with Turing Machines
LIMITS OF ALGORITHMIC COMPUTATION
Decidability and Enumerability
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Turing acceptable languages and Enumerators
Decidable Languages Costas Busch - LSU.
The Post Correspondence Problem
Turing acceptable languages and Enumerators
Undecidable problems:
Computability and Complexity
Halting Problem.
Proposed in Turing’s 1936 paper
Formal Languages, Automata and Models of Computation
Instructor: Aaron Roth
Turing -Recognizable vs. -Decidable
Instructor: Aaron Roth
Theory of Computability
Variants of Turing machines
Instructor: Aaron Roth
Automata, Grammars and Languages
More Undecidable Problems
Turing -Recognizable vs. -Decidable
MA/CSSE 474 Theory of Computation
Lecture 4: Unsolvable Problems
MA/CSSE 474 Theory of Computation
Presentation transcript:

Functional Properties and Problem Reduction Lecture 36 Wed, Nov 22, 2002

Properties of Programs A Turing Machine may also be called a program. Given a property of programs, each program either has or does not have that property. A property is called trivial if either every program has it or no program has it.

Properties as Languages For a given property, let L be the set of all encoded programs P such that P has the property. Then L is a language. Thus, we may view properties of programs as languages.

Functional Properties Let f :    be a function. Let Pf be the set of all programs that compute f. A property L is called functional if there exists a function f such that either P  L for all P  Pf, or P  L for all P  Pf.

Functional Properties Thus, functional properties are characterized entirely by the program’s input and output, not the internal details of how the output was obtained.

Examples of Functional Properties The following properties are functional. M halts whenever the input is a positive integer. M never halts. M computes the lexicographical successor of the input, if the input contains no embedded blanks.

Examples of Non-Functional Properties The following properties are not functional. M contains more than 3 transitions. M contains exactly 12 states. M computes the successor of the input provided the computation can be done in no more than 100 transitions.

Problem Reduction Often we solve one problem by reducing it to another problem that we already know how to solve. For example, given two points on the surface of a cone, how do we find the shortest line on the cone from one point to the other?

Problem Reduction The solution: Cut the cone from the vertex to the edge. Lay it out flat. Draw a straight line from one point to the other on the flat surface. Tape the cut back together again. The line on the cone is the shortest line between the two points.

Reducing Languages The problem we want to solve is the membership problem for a language L. Let L1 and L2 be languages. We say that L1 is reducible to L2 if there exists a Turing computable function r : *  * such that for every w  *, w  L1 if and only if r(w)  L2.

Reducing Languages Thus, we can solve the membership problem for L1 if We can solve the membership problem for L2, and We can design a Turing Machine that reduces L1 to L2. Then to determine whether w  L1, we compute r(w) and see if it is in L2.

Reducibility and Decidability Theorem: Suppose L1 is reducible to L2. Then If L2 is decidable, then L1 is also decidable. If L1 is undecidable, then L2 is also undecidable.