+ All Categories
Home > Documents > Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1,...

Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1,...

Date post: 28-May-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
25
Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science, University of Oxford) HT 2020 Paul Goldberg Introduction, motivation 1 / 25
Transcript
Page 1: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Computational Complexity; slides 1, HT 2019Introduction, motivation

Prof. Paul W. Goldberg (Dept. of Computer Science,University of Oxford)

HT 2020

Paul Goldberg Introduction, motivation 1 / 25

Page 2: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Computational complexity in the 1870s

Paul Goldberg Introduction, motivation 2 / 25

Page 3: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Computational complexity, 1950s

Paul Goldberg Introduction, motivation 3 / 25

Page 4: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

John F. Nash (1928–2015)

National Security Agency (est.1952)

Correspondence between Nash and NSA, 1955https:

//www.nsa.gov/Portals/70/documents/news-features/

declassified-documents/nash-letters/nash_letters1.pdf

Paul Goldberg Introduction, motivation 4 / 25

Page 5: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Organisation

www.cs.ox.ac.uk/people/paul.goldberg/CC/index.html

Slides, exercise sheets, often updated

www.cs.ox.ac.uk/teaching/courses/2019-2020/complexity/

General info

Problem sheets: classes in weeks 3–8Available on web page by Monday in weeks 2–7check hand-in deadlines

Completed exercise sheets should be left in relevant tutor’s pigeon hole.

Lecture Notes: slides for current lecture available on the web page.

Some proofs on whiteboard.

Paul Goldberg Introduction, motivation 5 / 25

Page 6: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Some terminology, concepts

Problem (e.g. SHORTEST PATH, TSP, 3SAT, FACTORING)

decision problemsearch problem

Instance of a problem

For decision problems: “yes-instance”, “no-instance”

Complexity details to follow

Algorithm

Complexity class , e.g. P, NP, PSPACE

reduction

Certificate, oracle,...

Paul Goldberg Introduction, motivation 6 / 25

Page 7: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Aims

(from the web page)

Introduce the most important complexity classes

Give you tools to classify problems into appropriate complexityclasses

Enable you to reduce one problem to another

Above terminology to be made precise

We will see there are major gaps in our understanding ofcomputation!

main emphasis on time/space requirements; but cf “communicationcomplexity”, “query complexity”

note usage of word “complexity”

Paul Goldberg Introduction, motivation 7 / 25

Page 8: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Connections with other courses

Models of Computation:

Introduce Turing machines as a universal computing deviceClassification of problems into decidable/undecidableRefine classification of undecidable problems

(degrees of undecidability)

Introduction to Formal Proof:

Logic and proof

Algorithms (part A)

address “intractability” studied here

Design and Analysis of Algorithms (prelims)

design of efficient algorithms.asymptotic complexity analysis of runtime.

MSc Foundations of Computer Science:

Introduces Turing machines and basic complexity

Paul Goldberg Introduction, motivation 8 / 25

Page 9: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Prerequisites

Paul Goldberg Introduction, motivation 9 / 25

Page 10: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

“poly-time” not just about computational efficiency

Poly-time algorithm tells you about the structure of a problem.Contrast with brute-force algorithm in context of e.g.PIGEONHOLE CIRCUIT problem.

A relevant quote

What do we learn by proving that an equilibrium computationproblem is “difficult” in a complexity-theoretic sense? First,assuming widely believed mathematical conjectures, it implies thatthere will never be a fast, general-purpose computational methodfor solving the problem. Second, it rules out many structuralresults, such as convexity or duality, that are often used tounderstand and justify economic models.

Tim Roughgarden: Computing equilibria: a computational complexityperspective Economic Theory (2010)

Paul Goldberg Introduction, motivation 10 / 25

Page 11: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Prerequisites

“polynomial-time”; P

Essentially, no particular prerequisites except generalmathematical and theoretical computer science skills.

Basic understanding of analysis of algorithms.Big-O notation, (Turing machines)

See e.g. Chapter 7.1 in Sipser’s book (or any other algorithmsbook)

Not necessary (but nice):

Programming skills

More advanced methods from algorithm design

Paul Goldberg Introduction, motivation 11 / 25

Page 12: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Road map (roughly)

1 [2 lectures] introduction, Turing machines, (un)decidability,reductions

move swiftly from qualitative to quantitative considerations:

2 [1 lecture] Deterministic Complexity Classes. DTIME[t].Linear Speed-up Theorem. PTime. Polynomial reducibility.

3 [3 lectures] NP and NP-completeness. Non-deterministicTuring machines. NTIME[t]. NP. Polynomial timeverification. NP-completeness. Cook-Levin Theorem.

4 [3 lectures] Space complexity and hierarchy theorems.DSPACE[s]. Linear Space Compression Theorem. PSPACE,NPSPACE. PSPACE = NPSPACE. PSPACE-completeness.Quantified Boolean Formula problem is PSPACE-complete. L,NL and NL-completeness. NL = coNL. Hierarchy theorems.

Paul Goldberg Introduction, motivation 12 / 25

Page 13: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Road map

5 [2 lectures] Randomized Complexity. The classes BPP,RP, ZPP. Interactive proof systems: IP = PSPACE.

6 Advanced topics. Randomised complexity, Circuitcomplexity, total search

Paul Goldberg Introduction, motivation 13 / 25

Page 14: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Reading List

Primary:

S. Arora and B. Barak, Computational Complexity: A ModernApproach, Cambridge University Press

M. Sipser, Introduction to the Theory of Computation, 2005

Further:

C.H. Papadimitriou, Computational Complexity, 1994.

I. Wegener, Complexity Theory, Springer, 2005.

O. Goldreich, Complexity Theory, CUP, 2008.

M.R. Garey and D. S. Johnson, Computers and Intractability:A Guide to the Theory of NP-Completeness, 1979.

T.H. Cormen, S. Clifford, C.E. Leiserson and R. L. Rivest,Introduction to Algorithms, 2001.

Paul Goldberg Introduction, motivation 14 / 25

Page 15: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Example: shortest path problem

SHORTEST PATH

Given a weighted graph and two vertices s, t, find a shortest pathbetween s and t.

Can be solved efficiently (for instance with Dijkstra’s algorithm)Paul Goldberg Introduction, motivation 15 / 25

Page 16: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

related example: longest path

LONGEST PATH

Given a weighted graph and two vertices s, t, find a longest simple(cycle-free) path between s and t.

No efficient solution known (and conjectured not to exist)Paul Goldberg Introduction, motivation 16 / 25

Page 17: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Problem: X−Y disjoint paths

X−Y -DISJOINT PATHS

Given a graph, two sets X ,Y of vertices and k ∈ N, find k disjointpaths between vertices in X and Y .

Can be solved efficiently using network flow techniquesPaul Goldberg Introduction, motivation 17 / 25

Page 18: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Problem: disjoint paths

DISJOINT PATHS

Given a graph, two tuples X := (s1, . . . , sk),Y := (t1, . . . , tk) ofvertices, find disjoint paths linking si , ti , for all i .

No efficient solution known (and conjectured not to exist)Paul Goldberg Introduction, motivation 18 / 25

Page 19: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Problem: Length Constrained Disjoint Paths

LENGTH CONSTRAINED DISJOINT PATHS

Given a graph, two vertices s, t and c , k ∈ N, find k disjoint pathsbetween s and t of length ≤ c .

No efficient solution known (and conjectured not to exist)Paul Goldberg Introduction, motivation 19 / 25

Page 20: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Problem: Solving Linear Equations

INTEGER PROGRAMMING

Given a system of linear equations, check whether it has an integersolution.

Example:

x + y = 2

y − 3z = 5

No efficient solution known (and conjectured not to exist)

Paul Goldberg Introduction, motivation 20 / 25

Page 21: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Problem: solving polynomial equations over integers

DIOPHANTINE EQUATIONS

Given a system of Diophantine equations, check whether it has aninteger solution.

Example:

xyz − y3 + z2 = 2

y − 3z = 5

Undecidable — no algorithmic solution!

https://en.wikipedia.org/wiki/Diophantine_equation

https://en.wikipedia.org/wiki/Hilbert’s_tenth_problem

Paul Goldberg Introduction, motivation 21 / 25

Page 22: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Motivation

Questions.

Why are some problems so much harder to solve than other –seemingly very similar – problems?

Are they really harder to solve?

Or have we just not found the right method to do so?

Computational Complexity:classify problems according to the amount of resources (runtime,space, communication, etc) needed for their computation.

Classify problems into classes of problems which are of thesame “difficulty”.

Provide methods to establish the complexity of a problem.

Paul Goldberg Introduction, motivation 22 / 25

Page 23: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

Graph Problems: CLIQUE

Clique: A clique in a graph G is a complete subgraph of G .

MAX CLIQUE

input: Graph GFind largest clique C ⊆ G

That’s an optimisation problem. Corresponding decision problemwould specify a number k and ask for a “k-clique”.

https://en.wikipedia.org/wiki/Clique_problem

...another notoriously hard problem; has an obvious brute-forcealgorithm.

Paul Goldberg Introduction, motivation 23 / 25

Page 24: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

CLIQUE

Can search for a k-clique of an n-vertex graph in time O(nk .k2),poly(n) if k is constant.

Follow-up question:Can we search for a k-clique in time f (k).p(n), where p(·) is apolynomial?Unlikely — CLIQUE is “fixed parameter intractable”.

Paul Goldberg Introduction, motivation 24 / 25

Page 25: Computational Complexity; slides 1, HT 2019 Introduction ... · Computational Complexity; slides 1, HT 2019 Introduction, motivation Prof. Paul W. Goldberg (Dept. of Computer Science,

General observations

Classification of problems relies on various mathematicalconjectures of which the most famous is the “P6=NP” belief.

There are other, mostly stronger, ones, e.g. the “exponential timehypothesis”, which has been used to prove that k-CLIQUE cannotbe solved in time no(k).

Lower bounds on runtime requirements are hard to show! Needsdetails of model of computation. More progress is often possiblefor lower bounds on query complexity and communicationcomplexity of various problems.

Paul Goldberg Introduction, motivation 25 / 25


Recommended