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:
Introduction Complexity Theory 2002/03. Peter van Emde Boas Moore’s Law in action © Scientifi American 274, , p45 Computation speed doubles every 1.5 years Corresponding rate of increase of Memory capacity
Introduction Complexity Theory 2002/03. Peter van Emde Boas
Introduction Complexity Theory 2002/03. Peter van Emde Boas
Introduction Complexity Theory 2002/03. Peter van Emde Boas
Introduction Complexity Theory 2002/03. Peter van Emde Boas
Introduction Complexity Theory 2002/03. Peter van Emde Boas
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 := 0 for i = 1 to N do sum := sum + a[i] ; print ( sum ) Back in 1977 this would work in less than a second for N = Can we deal with N = today within a second ? sum := 0 for 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 Manegold Understanding, Modeling, and Improving Main-Memory Database Performance UvA Dec 16, 2002
Introduction Complexity Theory 2002/03. Peter van Emde Boas Information must be moved! Source: Ph.d. Thesis Peter A. Boncz Monet; A next-Generation DBMS Kernel for Query-Intensive Applications UvA Mei 31, 2002
Introduction Complexity Theory 2002/03. Peter van Emde Boas Know your numbers ! # InstructionsTime sec secInvisible secPerceptive sec sec secCoffee minChat hr 47 minWHAARGH! hrthe Limit!! daysHopeless months yearsUnrealistic years century Processing times on a 100 MIPS system 1 day = sec sec ≈ 11 days 1 year ≈ sec 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 listLinearO(n) SortingO(n.logn) Multiplication QuadraticO(n 2 ) Matrix multiplicationCubicO(n 3 ) Truth table checkingExponentialO(2 n ) Naive TSPO(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 n n.logn n n min 2 n y??!!?*6min 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 times as large n 2 31 times as large n 3 10 times as large 2 n 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 years we can perform (2 N - 1) M operations in 2N years, where M is the number of operations performed in the first 2 years. So why worry about exponential time algorithms ?? What is wrong with this argument ?