1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties.

Slides:



Advertisements
Similar presentations
Lecture 19. Reduction: More Undecidable problems
Advertisements

CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Computability and Complexity 5-1 Classifying Problems Computability and Complexity Andrei Bulatov.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Module 2: Fundamental Concepts Problems Programs –Programming languages.
Lecture 9 Recursive and r.e. language classes
1 Module 9 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
Lecture 8 Recursively enumerable (r.e.) languages
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
1 dKS, Spring Some practical information Lecturers: Kristoffer Arnsfelt Hansen and Peter Bro Miltersen. Homepage:
Lecture 2: Fundamental Concepts
1 Module 2: Fundamental Concepts Problems Programs –Programming languages.
Module 5 Topics Proof of the existence of unsolvable problems
1 Lecture 26 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems.
1 Lecture 10 Proving more specific problems are not recursive Reduction technique –Use subroutine theme to show that if one problem is unsolvable, so is.
1 Lecture 2 Topics –Importance of this material Fundamental Limitations –Connecting Problems and Languages Problems –Search, function and decision problems.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
1 Lecture 16 FSA’s –Defining FSA’s –Computing with FSA’s Defining L(M) –Defining language class LFSA –Comparing LFSA to set of solvable languages (REC)
1 Lecture 5 Topics –Closure Properties for REC Proofs –2 examples Applications.
1 Lecture 11 Proving more specific problems are not solvable Input transformation technique –Use subroutine theme to show that if one problem is unsolvable,
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
1 Lecture 7 Topics –Problems about program behavior At least problem input is a program/algorithm –Halting Problem Fundamental problem about program behavior.
1 Lecture 23 Decision problems about regular languages –Programs can be inputs to other programs FSA’s, NFA’s, regular expressions –Basic problems are.
Chapter 11: Limitations of Algorithmic Power
1 Module 25 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
1 Lecture 11 Proving more specific problems are not solvable Input transformation technique –Use subroutine theme to show that if one problem is unsolvable,
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Hardness Results for Problems
1 Lecture 6 Topics –Proof of the existence of unsolvable problems Problems/languages not in REC Proof Technique –There are more problems/languages than.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
MA/CSSE 474 Theory of Computation Decision Problems DFSMs.
Chapter Algorithms 3.2 The Growth of Functions 3.3 Complexity of Algorithms 3.4 The Integers and Division 3.5 Primes and Greatest Common Divisors.
NP-Complete problems.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
The Big Picture Chapter 3.
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
 2004 SDU 1 Algorithm Informally speaking, an algorithm is a collection of simple instructions for carrying out a task. Example:  Elementary arithmetic.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
The Big Picture Chapter 3. A decision problem is simply a problem for which the answer is yes or no (True or False). A decision procedure answers a decision.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Consider problems with answer YES or NO Examples: Does Machine have three states ? Is string a binary.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Turing Machines- Cont. Theory of Computation Lecture 11 Tasneem Ghnaimat.
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
Decidability.
Chapters 11 and 12 Decision Problems and Undecidability.
Introduction to the Theory of Computation
The Definition of Algorithm
Chapter 9 TURING MACHINES.
NP-Completeness Yin Tat Lee
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Undecidable Problems (unsolvable problems)
Decidable Languages Costas Busch - LSU.
Prabhas Chongstitvatana
NP-Completeness Yin Tat Lee
CSE 589 Applied Algorithms Spring 1999
Instructor: Aaron Roth
Presentation transcript:

1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties

2 Problem Solving Solving problems –In this course, we spend a lot of time proving there are unsolvable problems –In today’s class, we will spend time doing the opposite: solving problems Subroutines –Using an algorithm for one problem to help build an algorithm to solve a second problem

3 Problem 1 Prime Number Problem –Input: Positive integer n –Yes/No Question: Is n a prime number? Questions –What kind of problem is this? –Construct a solution to this problem

4 Problem 2 Maximum clique problem –Input: Graph G = (V,E) list of nodes and edges –Output: Size of maximum clique in G Definitions –V: Set of n nodes {v i | 1 <= i <= n} –E: Set of edges {(v i, v j )} –Clique: subset C of V such that there is an edge between all nodes in C

5 Example v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 V = {v 1, v 2, v 3, v 4, v 5, v 6 } E = {(v 1, v 2 ), (v 1, v 5 ), (v 1, v 6 ), (v 2, v 3 ), (v 2, v 4 ), (v 3, v 4 ), (v 4, v 5 ), (v 5, v 6 )} Question: How could we encode a graph as a string?

6 Example 2 v1v1 v2v2 v3v3 v5v5 v6v6 V = {v 1, v 2, v 3, v 4, v 5, v 6 } E = { Max clique size? Smallest number of edges needed to increase m. c. size? v4v4

7 Algorithm 1 Construct an algorithm for solving the max clique problem

8 Problem 2’ Decision clique problem –Input: Graph G = (V,E), integer k Note the extra input object k –Yes/No question: Does the maximum clique in G have size at least k?

9 Subroutine Theme Assume that algorithm A solves the decision clique problem Construct an algorithm A’ for solving the max clique problem that uses A as a subroutine

10 Example from divisor problem integer x, max, j; cin >> x; max = 1; for (j=2; j<x; j++) if (A(x,j))// using A as a procedure max = j; return max;

11 Problem 3 Connected graph problem –Input: Graph G = (V,E) list of nodes and edges –Yes/No Question: Is there a path of edges between every pair of nodes? Construct an algorithm to solve this problem

12 REC The class of solvable problems

13 Programs and Inputs Suppose we have a language L In order for P to solve the language recognition problem associated with L, what should P do on a given string x –P should halt after a finite amount of time –P should correctly respond yes/no with respect to “Is x in L?”

14 REC Formal Definition –A C ++ program P decides language L iff 1) Program P halts on all input strings 2) Program P correctly labels all strings it halts on as in or not in L. –A language L is recursive or decidable iff there exists a C ++ program P which decides L. What if there is a Java program P which decides L? –REC: the set of recursive languages

15 Church’s Thesis What is our modified Church’s Thesis? –Any algorithm can be written as a C ++ program –Any problem which cannot be solved by a C ++ program cannot be solved by any algorithm. Importance? –The definition of REC is robust. –We could use other models of computation Turing machines, Java programs, Lisp Programs,...

16 Languages REC Question: Is REC a proper subset of the set of all languages/problems?

17 Summary Solving problems –Subroutine theme REC –The class of solvable problems/languages –Church’s Thesis Specific model of computation is not important –Question: Are all problems solvable?