1 dKS, Spring 2009. 2 Some practical information Lecturers: Kristoffer Arnsfelt Hansen and Peter Bro Miltersen. Homepage: www.daimi.au.dk/dKSwww.daimi.au.dk/dKS.

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

Theory of NP-Completeness
Complexity Classes: P and NP
Time Complexity P vs NP.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
Computability & Complexity. Scenario I can’t write this program because I’m too dumb.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
Advanced Topics in Algorithms and Data Structures
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Complexity Theory CSE 331 Section 2 James Daly. Reminders Project 4 is out Due Friday Dynamic programming project Homework 6 is out Due next week (on.
1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
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.
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.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time in a reasonable sequential model of computation if and only if it.
1 Combinatorial Search Spring 2008 (Fourth Quarter)
1 Optimization Spring 2007 (Third Quarter). 2 Some practical remarks Homepage: Exam: Written, 3 hours. There.
Chapter 11: Limitations of Algorithmic Power
Finite State Machines Data Structures and Algorithms for Information Processing 1.
Turing Machines CS 105: Introduction to Computer Science.
1 Integrality constraints Integrality constraints are often crucial when modeling optimizayion problems as linear programs. We have seen that if our linear.
Turing Machines A more powerful computation model than a PDA ?
Turing Machines Chapter Plan Turing Machines(TMs) – Alan Turing Church-Turing Thesis – Definitions Computation Configuration Recognizable vs. Decidable.
חישוביות וסיבוכיות Computability and Complexity Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
A Universal Turing Machine
Cs3102: Theory of Computation Class 14: Turing Machines Spring 2010 University of Virginia David Evans.
1 Theory: Models of Computation  Readings:  Chapter 11 & Chapter 3.6 of [SG]  Content:  What is a Model  Model of Computation  Model of a Computing.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Lecture 12 P and NP Introduction to intractability Class P and NP Class NPC (NP-complete)
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1 How to establish NP-hardness Lemma: If L 1 is NP-hard and L 1 ≤ L 2 then L 2 is NP-hard.
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
Turing Machines Lecture 26 Naveen Z Quazilbash. Overview Introduction Turing Machine Notation Turing Machine Formal Notation Transition Function Instantaneous.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
CS623: Introduction to Computing with Neural Nets (lecture-7) Pushpak Bhattacharyya Computer Science and Engineering Department IIT Bombay.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Design and Analysis of Approximation Algorithms
Part VI NP-Hardness.
Time Complexity Costas Busch - LSU.
Jaya Krishna, M.Tech, Assistant Professor
Jaya Krishna, M.Tech, Assistant Professor
Objective of This Course
Recall last lecture and Nondeterministic TMs
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Presentation transcript:

1 dKS, Spring 2009

2 Some practical information Lecturers: Kristoffer Arnsfelt Hansen and Peter Bro Miltersen. Homepage: Kompendium will be available in GAD after easter. Three compulsory assignments, hand in to your teaching assistant at the tutorial on time. Tutorials start second week of quarter. Due to easter, second week of term starts April 15th. Exam is oral, without preparation.

3 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Polynomial time (easy) Exponential time (hard). = reduction TSP “Optimization” – a summary! … …

4 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Polynomial time (easy) Exponential time (hard). = reduction TSP… NP-completeness

5 Rigorous Formalization “Problems” Languages “Efficient Algorithms” Turing Machines, P “Search Problems” NP “Reductions” Polynomial Reductions “Universal Search Problems” NPC

6 Problems: Languages A language L is a subset of {0,1}*. A language models a decision problem: Members of L are the yes-instances, non- members are the no-instances. This is the only kind of problem our theory shall be concerned with!

7 Restriction: Inputs Boolean Strings Strings over an arbitrary alphabet can be represented as Boolean Strings (Ex: ascii, unicode). In reality, computers may only hold Boolean strings (their memory image is a bit string). Arbitrary real numbers may not be represented but this is intentional!

8 Models of Computation Model 1: Our computer holds exact real numbers. The size of the input is the number of real numbers in the input. The time complexity of an algorithm is the number of arithmetic operations performed. Model 2: Our computer holds bits and bytes. The size of the input is the number of bits in the input. The time complexity of an algorithm is the number of bit-operations performed. We know an efficient algorithm for linear programming in Model 2 but not model 1. The NP-completeness theory is intended to capture Model 2 and not Model 1.

9 java MaxFlow 6#0|16|13|0|0|0#0|0|10|12|0|0 #0|4|0|0|14|0#0|0|9|0|0|20 #0|0|0|7|0|4|#0|0|0|0|0|0 How to encode max flow instance?

10 Restriction: All inputs “legal”. Any string should be either a yes-string or a no-string. It would be nice to also have “malformed” strings. However, we shall just lump the malformed strings with the no-strings.

11 Restriction: Output yes or no Suppose we want to consider computing a function, f: {0,1}* ! {0,1}*. Stand-in for f: L f = { | f(x) j = y}

12 Restriction: functions OPT: Given description of F, f find x 2 F maximizing f(x). There may be several optimal solutions. OPT does not seem to be captured easily by a function. Stand-in for OPT: L OPT = { | some x 2 F has f(x) ¸  /  }

13

14 L OPT vs. OPT L OPT may be easy to solve even though OPT is hard to solve, so L OPT is not a perfect stand-in. However, if L OPT has no efficient solution, then OPT has no efficient solution, so L OPT can still be used to argue that OPT is hard.

15 Algorithms: Turing Machines

16 Turing Machines A Turing machine consists of an infinite tape, divided into cells, each holding a symbol from alphabet  that includes 0,1,#. A tape head is at any point in time positioned at a cell. A finite control reads the symbol at the head, updates the symbol at the head and the position of the head.

17 Finite Control Finite set of states Q. The control is in exactly one of the state. Three special states: start, accept, reject. Transition function:

18 Running the machine on an input The input string is placed on the tape (surrounded by blanks) and the head positioned to the immediate left of the input. The initial state of the finite control is start. If the finite control eventually goes to accept state, the input is accepted (“the machine outputs yes”). If the finite control eventually goes to reject state, the input is rejected (“the machine outputs no”). The machine is said to decide a language L if it accepts all members of L and rejects all members of {0,1}*-L.

Some Turing Machine Applets

20 If you want to make rigorous the notion of an “efficient algorithm” why do you choose such a hopelessly inefficient device ??!?

21 Church-Turing Thesis Any decision problem that can be solved by some mechanical procedure, can be solved by a Turing machine.

22 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only if it can be solved in polynomial time by a Turing machine.

23 The complexity class P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at most p(|x|) steps on input x. By the Polynomial Church-Turing Thesis, P is “robust” with respect to changes of the machine model. Is P also robust with respect to changes of the representation of decision problems as languages?