Possibilities and Limitations in Computation

Slides:



Advertisements
Similar presentations
Analysis of Algorithms
Advertisements

Dana Moshkovitz MIT Joint work with Subhash Khot, NYU 1.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Max Cut Problem Daniel Natapov.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Great Theoretical Ideas in Computer Science for Some.
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
Introduction to PCP and Hardness of Approximation Dana Moshkovitz Princeton University and The Institute for Advanced Study 1.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22.
Computational problems, algorithms, runtime, hardness
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
Semidefinite Programming
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
Approximation Algorithms Lecture for CS 302. What is a NP problem? Given an instance of the problem, V, and a ‘certificate’, C, we can verify V is in.
Analysis of Algorithms CS 477/677
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 INTRODUCTION NP, NP-hardness Approximation PCP.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
1 Slides by Asaf Shapira & Michael Lewin & Boaz Klartag & Oded Schwartz. Adapted from things beyond us.
Dana Moshkovitz, MIT Joint work with Subhash Khot, NYU.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSE332: Data Abstractions Lecture 24.5: Interlude on Intractability Dan Grossman Spring 2012.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
1/19 Minimizing weighted completion time with precedence constraints Nikhil Bansal (IBM) Subhash Khot (NYU)
NP-Complete problems.
C&O 355 Lecture 24 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A A A A A A.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Unique Games Approximation Amit Weinstein Complexity Seminar, Fall 2006 Based on: “Near Optimal Algorithms for Unique Games" by M. Charikar, K. Makarychev,
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
1 2 Introduction In this lecture we’ll cover: Definition of PCP Prove some classical hardness of approximation results Review some recent ones.
CSC 413/513: Intro to Algorithms
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.
Why almost all satisfiable k - CNF formulas are easy? Danny Vilenchik Joint work with A. Coja-Oghlan and M. Krivelevich.
Instructor: Shengyu Zhang 1. Optimization Very often we need to solve an optimization problem.  Maximize the utility/payoff/gain/…  Minimize the cost/penalty/loss/…
CS 154 Formal Languages and Computability May 10 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Construction We constructed the following graph: This graph has several nice properties: Diameter Two Graph Pebbling Tim Lewis 1, Dan Simpson 1, Sam Taggart.
CSC 172 P, NP, Etc.
The NP class. NP-completeness
More NP-Complete and NP-hard Problems
P & NP.
Chapter 10 NP-Complete Problems.
Computational problems, algorithms, runtime, hardness
Optimization problems such as
Hard Problems Introduction to NP
Circuit Lower Bounds A combinatorial approach to P vs NP
Dana Moshkovitz The Institute For Advanced Study
NP-Completeness Yin Tat Lee
Subhash Khot Dept of Computer Science NYU-Courant & Georgia Tech
Intro to NP Completeness
Introduction to PCP and Hardness of Approximation
Hardness Of Approximation
Chapter 11 Limitations of Algorithm Power
CPS 173 Computational problems, algorithms, runtime, hardness
NP-Completeness Yin Tat Lee
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Complexity Theory in Practice
Complexity Theory in Practice
Topics in Algorithms 2005 Max Cuts
Instructor: Aaron Roth
Presentation transcript:

Possibilities and Limitations in Computation Dana Moshkovitz I need jokes…

Computation is Everywhere There’s Data and Something We Want to Figure Out. Sometimes figuring out is done by hand. Data = input What we want to figure out = output Computation enters when we ask how it scales.

Theoretical computer science considers the most basic, universal, computational problems. For instance, Min-Cut: given a graph, how to partition the vertices to two sets so the number of edges between parts is minimized. If you figure out an efficient way to do something, you can use it everywhere. If you realize something is hard, it tells you more complicated problems are only harder.

The Jargon Computation is done by an algorithm that gets an input and gives an output. The input size is often denoted by n. The run-time of the algorithm is the worst-case number of steps it performs as a function of the input size. We typically only consider “order of magnitude”, not exact numbers. E.g., Min-Cut has a linear time algorithm.

We call a problem easy if it has an efficient algorithm. We call an algorithm efficient if, given input of size n, its run-time is at most nc for some constant c (“polynomial-time”). We call a problem easy if it has an efficient algorithm. For many problems we don’t have a linear time algorithm, but we have quadratic time algorithm or cubic time algorithm. We define “reasonable” time as “polynomial time”. Polynomials compose. Most algorithms we have run in time <= n^3. Even when an algo with time n^10 is devised, it’s usually improved to run in faster tim

The greatest discovery: Many basic, universal, problems are likely hard. Min-Cut is easy, but Sparsest-Cut and Max-Cut are “NP-hard”. (minimize #edges-crossed/#vertices-on-small side)

Given a partition of the vertices, it is easy to compute the number of edges between parts. This is an example of a natural requirement from a search problem: you should be able to evaluate a proposed solution efficiently.

Solving Efficiently vs. Evaluating a Solution Efficiently The input is a graph of size n. Does it have a triangle (=clique of size 3)? Does it have a clique of size n?

Can evaluate a solution efficiently Can be solved efficiently

Thm: If Max-Cut can be solved efficiently, then P=NP. This is what it means for a problem to be “NP-hard”. Many other problems are NP-hard, e.g., clique. The other direction is also true: Max-cut can be solved efficiently if and only if P=NP. NP

NP-Hardness: The Aftermath Special cases: Structure in the data can make a hard problem easy. Super-polynomial time: Maybe it’s possible to find a 1.01n time algorithm? Approximation: Maybe there’s a more efficient algorithm for finding a sub-optimal solution?

Max-Cut Approximation Algorithm For every edge, the probability it crosses parts is 1/2.

What’s the best approximation ratio for Max-Cut? Rn Goemans-Williamson algorithm gives ~0.878 approximation by embedding the graph in Rn. If the “Unique Games Conjecture” is true, doing better is NP-hard! 2LIN(p): Given a system of equations, each of the form xi-xj=cij (mod p), find the solution that satisfies the largest number of equations. Unique Games Conjecture: For sufficiently large p, it’s NP-hard, given 2LIN(p) input, where 99% of the equations can be satisfied, to satisfy even 1% of the equations. If the conjecture is true, then it implies optimality of geometric algorithms for a wide family of problems.

Many Thresholds Already Proven 3LIN(p): Given a system of equations, each of the form xi+xj+xk=cijk (mod p) find the solution that satisfies the largest number of equations. One can get 1/p approximation by picking the assignments to the variables at random. Doing better is NP-hard! Similar threshold behavior for Set Cover, Clique, kCSP(), etc etc.

3LIN(p) Approximation (Under “Exponential Time Hypothesis”) running-time 2(n) exponential Exponential hardness Sharp threshold It took 11 more years before, in a joint work with Ran Raz, we could prove that it takes exponential time to approximate Max-3-SAT, And the running-time goes down to polynomial only in a window of o(1) at 7/8. nO(1) fraction of equations satisfied polynomial 1/p 1