Introduction Complexity Theory 2002/03. Peter van Emde Boas KNOW YOUR NUMBERS ! The Impact of...

Preview:

Citation preview

Introduction Complexity Theory 2002/03. Peter van Emde Boas

KNOW YOUR NUMBERS !The Impact of Complexity

Peter van Emde Boas

ILLC-FNWI-UvA

2003

See: http://staff.science.uva.nl/~peter/teaching/ct03.html

Introduction Complexity Theory 2002/03. Peter van Emde Boas

Moore’s Law in action

© Scientifi American 274, 199601, p45

Computation speeddoubles every 1.5 years

Corresponding rate ofincrease ofMemory capacity

Introduction Complexity Theory 2002/03. Peter van Emde Boas

1982 1985

Introduction Complexity Theory 2002/03. Peter van Emde Boas

1986 1988

Introduction Complexity Theory 2002/03. Peter van Emde Boas

1990 1992

Introduction Complexity Theory 2002/03. Peter van Emde Boas

1994 1996

Introduction Complexity Theory 2002/03. Peter van Emde Boas

1998 2000

Introduction Complexity Theory 2002/03. Peter van Emde Boas

2003

Introduction Complexity Theory 2002/03. Peter van Emde Boas

Is it really so nice ?

sum := 0for i = 1 to N do

sum := sum + a[i] ;print ( sum )

Back in 1977 this would work in less than a second for N = 10 000Can we deal with N = 400 000 000 today within a second ?

sum := 0for i = 1 to N do

j:= index[i] ; sum := sum + a[j] ;print ( sum )

And what about this one ?

Introduction Complexity Theory 2002/03. Peter van Emde Boas

Information must be moved!

Source: Ph.d. Thesis Stefan ManegoldUnderstanding, Modeling, and Improving

Main-Memory Database PerformanceUvA Dec 16, 2002

Introduction Complexity Theory 2002/03. Peter van Emde Boas

Information must be moved!

Source: Ph.d. Thesis Peter A. BonczMonet; A next-Generation

DBMS Kernel for Query-IntensiveApplications

UvA Mei 31, 2002

Introduction Complexity Theory 2002/03. Peter van Emde Boas

Know your numbers !# Instructions Time

1 000 0.00001 sec1 000 000 0.01 sec Invisible10 000 000 0.1 sec Perceptive100 000 000 1 sec1 000 000 000 10 sec10 000 000 000 100 sec Coffee100 000 000 000 16.7 min Chat1 000 000 000 000 2 hr 47 min WHAARGH!10 000 000 000 000 27 hr the Limit!!100 000 000 000 000 11.25 days Hopeless1 000 000 000 000 000 4 months10 000 000 000 000 000 3.33 years Unrealistic100 000 000 000 000 000 33 years1 000 000 000 000 000 000 3.3 century

Processing times on a 100 MIPS system

1 day = 86400 sec 1 000 000 sec ≈ 11 days1 year ≈ 31 536 000 sec 1 000 000 000 sec ≈ 35 years

Introduction Complexity Theory 2002/03. Peter van Emde Boas

WHAT IS COMPLEXITY ?

Relation between size of the input instance and the time required for solving this instance.

Traversing a list Linear O(n)Sorting O(n.logn)Multiplication Quadratic O(n2)Matrix multiplication Cubic O(n3)Truth table checking Exponential O(2n)Naive TSP O(n!)

What can be done in principle can become undoable in practice

Order of growth is more relevant than the implicit constants

Introduction Complexity Theory 2002/03. Peter van Emde Boas

The Order of growth

10 20 50 100 200 1000

n .00001 .00002 .00005 .0001 .0002 .001

n.logn .00003 .00008 .00027 .0006 .0016 .01

n2 .0001 .0004 .0025 .01 .04 1

n3 .001 .008 .125 1 8 16 min

2n .001 1 31 y ?? !!?*

Time on a 1 MIPS system in seconds (unless stated otherwise)

Introduction Complexity Theory 2002/03. Peter van Emde Boas

Impact of the faster machine

n 1000 times as large

n.logn 500 - 1000 times as large

n2 31 times as large

n3 10 times as large

2n add 10 to input size

That’s why Edmonds stated his thesis:Effective ==> Polynomial Time Complexity

Introduction Complexity Theory 2002/03. Peter van Emde Boas

A Fallacy ??

If computation speed doubles every 2 yearswe can perform (2N - 1) M operations in 2Nyears, where M is the number of operationsperformed in the first 2 years.

So why worry about exponential timealgorithms ??

What is wrong with this argument ?

Recommended