230 likes | 354 Views
Complexity theory and combinatorial optimization Class #2 – 17 th of March. …. where we deal with decision problems, finite automata, Turing machines pink dogs, …. But also P, NP, NP-completeness, …. Introduction to computational intractability.
E N D
Complexity theory and combinatorial optimization Class #2 – 17th of March …. where we deal with decision problems, finite automata, Turing machines pink dogs, …. But also P, NP, NP-completeness, …..
Introduction to computational intractability Is my problem efficiently solved by a computer? an automatic machine an algorithm?
What’s a problem? That is the problem …. Decision problems: each instance is a question Formal definition with language theory encoding scheme More natural problems: “meta-language”
What’s an algorithm? Will be ever exist any pink dog outside London? • The pink dog question Does a pink dog exist? Does a pink dog exist (outside London)? Since the answer is yes, it can be answered Since there are only a finite number of dogs (outside London) and since for each one a can decide whether it is pink or not it can be answered. To answer it one needs a formal model of dogs.
What’s an algorithm? • The pink dog question • Computability models • Lambda-calculus (A. Church, 1931) • General recursive functions (K. Gödel, 1934) • Turing machines (A. Turing, 1936) • Random-Access Machines, … • Church thesis Before the first computer
What’s an algorithm: the Turing machine model • From finite states automaton ….. to Turing machines • 1-tape (deterministic) Turing Machine (DTM) • multi-tape Turing machines • non-deterministic Turing machines (NDTM) • transition function transition relation • put non-determinism at the beginning • equivalence between all these Turing machines models • universal Turing Machine Example
Problems solved by Turing machines M: DTM, L a language on the same input alphabet Decision problem solved by an algorithm? (through an encoding scheme) • Is L recognized by M? • Is L decided by L? • The halting problem: an example of undecidable problem
Complexity of Turing machines A notion of efficiency • Complexity of DTM (halting for each instance) • Complexity of NDTM • Polynomial-time: considered as efficiency (Cobham-Edmond’s thesis) • Difference between DTM and NDTM (from complexity point of view) • From languages to problems (reasonable encoding schemes)
P, NP and NP-completeness • The class P • The class NP • Exponentially solving problems in NP • Polynomial reductions • NP-complete problems
Some NP-complete problems • SAT • Cook’s theorem (1971) • How to prove NP-completeness after Cook? • 3-SAT • to be continued during the next class
An Example of 1-tape Deterministic Turing Machine q2 q1 q1 q0 qN b b 0 0 1 0 1 b b b b …
q2 q2 q1 q1 q0 q2 b 0 0 1 1 1 b b b b … b
q3 q4 q2 q4 q4 q4 b b 0 1 1 1 b b b b b …
q2 q1 q2 q0 q4 b 0 1 1 b b b b b … b b
q4 q4 q3 q2 b 1 1 b b b b b … b b b
q4 q0 qN b 1 b b b b b b … b b
q0 b 0 0 1 1 b b b b b …
q3 q4 q2 q4 q4 b b 0 1 b 1 b b b b b …
q4 q0 q1 q2 b 0 1 b b b b b b … b b
q3 q3 q2 b b 1 b b b b b b … b b
q3 q0 qY b b b b b b b b b b … What is the accepted language?